diff options
| author | Jonas Paulsson <paulsson@linux.vnet.ibm.com> | 2017-03-21 05:49:40 +0000 |
|---|---|---|
| committer | Jonas Paulsson <paulsson@linux.vnet.ibm.com> | 2017-03-21 05:49:40 +0000 |
| commit | bd65421f08bf42c4a09279ec9c903968c657c487 (patch) | |
| tree | 6984f4c8f2abc4ccf618eef08916409b222cef67 /llvm/lib/Target/SystemZ | |
| parent | 07db3f7e3f268c01e66e87608968c5cb71e35f82 (diff) | |
| download | bcm5719-llvm-bd65421f08bf42c4a09279ec9c903968c657c487.tar.gz bcm5719-llvm-bd65421f08bf42c4a09279ec9c903968c657c487.zip | |
[SystemZ] Don't drop MO flags in foldMemoryOperandImpl()
The def operand of the new LG/LD should have the old def operands
flags and subreg index.
New test: test/CodeGen/SystemZ/fold-memory-op-impl.ll
Review: Ulrich Weigand
llvm-svn: 298341
Diffstat (limited to 'llvm/lib/Target/SystemZ')
| -rw-r--r-- | llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp b/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp index a1ef3530f90..e139d98c0bf 100644 --- a/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp +++ b/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp @@ -1140,12 +1140,12 @@ MachineInstr *SystemZInstrInfo::foldMemoryOperandImpl( // destination register instead. if (OpNum == 1) { unsigned LoadOpcode = Op0IsGPR ? SystemZ::LG : SystemZ::LD; - unsigned Dest = MI.getOperand(0).getReg(); return BuildMI(*InsertPt->getParent(), InsertPt, MI.getDebugLoc(), - get(LoadOpcode), Dest) - .addFrameIndex(FrameIndex) - .addImm(0) - .addReg(0); + get(LoadOpcode)) + .add(MI.getOperand(0)) + .addFrameIndex(FrameIndex) + .addImm(0) + .addReg(0); } } |

