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.