summaryrefslogtreecommitdiffstats
path: root/include/llvm/Transforms
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-07-24 17:10:58 +0000
committerChris Lattner <sabre@nondot.org>2002-07-24 17:10:58 +0000
commitab955c335908eb5b896fcc2788484b5c4a50ab4b (patch)
tree774599aef6090f8a00113ddb05eb4d3a5cfdfba8 /include/llvm/Transforms
parentac20beb546010cd7bf5cd99f6312cb48fc4607e6 (diff)
downloadexternal_llvm-ab955c335908eb5b896fcc2788484b5c4a50ab4b.zip
external_llvm-ab955c335908eb5b896fcc2788484b5c4a50ab4b.tar.gz
external_llvm-ab955c335908eb5b896fcc2788484b5c4a50ab4b.tar.bz2
Move many files into IPO.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3042 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Transforms')
-rw-r--r--include/llvm/Transforms/IPO.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/llvm/Transforms/IPO.h b/include/llvm/Transforms/IPO.h
index 70b5d8a..4a684d4 100644
--- a/include/llvm/Transforms/IPO.h
+++ b/include/llvm/Transforms/IPO.h
@@ -9,6 +9,7 @@
#define LLVM_TRANSFORMS_IPO_H
class Pass;
+class TargetData;
//===----------------------------------------------------------------------===//
// createConstantMergePass - This function returns a new pass that merges
@@ -28,6 +29,13 @@ 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
// be things like:
@@ -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