LLVM  10.0.0svn
Macros | Functions | Variables
Mem2Reg.cpp File Reference
#include "llvm/Transforms/Utils/Mem2Reg.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/AssumptionCache.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/PassManager.h"
#include "llvm/Pass.h"
#include "llvm/Support/Casting.h"
#include "llvm/Transforms/Utils.h"
#include "llvm/Transforms/Utils/PromoteMemToReg.h"
#include <vector>
Include dependency graph for Mem2Reg.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "mem2reg"
 

Functions

 STATISTIC (NumPromoted, "Number of alloca's promoted")
 
static bool promoteMemoryToRegister (Function &F, DominatorTree &DT, AssumptionCache &AC)
 
 INITIALIZE_PASS_BEGIN (PromoteLegacyPass, "mem2reg", "Promote Memory to " "Register", false, false) INITIALIZE_PASS_END(PromoteLegacyPass
 

Variables

 mem2reg
 
Promote Memory to Register
 
Promote Memory to false
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "mem2reg"

Definition at line 30 of file Mem2Reg.cpp.

Function Documentation

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( PromoteLegacyPass  ,
"mem2reg"  ,
"Promote Memory to " "Register ,
false  ,
false   
)

Referenced by llvm::PromotePass::run().

◆ promoteMemoryToRegister()

static bool promoteMemoryToRegister ( Function F,
DominatorTree DT,
AssumptionCache AC 
)
static

◆ STATISTIC()

STATISTIC ( NumPromoted  ,
"Number of alloca's promoted"   
)

Variable Documentation

◆ false

Promote Memory to false

Definition at line 109 of file Mem2Reg.cpp.

◆ mem2reg

mem2reg

Definition at line 109 of file Mem2Reg.cpp.

◆ Register

Promote Memory to Register

Definition at line 109 of file Mem2Reg.cpp.

Referenced by llvm::AArch64CallLowering::AArch64CallLowering(), buildMUBUFOffsetLoadStore(), changeFCMPPredToAArch64CC(), llvm::TargetInstrInfo::commuteInstructionImpl(), copyHint(), createPHIsForSelects(), llvm::MCStreamer::EmitCFIDefCfa(), llvm::MCStreamer::EmitCFIDefCfaRegister(), llvm::MCStreamer::EmitCFIReturnColumn(), llvm::X86FrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitPrologue(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), llvm::X86InstrInfo::foldMemoryOperandImpl(), getBaseWithConstantOffset(), getCallOpcode(), getInsertVecEltOpInfo(), llvm::LatticeKeyInfo< CVPLatticeKey >::getLatticeKeyFromValue(), getLoadInfo(), getMemsetValue(), llvm::SIMachineFunctionInfo::getPreloadedReg(), llvm::MachineOperand::getReg(), llvm::BitTracker::MachineEvaluator::getRegBitWidth(), llvm::DbgCallSiteParam::getRegister(), llvm::MCCFIInstruction::getRegister(), llvm::HexagonTargetLowering::getRegisterByName(), llvm::SITargetLowering::getRegisterByName(), llvm::MipsTargetLowering::getRegisterByName(), llvm::PPCTargetLowering::getRegisterByName(), GetRegistersForValue(), llvm::AMDGPULegalizerInfo::getSegmentAperture(), llvm::MipsCallLowering::MipsHandler::handle(), handleMustTailForwardedRegisters(), INITIALIZE_PASS(), isCoalescable(), isCompareZero(), isDbgValueDescribedByReg(), isDescribedByReg(), isMergeableLdStUpdate(), llvm::DwarfExpression::isRegisterLocation(), isSupportedType(), llvm::MipsCallLowering::lowerFormalArguments(), llvm::LegalizerHelper::narrowScalarShiftByConstant(), previousIsLoop(), PrintCFIEscape(), printDwarfFileDirective(), printMCExpr(), llvm::SwiftErrorValueTracking::propagateVRegs(), llvm::HexagonMCChecker::reportBranchErrors(), runCVP(), and UseReg().