Move the R600 intrinsic support back to the target machine - there's
authorEric Christopher <echristo@gmail.com>
Mon, 4 Aug 2014 17:37:43 +0000 (17:37 +0000)
committerEric Christopher <echristo@gmail.com>
Mon, 4 Aug 2014 17:37:43 +0000 (17:37 +0000)
nothing subtarget dependent about the intrinsic support in any
backend as far as I can tell.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214738 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/R600/AMDGPUSubtarget.cpp
lib/Target/R600/AMDGPUSubtarget.h
lib/Target/R600/AMDGPUTargetMachine.cpp
lib/Target/R600/AMDGPUTargetMachine.h

index 6a09d4e..e5fbfac 100644 (file)
@@ -83,7 +83,7 @@ AMDGPUSubtarget::AMDGPUSubtarget(StringRef TT, StringRef GPU, StringRef FS,
       FrameLowering(TargetFrameLowering::StackGrowsUp,
                     64 * 16, // Maximum stack alignment (long16)
                     0),
-      IntrinsicInfo(), InstrItins(getInstrItineraryForCPU(GPU)) {
+      InstrItins(getInstrItineraryForCPU(GPU)) {
 
   if (getGeneration() <= AMDGPUSubtarget::NORTHERN_ISLANDS) {
     InstrInfo.reset(new R600InstrInfo(*this));
index c6d097b..cd95190 100644 (file)
@@ -65,7 +65,6 @@ private:
 
   const DataLayout DL;
   AMDGPUFrameLowering FrameLowering;
-  AMDGPUIntrinsicInfo IntrinsicInfo;
   std::unique_ptr<AMDGPUTargetLowering> TLInfo;
   std::unique_ptr<AMDGPUInstrInfo> InstrInfo;
   InstrItineraryData InstrItins;
@@ -75,7 +74,6 @@ public:
   AMDGPUSubtarget &initializeSubtargetDependencies(StringRef GPU, StringRef FS);
 
   const AMDGPUFrameLowering *getFrameLowering() const { return &FrameLowering; }
-  const AMDGPUIntrinsicInfo *getIntrinsicInfo() const { return &IntrinsicInfo; }
   const AMDGPUInstrInfo *getInstrInfo() const { return InstrInfo.get(); }
   const AMDGPURegisterInfo *getRegisterInfo() const {
     return &InstrInfo->getRegisterInfo();
index c5515e6..890e2b7 100644 (file)
@@ -54,7 +54,7 @@ AMDGPUTargetMachine::AMDGPUTargetMachine(const Target &T, StringRef TT,
                                          CodeModel::Model CM,
                                          CodeGenOpt::Level OptLevel)
     : LLVMTargetMachine(T, TT, CPU, FS, Options, RM, CM, OptLevel),
-      Subtarget(TT, CPU, FS, *this) {
+      Subtarget(TT, CPU, FS, *this), IntrinsicInfo() {
   setRequiresStructuredCFG(true);
   initAsmInfo();
 }
index 64f2546..59772c6 100644 (file)
@@ -25,8 +25,8 @@
 namespace llvm {
 
 class AMDGPUTargetMachine : public LLVMTargetMachine {
-
   AMDGPUSubtarget Subtarget;
+  AMDGPUIntrinsicInfo IntrinsicInfo;
 
 public:
   AMDGPUTargetMachine(const Target &T, StringRef TT, StringRef FS,
@@ -37,7 +37,7 @@ public:
     return getSubtargetImpl()->getFrameLowering();
   }
   const AMDGPUIntrinsicInfo *getIntrinsicInfo() const override {
-    return getSubtargetImpl()->getIntrinsicInfo();
+    return &IntrinsicInfo;
   }
   const AMDGPUInstrInfo *getInstrInfo() const override {
     return getSubtargetImpl()->getInstrInfo();