summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86RegisterInfo.cpp
diff options
context:
space:
mode:
authorAlkis Evlogimenos <alkis@evlogimenos.com>2004-02-22 06:54:26 +0000
committerAlkis Evlogimenos <alkis@evlogimenos.com>2004-02-22 06:54:26 +0000
commitde51c6529926bbea46828a31fb415ab7fde72e2d (patch)
tree8b9444063f89c22728c96f6b229aa168ffc4f95f /llvm/lib/Target/X86/X86RegisterInfo.cpp
parentd25dfe43b94bdf9cbd967e254436e7846f45da54 (diff)
downloadbcm5719-llvm-de51c6529926bbea46828a31fb415ab7fde72e2d.tar.gz
bcm5719-llvm-de51c6529926bbea46828a31fb415ab7fde72e2d.zip
When folding memory operands in machine instructions be careful to
leave register operands with the same use/def flags as the original instruction. llvm-svn: 11709
Diffstat (limited to 'llvm/lib/Target/X86/X86RegisterInfo.cpp')
-rw-r--r--llvm/lib/Target/X86/X86RegisterInfo.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86RegisterInfo.cpp b/llvm/lib/Target/X86/X86RegisterInfo.cpp
index 6479ad56a7e..d97b5295315 100644
--- a/llvm/lib/Target/X86/X86RegisterInfo.cpp
+++ b/llvm/lib/Target/X86/X86RegisterInfo.cpp
@@ -112,13 +112,15 @@ static MachineInstr *MakeMIInst(unsigned Opcode, unsigned FrameIndex,
static MachineInstr *MakeRMInst(unsigned Opcode, unsigned FrameIndex,
MachineInstr *MI) {
- return addFrameReference(BuildMI(Opcode, 5, MI->getOperand(0).getReg()),
+ const MachineOperand& op = MI->getOperand(0);
+ return addFrameReference(BuildMI(Opcode, 5, op.getReg(), op.getUseType()),
FrameIndex);
}
static MachineInstr *MakeRMIInst(unsigned Opcode, unsigned FrameIndex,
MachineInstr *MI) {
- return addFrameReference(BuildMI(Opcode, 5, MI->getOperand(0).getReg()),
+ const MachineOperand& op = MI->getOperand(0);
+ return addFrameReference(BuildMI(Opcode, 5, op.getReg(), op.getUseType()),
FrameIndex).addZImm(MI->getOperand(2).getImmedValue());
}
OpenPOWER on IntegriCloud