diff options
| author | Eric Christopher <echristo@gmail.com> | 2015-01-30 02:11:24 +0000 |
|---|---|---|
| committer | Eric Christopher <echristo@gmail.com> | 2015-01-30 02:11:24 +0000 |
| commit | 85806141fdf06f1d529b76ec9d07854cce12f7bf (patch) | |
| tree | 491a7ebf4d15f1eb4068084b4c6d12e88c3b2e5d /llvm/lib/Target/PowerPC/PPCFastISel.cpp | |
| parent | 065d16bcbeb7a154ecb82430031c704d1df9bdaa (diff) | |
| download | bcm5719-llvm-85806141fdf06f1d529b76ec9d07854cce12f7bf.tar.gz bcm5719-llvm-85806141fdf06f1d529b76ec9d07854cce12f7bf.zip | |
Migrate some of PPC away from the use of bare getSubtarget/getSubtargetImpl.
llvm-svn: 227547
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCFastISel.cpp')
| -rw-r--r-- | llvm/lib/Target/PowerPC/PPCFastISel.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCFastISel.cpp b/llvm/lib/Target/PowerPC/PPCFastISel.cpp index 2682bc0df53..6061679478f 100644 --- a/llvm/lib/Target/PowerPC/PPCFastISel.cpp +++ b/llvm/lib/Target/PowerPC/PPCFastISel.cpp @@ -85,18 +85,19 @@ typedef struct Address { class PPCFastISel final : public FastISel { const TargetMachine &TM; + const PPCSubtarget *PPCSubTarget; const TargetInstrInfo &TII; const TargetLowering &TLI; - const PPCSubtarget *PPCSubTarget; LLVMContext *Context; public: explicit PPCFastISel(FunctionLoweringInfo &FuncInfo, const TargetLibraryInfo *LibInfo) : FastISel(FuncInfo, LibInfo), TM(FuncInfo.MF->getTarget()), - TII(*TM.getSubtargetImpl()->getInstrInfo()), - TLI(*TM.getSubtargetImpl()->getTargetLowering()), - PPCSubTarget(&TM.getSubtarget<PPCSubtarget>()), + PPCSubTarget( + &static_cast<const PPCSubtarget &>(FuncInfo.MF->getSubtarget())), + TII(*PPCSubTarget->getInstrInfo()), + TLI(*PPCSubTarget->getTargetLowering()), Context(&FuncInfo.Fn->getContext()) {} // Backend specific FastISel code. @@ -2298,13 +2299,11 @@ namespace llvm { // Create the fast instruction selector for PowerPC64 ELF. FastISel *PPC::createFastISel(FunctionLoweringInfo &FuncInfo, const TargetLibraryInfo *LibInfo) { - const TargetMachine &TM = FuncInfo.MF->getTarget(); - // Only available on 64-bit ELF for now. - const PPCSubtarget *Subtarget = &TM.getSubtarget<PPCSubtarget>(); - if (Subtarget->isPPC64() && Subtarget->isSVR4ABI()) + const PPCSubtarget &Subtarget = + static_cast<const PPCSubtarget &>(FuncInfo.MF->getSubtarget()); + if (Subtarget.isPPC64() && Subtarget.isSVR4ABI()) return new PPCFastISel(FuncInfo, LibInfo); - return nullptr; } } |

