mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-17 18:24:34 +00:00
Fix PR4528. This scavenger assertion is too strict. The two-address value is
killed by another operand. There is probably a better fix. Either 1) scavenger can look at other operands, or 2) livevariables can be smarter about kill markers. Patches welcome. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78072 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -267,7 +267,8 @@ void RegScavenger::forward() {
|
||||
unsigned UseIdx;
|
||||
if (MI->isRegTiedToUseOperand(Idx, &UseIdx) &&
|
||||
!MI->getOperand(UseIdx).isUndef()) {
|
||||
assert(isUsed(Reg) && "Using an undefined register!");
|
||||
assert(!MI->getOperand(UseIdx).isKill() &&
|
||||
"Using an undefined register!");
|
||||
continue;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user