LLVM  12.0.0git
Macros | Functions | Variables
FlattenCFGPass.cpp File Reference
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/IR/CFG.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils/Local.h"
Include dependency graph for FlattenCFGPass.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "flattencfg"
 

Functions

 INITIALIZE_PASS_BEGIN (FlattenCFGPass, "flattencfg", "Flatten the CFG", false, false) INITIALIZE_PASS_END(FlattenCFGPass
 
static bool iterativelyFlattenCFG (Function &F, AliasAnalysis *AA)
 iterativelyFlattenCFG - Call FlattenCFG on all the blocks in the function, iterating until no more changes are made. More...
 

Variables

 flattencfg
 
Flatten the CFG
 
Flatten the false
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "flattencfg"

Definition at line 23 of file FlattenCFGPass.cpp.

Function Documentation

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( FlattenCFGPass  ,
"flattencfg"  ,
"Flatten the CFG ,
false  ,
false   
)

◆ iterativelyFlattenCFG()

static bool iterativelyFlattenCFG ( Function F,
AliasAnalysis AA 
)
static

iterativelyFlattenCFG - Call FlattenCFG on all the blocks in the function, iterating until no more changes are made.

Definition at line 55 of file FlattenCFGPass.cpp.

References F(), llvm::FlattenCFG(), llvm::removeUnreachableBlocks(), runOnFunction(), and llvm::Function::size().

Variable Documentation

◆ CFG

Flatten the CFG

Definition at line 47 of file FlattenCFGPass.cpp.

Referenced by llvm::VPBasicBlock::appendRecipe().

◆ false

Flatten the false

Definition at line 47 of file FlattenCFGPass.cpp.

◆ flattencfg

flattencfg

Definition at line 47 of file FlattenCFGPass.cpp.