summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2014-02-25 11:19:56 +0000
committerChandler Carruth <chandlerc@gmail.com>2014-02-25 11:19:56 +0000
commitcb93cd2dc99ea8a13ee2fe6572b4729145cfa633 (patch)
tree0a6a5cf11b32cd1f1d050af7e2b1d0f5a565d464 /llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp
parent3d4575cc1b3438131380ea8c3e5ffc2cc5662e01 (diff)
downloadbcm5719-llvm-cb93cd2dc99ea8a13ee2fe6572b4729145cfa633.tar.gz
bcm5719-llvm-cb93cd2dc99ea8a13ee2fe6572b4729145cfa633.zip
[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. llvm-svn: 202139
Diffstat (limited to 'llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud