Merge the contents of ChangeAllocations.h into Scalar.h
[oota-llvm.git] / include / llvm / Transforms / Scalar.h
index 5161ac708ad92161fe00458961d0ebada06e6a8f..b1a4340c1f518833a55138fa9ffeea4c18aafbb2 100644 (file)
@@ -9,6 +9,7 @@
 #define LLVM_TRANSFORMS_SCALAR_H
 
 class Pass;
+class TargetData;
 
 //===----------------------------------------------------------------------===//
 //
@@ -159,6 +160,16 @@ Pass *createReassociatePass();
 Pass *createCFGSimplificationPass();
 
 
+//===----------------------------------------------------------------------===//
+// These two passes convert malloc and free instructions to and from %malloc &
+// %free function calls.  The LowerAllocations transformation is a target
+// dependant tranformation because it depends on the size of data types and
+// alignment constraints.
+//
+Pass *createLowerAllocationsPass(const TargetData &TD);
+Pass *createRaiseAllocationsPass();
+
+
 //===----------------------------------------------------------------------===//
 //
 // These functions removes symbols from functions and modules.