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;
}