Mercurial > hg > CbC > CbC_llvm
comparison lib/CodeGen/GCRootLowering.cpp @ 134:3a76565eade5 LLVM5.0.1
update 5.0.1
author | mir3636 |
---|---|
date | Sat, 17 Feb 2018 09:57:20 +0900 |
parents | 1172e4bd9c6f |
children | c2174574ed3a |
comparison
equal
deleted
inserted
replaced
133:c60214abe0e8 | 134:3a76565eade5 |
---|---|
16 #include "llvm/CodeGen/MachineFrameInfo.h" | 16 #include "llvm/CodeGen/MachineFrameInfo.h" |
17 #include "llvm/CodeGen/MachineFunctionPass.h" | 17 #include "llvm/CodeGen/MachineFunctionPass.h" |
18 #include "llvm/CodeGen/MachineInstrBuilder.h" | 18 #include "llvm/CodeGen/MachineInstrBuilder.h" |
19 #include "llvm/CodeGen/MachineModuleInfo.h" | 19 #include "llvm/CodeGen/MachineModuleInfo.h" |
20 #include "llvm/CodeGen/Passes.h" | 20 #include "llvm/CodeGen/Passes.h" |
21 #include "llvm/CodeGen/TargetFrameLowering.h" | |
22 #include "llvm/CodeGen/TargetInstrInfo.h" | |
23 #include "llvm/CodeGen/TargetRegisterInfo.h" | |
24 #include "llvm/CodeGen/TargetSubtargetInfo.h" | |
21 #include "llvm/IR/Dominators.h" | 25 #include "llvm/IR/Dominators.h" |
22 #include "llvm/IR/IntrinsicInst.h" | 26 #include "llvm/IR/IntrinsicInst.h" |
23 #include "llvm/IR/Module.h" | 27 #include "llvm/IR/Module.h" |
24 #include "llvm/Support/Debug.h" | 28 #include "llvm/Support/Debug.h" |
25 #include "llvm/Support/ErrorHandling.h" | 29 #include "llvm/Support/ErrorHandling.h" |
26 #include "llvm/Support/raw_ostream.h" | 30 #include "llvm/Support/raw_ostream.h" |
27 #include "llvm/Target/TargetFrameLowering.h" | |
28 #include "llvm/Target/TargetInstrInfo.h" | |
29 #include "llvm/Target/TargetMachine.h" | |
30 #include "llvm/Target/TargetRegisterInfo.h" | |
31 #include "llvm/Target/TargetSubtargetInfo.h" | |
32 | 31 |
33 using namespace llvm; | 32 using namespace llvm; |
34 | 33 |
35 namespace { | 34 namespace { |
36 | 35 |
327 } | 326 } |
328 } | 327 } |
329 | 328 |
330 bool GCMachineCodeAnalysis::runOnMachineFunction(MachineFunction &MF) { | 329 bool GCMachineCodeAnalysis::runOnMachineFunction(MachineFunction &MF) { |
331 // Quick exit for functions that do not use GC. | 330 // Quick exit for functions that do not use GC. |
332 if (!MF.getFunction()->hasGC()) | 331 if (!MF.getFunction().hasGC()) |
333 return false; | 332 return false; |
334 | 333 |
335 FI = &getAnalysis<GCModuleInfo>().getFunctionInfo(*MF.getFunction()); | 334 FI = &getAnalysis<GCModuleInfo>().getFunctionInfo(MF.getFunction()); |
336 MMI = &getAnalysis<MachineModuleInfo>(); | 335 MMI = &getAnalysis<MachineModuleInfo>(); |
337 TII = MF.getSubtarget().getInstrInfo(); | 336 TII = MF.getSubtarget().getInstrInfo(); |
338 | 337 |
339 // Find the size of the stack frame. There may be no correct static frame | 338 // Find the size of the stack frame. There may be no correct static frame |
340 // size, we use UINT64_MAX to represent this. | 339 // size, we use UINT64_MAX to represent this. |