diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2018-12-10 19:30:08 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2018-12-10 19:30:08 +0000 |
commit | c1b2d5905a1c7a27a570567433a6fa22efde3a29 (patch) | |
tree | bf11916e9dbe1367b1b298460cf5ba56de5dce0e /llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp | |
parent | 69f6098e89312b934ed87e4cd3603401a9b436b4 (diff) | |
download | bcm5719-llvm-c1b2d5905a1c7a27a570567433a6fa22efde3a29.tar.gz bcm5719-llvm-c1b2d5905a1c7a27a570567433a6fa22efde3a29.zip |
Revert "[Hexagon] Check if operand is an immediate before getImm"
This reverts r348787. The patch wasn't quite correct.
llvm-svn: 348792
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp')
-rw-r--r-- | llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp b/llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp index 126d67c32ab..29c044b3b72 100644 --- a/llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp +++ b/llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp @@ -502,8 +502,7 @@ bool HexagonOptAddrMode::changeLoad(MachineInstr *OldMI, MachineOperand ImmOp, MIB.add(ImmOp); OpStart = 4; Changed = true; - } else if (HII->getAddrMode(*OldMI) == HexagonII::BaseImmOffset && - OldMI->getOperand(2).isImm()) { + } else if (HII->getAddrMode(*OldMI) == HexagonII::BaseImmOffset) { short NewOpCode = HII->changeAddrMode_io_abs(*OldMI); assert(NewOpCode >= 0 && "Invalid New opcode\n"); MIB = BuildMI(*BB, InsertPt, OldMI->getDebugLoc(), HII->get(NewOpCode)) @@ -519,19 +518,17 @@ bool HexagonOptAddrMode::changeLoad(MachineInstr *OldMI, MachineOperand ImmOp, LLVM_DEBUG(dbgs() << "[Changing]: " << *OldMI << "\n"); LLVM_DEBUG(dbgs() << "[TO]: " << *MIB << "\n"); - } else if (ImmOpNum == 2) { - if (OldMI->getOperand(3).isImm() && OldMI->getOperand(3).getImm() == 0) { - short NewOpCode = HII->changeAddrMode_rr_io(*OldMI); - assert(NewOpCode >= 0 && "Invalid New opcode\n"); - MIB = BuildMI(*BB, InsertPt, OldMI->getDebugLoc(), HII->get(NewOpCode)); - MIB.add(OldMI->getOperand(0)); - MIB.add(OldMI->getOperand(1)); - MIB.add(ImmOp); - OpStart = 4; - Changed = true; - LLVM_DEBUG(dbgs() << "[Changing]: " << *OldMI << "\n"); - LLVM_DEBUG(dbgs() << "[TO]: " << *MIB << "\n"); - } + } else if (ImmOpNum == 2 && OldMI->getOperand(3).getImm() == 0) { + short NewOpCode = HII->changeAddrMode_rr_io(*OldMI); + assert(NewOpCode >= 0 && "Invalid New opcode\n"); + MIB = BuildMI(*BB, InsertPt, OldMI->getDebugLoc(), HII->get(NewOpCode)); + MIB.add(OldMI->getOperand(0)); + MIB.add(OldMI->getOperand(1)); + MIB.add(ImmOp); + OpStart = 4; + Changed = true; + LLVM_DEBUG(dbgs() << "[Changing]: " << *OldMI << "\n"); + LLVM_DEBUG(dbgs() << "[TO]: " << *MIB << "\n"); } if (Changed) |