Make FastISel's constructor protected, and give it a destructor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54793 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/CodeGen/FastISel.h b/include/llvm/CodeGen/FastISel.h
index ee0e120..bd00e4f 100644
--- a/include/llvm/CodeGen/FastISel.h
+++ b/include/llvm/CodeGen/FastISel.h
@@ -34,10 +34,6 @@
   const TargetInstrInfo *TII;
 
 public:
-  FastISel(MachineBasicBlock *mbb, MachineFunction *mf,
-           const TargetInstrInfo *tii)
-    : MBB(mbb), MF(mf), TII(tii) {}
-
   /// SelectInstructions - Do "fast" instruction selection over the
   /// LLVM IR instructions in the range [Begin, N) where N is either
   /// End or the first unsupported instruction. Return N.
@@ -48,6 +44,12 @@
                      DenseMap<const Value*, unsigned> &ValueMap);
 
 protected:
+  FastISel(MachineBasicBlock *mbb, MachineFunction *mf,
+           const TargetInstrInfo *tii)
+    : MBB(mbb), MF(mf), TII(tii) {}
+
+  virtual ~FastISel();
+
   virtual unsigned FastEmit_(MVT::SimpleValueType VT,
                              ISD::NodeType Opcode);
   virtual unsigned FastEmit_r(MVT::SimpleValueType VT,
diff --git a/lib/CodeGen/SelectionDAG/FastISel.cpp b/lib/CodeGen/SelectionDAG/FastISel.cpp
index 6fe941f..f4d4539 100644
--- a/lib/CodeGen/SelectionDAG/FastISel.cpp
+++ b/lib/CodeGen/SelectionDAG/FastISel.cpp
@@ -45,6 +45,8 @@
   return I;
 }
 
+FastISel::~FastISel() {}
+
 unsigned FastISel::FastEmit_(MVT::SimpleValueType, ISD::NodeType) {
   return 0;
 }