Add a speculative execution pass
[oota-llvm.git] / include / llvm / Transforms / Scalar.h
index 6c7bf936b7ba165d1c4f9532874e81d6d6d54378..c4669f121e6aca44be2d7d4fb8628d93d8044009 100644 (file)
@@ -421,6 +421,13 @@ FunctionPass *
 createSeparateConstOffsetFromGEPPass(const TargetMachine *TM = nullptr,
                                      bool LowerGEP = false);
 
+//===----------------------------------------------------------------------===//
+//
+// SpeculativeExecution - Aggressively hoist instructions to enable
+// speculative execution on targets where branches are expensive.
+//
+FunctionPass *createSpeculativeExecutionPass();
+
 //===----------------------------------------------------------------------===//
 //
 // LoadCombine - Combine loads into bigger loads.