]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Pull in r325478 from upstream clang trunk (by Ivan A. Kosarev):
authordim <dim@FreeBSD.org>
Sat, 15 Sep 2018 21:22:50 +0000 (21:22 +0000)
committerdim <dim@FreeBSD.org>
Sat, 15 Sep 2018 21:22:50 +0000 (21:22 +0000)
commit2430a7efe303f9a04f2ec28e542de7302fcffb65
treeb73828733b8e53789de297a5135b2a738bb20e35
parentcb1ff2590e26b81c0bd197341b080d58da4f108e
Pull in r325478 from upstream clang trunk (by Ivan A. Kosarev):

  [CodeGen] Initialize large arrays by copying from a global

  Currently, clang compiles explicit initializers for array elements
  into series of store instructions. For large arrays of built-in types
  this results in bloated output code and significant amount of time
  spent on the instruction selection phase. This patch fixes the issue
  by initializing such arrays with global constants that store the
  binary image of the initializer.

  Differential Revision: https://reviews.llvm.org/D43181

This should fix a compiler hang (and excessive memory usage) while
building the science/rmg port.

Approved by: re (kib)
Reported by: yuri@tsoft.com
See also: https://bugs.llvm.org/show_bug.cgi?id=38798
MFC after: 3 days
contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp