llvm/lib/Transforms
Chandler Carruth f5701e4282 [SROA] Thread the ability to add a pointer-specific name prefix through
the pointer adjustment code. This is the primary code path that creates
totally new instructions in SROA and being able to lump them based on
the pointer value's name for which they were created causes
*significantly* fewer name collisions and general noise in the debug
output. This is particularly significant because it is making it much
harder to track down instability in the output of SROA, as name
de-duplication is a totally harmless form of instability that gets in
the way of seeing real problems.

The new fancy naming scheme tries to dig out the root "pre-SROA" name
for pointer values and associate that all the way through the pointer
formation instructions. Digging out the root is important to prevent the
multiple iterative rounds of SROA from just layering too much cruft on
top of cruft here. We already track the layers of SROAs iteration in the
alloca name prefix. We don't need to duplicate it here.

Should have no functionality change, and shouldn't have any really
measurable impact on NDEBUG builds, as most of the complex logic is
debug-only.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202139 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-25 11:19:56 +00:00
..
Hello Set LLVM_EXPORTED_SYMBOL_FILE in CMakeLists whose corresponding Makefiles do so. 2013-12-29 23:06:49 +00:00
InstCombine Make some DataLayout pointers const. 2014-02-24 23:12:18 +00:00
Instrumentation Make some DataLayout pointers const. 2014-02-24 23:12:18 +00:00
IPO Make some DataLayout pointers const. 2014-02-24 23:12:18 +00:00
ObjCARC Update optimization passes to handle inalloca arguments 2014-01-28 02:38:36 +00:00
Scalar [SROA] Thread the ability to add a pointer-specific name prefix through 2014-02-25 11:19:56 +00:00
Utils Rename a few more DataLayout variables. 2014-02-21 01:53:35 +00:00
Vectorize Make some DataLayout pointers const. 2014-02-24 23:12:18 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile