mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 05:29:24 +00:00
Add more missing createXxxPass functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19370 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ae0aacb833
commit
bf65268def
@ -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.
|
||||
///
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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
|
||||
|
@ -58,6 +58,11 @@ namespace {
|
||||
Y("loop-extract-single", "Extract at most one loop into a new function");
|
||||
} // End anonymous namespace
|
||||
|
||||
// createLoopExtractorPass - This pass extracts all natural loops from the
|
||||
// program into a function if it can.
|
||||
//
|
||||
ModulePass *llvm::createLoopExtractorPass() { return new LoopExtractor(); }
|
||||
|
||||
bool LoopExtractor::runOnFunction(Function &F) {
|
||||
LoopInfo &LI = getAnalysis<LoopInfo>();
|
||||
|
||||
|
@ -31,6 +31,7 @@
|
||||
#include "llvm/Pass.h"
|
||||
#include "llvm/Support/CFG.h"
|
||||
#include "llvm/ADT/Statistic.h"
|
||||
#include "llvm/Transforms/Scalar.h"
|
||||
#include <set>
|
||||
using namespace llvm;
|
||||
|
||||
@ -71,6 +72,8 @@ namespace {
|
||||
"Profile Guided Basic Block Placement");
|
||||
}
|
||||
|
||||
FunctionPass *llvm::createBlockPlacementPass() { return new BlockPlacement(); }
|
||||
|
||||
bool BlockPlacement::runOnFunction(Function &F) {
|
||||
PI = &getAnalysis<ProfileInfo>();
|
||||
|
||||
|
@ -102,6 +102,7 @@ namespace {
|
||||
RegisterOpt<PRE> Z("pre", "Partial Redundancy Elimination");
|
||||
}
|
||||
|
||||
FunctionPass* llvm::createPREPass() { return new PRE(); }
|
||||
|
||||
bool PRE::runOnFunction(Function &F) {
|
||||
VN = &getAnalysis<ValueNumbering>();
|
||||
|
Loading…
Reference in New Issue
Block a user