Add a new LibCallAliasAnalysis pass, which is parameterized
[oota-llvm.git] / include / llvm / Analysis / Passes.h
index cf52831bace1732132dbbc8af794a4b3645a660f..7843aea2aea1d9a2670f74fbe1f3638765217bc6 100644 (file)
@@ -20,6 +20,7 @@ namespace llvm {
   class ImmutablePass;
   class ModulePass;
   class Pass;
+  class LibCallInfo;
 
   //===--------------------------------------------------------------------===//
   //
@@ -61,6 +62,14 @@ namespace llvm {
   //
   ImmutablePass *createBasicAliasAnalysisPass();
 
+  //===--------------------------------------------------------------------===//
+  //
+  /// createLibCallAliasAnalysisPass - Create an alias analysis pass that knows
+  /// about the semantics of a set of libcalls specified by LCI.  The newly
+  /// constructed pass takes ownership of the pointer that is provided.
+  ///
+  FunctionPass *createLibCallAliasAnalysisPass(LibCallInfo *LCI);
+
   //===--------------------------------------------------------------------===//
   //
   // createAndersensPass - This pass implements Andersen's interprocedural alias