diff options
Diffstat (limited to 'lib/Target/Sparc/Sparc.h')
-rw-r--r-- | lib/Target/Sparc/Sparc.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/lib/Target/Sparc/Sparc.h b/lib/Target/Sparc/Sparc.h index f44b60420d06..de20aaa5db5d 100644 --- a/lib/Target/Sparc/Sparc.h +++ b/lib/Target/Sparc/Sparc.h @@ -23,12 +23,18 @@ namespace llvm { class FunctionPass; class SparcTargetMachine; class formatted_raw_ostream; + class AsmPrinter; + class MCInst; + class MachineInstr; FunctionPass *createSparcISelDag(SparcTargetMachine &TM); FunctionPass *createSparcDelaySlotFillerPass(TargetMachine &TM); FunctionPass *createSparcJITCodeEmitterPass(SparcTargetMachine &TM, JITCodeEmitter &JCE); + void LowerSparcMachineInstrToMCInst(const MachineInstr *MI, + MCInst &OutMI, + AsmPrinter &AP); } // end namespace llvm; namespace llvm { @@ -36,8 +42,8 @@ namespace llvm { // values must be kept in sync with the ones in the .td file. namespace SPCC { enum CondCodes { - //ICC_A = 8 , // Always - //ICC_N = 0 , // Never + ICC_A = 8 , // Always + ICC_N = 0 , // Never ICC_NE = 9 , // Not Equal ICC_E = 1 , // Equal ICC_G = 10 , // Greater @@ -53,8 +59,8 @@ namespace llvm { ICC_VC = 15 , // Overflow Clear ICC_VS = 7 , // Overflow Set - //FCC_A = 8+16, // Always - //FCC_N = 0+16, // Never + FCC_A = 8+16, // Always + FCC_N = 0+16, // Never FCC_U = 7+16, // Unordered FCC_G = 6+16, // Greater FCC_UG = 5+16, // Unordered or Greater @@ -74,6 +80,8 @@ namespace llvm { inline static const char *SPARCCondCodeToString(SPCC::CondCodes CC) { switch (CC) { + case SPCC::ICC_A: return "a"; + case SPCC::ICC_N: return "n"; case SPCC::ICC_NE: return "ne"; case SPCC::ICC_E: return "e"; case SPCC::ICC_G: return "g"; @@ -88,6 +96,8 @@ namespace llvm { case SPCC::ICC_NEG: return "neg"; case SPCC::ICC_VC: return "vc"; case SPCC::ICC_VS: return "vs"; + case SPCC::FCC_A: return "a"; + case SPCC::FCC_N: return "n"; case SPCC::FCC_U: return "u"; case SPCC::FCC_G: return "g"; case SPCC::FCC_UG: return "ug"; |