|
LLVM 22.0.0git
|
#include "llvm/Transforms/Scalar/Reg2Mem.h"#include "llvm/ADT/Statistic.h"#include "llvm/Analysis/LoopInfo.h"#include "llvm/IR/BasicBlock.h"#include "llvm/IR/CFG.h"#include "llvm/IR/Dominators.h"#include "llvm/IR/Function.h"#include "llvm/IR/InstIterator.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/PassManager.h"#include "llvm/InitializePasses.h"#include "llvm/Transforms/Scalar.h"#include "llvm/Transforms/Utils.h"#include "llvm/Transforms/Utils/BasicBlockUtils.h"#include "llvm/Transforms/Utils/Local.h"#include <list>Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "reg2mem" |
Functions | |
| STATISTIC (NumRegsDemoted, "Number of registers demoted") | |
| STATISTIC (NumPhisDemoted, "Number of phi-nodes demoted") | |
| static bool | valueEscapes (const Instruction &Inst) |
| static bool | runPass (Function &F) |
| INITIALIZE_PASS_DEPENDENCY (DominatorTreeWrapperPass) | |
| INITIALIZE_PASS_DEPENDENCY (LoopInfoWrapperPass) | |
| #define DEBUG_TYPE "reg2mem" |
Definition at line 36 of file Reg2Mem.cpp.
| INITIALIZE_PASS_DEPENDENCY | ( | DominatorTreeWrapperPass | ) |
References INITIALIZE_PASS_DEPENDENCY.
| INITIALIZE_PASS_DEPENDENCY | ( | LoopInfoWrapperPass | ) |
References INITIALIZE_PASS_DEPENDENCY, and INITIALIZE_PASS_END.
Definition at line 54 of file Reg2Mem.cpp.
References assert(), llvm::BasicBlock::begin(), llvm::cast(), llvm::DemotePHIToStack(), llvm::DemoteRegToStack(), F, llvm::Type::getInt32Ty(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::Constant::getNullValue(), I, instructions, llvm::isa(), llvm::pred_empty(), and valueEscapes().
Referenced by llvm::RegToMemPass::run().
| STATISTIC | ( | NumPhisDemoted | , |
| "Number of phi-nodes demoted" | ) |
| STATISTIC | ( | NumRegsDemoted | , |
| "Number of registers demoted" | ) |
|
static |
Definition at line 41 of file Reg2Mem.cpp.
References llvm::cast(), llvm::ilist_detail::node_parent_access< NodeTy, ParentTy >::getParent(), llvm::Value::getType(), llvm::isa(), llvm::Type::isSized(), and llvm::Value::users().
Referenced by runPass().