summaryrefslogtreecommitdiffstats
path: root/clang/lib/Format/Format.cpp
diff options
context:
space:
mode:
authorAlexander Potapenko <glider@google.com>2019-03-01 09:00:41 +0000
committerAlexander Potapenko <glider@google.com>2019-03-01 09:00:41 +0000
commitfa61dddf5dc8cc35de6f814a04012b73a1afcb0e (patch)
tree06491add841101cc66bfce8fc13b53b82c86a9f2 /clang/lib/Format/Format.cpp
parent90641b5581b20bee4b689733d0008d3fbba4973c (diff)
downloadbcm5719-llvm-fa61dddf5dc8cc35de6f814a04012b73a1afcb0e.tar.gz
bcm5719-llvm-fa61dddf5dc8cc35de6f814a04012b73a1afcb0e.zip
CodeGen: Fix PR40605 by splitting constant struct initializers
When emitting initializers for local structures for code built with -ftrivial-auto-var-init, replace constant structures with sequences of stores. This appears to greatly help removing dead initialization stores to those locals that are later overwritten by other data. This also removes a lot of .rodata constants (see PR40605), replacing most of them with immediate values (for Linux kernel the .rodata size is reduced by ~1.9%) llvm-svn: 355181
Diffstat (limited to 'clang/lib/Format/Format.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud