Fix miscompilations in the SparcV9 backend that were induced by this patch:

http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041011/019311.html


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17130 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2004-10-18 17:19:20 +00:00
parent 7d0974b9a0
commit 4caf5d563d

View File

@ -153,10 +153,20 @@ private:
}
MachineOperand(Value *V, MachineOperandType OpTy, UseType UseTy,
bool isPCRelative = false)
: flags(UseTy | (isPCRelative?PCRELATIVE:0)), opType(OpTy) {
assert(OpTy != MachineOperand::MO_GlobalAddress);
zeroContents();
contents.value = V;
extra.regNum = -1;
}
MachineOperand(GlobalValue *V, MachineOperandType OpTy, UseType UseTy,
bool isPCRelative = false, int Offset = 0)
: flags(UseTy | (isPCRelative?PCRELATIVE:0)), opType(OpTy) {
assert(OpTy == MachineOperand::MO_GlobalAddress);
zeroContents ();
contents.value = V;
contents.value = (Value*)V;
extra.offset = Offset;
}
@ -642,7 +652,7 @@ public:
assert(!OperandsComplete() &&
"Trying to add an operand to a machine instr that is already done!");
operands.push_back(
MachineOperand((Value*)GV, MachineOperand::MO_GlobalAddress,
MachineOperand(GV, MachineOperand::MO_GlobalAddress,
MachineOperand::Use, isPCRelative, Offset));
}