HomePhabricator

CodeGen: Fix PR40605 by splitting constant struct initializers

Authored by glider on Mar 1 2019, 1:00 AM.

Description

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

Details

Committed
gliderMar 1 2019, 1:00 AM
Parents
rG90641b5581b2: [sanitizers] Explicitly use GetModuleFileNameW with wchar_t
Branches
Unknown
Tags
Unknown