aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/PowerPC/PPCFastISel.cpp
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2015-01-30 22:02:31 +0000
committerEric Christopher <echristo@gmail.com>2015-01-30 22:02:31 +0000
commitcccae7951ceb13ef51ba87ddf83d2f7eaa23e635 (patch)
treeb84ad978af65fded63b52456555c868ca9317949 /llvm/lib/Target/PowerPC/PPCFastISel.cpp
parent6d9fcc38be459f16ed4da465db0db14db06ecdb7 (diff)
downloadllvm-cccae7951ceb13ef51ba87ddf83d2f7eaa23e635.zip
llvm-cccae7951ceb13ef51ba87ddf83d2f7eaa23e635.tar.gz
llvm-cccae7951ceb13ef51ba87ddf83d2f7eaa23e635.tar.bz2
Use the cached subtargets and remove calls to getSubtarget/getSubtargetImpl
without a Function argument. llvm-svn: 227622
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCFastISel.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/PPCFastISel.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCFastISel.cpp b/llvm/lib/Target/PowerPC/PPCFastISel.cpp
index 6061679..44a3924 100644
--- a/llvm/lib/Target/PowerPC/PPCFastISel.cpp
+++ b/llvm/lib/Target/PowerPC/PPCFastISel.cpp
@@ -94,8 +94,7 @@ class PPCFastISel final : public FastISel {
explicit PPCFastISel(FunctionLoweringInfo &FuncInfo,
const TargetLibraryInfo *LibInfo)
: FastISel(FuncInfo, LibInfo), TM(FuncInfo.MF->getTarget()),
- PPCSubTarget(
- &static_cast<const PPCSubtarget &>(FuncInfo.MF->getSubtarget())),
+ PPCSubTarget(&FuncInfo.MF->getSubtarget<PPCSubtarget>()),
TII(*PPCSubTarget->getInstrInfo()),
TLI(*PPCSubTarget->getTargetLowering()),
Context(&FuncInfo.Fn->getContext()) {}
@@ -2300,8 +2299,7 @@ namespace llvm {
FastISel *PPC::createFastISel(FunctionLoweringInfo &FuncInfo,
const TargetLibraryInfo *LibInfo) {
// Only available on 64-bit ELF for now.
- const PPCSubtarget &Subtarget =
- static_cast<const PPCSubtarget &>(FuncInfo.MF->getSubtarget());
+ const PPCSubtarget &Subtarget = FuncInfo.MF->getSubtarget<PPCSubtarget>();
if (Subtarget.isPPC64() && Subtarget.isSVR4ABI())
return new PPCFastISel(FuncInfo, LibInfo);
return nullptr;