[llvm-commits] CVS: llvm/include/llvm/CodeGen/MachineInstr.h
Alkis Evlogimenos
alkis at cs.uiuc.edu
Mon Feb 2 19:14:02 PST 2004
Changes in directory llvm/include/llvm/CodeGen:
MachineInstr.h updated: 1.120 -> 1.121
---
Log message:
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.
---
Diffs of the changes: (+6 -0)
Index: llvm/include/llvm/CodeGen/MachineInstr.h
diff -u llvm/include/llvm/CodeGen/MachineInstr.h:1.120 llvm/include/llvm/CodeGen/MachineInstr.h:1.121
--- llvm/include/llvm/CodeGen/MachineInstr.h:1.120 Mon Feb 2 17:08:57 2004
+++ llvm/include/llvm/CodeGen/MachineInstr.h Mon Feb 2 19:13:07 2004
@@ -207,6 +207,10 @@
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 @@
}
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; }
More information about the llvm-commits
mailing list