Mercurial > hg > Members > tobaru > cbc > CbC_llvm
comparison lib/Target/PowerPC/PPC.h @ 121:803732b1fca8
LLVM 5.0
author | kono |
---|---|
date | Fri, 27 Oct 2017 17:07:41 +0900 |
parents | 1172e4bd9c6f |
children |
comparison
equal
deleted
inserted
replaced
120:1172e4bd9c6f | 121:803732b1fca8 |
---|---|
13 //===----------------------------------------------------------------------===// | 13 //===----------------------------------------------------------------------===// |
14 | 14 |
15 #ifndef LLVM_LIB_TARGET_POWERPC_PPC_H | 15 #ifndef LLVM_LIB_TARGET_POWERPC_PPC_H |
16 #define LLVM_LIB_TARGET_POWERPC_PPC_H | 16 #define LLVM_LIB_TARGET_POWERPC_PPC_H |
17 | 17 |
18 #include "llvm/Support/CodeGen.h" | |
18 #include "MCTargetDesc/PPCMCTargetDesc.h" | 19 #include "MCTargetDesc/PPCMCTargetDesc.h" |
19 | 20 |
20 // GCC #defines PPC on Linux but we use it as our namespace name | 21 // GCC #defines PPC on Linux but we use it as our namespace name |
21 #undef PPC | 22 #undef PPC |
22 | 23 |
23 namespace llvm { | 24 namespace llvm { |
24 class PPCTargetMachine; | 25 class PPCTargetMachine; |
25 class PassRegistry; | 26 class PassRegistry; |
26 class FunctionPass; | 27 class FunctionPass; |
27 class ImmutablePass; | |
28 class MachineInstr; | 28 class MachineInstr; |
29 class MachineOperand; | |
29 class AsmPrinter; | 30 class AsmPrinter; |
30 class MCInst; | 31 class MCInst; |
32 class MCOperand; | |
31 | 33 |
32 FunctionPass *createPPCCTRLoops(PPCTargetMachine &TM); | 34 FunctionPass *createPPCCTRLoops(); |
33 #ifndef NDEBUG | 35 #ifndef NDEBUG |
34 FunctionPass *createPPCCTRLoopsVerify(); | 36 FunctionPass *createPPCCTRLoopsVerify(); |
35 #endif | 37 #endif |
36 FunctionPass *createPPCLoopPreIncPrepPass(PPCTargetMachine &TM); | 38 FunctionPass *createPPCLoopPreIncPrepPass(PPCTargetMachine &TM); |
37 FunctionPass *createPPCTOCRegDepsPass(); | 39 FunctionPass *createPPCTOCRegDepsPass(); |
39 FunctionPass *createPPCVSXCopyPass(); | 41 FunctionPass *createPPCVSXCopyPass(); |
40 FunctionPass *createPPCVSXFMAMutatePass(); | 42 FunctionPass *createPPCVSXFMAMutatePass(); |
41 FunctionPass *createPPCVSXSwapRemovalPass(); | 43 FunctionPass *createPPCVSXSwapRemovalPass(); |
42 FunctionPass *createPPCMIPeepholePass(); | 44 FunctionPass *createPPCMIPeepholePass(); |
43 FunctionPass *createPPCBranchSelectionPass(); | 45 FunctionPass *createPPCBranchSelectionPass(); |
46 FunctionPass *createPPCBranchCoalescingPass(); | |
44 FunctionPass *createPPCQPXLoadSplatPass(); | 47 FunctionPass *createPPCQPXLoadSplatPass(); |
45 FunctionPass *createPPCISelDag(PPCTargetMachine &TM); | 48 FunctionPass *createPPCISelDag(PPCTargetMachine &TM, CodeGenOpt::Level OL); |
46 FunctionPass *createPPCTLSDynamicCallPass(); | 49 FunctionPass *createPPCTLSDynamicCallPass(); |
47 FunctionPass *createPPCBoolRetToIntPass(); | 50 FunctionPass *createPPCBoolRetToIntPass(); |
51 FunctionPass *createPPCExpandISELPass(); | |
48 void LowerPPCMachineInstrToMCInst(const MachineInstr *MI, MCInst &OutMI, | 52 void LowerPPCMachineInstrToMCInst(const MachineInstr *MI, MCInst &OutMI, |
49 AsmPrinter &AP, bool isDarwin); | 53 AsmPrinter &AP, bool isDarwin); |
54 bool LowerPPCMachineOperandToMCOperand(const MachineOperand &MO, | |
55 MCOperand &OutMO, AsmPrinter &AP, | |
56 bool isDarwin); | |
50 | 57 |
51 void initializePPCVSXFMAMutatePass(PassRegistry&); | 58 void initializePPCVSXFMAMutatePass(PassRegistry&); |
52 void initializePPCBoolRetToIntPass(PassRegistry&); | 59 void initializePPCBoolRetToIntPass(PassRegistry&); |
60 void initializePPCExpandISELPass(PassRegistry &); | |
61 void initializePPCTLSDynamicCallPass(PassRegistry &); | |
53 extern char &PPCVSXFMAMutateID; | 62 extern char &PPCVSXFMAMutateID; |
54 | 63 |
55 namespace PPCII { | 64 namespace PPCII { |
56 | 65 |
57 /// Target Operand Flag enum. | 66 /// Target Operand Flag enum. |