aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorJeremy Morse <jeremy.morse@sony.com>2021-06-04 11:18:40 +0100
committerJeremy Morse <jeremy.morse@sony.com>2021-06-04 11:32:02 +0100
commit4501928eb2fdec9af1908e008fa748924db0f688 (patch)
tree2d246fe19b180c1bcc4b43e91721a4f32de4a534 /flang/lib/Frontend/CompilerInvocation.cpp
parentd7e0948242b8b05c1ebc0f46bf7aa37273a1d521 (diff)
downloadllvm-4501928eb2fdec9af1908e008fa748924db0f688.zip
llvm-4501928eb2fdec9af1908e008fa748924db0f688.tar.gz
llvm-4501928eb2fdec9af1908e008fa748924db0f688.tar.bz2
Re-land ae4303b42c, "Track PHI values through register coalescing"
Was reverted in 0507fc2ffc9, in phi-coalesce-subreg.mir I'd explicitly named some passes to run instead of specifying a range. As a result some two-address-instrs weren't correctly rewritten and the verifier got upset. Original commit message: [DebugInstrRef][2/3] Track PHI values through register coalescing In the instruction referencing variable location model, we store variable locations that point at PHIs in MachineFunction during register allocation. Unfortunately, register coalescing can substantially change the locations of registers, and so that PHI-variable-location side table needs maintenence during the pass. This patch builds an index from the side table, and whenever a vreg gets coalesced into another vreg, update the index to record the new vreg that the PHI happens in. It also accepts a limited range of subregister coalescing, for example merging a subregister into a larger class. Differential Revision: https://reviews.llvm.org/D86813
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions