summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2014-04-28 08:52:44 +0000
committerChandler Carruth <chandlerc@gmail.com>2014-04-28 08:52:44 +0000
commite01fd5f63af475396adcfbce000d33bf17821387 (patch)
treeadc6ac8573a20821e5eb4c850b85dab0ca4ecd2b /llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
parent031e2409f993c838faf2111b81a695094fc47b33 (diff)
downloadbcm5719-llvm-e01fd5f63af475396adcfbce000d33bf17821387.tar.gz
bcm5719-llvm-e01fd5f63af475396adcfbce000d33bf17821387.zip
[inliner] Significantly improve the compile time in cases like PR19499
by avoiding inlining massive switches merely because they have no instructions in them. These switches still show up where we fail to form lookup tables, and in those cases they are actually going to cause a very significant code size hit anyways, so inlining them is not the right call. The right way to fix any performance regressions stemming from this is to enhance the switch-to-lookup-table logic to fire in more places. This makes PR19499 about 5x less bad. It uncovers a second compile time problem in that test case that is unrelated (surprisingly!). llvm-svn: 207403
Diffstat (limited to 'llvm/lib/Transforms/Utils/BasicBlockUtils.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud