Move many files into IPO.h
authorChris Lattner <sabre@nondot.org>
Wed, 24 Jul 2002 17:10:58 +0000 (17:10 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 24 Jul 2002 17:10:58 +0000 (17:10 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3042 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Transforms/IPO.h

index 70b5d8aaef230fa8ad1d2cb76b08607f19a06e40..4a684d4f6e70a36aa27e4ace930e084fee8692a1 100644 (file)
@@ -9,6 +9,7 @@
 #define LLVM_TRANSFORMS_IPO_H
 
 class Pass;
+class TargetData;
 
 //===----------------------------------------------------------------------===//
 // createConstantMergePass - This function returns a new pass that merges
@@ -27,6 +28,13 @@ Pass *createConstantMergePass();
 Pass *createDeadTypeEliminationPass();
 
 
+//===----------------------------------------------------------------------===//
+// createGlobalDCEPass - This transform is designed to eliminate unreachable
+// internal globals (functions or global variables)
+//
+Pass *createGlobalDCEPass();
+
+
 //===----------------------------------------------------------------------===//
 // FunctionResolvingPass - Go over the functions that are in the module and
 // look for functions that have the same name.  More often than not, there will
@@ -40,4 +48,28 @@ Pass *createDeadTypeEliminationPass();
 //
 Pass *createFunctionResolvingPass();
 
+
+//===----------------------------------------------------------------------===//
+// createInternalizePass - This pass loops over all of the functions in the
+// input module, looking for a main function.  If a main function is found, all
+// other functions are marked as internal.
+//
+Pass *createInternalizePass();
+
+
+//===----------------------------------------------------------------------===//
+// createPoolAllocatePass - This transform changes programs so that disjoint
+// data structures are allocated out of different pools of memory, increasing
+// locality and shrinking pointer size.
+//
+Pass *createPoolAllocatePass();
+
+
+//===----------------------------------------------------------------------===//
+// These passes are wrappers that can do a few simple structure mutation
+// transformations.
+//
+Pass *createSwapElementsPass(const TargetData &);
+Pass *createSortElementsPass(const TargetData &);
+
 #endif