mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-26 12:20:42 +00:00
When an instruction like: A += B had both A and B virtual registers
spilled, A was loaded from its stack location twice. This fixes the bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11093 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -207,6 +207,10 @@ public:
|
||||
return *this;
|
||||
}
|
||||
|
||||
bool operator==(const MachineOperand& rhs) const {
|
||||
return regNum == rhs.regNum && opType == rhs.opType;
|
||||
}
|
||||
|
||||
// Accessor methods. Caller is responsible for checking the
|
||||
// operand type before invoking the corresponding accessor.
|
||||
//
|
||||
@@ -282,8 +286,10 @@ public:
|
||||
}
|
||||
|
||||
bool isUse () const { return flags & USEFLAG; }
|
||||
bool isEverUsed (const MachineInstr&) const;
|
||||
bool isDef () const { return flags & DEFFLAG; }
|
||||
bool isHiBits32 () const { return flags & HIFLAG32; }
|
||||
bool isEverDefined (const MachineInstr&) const;
|
||||
bool isLoBits32 () const { return flags & LOFLAG32; }
|
||||
bool isHiBits64 () const { return flags & HIFLAG64; }
|
||||
bool isLoBits64 () const { return flags & LOFLAG64; }
|
||||
|
||||
Reference in New Issue
Block a user