summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2017-01-06 19:22:01 +0000
committerMatthias Braun <matze@braunis.de>2017-01-06 19:22:01 +0000
commit258b847c4f476a36e7c2493b3bc351413aecf560 (patch)
tree86b5e7d445d35b92b7fc1f11f6d87ae110bc47ff /clang/lib/Frontend/CompilerInvocation.cpp
parent2715d92389e971fc836634db42e7afeb5280099a (diff)
downloadbcm5719-llvm-258b847c4f476a36e7c2493b3bc351413aecf560.tar.gz
bcm5719-llvm-258b847c4f476a36e7c2493b3bc351413aecf560.zip
AArch64CollectLOH: Rewrite as block-local analysis.
Re-apply r288561: This time with a fix where the ADDs that are part of a 3 instruction LOH would not invalidate the "LastAdrp" state. This fixes http://llvm.org/PR31361 Previously this pass was using up to 5% compile time in some cases which is a bit much for what it is doing. The pass featured a full blown data-flow analysis which in the default configuration was restricted to a single block. This rewrites the pass under the assumption that we only ever work on a single block. This is done in a single pass maintaining a state machine per general purpose register to catch LOH patterns. Differential Revision: https://reviews.llvm.org/D27329 This reverts commit 9e6cedb0a4f14364d6511597a9160305e7d34493. llvm-svn: 291266
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud