diff options
author | Matthias Braun <matze@braunis.de> | 2017-01-06 19:22:01 +0000 |
---|---|---|
committer | Matthias Braun <matze@braunis.de> | 2017-01-06 19:22:01 +0000 |
commit | 258b847c4f476a36e7c2493b3bc351413aecf560 (patch) | |
tree | 86b5e7d445d35b92b7fc1f11f6d87ae110bc47ff /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 2715d92389e971fc836634db42e7afeb5280099a (diff) | |
download | bcm5719-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