mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-20 00:20:11 +00:00
Handle overlapping regunit intervals in LiveIntervals::addKillFlags().
We will soon allow virtual register live ranges to overlap regunit live ranges when the physreg is defined as a copy of the virtreg: %EAX = COPY %vreg5 FOO %vreg5 BAR %EAX<kill> There is no real interference since %vreg5 and %EAX have the same value where they overlap. This patch prevents addKillFlags from adding virtreg kill flags to FOO where the assigned physreg is overlapping the virtual register live range. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163335 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -200,7 +200,7 @@ bool VirtRegRewriter::runOnMachineFunction(MachineFunction &fn) {
|
||||
DEBUG(VRM->dump());
|
||||
|
||||
// Add kill flags while we still have virtual registers.
|
||||
LIS->addKillFlags();
|
||||
LIS->addKillFlags(VRM);
|
||||
|
||||
// Live-in lists on basic blocks are required for physregs.
|
||||
addMBBLiveIns();
|
||||
|
||||
Reference in New Issue
Block a user