[PATCH] D43181: [CodeGen] Initialize large arrays by copying from a global

Ivan Kosarev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 12 05:23:54 PST 2018


kosarev created this revision.
kosarev added a reviewer: rjmccall.
kosarev added a project: clang.
Herald added a subscriber: llvm-commits.

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.


Repository:
  rL LLVM

https://reviews.llvm.org/D43181

Files:
  lib/CodeGen/CGExprAgg.cpp
  test/CodeGen/init.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43181.133835.patch
Type: text/x-patch
Size: 5322 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180212/95ef7bf9/attachment.bin>


More information about the cfe-commits mailing list