14 #define DEBUG_TYPE "flattencfg"
54 bool LocalChange =
true;
65 Changed |= LocalChange;
70 bool FlattenCFGPass::runOnFunction(
Function &
F) {
71 AA = &getAnalysis<AliasAnalysis>();
72 bool EverChanged =
false;
bool FlattenCFG(BasicBlock *BB, AliasAnalysis *AA=0)
static PassRegistry * getPassRegistry()
AnalysisUsage & addRequired()
#define INITIALIZE_PASS_END(passName, arg, name, cfg, analysis)
ID
LLVM Calling Convention Representation.
FunctionPass * createFlattenCFGPass()
#define INITIALIZE_AG_DEPENDENCY(depName)
static bool iterativelyFlattenCFG(Function &F, AliasAnalysis *AA)
INITIALIZE_PASS_BEGIN(FlattenCFGPass,"flattencfg","Flatten the CFG", false, false) INITIALIZE_PASS_END(FlattenCFGPass
bool removeUnreachableBlocks(Function &F)
Remove all blocks that can not be reached from the function's entry.
void initializeFlattenCFGPassPass(PassRegistry &)