aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Transforms
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Transforms')
-rw-r--r--include/llvm/Transforms/IPO.h5
-rw-r--r--include/llvm/Transforms/LinkAllPasses.h6
-rw-r--r--include/llvm/Transforms/Scalar.h11
3 files changed, 21 insertions, 1 deletions
diff --git a/include/llvm/Transforms/IPO.h b/include/llvm/Transforms/IPO.h
index 77f63f5c8d..d2371de517 100644
--- a/include/llvm/Transforms/IPO.h
+++ b/include/llvm/Transforms/IPO.h
@@ -147,6 +147,11 @@ ModulePass *createIPSCCPPass();
//===----------------------------------------------------------------------===//
//
+/// createLoopExtractorPass - This pass extracts all natural loops from the
+/// program into a function if it can.
+///
+ModulePass *createLoopExtractorPass();
+
/// createSingleLoopExtractorPass - This pass extracts one natural loop from the
/// program into a function if it can. This is used by bugpoint.
///
diff --git a/include/llvm/Transforms/LinkAllPasses.h b/include/llvm/Transforms/LinkAllPasses.h
index 663ed86af1..f29f3de995 100644
--- a/include/llvm/Transforms/LinkAllPasses.h
+++ b/include/llvm/Transforms/LinkAllPasses.h
@@ -42,6 +42,7 @@ namespace {
(void) llvm::createAggressiveDCEPass();
(void) llvm::createArgumentPromotionPass();
+ (void) llvm::createBlockPlacementPass();
(void) llvm::createBlockProfilerPass();
(void) llvm::createBreakCriticalEdgesPass();
(void) llvm::createCFGSimplificationPass();
@@ -68,6 +69,7 @@ namespace {
(void) llvm::createInstructionCombiningPass();
(void) llvm::createInternalizePass();
(void) llvm::createLICMPass();
+ (void) llvm::createLoopExtractorPass();
(void) llvm::createLoopInstrumentationPass();
(void) llvm::createLoopSimplifyPass();
(void) llvm::createLoopStrengthReducePass();
@@ -78,8 +80,10 @@ namespace {
(void) llvm::createLowerGCPass();
(void) llvm::createLowerInvokePass();
(void) llvm::createLowerPackedPass();
+ (void) llvm::createLowerSelectPass();
(void) llvm::createLowerSetJmpPass();
(void) llvm::createLowerSwitchPass();
+ (void) llvm::createPREPass();
(void) llvm::createProfilePathsPass();
(void) llvm::createPromoteMemoryToRegister();
(void) llvm::createPruneEHPass();
@@ -89,11 +93,13 @@ namespace {
(void) llvm::createSCCPPass();
(void) llvm::createScalarReplAggregatesPass();
(void) llvm::createSingleLoopExtractorPass();
+ (void) llvm::createStripSymbolsPass();
(void) llvm::createTailCallEliminationPass();
(void) llvm::createTailDuplicationPass();
(void) llvm::createTraceBasicBlockPass();
(void) llvm::createTraceValuesPassForBasicBlocks();
(void) llvm::createTraceValuesPassForFunction();
+ (void) llvm::createUnifyFunctionExitNodesPass();
}
} X;
};
diff --git a/include/llvm/Transforms/Scalar.h b/include/llvm/Transforms/Scalar.h
index b5af277e7e..6675e2d043 100644
--- a/include/llvm/Transforms/Scalar.h
+++ b/include/llvm/Transforms/Scalar.h
@@ -275,7 +275,16 @@ FunctionPass *createLowerGCPass();
// Returns a pass which converts all instances of ConstantExpression
// into regular LLVM instructions.
FunctionPass* createLowerConstantExpressionsPass();
-
+
+//===----------------------------------------------------------------------===//
+// This pass reorders basic blocks in order to increase the number of fall-
+// through conditional branches.
+FunctionPass *createBlockPlacementPass();
+
+//===----------------------------------------------------------------------===//
+// This pass does partial redundancy elimination.
+FunctionPass *createPREPass();
+
} // End llvm namespace
#endif