Teach the inliner to track deoptimization state
[oota-llvm.git] / include / llvm / IR / InstrTypes.h
index 815fb73be06514bb1b96a925478cc4874548c91a..f0035ca3d4270e24e524beb8c3bb642af1d6b0e0 100644 (file)
@@ -1162,6 +1162,14 @@ template <typename InputTy> struct OperandBundleDefT {
   OperandBundleDefT() {}
   explicit OperandBundleDefT(StringRef Tag, const std::vector<InputTy> &Inputs)
       : Tag(Tag), Inputs(Inputs) {}
+
+  explicit OperandBundleDefT(StringRef Tag, std::vector<InputTy> &&Inputs)
+      : Tag(Tag), Inputs(Inputs) {}
+
+  explicit OperandBundleDefT(const OperandBundleUse &OBU) {
+    Tag = OBU.getTagName();
+    Inputs.insert(Inputs.end(), OBU.Inputs.begin(), OBU.Inputs.end());
+  }
 };
 
 typedef OperandBundleDefT<Value *> OperandBundleDef;