mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-04 10:04:33 +00:00
Use the proper clobber check in handleLiveInRegister().
When a physreg is live in to a basic block, look for any instruction in the block that clobbers the physreg. The instruction doesn't have to properly redefine the register, any overlapping clobber is OK. This slightly changes live ranges when compiling with register masks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150528 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f658af5484
commit
6b7913893b
@ -507,7 +507,7 @@ void LiveIntervals::handleLiveInRegister(MachineBasicBlock *MBB,
|
||||
end = baseIndex.getRegSlot();
|
||||
SeenDefUse = true;
|
||||
break;
|
||||
} else if (mi->definesRegister(interval.reg, tri_)) {
|
||||
} else if (mi->modifiesRegister(interval.reg, tri_)) {
|
||||
// Another instruction redefines the register before it is ever read.
|
||||
// Then the register is essentially dead at the instruction that defines
|
||||
// it. Hence its interval is:
|
||||
|
Loading…
Reference in New Issue
Block a user