diff options
| author | Jacques Pienaar <jpienaar@google.com> | 2016-07-07 23:36:04 +0000 |
|---|---|---|
| committer | Jacques Pienaar <jpienaar@google.com> | 2016-07-07 23:36:04 +0000 |
| commit | 6d3eecc84304c0b36ed5f1ababa22cd974de1f5b (patch) | |
| tree | 7754b66e6fb7eb27a95f26e03c130a403b878559 /llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp | |
| parent | 3f36781dec71788e87779005d7c18cb78c6f163d (diff) | |
| download | bcm5719-llvm-6d3eecc84304c0b36ed5f1ababa22cd974de1f5b.tar.gz bcm5719-llvm-6d3eecc84304c0b36ed5f1ababa22cd974de1f5b.zip | |
[lanai] Use peephole optimizer to generate more conditional ALU operations.
Summary:
* Similiar to the ARM backend yse the peephole optimizer to generate more conditional ALU operations;
* Add predicated type with default always true to RR instructions in LanaiInstrInfo.td;
* Move LanaiSetflagAluCombiner into optimizeCompare;
* The ASM parser can currently only handle explicitly specified CC, so specify ".t" (true) where needed in the ASM test;
* Remove unused MachineOperand flags;
Reviewers: eliben
Subscribers: aemerson
Differential Revision: http://reviews.llvm.org/D22072
llvm-svn: 274807
Diffstat (limited to 'llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp')
| -rw-r--r-- | llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp b/llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp index 0effa5cc653..d3ff9e8668d 100644 --- a/llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp +++ b/llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp @@ -65,7 +65,6 @@ private: void LanaiAsmPrinter::printOperand(const MachineInstr *MI, int OpNum, raw_ostream &O, const char *Modifier) { const MachineOperand &MO = MI->getOperand(OpNum); - unsigned TF = MO.getTargetFlags(); switch (MO.getType()) { case MachineOperand::MO_Register: @@ -81,10 +80,7 @@ void LanaiAsmPrinter::printOperand(const MachineInstr *MI, int OpNum, break; case MachineOperand::MO_GlobalAddress: - if (TF == LanaiII::MO_PLT) - O << "plt(" << *getSymbol(MO.getGlobal()) << ")"; - else - O << *getSymbol(MO.getGlobal()); + O << *getSymbol(MO.getGlobal()); break; case MachineOperand::MO_BlockAddress: { @@ -94,10 +90,7 @@ void LanaiAsmPrinter::printOperand(const MachineInstr *MI, int OpNum, } case MachineOperand::MO_ExternalSymbol: - if (TF == LanaiII::MO_PLT) - O << "plt(" << *GetExternalSymbolSymbol(MO.getSymbolName()) << ")"; - else - O << *GetExternalSymbolSymbol(MO.getSymbolName()); + O << *GetExternalSymbolSymbol(MO.getSymbolName()); break; case MachineOperand::MO_JumpTableIndex: @@ -116,7 +109,6 @@ void LanaiAsmPrinter::printOperand(const MachineInstr *MI, int OpNum, } // PrintAsmOperand - Print out an operand for an inline asm expression. -// bool LanaiAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNo, unsigned AsmVariant, const char *ExtraCode, raw_ostream &O) { |

