aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2013-08-11 02:17:11 +0000
committerChandler Carruth <chandlerc@gmail.com>2013-08-11 02:17:11 +0000
commit5b854f1ea55601790d9191c9720e77da35095340 (patch)
tree9c3fdd78bcb539ebc2f33954b8c782898b86805a /lib/Target
parent37508bb842d9beedd75139a589c6f538f90efbaa (diff)
downloadexternal_llvm-5b854f1ea55601790d9191c9720e77da35095340.zip
external_llvm-5b854f1ea55601790d9191c9720e77da35095340.tar.gz
external_llvm-5b854f1ea55601790d9191c9720e77da35095340.tar.bz2
Re-instate r187323 which fast-tracks promotable allocas as soon as the
SROA-based analysis has enough information. This should work now that both mem2reg *and* the SSAUpdater-based AllocaPromoter have been updated to be able to promote the types of allocas that the SROA analysis detects. I've included tests for the AllocaPromoter that were only possible to write once we fast-tracked promotable allocas without rewriting them. This includes a test both for r187347 and r188145. Original commit log for r187323: """ Now that mem2reg understands how to cope with a slightly wider set of uses of an alloca, we can pre-compute promotability while analyzing an alloca for splitting in SROA. That lets us short-circuit the common case of a bunch of trivially promotable allocas. This cuts 20% to 30% off the run time of SROA for typical frontend-generated IR sequneces I'm seeing. It gets the new SROA to within 20% of ScalarRepl for such code. My current benchmark for these numbers is PR15412, but it fits the general pattern of IR emitted by Clang so it should be widely applicable. """ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188146 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
0 files changed, 0 insertions, 0 deletions