LLVM API Documentation
List of target independent CodeGen pass IDs. More...
Variables | |
const unsigned int | host_char_bit = 8 |
const unsigned int | integerPartWidth |
template<typename T > | |
int(*)(const void *, const void *) | get_array_pod_sort_comparator (const T &) |
cl::opt< bool > | ForceTopDown |
cl::opt< bool > | ForceBottomUp |
char & | MachineLoopInfoID = MachineLoopInfo::ID |
MachineLoopInfo - This pass is a loop analysis pass. More... | |
char & | MachineDominatorsID |
MachineDominators - This pass is a machine dominators analysis pass. More... | |
char & | EdgeBundlesID |
EdgeBundles analysis - Bundle machine CFG edges. More... | |
char & | LiveVariablesID = LiveVariables::ID |
char & | PHIEliminationID = PHIElimination::ID |
char & | LiveIntervalsID = LiveIntervals::ID |
char & | LiveStacksID = LiveStacks::ID |
LiveStacks pass. An analysis keeping track of the liveness of stack slots. More... | |
char & | TwoAddressInstructionPassID = TwoAddressInstructionPass::ID |
char & | ProcessImplicitDefsID = ProcessImplicitDefs::ID |
ProcessImpicitDefs pass - This pass removes IMPLICIT_DEFs. More... | |
char & | RegisterCoalescerID = RegisterCoalescer::ID |
RegisterCoalescer - This pass merges live ranges to eliminate copies. More... | |
char & | MachineSchedulerID = MachineScheduler::ID |
MachineScheduler - This pass schedules machine instructions. More... | |
char & | SpillPlacementID = SpillPlacement::ID |
char & | VirtRegRewriterID = VirtRegRewriter::ID |
char & | UnreachableMachineBlockElimID |
char & | DeadMachineInstructionElimID = DeadMachineInstructionElim::ID |
DeadMachineInstructionElim - This pass removes dead machine instructions. More... | |
char & | PrologEpilogCodeInserterID = PEI::ID |
char & | ExpandPostRAPseudosID = ExpandPostRA::ID |
char & | PostRASchedulerID = PostRAScheduler::ID |
char & | BranchFolderPassID = BranchFolderPass::ID |
char & | MachineFunctionPrinterPassID = MachineFunctionPrinterPass::ID |
MachineFunctionPrinterPass - This pass prints out MachineInstr's. More... | |
char & | TailDuplicateID = TailDuplicatePass::ID |
char & | MachineTraceMetricsID = MachineTraceMetrics::ID |
char & | EarlyIfConverterID = EarlyIfConverter::ID |
char & | StackColoringID = StackColoring::ID |
char & | IfConverterID = IfConverter::ID |
IfConverter - This pass performs machine code if conversion. More... | |
char & | MachineBlockPlacementID = MachineBlockPlacement::ID |
char & | MachineBlockPlacementStatsID = MachineBlockPlacementStats::ID |
char & | GCMachineCodeAnalysisID = GCMachineCodeAnalysis::ID |
char & | MachineCSEID = MachineCSE::ID |
MachineCSE - This pass performs global CSE on machine instructions. More... | |
char & | MachineLICMID = MachineLICM::ID |
MachineLICM - This pass performs LICM on machine instructions. More... | |
char & | MachineSinkingID = MachineSinking::ID |
MachineSinking - This pass performs sinking on machine instructions. More... | |
char & | MachineCopyPropagationID = MachineCopyPropagation::ID |
char & | PeepholeOptimizerID = PeepholeOptimizer::ID |
char & | OptimizePHIsID = OptimizePHIs::ID |
char & | StackSlotColoringID = StackSlotColoring::ID |
StackSlotColoring - This pass performs stack slot coloring. More... | |
char & | LocalStackSlotAllocationID = LocalStackSlotPass::ID |
char & | ExpandISelPseudosID = ExpandISelPseudos::ID |
ExpandISelPseudos - This pass expands pseudo-instructions. More... | |
char & | UnpackMachineBundlesID = UnpackMachineBundles::ID |
UnpackMachineBundles - This pass unpack machine instruction bundles. More... | |
char & | FinalizeMachineBundlesID = FinalizeMachineBundles::ID |
const char | AsmRewritePrecedence [] |
bool | TimePassesIsEnabled = false |
This is the storage for the -time-passes option. More... | |
bool | DebugFlag |
bool | EnableDebugBuffering = false |
static const unsigned char | BitReverseTable256 [256] |
Macro compressed bit reversal table for 256 bits. More... | |
const float | huge_valf = HUGE_VALF |
SourceMgr | SrcMgr |
unsigned | ErrorsPrinted = 0 |
char & | DemoteRegisterToMemoryID = RegToMem::ID |
char & | BreakCriticalEdgesID |
char & | LoopSimplifyID = LoopSimplify::ID |
char & | LowerSwitchID |
char & | LowerInvokePassID |
char & | LCSSAID = LCSSA::ID |
char & | InstructionNamerID |
char & | InstructionSimplifierID = InstSimplifier::ID |
const unsigned int | maxExponent = 16383 |
const unsigned int | maxPrecision = 113 |
const unsigned int | maxPowerOfFiveExponent = maxExponent + maxPrecision - 1 |
const unsigned int | maxPowerOfFiveParts |
Target | TheAArch64Target |
const MCInstrDesc | ARMInsts [] |
Target | TheARMTarget |
Target | TheThumbTarget |
cl::opt< bool > | ReuseFrameIndexVals |
Target | TheCppBackendTarget |
bool | flag_aligned_memcpy |
Target | TheHexagonTarget |
const MCInstrDesc | MipsInsts [] |
Target | TheMipselTarget |
Target | TheMipsTarget |
Target | TheMips64Target |
Target | TheMips64elTarget |
Target | TheMSP430Target |
const unsigned | AnnotationNameLen = 8 |
const char | PropertyAnnotationNames [PROPERTY_LAST+1][AnnotationNameLen+1] |
static const char * | NamedMDForAnnotations = "nvvm.annotations" |
Target | TheNVPTXTarget32 |
Target | TheNVPTXTarget64 |
static RegisterPass < NVPTXAllocaHoisting > | X ("alloca-hoisting","Hoisting alloca instructions in non-entry ""blocks to the entry block") |
Target | ThePPC32Target |
Target | ThePPC64Target |
Target | ThePPC64LETarget |
Target | TheAMDGPUTarget |
The target for the AMDGPU backend. More... | |
Target | TheSparcTarget |
Target | TheSparcV9Target |
Target | TheSystemZTarget |
bool | HasDivModLibcall |
Target | TheX86_32Target |
Target | TheX86_64Target |
Target | TheXCoreTarget |
static MemCpyChkOpt | MemCpyChk |
static MemMoveChkOpt | MemMoveChk |
static MemSetChkOpt | MemSetChk |
static StrCpyChkOpt | StrCpyChk |
static StpCpyChkOpt | StpCpyChk |
static StrNCpyChkOpt | StrNCpyChk |
static StrCatOpt | StrCat |
static StrNCatOpt | StrNCat |
static StrChrOpt | StrChr |
static StrRChrOpt | StrRChr |
static StrCmpOpt | StrCmp |
static StrNCmpOpt | StrNCmp |
static StrCpyOpt | StrCpy |
static StpCpyOpt | StpCpy |
static StrNCpyOpt | StrNCpy |
static StrLenOpt | StrLen |
static StrPBrkOpt | StrPBrk |
static StrToOpt | StrTo |
static StrSpnOpt | StrSpn |
static StrCSpnOpt | StrCSpn |
static StrStrOpt | StrStr |
static MemCmpOpt | MemCmp |
static MemCpyOpt | MemCpy |
static MemMoveOpt | MemMove |
static MemSetOpt | MemSet |
static SinCosPiOpt | SinCosPi |
static FFSOpt | FFS |
static AbsOpt | Abs |
static IsDigitOpt | IsDigit |
static IsAsciiOpt | IsAscii |
static ToAsciiOpt | ToAscii |
static ErrorReportingOpt | ErrorReporting |
static PrintFOpt | PrintF |
static SPrintFOpt | SPrintF |
static FPrintFOpt | FPrintF |
static FWriteOpt | FWrite |
static FPutsOpt | FPuts |
static PutsOpt | Puts |
List of target independent CodeGen pass IDs.
SSAUpdaterTraits<MachineSSAUpdater> - Traits for the SSAUpdaterImpl template, specialized for MachineSSAUpdater.
typedef const void* llvm::AnalysisID |
typedef bool llvm::CCAssignFn(unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, CCState &State) |
CCAssignFn - This function assigns a location for Val, updating State to reflect the change. It returns 'true' if it failed to handle Val.
Definition at line 135 of file CallingConvLower.h.
typedef bool llvm::CCCustomFn(unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State) |
CCCustomFn - This function assigns a location for Val, possibly updating all args to reflect changes and indicates if it handled it. It must set isCustom if it handles the arg and returns true.
Definition at line 142 of file CallingConvLower.h.
typedef InstIterator<const iplist<BasicBlock>, Function::const_iterator, BasicBlock::const_iterator, const Instruction> llvm::const_inst_iterator |
Definition at line 126 of file InstIterator.h.
typedef PredIterator<const BasicBlock, Value::const_use_iterator> llvm::const_pred_iterator |
Definition at line 86 of file Support/CFG.h.
typedef SmallVector<std::pair<uint64_t, DILineInfo>, 16> llvm::DILineInfoTable |
Definition at line 61 of file DIContext.h.
typedef DIRef<DIScope> llvm::DIScopeRef |
Definition at line 192 of file DebugInfo.h.
typedef DenseMap<const MDString *, MDNode *> llvm::DITypeIdentifierMap |
Maps from type identifier to the actual MDNode.
Definition at line 52 of file DebugInfo.h.
typedef DIRef<DIType> llvm::DITypeRef |
Definition at line 194 of file DebugInfo.h.
typedef DenseMap<DivOpInfo, DivPhiNodes> llvm::DivCacheTy |
Definition at line 70 of file BypassSlowDivision.cpp.
typedef DomTreeNodeBase<BasicBlock> llvm::DomTreeNode |
Definition at line 176 of file Dominators.h.
typedef std::vector<DWARFAbbreviationDeclaration> llvm::DWARFAbbreviationDeclarationColl |
Definition at line 21 of file DWARFDebugAbbrev.h.
typedef DWARFAbbreviationDeclarationColl::const_iterator llvm::DWARFAbbreviationDeclarationCollConstIter |
Definition at line 25 of file DWARFDebugAbbrev.h.
typedef DWARFAbbreviationDeclarationColl::iterator llvm::DWARFAbbreviationDeclarationCollIter |
Definition at line 23 of file DWARFDebugAbbrev.h.
typedef integral_constant<bool, false> llvm::false_type |
Definition at line 94 of file type_traits.h.
typedef void(* llvm::fatal_error_handler_t)(void *user_data, const std::string &reason, bool gen_crash_diag) |
An error handler callback.
Definition at line 26 of file ErrorHandling.h.
Definition at line 346 of file FoldingSet.h.
Definition at line 235 of file IntervalIterator.h.
GCMetadataPrinterRegistry - The GC assembly printer registry uses all the defaults from Registry.
Definition at line 29 of file GCMetadataPrinter.h.
typedef Registry<GCStrategy> llvm::GCRegistry |
The GC strategy registry uses all the defaults from Registry.
Definition at line 46 of file GCStrategy.h.
Definition at line 83 of file GetElementPtrTypeIterator.h.
typedef bool llvm::Hexagon_CCAssignFn(unsigned ValNo, EVT ValVT, EVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, Hexagon_CCState &State, int NonVarArgsParams, int CurrentParam, bool ForceMem) |
Hexagon_CCAssignFn - This function assigns a location for Val, updating State to reflect the change.
Definition at line 36 of file HexagonCallingConvLower.h.
typedef std::pair<SlotIndex, MachineBasicBlock*> llvm::IdxMBBPair |
Definition at line 315 of file SlotIndexes.h.
Definition at line 60 of file MCAsmParser.h.
typedef std::pair<const MachineInstr *, const MachineInstr *> llvm::InsnRange |
InsnRange - This is used to track range of instructions with identical lexical scope.
Definition at line 33 of file LexicalScopes.h.
typedef InstIterator<iplist<BasicBlock>, Function::iterator, BasicBlock::iterator, Instruction> llvm::inst_iterator |
Definition at line 122 of file InstIterator.h.
typedef uint64_t llvm::integerPart |
Definition at line 237 of file IntervalIterator.h.
typedef AtomicSDNode llvm::LargestSDNode |
LargestSDNode - The largest SDNode class.
Definition at line 1876 of file SelectionDAGNodes.h.
typedef DenseMap<uint32_t, uint64_t> llvm::LineCounts |
typedef SparseBitVector<128> llvm::LiveVirtRegBitSet |
Definition at line 29 of file LiveIntervalUnion.h.
typedef DenseMap<const Loop*, const SCEV*> llvm::LoopToScevMapT |
Definition at line 649 of file ScalarEvolutionExpressions.h.
Definition at line 34 of file MachineDominators.h.
typedef void*(* llvm::MachinePassCtor)() |
Definition at line 26 of file MachinePassRegistry.h.
typedef uint8_t llvm::MCData |
An entry in an MCDataAtom.
typedef uint16_t llvm::MCPhysReg |
An unsigned integer type large enough to represent all physical registers, but not necessarily virtual registers.
Definition at line 27 of file MCRegisterInfo.h.
typedef std::pair<const MCSection *, const MCExpr *> llvm::MCSectionSubPair |
Definition at line 39 of file MCStreamer.h.
MostAlignedSDNode - The SDNode class with the greatest alignment requirement.
Definition at line 1881 of file SelectionDAGNodes.h.
typedef void* llvm::PointerTy |
Definition at line 23 of file GenericValue.h.
typedef SmallPtrSet<const Loop *, 2> llvm::PostIncLoopSet |
PostIncLoopSet - A set of loops.
Definition at line 64 of file ScalarEvolutionNormalization.h.
Definition at line 84 of file Support/CFG.h.
typedef SparseMultiSet<PhysRegSUOper, llvm::identity<unsigned>, uint16_t> llvm::Reg2SUnitsMap |
Use a SparseMultiSet to track physical registers. Storage is only allocated once for the pass. It can be cleared in constant time and reused without any frees.
Definition at line 61 of file ScheduleDAGInstrs.h.
typedef DenseMap< uint64_t, std::pair< uint8_t, int64_t > > llvm::RelocAddrMap |
Definition at line 125 of file DIContext.h.
typedef DenseMap<const MCSectionData*, uint64_t> llvm::SectionAddrMap |
typedef std::pair<Value*, Value*> llvm::SizeOffsetEvalType |
Definition at line 210 of file MemoryBuiltins.h.
typedef std::pair<APInt, APInt> llvm::SizeOffsetType |
Definition at line 155 of file MemoryBuiltins.h.
typedef SuccIterator<const TerminatorInst*, const BasicBlock> llvm::succ_const_iterator |
Definition at line 228 of file Support/CFG.h.
typedef SuccIterator<TerminatorInst*, BasicBlock> llvm::succ_iterator |
Definition at line 226 of file Support/CFG.h.
typedef bool llvm::TableGenMainFn(raw_ostream &OS, RecordKeeper &Records) |
typedef integral_constant<bool, true> llvm::true_type |
Definition at line 93 of file type_traits.h.
typedef StringMapEntry<Value*> llvm::ValueName |
typedef std::vector<GenericValue> llvm::ValuePlaneTy |
Definition at line 65 of file lib/ExecutionEngine/Interpreter/Interpreter.h.
typedef DenseMap<const Value*, Value*> llvm::ValueToValueMap |
Definition at line 558 of file ScalarEvolutionExpressions.h.
typedef ValueMap<const Value *, WeakVH> llvm::ValueToValueMapTy |
Definition at line 22 of file ValueMapper.h.
Use SparseSet as a SparseMap by relying on the fact that it never compares ValueT's, only unsigned keys. This allows the set to be cleared between scheduling regions in constant time as long as ValueT does not require a destructor.
Definition at line 67 of file ScheduleDAGInstrs.h.
Track local uses of virtual registers. These uses are gathered by the DAG builder and may be consulted by the scheduler to avoid iterating an entire vreg use list.
Definition at line 72 of file ScheduleDAGInstrs.h.
anonymous enum |
Enumerator | |
---|---|
EXIDX_CANTUNWIND |
Special entry for the function never unwind. |
Definition at line 26 of file ARMUnwindOp.h.
anonymous enum |
Enumerator | |
---|---|
SM_SentinelZero |
Definition at line 26 of file X86ShuffleDecode.h.
anonymous enum |
Enumerator | |
---|---|
ELF_STT_Shift | |
ELF_STB_Shift | |
ELF_STV_Shift | |
ELF_Other_Shift |
Definition at line 23 of file MCELFSymbolFlags.h.
enum llvm::AddressSpace |
Enumerator | |
---|---|
ADDRESS_SPACE_GENERIC | |
ADDRESS_SPACE_GLOBAL | |
ADDRESS_SPACE_SHARED | |
ADDRESS_SPACE_CONST | |
ADDRESS_SPACE_LOCAL | |
ADDRESS_SPACE_PARAM |
Definition at line 22 of file NVPTXBaseInfo.h.
enum llvm::AlignTypeEnum |
Enum used to categorize the alignment types stored by LayoutAlignElem.
Definition at line 43 of file DataLayout.h.
ARM exception handling table entry kinds.
Enumerator | |
---|---|
EHT_GENERIC | |
EHT_COMPACT |
Definition at line 21 of file ARMUnwindOp.h.
ARM-defined Personality Routine Index.
Enumerator | |
---|---|
AEABI_UNWIND_CPP_PR0 | |
AEABI_UNWIND_CPP_PR1 | |
AEABI_UNWIND_CPP_PR2 | |
NUM_PERSONALITY_INDEX |
Definition at line 111 of file ARMUnwindOp.h.
ARM-defined frame unwinding opcodes.
Definition at line 32 of file ARMUnwindOp.h.
enum llvm::AsmRewriteKind |
Enumerator | |
---|---|
AOK_Delete | |
AOK_Align | |
AOK_DotOperator | |
AOK_Emit | |
AOK_Imm | |
AOK_ImmPrefix | |
AOK_Input | |
AOK_Output | |
AOK_SizeDirective | |
AOK_Skip |
Definition at line 25 of file MCTargetAsmParser.h.
enum llvm::AtomicOrdering |
Enumerator | |
---|---|
NotAtomic | |
Unordered | |
Monotonic | |
Acquire | |
Release | |
AcquireRelease | |
SequentiallyConsistent |
Definition at line 36 of file Instructions.h.
enum llvm::CombineLevel |
Enumerator | |
---|---|
BeforeLegalizeTypes | |
AfterLegalizeTypes | |
AfterLegalizeVectorOps | |
AfterLegalizeDAG |
Definition at line 16 of file DAGCombine.h.
enum llvm::DIDumpType |
Selects which debug sections get dumped.
Definition at line 98 of file DIContext.h.
enum llvm::ELFSymbolFlags |
Definition at line 30 of file MCELFSymbolFlags.h.
enum llvm::lostFraction |
MachOSymbolFlags - We store the value for the 'desc' symbol field in the lowest 16 bits of the implementation defined flags.
Definition at line 24 of file MCMachOSymbolFlags.h.
Enumerator | |
---|---|
MCDR_DataRegion |
.data_region |
MCDR_DataRegionJT8 |
.data_region jt8 |
MCDR_DataRegionJT16 |
.data_region jt16 |
MCDR_DataRegionJT32 |
.data_region jt32 |
MCDR_DataRegionEnd |
.end_data_region |
Definition at line 55 of file MCDirectives.h.
enum llvm::MCFixupKind |
MCFixupKind - Extensible enumeration to represent the type of a fixup.
enum llvm::MCSymbolAttr |
Enumerator | |
---|---|
MCSA_Invalid |
Not a valid directive. |
MCSA_ELF_TypeFunction |
.type _foo, STT_FUNC # aka |
MCSA_ELF_TypeIndFunction |
.type _foo, STT_GNU_IFUNC |
MCSA_ELF_TypeObject |
.type _foo, STT_OBJECT # aka |
MCSA_ELF_TypeTLS |
.type _foo, STT_TLS # aka |
MCSA_ELF_TypeCommon |
.type _foo, STT_COMMON # aka |
MCSA_ELF_TypeNoType |
.type _foo, STT_NOTYPE # aka |
MCSA_ELF_TypeGnuUniqueObject | |
MCSA_Global |
.type _foo, .globl |
MCSA_Hidden |
.hidden (ELF) |
MCSA_IndirectSymbol |
.indirect_symbol (MachO) |
MCSA_Internal |
.internal (ELF) |
MCSA_LazyReference |
.lazy_reference (MachO) |
MCSA_Local |
.local (ELF) |
MCSA_NoDeadStrip |
.no_dead_strip (MachO) |
MCSA_SymbolResolver |
.symbol_resolver (MachO) |
MCSA_PrivateExtern |
.private_extern (MachO) |
MCSA_Protected |
.protected (ELF) |
MCSA_Reference |
.reference (MachO) |
MCSA_Weak |
.weak |
MCSA_WeakDefinition |
.weak_definition (MachO) |
MCSA_WeakReference |
.weak_reference (MachO) |
MCSA_WeakDefAutoPrivate |
.weak_def_can_be_hidden (MachO) |
Definition at line 19 of file MCDirectives.h.
enum llvm::NeonModImmType |
Enumerator | |
---|---|
Neon_Mov_Imm | |
Neon_Mvn_Imm |
Definition at line 353 of file AArch64ISelLowering.h.
enum llvm::NEONModImmType |
Enumerator | |
---|---|
VMOVModImm | |
VMVNModImm | |
OtherModImm |
Definition at line 581 of file ARMISelLowering.h.
enum llvm::NoneType |
enum llvm::ParmContext |
ParmContext - This enum tracks whether calling convention lowering is in the context of prologue or call generation. Not all backends make use of this information.
Enumerator | |
---|---|
Unknown | |
Prologue | |
Call |
Definition at line 149 of file CallingConvLower.h.
Enumerator | |
---|---|
EXECUTION_MSG | |
MODIFICATION_MSG | |
FREEING_MSG | |
ON_BASICBLOCK_MSG | |
ON_FUNCTION_MSG | |
ON_MODULE_MSG | |
ON_REGION_MSG | |
ON_LOOP_MSG | |
ON_CG_MSG |
Definition at line 103 of file LegacyPassManagers.h.
enum llvm::PassKind |
Different types of internal pass managers. External pass managers (PassManager and FunctionPassManager) are not represented here. Ordering of pass manager types is important here.
Definition at line 33 of file NVPTXBaseInfo.h.
enum llvm::RemapFlags |
RemapFlags - These are flags that the value mapping APIs allow.
Definition at line 51 of file ValueMapper.h.
enum llvm::SCEVTypes |
Enumerator | |
---|---|
scConstant | |
scTruncate | |
scZeroExtend | |
scSignExtend | |
scAddExpr | |
scMulExpr | |
scUDivExpr | |
scAddRecExpr | |
scUMaxExpr | |
scSMaxExpr | |
scUnknown | |
scCouldNotCompute |
Definition at line 26 of file ScalarEvolutionExpressions.h.
SelectPatternFlavor - We can match a variety of different patterns for select operations.
Enumerator | |
---|---|
SPF_UNKNOWN | |
SPF_SMIN | |
SPF_UMIN | |
SPF_SMAX | |
SPF_UMAX |
Definition at line 33 of file InstCombine.h.
Enumerator | |
---|---|
SingleThread | |
CrossThread |
Definition at line 47 of file Instructions.h.
enum llvm::TransformKind |
TransformKind - Different types of transformations that TransformForPostIncUse can do.
Definition at line 52 of file ScalarEvolutionNormalization.h.
An enumeration to specify the action to be taken if errors found.
This enumeration is used in the functions below to indicate what should happen if the verifier finds errors. Each of the functions that uses this enumeration as an argument provides a default value for it. The actions are listed below.
Enumerator | |
---|---|
AbortProcessAction |
verifyModule will print to stderr and abort() |
PrintMessageAction |
verifyModule will print to stderr and return true |
ReturnStatusAction |
verifyModule will just return true |
Definition at line 38 of file Verifier.h.
enum llvm::ZeroBehavior |
The behavior an operation has on an input of 0.
Enumerator | |
---|---|
ZB_Undefined |
The returned value is undefined. |
ZB_Max |
The returned value is numeric_limits<T>::max() |
ZB_Width |
The returned value is numeric_limits<T>::digits. |
Definition at line 30 of file MathExtras.h.
void llvm::__deregister_frame | ( | void * | p | ) |
Definition at line 64 of file RTDyldMemoryManager.cpp.
References llvm::sys::DynamicLibrary::SearchForAddressOfSymbol().
Referenced by llvm::RTDyldMemoryManager::deregisterEHFrames().
void llvm::__register_frame | ( | void * | p | ) |
Definition at line 51 of file RTDyldMemoryManager.cpp.
References llvm::sys::DynamicLibrary::SearchForAddressOfSymbol().
Referenced by llvm::RTDyldMemoryManager::registerEHFrames().
|
inlinestatic |
Definition at line 54 of file AArch64BaseInfo.h.
References llvm::A64CC::AL, llvm::A64CC::EQ, llvm::A64CC::GE, llvm::A64CC::GT, llvm::A64CC::HI, llvm::A64CC::HS, llvm::A64CC::LE, llvm_unreachable, llvm::A64CC::LO, llvm::A64CC::LS, llvm::A64CC::LT, llvm::A64CC::MI, llvm::A64CC::NE, llvm::A64CC::NV, llvm::A64CC::PL, llvm::A64CC::VC, and llvm::A64CC::VS.
|
inlinestatic |
Definition at line 100 of file AArch64BaseInfo.h.
Referenced by llvm::AArch64InstrInfo::ReverseBranchCondition().
|
inlinestatic |
Definition at line 76 of file AArch64BaseInfo.h.
References llvm::A64CC::AL, llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Default(), llvm::A64CC::EQ, llvm::A64CC::GE, llvm::A64CC::GT, llvm::A64CC::HI, llvm::A64CC::HS, llvm::A64CC::Invalid, llvm::A64CC::LE, llvm::A64CC::LO, llvm::StringRef::lower(), llvm::A64CC::LS, llvm::A64CC::LT, llvm::A64CC::MI, llvm::A64CC::NE, llvm::A64CC::NV, llvm::A64CC::PL, llvm::A64CC::VC, and llvm::A64CC::VS.
|
inlinestatic |
Definition at line 351 of file AArch64BaseInfo.h.
References llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Default(), llvm::A64Layout::Invalid, llvm::A64Layout::VL_16B, llvm::A64Layout::VL_1D, llvm::A64Layout::VL_2D, llvm::A64Layout::VL_2S, llvm::A64Layout::VL_4H, llvm::A64Layout::VL_4S, llvm::A64Layout::VL_8B, llvm::A64Layout::VL_8H, llvm::A64Layout::VL_B, llvm::A64Layout::VL_D, llvm::A64Layout::VL_H, and llvm::A64Layout::VL_S.
|
inlinestatic |
Definition at line 332 of file AArch64BaseInfo.h.
References llvm_unreachable, llvm::A64Layout::VL_16B, llvm::A64Layout::VL_1D, llvm::A64Layout::VL_2D, llvm::A64Layout::VL_2S, llvm::A64Layout::VL_4H, llvm::A64Layout::VL_4S, llvm::A64Layout::VL_8B, llvm::A64Layout::VL_8H, llvm::A64Layout::VL_B, llvm::A64Layout::VL_D, llvm::A64Layout::VL_H, and llvm::A64Layout::VL_S.
Referenced by llvm::AArch64InstPrinter::printVectorList().
|
inline |
abs64 - absolute value of a 64-bit int. Not all environments support "abs" on whatever their name for the 64-bit int type is. The absolute value of the largest negative number is undefined, as with "abs".
Definition at line 579 of file MathExtras.h.
Referenced by llvm::ARMTargetLowering::isLegalAddImmediate(), and llvm::ARMTargetLowering::isLegalICmpImmediate().
void llvm::AddCatchInfo | ( | const CallInst & | I, |
MachineModuleInfo * | MMI, | ||
MachineBasicBlock * | MBB | ||
) |
AddCatchInfo - Extract the personality and type infos from an eh.selector call, and add them to the specified machine basic block.
Definition at line 408 of file FunctionLoweringInfo.cpp.
References llvm::MachineModuleInfo::addCatchTypeInfo(), llvm::MachineModuleInfo::addCleanup(), llvm::MachineModuleInfo::addFilterTypeInfo(), llvm::MachineModuleInfo::addPersonality(), ExtractTypeInfo(), llvm::CallInst::getArgOperand(), llvm::CallInst::getNumArgOperands(), llvm::ConstantExpr::getOpcode(), llvm::User::getOperand(), and N.
|
inlinestatic |
addConstantPoolReference - This function is used to add a reference to the base of a constant value spilled to the per-function constant pool. The reference uses the abstract ConstantPoolIndex which is retained until either machine code emission or assembly output. In PIC mode on x86-32, the GlobalBaseReg parameter can be used to make this a GlobalBaseReg-relative reference.
Definition at line 174 of file X86InstrBuilder.h.
References llvm::MachineInstrBuilder::addConstantPoolIndex(), llvm::MachineInstrBuilder::addImm(), and llvm::MachineInstrBuilder::addReg().
|
inlinestatic |
Definition at line 329 of file ARMBaseInstrInfo.h.
References llvm::MachineInstrBuilder::addReg().
Referenced by llvm::ARMBaseInstrInfo::copyPhysReg(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), llvm::ARMFrameLowering::emitPrologue(), llvm::ARMBaseInstrInfo::FoldImmediate(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), and llvm::ARMBaseInstrInfo::optimizeSelect().
|
inlinestatic |
Definition at line 324 of file ARMBaseInstrInfo.h.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), and llvm::ARMCC::AL.
Referenced by llvm::ARMBaseInstrInfo::breakPartialRegDependency(), llvm::Thumb1InstrInfo::copyPhysReg(), llvm::Thumb2InstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyPhysReg(), llvm::Thumb1RegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), emitPostLd(), emitPostSt(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), emitThumbConstant(), emitThumbRegPlusImmInReg(), llvm::ARMBaseInstrInfo::expandPostRAPseudo(), llvm::ARMBaseInstrInfo::FoldImmediate(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(), llvm::Thumb1RegisterInfo::rewriteFrameIndex(), rewriteT2FrameIndex(), llvm::Thumb1RegisterInfo::saveScavengerRegister(), llvm::ARMBaseInstrInfo::setExecutionDomain(), llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), and llvm::ARMBaseInstrInfo::storeRegToStackSlot().
|
inlinestatic |
Definition at line 334 of file ARMBaseInstrInfo.h.
References llvm::MachineInstrBuilder::addReg(), getDeadRegState(), and getDefRegState().
Referenced by emitPostLd(), emitPostSt(), emitThumbConstant(), emitThumbRegPlusImmInReg(), and llvm::Thumb1RegisterInfo::rewriteFrameIndex().
|
inlinestatic |
addDirectMem - This function is used to add a direct memory reference to the current instruction – that is, a dereference of an address in a register, with no scale, index or displacement. An example is: DWORD PTR [EAX].
Definition at line 90 of file X86InstrBuilder.h.
References llvm::MachineInstrBuilder::addImm(), and llvm::MachineInstrBuilder::addReg().
|
inlinestatic |
Add a BDX memory reference for frame object FI to MIB.
Definition at line 27 of file SystemZInstrBuilder.h.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMemOperand(), llvm::MachineInstrBuilder::addReg(), llvm::MachineInstr::getDesc(), llvm::PseudoSourceValue::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlignment(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MCInstrDesc::mayLoad(), llvm::MCInstrDesc::mayStore(), llvm::A64CC::MI, llvm::MachineMemOperand::MOLoad, and llvm::MachineMemOperand::MOStore.
|
inlinestatic |
addFrameReference - This function is used to add a reference to the base of an abstract object on the stack frame of the current function. This reference has base register as the FrameIndex offset until it is resolved. This allows a constant offset to be specified as well...
Definition at line 33 of file PPCInstrBuilder.h.
References llvm::MachineInstrBuilder::addFrameIndex(), and llvm::MachineInstrBuilder::addImm().
Referenced by llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::SystemZInstrInfo::loadRegFromStackSlot(), llvm::X86InstrInfo::loadRegFromStackSlot(), llvm::PPCRegisterInfo::lowerCRRestore(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::PPCRegisterInfo::lowerVRSAVERestore(), llvm::PPCRegisterInfo::lowerVRSAVESpilling(), restoreCRs(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), llvm::SystemZInstrInfo::storeRegToStackSlot(), and llvm::X86InstrInfo::storeRegToStackSlot().
|
inlinestatic |
addFrameReference - This function is used to add a reference to the base of an abstract object on the stack frame of the current function. This reference has base register as the FrameIndex offset until it is resolved. This allows a constant offset to be specified as well...
Definition at line 148 of file X86InstrBuilder.h.
References llvm::MachineInstrBuilder::addFrameIndex(), addOffset(), llvm::MachineInstr::getDesc(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlignment(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MCInstrDesc::mayLoad(), llvm::MCInstrDesc::mayStore(), llvm::A64CC::MI, llvm::MachineMemOperand::MOLoad, and llvm::MachineMemOperand::MOStore.
|
inlinestatic |
Definition at line 122 of file X86InstrBuilder.h.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addGlobalAddress(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::X86AddressMode::Base, llvm::X86AddressMode::BaseType, llvm::X86AddressMode::Disp, llvm::X86AddressMode::FrameIndex, llvm::X86AddressMode::FrameIndexBase, llvm::X86AddressMode::GV, llvm::X86AddressMode::GVOpFlags, llvm::X86AddressMode::IndexReg, llvm::X86AddressMode::Reg, llvm::X86AddressMode::RegBase, and llvm::X86AddressMode::Scale.
Referenced by llvm::X86TargetLowering::EmitInstrWithCustomInserter().
void llvm::AddLandingPadInfo | ( | const LandingPadInst & | I, |
MachineModuleInfo & | MMI, | ||
MachineBasicBlock * | MBB | ||
) |
AddLandingPadInfo - Extract the exception handling information from the landingpad instruction and add them to the specified machine module info.
Definition at line 462 of file FunctionLoweringInfo.cpp.
References llvm::MachineModuleInfo::addCatchTypeInfo(), llvm::MachineModuleInfo::addCleanup(), llvm::MachineModuleInfo::addFilterTypeInfo(), llvm::MachineModuleInfo::addPersonality(), llvm::LandingPadInst::getClause(), llvm::LandingPadInst::getNumClauses(), llvm::LandingPadInst::getPersonalityFn(), llvm::ARM_PROC::IE, llvm::LandingPadInst::isCatch(), llvm::LandingPadInst::isCleanup(), llvm::User::op_begin(), llvm::User::op_end(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), and llvm::Value::stripPointerCasts().
|
inline |
Definition at line 68 of file IntervalIterator.h.
References llvm::Interval::Nodes.
|
inline |
Definition at line 79 of file IntervalIterator.h.
References llvm::Interval::Nodes.
|
inlinestatic |
Definition at line 340 of file ARMBaseInstrInfo.h.
References llvm::MachineInstrBuilder::addReg().
|
inlinestatic |
Definition at line 98 of file X86InstrBuilder.h.
References llvm::MachineInstrBuilder::addImm(), and llvm::MachineInstrBuilder::addReg().
Referenced by addFrameReference(), addRegOffset(), llvm::X86InstrInfo::convertToThreeAddress(), foldPatchpoint(), FuseInst(), FuseTwoAddrInst(), and MakeM0Inst().
|
inlinestatic |
addRegOffset - This function is used to add a memory reference of the form [Reg + Offset], i.e., one with no scale or index, but with a displacement. An example is: DWORD PTR [EAX + 4].
Definition at line 107 of file X86InstrBuilder.h.
References addOffset(), llvm::MachineInstrBuilder::addReg(), and getKillRegState().
Referenced by llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::X86FrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitPrologue(), and emitSPUpdate().
|
inlinestatic |
addRegReg - This function is used to add a memory reference of the form: [Reg + Reg].
Definition at line 114 of file X86InstrBuilder.h.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), and getKillRegState().
Referenced by llvm::X86InstrInfo::convertToThreeAddress().
|
inline |
alignOf - A templated function that returns the minimum alignment of of a type. This provides no extra functionality beyond the AlignOf class besides some cosmetic cleanliness. Example usage: alignOf<int>() returns the alignment of an int.
Append F to the list of global ctors of module M with the given Priority. This wraps the function in the appropriate structure and stores it along side other global constructors. For details see http://llvm.org/docs/LangRef.html#intg_global_ctors
Definition at line 59 of file ModuleUtils.cpp.
References appendToGlobalArray().
Same as appendToGlobalCtors(), but for global dtors.
Definition at line 63 of file ModuleUtils.cpp.
References appendToGlobalArray().
|
inlinestatic |
Applies the Map (Loop -> SCEV) to the given Scev.
Definition at line 745 of file ScalarEvolutionExpressions.h.
References llvm::SCEVApplyRewriter::rewrite().
|
inlinestatic |
Definition at line 656 of file RuntimeDyldELF.cpp.
|
inlinestatic |
Definition at line 662 of file RuntimeDyldELF.cpp.
|
inlinestatic |
Definition at line 668 of file RuntimeDyldELF.cpp.
|
inlinestatic |
Definition at line 650 of file RuntimeDyldELF.cpp.
bool llvm::AreStatisticsEnabled | ( | ) |
|
inlinestatic |
Definition at line 68 of file ARMBaseInfo.h.
References llvm::ARMCC::AL, llvm::ARMCC::EQ, llvm::ARMCC::GE, llvm::ARMCC::GT, llvm::ARMCC::HI, llvm::ARMCC::HS, llvm::ARMCC::LE, llvm_unreachable, llvm::ARMCC::LO, llvm::ARMCC::LS, llvm::ARMCC::LT, llvm::ARMCC::MI, llvm::ARMCC::NE, llvm::ARMCC::PL, llvm::ARMCC::VC, and llvm::ARMCC::VS.
Referenced by llvm::ARMInstPrinter::printMandatoryPredicateOperand(), and llvm::ARMInstPrinter::printPredicateOperand().
Find where an array ends (for ending iterators) This returns a pointer to the byte immediately after the end of an array.
Definition at line 244 of file STLExtras.h.
References N.
Referenced by isIntrinsicInline(), llvm::MachineTraceMetrics::MachineTraceMetrics(), and llvm::TargetLoweringBase::ValueTypeActionImpl::ValueTypeActionImpl().
|
inline |
Find the length of an array.
Definition at line 250 of file STLExtras.h.
References N.
Referenced by llvm::TargetLoweringBase::addRegisterClass(), llvm::AMDGPUTargetLowering::AMDGPUTargetLowering(), AnalyzeArguments(), llvm::ARMBaseInstrInfo::ARMBaseInstrInfo(), llvm::AtomicSDNode::AtomicSDNode(), llvm::X86TargetLowering::BuildFILD(), CC_PPC32_SVR4_Custom_AlignArgRegs(), CC_PPC32_SVR4_Custom_AlignFPArgRegs(), CombineSymbolTypes(), convertAddSubFlagsOpcode(), llvm::PPCInstrInfo::DefinesPredicate(), EltsFromConsecutiveLoads(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::A64SysReg::SysRegMapper::fromString(), getAllocationData(), llvm::SystemZFrameLowering::getCalleeSavedSpillSlots(), llvm::PPCFrameLowering::getCalleeSavedSpillSlots(), getConcreteOpcode(), llvm::TargetLoweringBase::getCondCodeAction(), llvm::MCAsmBackend::getFixupKindInfo(), getGatherNode(), llvm::SelectionDAG::getMachineNode(), getMGatherNode(), llvm::TargetLoweringBase::getNumRegisters(), getOnesVector(), llvm::TargetLoweringBase::getOperationAction(), llvm::TargetLoweringBase::getRegisterType(), llvm::MipsRegisterInfo::getReservedRegs(), llvm::AMDGPURegisterInfo::getSubRegFromChannel(), GetTLSADDR(), llvm::TargetLoweringBase::getTypeConversion(), getZeroVector(), llvm::hashing::detail::hash_combine_range_impl(), llvm::TargetLoweringBase::hasTargetDAGCombine(), llvm::raw_ostream::indent(), llvm::TargetLoweringBase::initActions(), isF128SoftLibCall(), isImageOrSamplerVal(), llvm::TargetLoweringBase::isTypeLegal(), lookup(), lookupAVX2(), LookupNEONLdSt(), LowerCMP_SWAP(), LowerCTLZ(), LowerCTTZ(), LowerINTRINSIC_W_CHAIN(), LowerREADCYCLECOUNTER(), LowerVECTOR_SHUFFLE_256(), llvm::MipsSETargetLowering::MipsSETargetLowering(), llvm::SelectionDAG::MorphNodeTo(), llvm::A64SysReg::MRSMapper::MRSMapper(), llvm::A64SysReg::MSRMapper::MSRMapper(), llvm::Triple::normalize(), llvm::MipsTargetLowering::MipsCC::numIntArgRegs(), PerformCMOVCombine(), llvm::PPCTargetLowering::PerformDAGCombine(), performIntegerAbsCombine(), PerformShuffleCombine256(), ReplaceATOMIC_BINARY_64(), llvm::X86TargetLowering::ReplaceNodeResults(), ReplaceREADCYCLECOUNTER(), llvm::X86TargetLowering::resetOperationActions(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), llvm::TargetLoweringBase::setCondCodeAction(), llvm::TargetLoweringBase::setOperationAction(), llvm::TargetLoweringBase::setTargetDAGCombine(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::SystemZFrameLowering::SystemZFrameLowering(), llvm::A64SysReg::SysRegMapper::toString(), and llvm::X86InstrInfo::X86InstrInfo().
|
inline |
array_pod_sort - This sorts an array with the specified start and end extent. This is just like std::sort, except that it calls qsort instead of using an inlined template. qsort is slightly slower than std::sort, but most sorts are not performance critical in LLVM and std::sort has to be template instantiated for each type, leading to significant measured code bloat. This function should generally be used instead of std::sort where possible.
This function assumes that you have simple POD-like types that can be compared with operator< and can be moved with memcpy. If this isn't true, you should use std::sort.
NOTE: If qsort_r were portable, we could allow a custom comparator and default to std::less.
Definition at line 289 of file STLExtras.h.
References get_array_pod_sort_comparator, and llvm::LibFunc::qsort.
Referenced by accumulateAndSortLibcalls(), llvm::DwarfUnits::emitStrings(), llvm::X86TargetLowering::ExpandInlineAsm(), llvm::AttributeSetNode::get(), llvm::PassNameParser::printOptionInfo(), llvm::TargetRegistry::printRegisteredTargetsForVersion(), llvm::Inliner::removeDeadFunctions(), setUsedInitializer(), SimplifyBranchOnICmpChain(), llvm::InstCombiner::SliceUpIllegalIntegerPHI(), llvm::MCELFObjectTargetWriter::sortRelocs(), TurnSwitchRangeIntoICmp(), and ValuesOverlap().
|
inline |
Definition at line 297 of file STLExtras.h.
References llvm::MCID::Compare, and llvm::LibFunc::qsort.
|
inline |
array_pod_sort_comparator - This is helper function for array_pod_sort, which just uses operator< on T.
Definition at line 257 of file STLExtras.h.
|
inline |
BitsToDouble - This function takes a 64-bit integer and returns the bit equivalent double.
Definition at line 479 of file MathExtras.h.
References llvm::tgtok::Bits, and T.
Referenced by llvm::X86TargetLowering::BuildFILD(), and llvm::X86TargetLowering::ReplaceNodeResults().
|
inline |
BitsToFloat - This function takes a 32-bit integer and returns the bit equivalent float.
Definition at line 490 of file MathExtras.h.
References llvm::tgtok::Bits, F(), I, and T.
|
inline |
BuildMI - Builder interface. Specify how to create the initial instruction itself.
Definition at line 223 of file MachineInstrBuilder.h.
References llvm::MachineFunction::CreateMachineInstr().
Referenced by llvm::MachineBasicBlock::addLiveIn(), llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::MipsSEInstrInfo::adjustStackPtr(), llvm::SparcInstrInfo::AnalyzeBranch(), llvm::X86InstrInfo::AnalyzeBranch(), llvm::Mips16InstrInfo::basicLoadImmediate(), llvm::ARMBaseInstrInfo::breakPartialRegDependency(), llvm::X86InstrInfo::breakPartialRegDependency(), llvm::Mips16InstrInfo::BuildAddiuSpImm(), llvm::R600InstrInfo::buildDefaultInstruction(), llvm::SIInstrInfo::buildIndirectRead(), llvm::SIInstrInfo::buildIndirectWrite(), BuildMI(), llvm::SIInstrInfo::buildMovInstr(), llvm::X86InstrInfo::classifyLEAReg(), llvm::PPCInstrInfo::commuteInstruction(), llvm::ARMBaseInstrInfo::convertToThreeAddress(), llvm::SystemZInstrInfo::convertToThreeAddress(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::AArch64InstrInfo::copyPhysReg(), llvm::SIInstrInfo::copyPhysReg(), llvm::Thumb1InstrInfo::copyPhysReg(), llvm::Thumb2InstrInfo::copyPhysReg(), llvm::Mips16InstrInfo::copyPhysReg(), llvm::MipsSEInstrInfo::copyPhysReg(), llvm::NVPTXInstrInfo::copyPhysReg(), llvm::MSP430InstrInfo::copyPhysReg(), llvm::XCoreInstrInfo::copyPhysReg(), llvm::HexagonInstrInfo::copyPhysReg(), llvm::SparcInstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyPhysReg(), llvm::PPCInstrInfo::copyPhysReg(), llvm::SystemZInstrInfo::copyPhysReg(), llvm::X86InstrInfo::copyPhysReg(), llvm::SparcFrameLowering::eliminateCallFramePseudoInstr(), llvm::MSP430FrameLowering::eliminateCallFramePseudoInstr(), llvm::XCoreFrameLowering::eliminateCallFramePseudoInstr(), llvm::PPCFrameLowering::eliminateCallFramePseudoInstr(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::MSP430RegisterInfo::eliminateFrameIndex(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::HexagonRegisterInfo::eliminateFrameIndex(), llvm::SystemZRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), llvm::AArch64TargetLowering::emitAtomicBinary(), llvm::PPCTargetLowering::EmitAtomicBinary(), llvm::AArch64TargetLowering::emitAtomicBinaryMinMax(), llvm::AArch64TargetLowering::emitAtomicCmpSwap(), llvm::InstrEmitter::EmitDbgValue(), llvm::PPCTargetLowering::emitEHSjLjLongJmp(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::Mips16FrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::XCoreFrameLowering::emitEpilogue(), llvm::HexagonFrameLowering::emitEpilogue(), llvm::SparcFrameLowering::emitEpilogue(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::MSP430FrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitEpilogue(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::AArch64TargetLowering::EmitF128CSEL(), llvm::AArch64FrameLowering::emitFrameMemOps(), emitGPDisp(), emitIncrement(), llvm::R600TargetLowering::EmitInstrWithCustomInserter(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::SparcTargetLowering::EmitInstrWithCustomInserter(), llvm::XCoreTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::MachineRegisterInfo::EmitLiveInCopies(), llvm::Thumb2RegisterInfo::emitLoadConstPool(), llvm::Thumb1RegisterInfo::emitLoadConstPool(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), EmitMonitor(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), EmitPCMPSTRI(), EmitPCMPSTRM(), emitPostLd(), emitPostSt(), llvm::Mips16FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), llvm::HexagonFrameLowering::emitPrologue(), llvm::NVPTXFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::MSP430FrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::AArch64FrameLowering::emitPrologue(), llvm::SystemZFrameLowering::emitPrologue(), llvm::MSP430TargetLowering::EmitShiftInstr(), emitSPUpdate(), emitThumbConstant(), emitThumbRegPlusImmInReg(), EmitXBegin(), llvm::AArch64InstrInfo::expandPostRAPseudo(), expandPseudoDIV(), llvm::FastISel::FastEmitInst_(), llvm::FastISel::FastEmitInst_extractsubreg(), llvm::FastISel::FastEmitInst_i(), llvm::FastISel::FastEmitInst_ii(), llvm::FastISel::FastEmitInst_r(), llvm::FastISel::FastEmitInst_rf(), llvm::FastISel::FastEmitInst_ri(), llvm::FastISel::FastEmitInst_rii(), llvm::FastISel::FastEmitInst_rr(), llvm::FastISel::FastEmitInst_rri(), llvm::FastISel::FastEmitInst_rrii(), llvm::FastISel::FastEmitInst_rrr(), finalizeBundle(), llvm::ARMBaseInstrInfo::FoldImmediate(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), forceReg(), llvm::MipsInstrInfo::genInstrWithNewOpc(), llvm::SparcInstrInfo::getGlobalBaseReg(), HandleVRSaveUpdate(), llvm::MipsInstrInfo::InsertBranch(), llvm::XCoreInstrInfo::InsertBranch(), llvm::AArch64InstrInfo::InsertBranch(), llvm::ARMBaseInstrInfo::InsertBranch(), llvm::HexagonInstrInfo::InsertBranch(), llvm::NVPTXInstrInfo::InsertBranch(), llvm::SparcInstrInfo::InsertBranch(), llvm::MSP430InstrInfo::InsertBranch(), llvm::PPCInstrInfo::InsertBranch(), llvm::SystemZInstrInfo::InsertBranch(), llvm::R600InstrInfo::InsertBranch(), llvm::X86InstrInfo::InsertBranch(), InsertLDR_STR(), InsertNewDef(), llvm::MipsInstrInfo::insertNoop(), llvm::PPCInstrInfo::insertNoop(), llvm::PPCInstrInfo::insertSelect(), llvm::X86InstrInfo::insertSelect(), llvm::SIInstrInfo::legalizeOperands(), llvm::SIInstrInfo::legalizeOpWithMove(), loadFromStack(), llvm::MipsSEInstrInfo::loadImmediate(), llvm::Mips16InstrInfo::loadImmediate(), llvm::SystemZInstrInfo::loadImmediate(), llvm::X86InstrInfo::loadRegFromAddr(), llvm::Mips16InstrInfo::loadRegFromStack(), llvm::MipsSEInstrInfo::loadRegFromStack(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::MSP430InstrInfo::loadRegFromStackSlot(), llvm::XCoreInstrInfo::loadRegFromStackSlot(), llvm::SparcInstrInfo::loadRegFromStackSlot(), llvm::HexagonInstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), llvm::SystemZInstrInfo::loadRegFromStackSlot(), llvm::X86InstrInfo::loadRegFromStackSlot(), llvm::PPCRegisterInfo::lowerCRRestore(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::PPCRegisterInfo::lowerVRSAVERestore(), llvm::PPCRegisterInfo::lowerVRSAVESpilling(), llvm::Mips16InstrInfo::makeFrame(), MakeM0Inst(), llvm::PPCRegisterInfo::materializeFrameBaseRegister(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), llvm::PPCInstrInfo::optimizeCompareInstr(), llvm::ARMBaseInstrInfo::optimizeSelect(), llvm::ARMBaseInstrInfo::reMaterialize(), llvm::X86InstrInfo::reMaterialize(), replaceFI(), llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(), llvm::SystemZFrameLowering::restoreCalleeSavedRegisters(), llvm::MSP430FrameLowering::restoreCalleeSavedRegisters(), llvm::X86FrameLowering::restoreCalleeSavedRegisters(), restoreCRs(), llvm::Mips16InstrInfo::restoreFrame(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::Thumb1RegisterInfo::saveScavengerRegister(), llvm::FunctionLoweringInfo::set(), llvm::ARMBaseInstrInfo::setExecutionDomain(), llvm::XCoreFrameLowering::spillCalleeSavedRegisters(), llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(), llvm::SystemZFrameLowering::spillCalleeSavedRegisters(), llvm::MSP430FrameLowering::spillCalleeSavedRegisters(), llvm::X86FrameLowering::spillCalleeSavedRegisters(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), llvm::X86InstrInfo::storeRegToAddr(), llvm::Mips16InstrInfo::storeRegToStack(), llvm::MipsSEInstrInfo::storeRegToStack(), llvm::AArch64InstrInfo::storeRegToStackSlot(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::MSP430InstrInfo::storeRegToStackSlot(), llvm::XCoreInstrInfo::storeRegToStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), llvm::SparcInstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), llvm::SystemZInstrInfo::storeRegToStackSlot(), llvm::X86InstrInfo::storeRegToStackSlot(), and storeToStack().
|
inline |
BuildMI - This version of the builder sets up the first operand as a destination virtual register.
Definition at line 232 of file MachineInstrBuilder.h.
References llvm::MachineFunction::CreateMachineInstr(), and llvm::RegState::Define.
|
inline |
BuildMI - This version of the builder inserts the newly-built instruction before the given position in the given MachineBasicBlock, and sets up the first operand as a destination virtual register.
Definition at line 244 of file MachineInstrBuilder.h.
References llvm::MachineInstrBuilder::addReg(), llvm::MachineFunction::CreateMachineInstr(), llvm::RegState::Define, llvm::MachineBasicBlock::getParent(), llvm::MachineBasicBlock::insert(), and llvm::A64CC::MI.
|
inline |
Definition at line 255 of file MachineInstrBuilder.h.
References llvm::MachineInstrBuilder::addReg(), llvm::MachineFunction::CreateMachineInstr(), llvm::RegState::Define, llvm::MachineBasicBlock::getParent(), llvm::MachineBasicBlock::insert(), and llvm::A64CC::MI.
|
inline |
Definition at line 266 of file MachineInstrBuilder.h.
References BuildMI(), I, llvm::MachineInstr::isInsideBundle(), and MII.
|
inline |
BuildMI - This version of the builder inserts the newly-built instruction before the given position in the given MachineBasicBlock, and does NOT take a destination register.
Definition at line 284 of file MachineInstrBuilder.h.
References llvm::MachineFunction::CreateMachineInstr(), llvm::MachineBasicBlock::getParent(), llvm::MachineBasicBlock::insert(), and llvm::A64CC::MI.
|
inline |
Definition at line 294 of file MachineInstrBuilder.h.
References llvm::MachineFunction::CreateMachineInstr(), llvm::MachineBasicBlock::getParent(), llvm::MachineBasicBlock::insert(), and llvm::A64CC::MI.
|
inline |
Definition at line 304 of file MachineInstrBuilder.h.
References BuildMI(), I, llvm::MachineInstr::isInsideBundle(), and MII.
|
inline |
BuildMI - This version of the builder inserts the newly-built instruction at the end of the given MachineBasicBlock, and does NOT take a destination register.
Definition at line 321 of file MachineInstrBuilder.h.
References BuildMI(), and llvm::MachineBasicBlock::end().
|
inline |
BuildMI - This version of the builder inserts the newly-built instruction at the end of the given MachineBasicBlock, and sets up the first operand as a destination virtual register.
Definition at line 331 of file MachineInstrBuilder.h.
References BuildMI(), and llvm::MachineBasicBlock::end().
|
inline |
BuildMI - This version of the builder builds a DBG_VALUE intrinsic for either a value in a register or a register-indirect+offset address. The convention is that a DBG_VALUE is indirect iff the second operand is an immediate.
Definition at line 343 of file MachineInstrBuilder.h.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMetadata(), llvm::MachineInstrBuilder::addReg(), BuildMI(), and llvm::RegState::Debug.
|
inline |
BuildMI - This version of the builder builds a DBG_VALUE intrinsic for either a value in a register or a register-indirect+offset address and inserts it at position I.
Definition at line 368 of file MachineInstrBuilder.h.
References BuildMI(), llvm::MachineBasicBlock::getParent(), llvm::MachineBasicBlock::insert(), and llvm::A64CC::MI.
bool llvm::bypassSlowDivision | ( | Function & | F, |
Function::iterator & | I, | ||
const DenseMap< unsigned int, unsigned int > & | BypassWidth | ||
) |
This optimization identifies DIV instructions that can be profitably bypassed and carried out with a shorter, faster divide.
Definition at line 222 of file BypassSlowDivision.cpp.
References llvm::X86ISD::BT, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::find(), llvm::IntegerType::get(), llvm::IntegerType::getBitWidth(), and reuseOrInsertFastDiv().
|
inline |
ByteSwap_16 - This function returns a byte-swapped representation of the 16-bit argument, Value.
Definition at line 366 of file MathExtras.h.
References llvm::sys::SwapByteOrder_16().
Referenced by llvm::APInt::byteSwap().
|
inline |
ByteSwap_32 - This function returns a byte-swapped representation of the 32-bit argument, Value.
Definition at line 372 of file MathExtras.h.
References llvm::sys::SwapByteOrder_32().
Referenced by llvm::APInt::byteSwap().
|
inline |
ByteSwap_64 - This function returns a byte-swapped representation of the 64-bit argument, Value.
Definition at line 378 of file MathExtras.h.
References llvm::sys::SwapByteOrder_64().
Referenced by llvm::APInt::byteSwap().
SmallVectorImpl<T>::const_pointer llvm::c_str | ( | SmallVectorImpl< T > & | str | ) |
Definition at line 154 of file Windows.h.
References llvm::SmallVectorTemplateCommon< T >::data(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::pop_back(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by CrashHandler(), llvm::TargetLowering::getMultipleConstraintMatchWeight(), llvm::NVPTXRegisterInfo::getName(), LLVMGetDefaultTargetTriple(), and llvm::NVPTXTargetLowering::LowerCall().
void llvm::Calculate | ( | DominatorTreeBase< typename GraphTraits< NodeT >::NodeType > & | DT, |
FuncT & | F | ||
) |
Definition at line 151 of file DominatorInternals.h.
References llvm::DomTreeNodeBase< NodeT >::addChild(), llvm::CallingConv::C, llvm::DominatorTreeBase< NodeT >::InfoRec::DFSNum, llvm::DominatorTreeBase< NodeT >::InfoRec::Label, N, llvm::DominatorTreeBase< NodeT >::InfoRec::Parent, llvm::SmallVectorImpl< T >::resize(), llvm::DominatorTreeBase< NodeT >::InfoRec::Semi, and swap().
Referenced by llvm::RegionInfo::runOnFunction().
void llvm::Calculate | ( | DominatorTreeBase< typename GraphTraits< N >::NodeType > & | DT, |
FuncT & | F | ||
) |
DominatorTree - Calculate the immediate dominator tree for a function.
void llvm::calculateSpillWeightsAndHints | ( | LiveIntervals & | LIS, |
MachineFunction & | MF, | ||
const MachineLoopInfo & | MLI, | ||
const MachineBlockFrequencyInfo & | MBFI, | ||
VirtRegAuxInfo::NormalizingFn | norm = normalizeSpillWeight |
||
) |
Compute spill weights and allocation hints for all virtual register live intervals.
Definition at line 25 of file CalcSpillWeights.cpp.
References llvm::VirtRegAuxInfo::calculateSpillWeightAndHint(), dbgs(), DEBUG, llvm::LiveIntervals::getInterval(), llvm::MachineFunction::getName(), llvm::MachineFunction::getRegInfo(), llvm::TargetRegisterInfo::index2VirtReg(), and MRI.
Pass* llvm::callDefaultCtor | ( | ) |
Definition at line 183 of file PassSupport.h.
bool llvm::callIsSmall | ( | ImmutableCallSite | CS | ) |
Check whether a call will lower to something small.
This tests checks whether this callsite will lower to something significantly cheaper than a traditional call, often a single instruction. Note that if isInstructionFree(CS.getInstruction()) would return true, so will this function.
canConstantFoldCallTo - Return true if its even possible to fold a call to the specified function.
Definition at line 1180 of file ConstantFolding.cpp.
References llvm::Intrinsic::bswap, llvm::Intrinsic::convert_from_fp16, llvm::Intrinsic::convert_to_fp16, llvm::Intrinsic::ctlz, llvm::Intrinsic::ctpop, llvm::Intrinsic::cttz, llvm::Intrinsic::exp, llvm::Intrinsic::exp2, llvm::Intrinsic::fabs, llvm::Intrinsic::floor, llvm::Function::getIntrinsicID(), llvm::Value::getName(), llvm::Value::hasName(), llvm::Intrinsic::log, llvm::Intrinsic::log10, llvm::Intrinsic::log2, llvm::Intrinsic::pow, llvm::Intrinsic::powi, llvm::Intrinsic::sadd_with_overflow, llvm::Intrinsic::smul_with_overflow, llvm::Intrinsic::sqrt, llvm::Intrinsic::ssub_with_overflow, llvm::Intrinsic::uadd_with_overflow, llvm::Intrinsic::umul_with_overflow, llvm::Intrinsic::usub_with_overflow, llvm::Intrinsic::x86_sse2_cvtsd2si, llvm::Intrinsic::x86_sse2_cvtsd2si64, llvm::Intrinsic::x86_sse2_cvttsd2si, llvm::Intrinsic::x86_sse2_cvttsd2si64, llvm::Intrinsic::x86_sse_cvtss2si, llvm::Intrinsic::x86_sse_cvtss2si64, llvm::Intrinsic::x86_sse_cvttss2si, and llvm::Intrinsic::x86_sse_cvttss2si64.
Referenced by CanConstantFold(), ConstantFoldInstOperands(), and SimplifyCall().
unsigned llvm::canFoldARMInstrIntoMOVCC | ( | unsigned | Reg, |
MachineInstr *& | MI, | ||
const MachineRegisterInfo & | MRI | ||
) |
Determine if MI can be folded into an ARM MOVCC instruction, and return the opcode of the SSA instruction representing the conditional MI.
CannotBeNegativeZero - Return true if we can prove that the specified FP value is never equal to -0.0.
CannotBeNegativeZero - Return true if we can prove that the specified FP value is never equal to -0.0.
NOTE: this function will need to be revisited when we support non-default rounding modes!
Definition at line 1426 of file ValueTracking.cpp.
References dyn_cast(), F(), llvm::Operator::getOpcode(), llvm::User::getOperand(), I, and llvm::Intrinsic::sqrt.
Referenced by SimplifyFAddInst(), and SimplifyFSubInst().
|
inlinestatic |
Definition at line 23 of file Capacity.h.
|
inlinestatic |
Definition at line 922 of file SmallVector.h.
References llvm::SmallVectorBase::capacity_in_bytes().
|
inlinestatic |
Definition at line 1052 of file DenseMap.h.
References llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT >, KeyT, ValueT, KeyInfoT >::getMemorySize().
|
inline |
|
inline |
|
inline |
|
inline |
CastToCStr - Return V if it is an i8*, otherwise cast it to i8*.
Definition at line 29 of file BuildLibCalls.cpp.
References llvm::IRBuilder< preserveNames, T, Inserter >::CreateBitCast(), and llvm::IRBuilderBase::getInt8PtrTy().
Referenced by EmitFPutS(), EmitFWrite(), EmitMemChr(), EmitMemCmp(), EmitMemCpyChk(), EmitPutS(), EmitStrChr(), EmitStrCpy(), EmitStrLen(), EmitStrNCmp(), EmitStrNCpy(), and EmitStrNLen().
|
static |
Definition at line 112 of file ARMCallingConv.h.
References f64AssignAAPCS(), and llvm::MVT::v2f64.
|
static |
Definition at line 58 of file ARMCallingConv.h.
References f64AssignAPCS(), and llvm::MVT::v2f64.
bool llvm::CC_PPC32_SVR4_Custom_AlignArgRegs | ( | unsigned & | ValNo, |
MVT & | ValVT, | ||
MVT & | LocVT, | ||
CCValAssign::LocInfo & | LocInfo, | ||
ISD::ArgFlagsTy & | ArgFlags, | ||
CCState & | State | ||
) |
Definition at line 1856 of file PPCISelLowering.cpp.
References llvm::CCState::AllocateReg(), array_lengthof(), llvm::CCState::getFirstUnallocated(), NumArgRegs, R4, and R6.
bool llvm::CC_PPC32_SVR4_Custom_AlignFPArgRegs | ( | unsigned & | ValNo, |
MVT & | ValVT, | ||
MVT & | LocVT, | ||
CCValAssign::LocInfo & | LocInfo, | ||
ISD::ArgFlagsTy & | ArgFlags, | ||
CCState & | State | ||
) |
Definition at line 1883 of file PPCISelLowering.cpp.
References llvm::CCState::AllocateReg(), array_lengthof(), llvm::CCState::getFirstUnallocated(), and NumArgRegs.
bool llvm::CC_PPC32_SVR4_Custom_Dummy | ( | unsigned & | ValNo, |
MVT & | ValVT, | ||
MVT & | LocVT, | ||
CCValAssign::LocInfo & | LocInfo, | ||
ISD::ArgFlagsTy & | ArgFlags, | ||
CCState & | State | ||
) |
Definition at line 1849 of file PPCISelLowering.cpp.
|
inline |
Definition at line 23 of file X86CallingConv.h.
References llvm_unreachable.
bool llvm::CheckBitcodeOutputToConsole | ( | raw_ostream & | stream_to_check, |
bool | print_warning = true |
||
) |
Check for output written to a console.
Determine if the raw_ostream provided is connected to a terminal. If so, generate a warning message to errs() advising against display of bitcode and return true. Otherwise just return false.
stream_to_check | The stream to be checked |
print_warning | Control whether warnings are printed |
Definition at line 21 of file SystemUtils.cpp.
References errs(), and llvm::raw_ostream::is_displayed().
void llvm::checkForCycles | ( | const SDNode * | N | ) |
Definition at line 6562 of file SelectionDAG.cpp.
Referenced by llvm::SelectionDAG::AssignTopologicalOrder(), checkForCycles(), llvm::SDNode::InitOperands(), llvm::SDNode::SDNode(), and llvm::SelectionDAG::setRoot().
void llvm::checkForCycles | ( | const SelectionDAG * | DAG | ) |
Definition at line 6571 of file SelectionDAG.cpp.
References checkForCycles(), llvm::SDValue::getNode(), and llvm::SelectionDAG::getRoot().
Definition at line 701 of file Instructions.h.
Referenced by llvm::GetElementPtrInst::getGEPReturnType().
DIVariable llvm::cleanseInlinedVariable | ( | MDNode * | DV, |
LLVMContext & | VMContext | ||
) |
cleanseInlinedVariable - Remove inlined scope from the variable.
Definition at line 875 of file DebugInfo.cpp.
References llvm::MDNode::get(), llvm::Type::getInt32Ty(), llvm::Constant::getNullValue(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by llvm::DwarfDebug::endFunction().
void llvm::CloneAndPruneFunctionInto | ( | Function * | NewFunc, |
const Function * | OldFunc, | ||
ValueToValueMapTy & | VMap, | ||
bool | ModuleLevelChanges, | ||
SmallVectorImpl< ReturnInst * > & | Returns, | ||
const char * | NameSuffix = "" , |
||
ClonedCodeInfo * | CodeInfo = 0 , |
||
const DataLayout * | TD = 0 , |
||
Instruction * | TheCall = 0 |
||
) |
CloneAndPruneFunctionInto - This works exactly like CloneFunctionInto, except that it does some simple constant prop and DCE on the fly. The effect of this is to copy significantly less code in cases where (for example) a function call with constant arguments is inlined, and those constant arguments cause a significant amount of code in the callee to be dead. Since this doesn't produce an exactly copy of the input, it can't be used for things like CloneFunction or CloneModule.
If ModuleLevelChanges is false, VMap contains no non-identity GlobalValue mappings.
CloneAndPruneFunctionInto - This works exactly like CloneFunctionInto, except that it does some simple constant prop and DCE on the fly. The effect of this is to copy significantly less code in cases where (for example) a function call with constant arguments is inlined, and those constant arguments cause a significant amount of code in the callee to be dead. Since this doesn't produce an exact copy of the input, it can't be used for things like CloneFunction or CloneModule.
Definition at line 365 of file CloneFunction.cpp.
References llvm::Function::arg_begin(), llvm::Function::arg_end(), llvm::BasicBlock::back(), llvm::BasicBlock::begin(), llvm::Function::begin(), ConstantFoldTerminator(), llvm::ValueMap< KeyT, ValueT, Config >::count(), DeleteDeadBlock(), dyn_cast(), llvm::Function::end(), llvm::Instruction::eraseFromParent(), llvm::BasicBlock::eraseFromParent(), llvm::UndefValue::get(), llvm::Function::getBasicBlockList(), llvm::Function::getEntryBlock(), llvm::PHINode::getIncomingBlock(), llvm::PHINode::getIncomingValue(), llvm::BasicBlock::getInstList(), llvm::PHINode::getNumIncomingValues(), llvm::Instruction::getParent(), llvm::BasicBlock::getSinglePredecessor(), llvm::BranchInst::getSuccessor(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), I, llvm::BranchInst::isConditional(), MapValue(), llvm::A64CC::NV, pred_begin(), pred_end(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::iplist< NodeTy, Traits >::push_back(), recursivelySimplifyInstruction(), RemapInstruction(), llvm::PHINode::removeIncomingValue(), llvm::Value::replaceAllUsesWith(), RF_NoModuleLevelChanges, RF_None, llvm::PHINode::setIncomingBlock(), llvm::PHINode::setIncomingValue(), and llvm::SmallVectorTemplateCommon< T >::size().
Referenced by InlineFunction().
BasicBlock * llvm::CloneBasicBlock | ( | const BasicBlock * | BB, |
ValueToValueMapTy & | VMap, | ||
const Twine & | NameSuffix = "" , |
||
Function * | F = 0 , |
||
ClonedCodeInfo * | CodeInfo = 0 |
||
) |
CloneBasicBlock - Return a copy of the specified basic block, but without embedding the block into a particular function. The block returned is an exact copy of the specified basic block, without any remapping having been performed. Because of this, this is only suitable for applications where the basic block will be inserted into the same function that it was cloned from (loop unrolling would use this, for example).
Also, note that this function makes a direct copy of the basic block, and can thus produce illegal LLVM code. In particular, it will copy any PHI nodes from the original block, even though there are no predecessors for the newly cloned block (thus, phi nodes will have to be updated). Also, this block will branch to the old successors of the original block: these successors will have to have any PHI nodes updated to account for the new incoming edges.
The correlation between instructions in the source and result basic blocks is recorded in the VMap map.
If you have a particular suffix you'd like to use to add to any cloned names, specify it as the optional third parameter.
If you would like the basic block to be auto-inserted into the end of a function, you can specify it as the optional fourth parameter.
If you would like to collect additional information about the cloned function, you can specify a ClonedCodeInfo object with the optional fifth parameter.
Definition at line 37 of file CloneFunction.cpp.
References llvm::BasicBlock::begin(), llvm::Instruction::clone(), llvm::ClonedCodeInfo::ContainsCalls, llvm::ClonedCodeInfo::ContainsDynamicAllocas, llvm::BasicBlock::Create(), llvm::BasicBlock::end(), F(), llvm::BasicBlock::getContext(), llvm::Function::getEntryBlock(), llvm::BasicBlock::getInstList(), llvm::Value::getName(), llvm::BasicBlock::getParent(), llvm::Value::hasName(), llvm::ARM_PROC::IE, llvm::iplist< NodeTy, Traits >::push_back(), and llvm::Value::setName().
Referenced by CloneFunctionInto(), CloneLoopBlocks(), and UnrollLoop().
Function * llvm::CloneFunction | ( | const Function * | F, |
ValueToValueMapTy & | VMap, | ||
bool | ModuleLevelChanges, | ||
ClonedCodeInfo * | CodeInfo = 0 |
||
) |
CloneFunction - Return a copy of the specified function, but without embedding the function into another module. Also, any references specified in the VMap are changed to refer to their mapped value instead of the original one. If any of the arguments to the function are in the VMap, the arguments are deleted from the resultant function. The VMap is updated to include mappings from all of the instructions and basicblocks in the function from their old to new values. The final argument captures information about the cloned code if non-null.
If ModuleLevelChanges is false, VMap contains no non-identity GlobalValue mappings.
CloneFunction - Return a copy of the specified function, but without embedding the function into another module. Also, any references specified in the VMap are changed to refer to their mapped value instead of the original one. If any of the arguments to the function are in the VMap, the arguments are deleted from the resultant function. The VMap is updated to include mappings from all of the instructions and basicblocks in the function from their old to new values.
Definition at line 162 of file CloneFunction.cpp.
References llvm::Function::arg_begin(), llvm::Function::arg_end(), CloneFunctionInto(), llvm::ValueMap< KeyT, ValueT, Config >::count(), llvm::Function::Create(), llvm::FunctionType::get(), llvm::Function::getFunctionType(), llvm::GlobalValue::getLinkage(), llvm::Value::getName(), llvm::FunctionType::getReturnType(), I, and llvm::FunctionType::isVarArg().
void llvm::CloneFunctionInto | ( | Function * | NewFunc, |
const Function * | OldFunc, | ||
ValueToValueMapTy & | VMap, | ||
bool | ModuleLevelChanges, | ||
SmallVectorImpl< ReturnInst * > & | Returns, | ||
const char * | NameSuffix = "" , |
||
ClonedCodeInfo * | CodeInfo = 0 , |
||
ValueMapTypeRemapper * | TypeMapper = 0 , |
||
ValueMaterializer * | Materializer = 0 |
||
) |
Clone OldFunc into NewFunc, transforming the old arguments into references to VMap values. Note that if NewFunc already has basic blocks, the ones cloned into it will be added to the end of the function. This function fills in a list of return instructions, and can optionally remap types and/or append the specified suffix to all values cloned.
If ModuleLevelChanges is false, VMap contains no non-identity GlobalValue mappings.
Definition at line 76 of file CloneFunction.cpp.
References llvm::AttributeSet::addAttributes(), llvm::Function::arg_begin(), llvm::Function::arg_end(), llvm::Function::begin(), CloneBasicBlock(), llvm::ValueMap< KeyT, ValueT, Config >::count(), llvm::Function::end(), llvm::BlockAddress::get(), llvm::Function::getAttributes(), llvm::Function::getContext(), llvm::AttributeSet::getFnAttributes(), llvm::AttributeSet::getNumSlots(), llvm::AttributeSet::getParamAttributes(), llvm::AttributeSet::getRetAttributes(), llvm::BasicBlock::getTerminator(), llvm::BasicBlock::hasAddressTaken(), I, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), RemapInstruction(), RF_NoModuleLevelChanges, RF_None, and llvm::Function::setAttributes().
Referenced by CloneFunction(), and CloneModule().
CloneModule - Return an exact copy of the specified module
CloneModule - Return an exact copy of the specified module. This is not as easy as it might seem because we have to worry about making copies of global variables and functions, and making their (initializers and references, respectively) refer to the right globals.
Definition at line 27 of file CloneModule.cpp.
Module * llvm::CloneModule | ( | const Module * | M, |
ValueToValueMapTy & | VMap | ||
) |
Definition at line 34 of file CloneModule.cpp.
References llvm::NamedMDNode::addOperand(), llvm::Module::alias_begin(), llvm::Module::alias_end(), llvm::Function::arg_begin(), llvm::Module::begin(), llvm::CallingConv::C, CloneFunctionInto(), llvm::GlobalVariable::copyAttributesFrom(), llvm::GlobalValue::copyAttributesFrom(), llvm::Function::copyAttributesFrom(), llvm::Function::Create(), llvm::Module::end(), F(), llvm::Module::getContext(), llvm::Module::getDataLayout(), llvm::Module::getModuleIdentifier(), llvm::Module::getModuleInlineAsm(), llvm::NamedMDNode::getName(), llvm::NamedMDNode::getNumOperands(), llvm::NamedMDNode::getOperand(), llvm::Module::getOrInsertNamedMetadata(), llvm::Module::getTargetTriple(), llvm::Module::global_begin(), llvm::Module::global_end(), I, MapValue(), llvm::Module::named_metadata_begin(), llvm::Module::named_metadata_end(), llvm::GlobalAlias::setAliasee(), llvm::Module::setDataLayout(), llvm::GlobalVariable::setInitializer(), llvm::Module::setModuleInlineAsm(), and llvm::Module::setTargetTriple().
GlobalVariable * llvm::collectUsedGlobalVariables | ( | Module & | M, |
SmallPtrSet< GlobalValue *, 8 > & | Set, | ||
bool | CompilerUsed | ||
) |
Given "llvm.used" or "llvm.compiler.used" as a global name, collect the initializer elements of that global in Set and return the global itself.
Definition at line 68 of file ModuleUtils.cpp.
References G, llvm::Module::getGlobalVariable(), llvm::GlobalVariable::getInitializer(), llvm::User::getNumOperands(), llvm::User::getOperand(), llvm::GlobalVariable::hasInitializer(), I, llvm::SmallPtrSet< PtrType, SmallSize >::insert(), and llvm::Value::stripPointerCastsNoFollowAliases().
|
static |
Definition at line 52 of file RuntimeDyldMachO.cpp.
References llvm::SectionEntry::LoadAddress, and llvm::SectionEntry::ObjAddress.
Referenced by llvm::RuntimeDyldMachO::registerEHFrames().
unsigned llvm::ComputeEditDistance | ( | ArrayRef< T > | FromArray, |
ArrayRef< T > | ToArray, | ||
bool | AllowReplacements = true , |
||
unsigned | MaxEditDistance = 0 |
||
) |
Determine the edit distance between two sequences.
FromArray | the first sequence to compare. |
ToArray | the second sequence to compare. |
AllowReplacements | whether to allow element replacements (change one element into another) as a single operation, rather than as two operations (an insertion and a removal). |
MaxEditDistance | If non-zero, the maximum edit distance that this routine is allowed to compute. If the edit distance will exceed that maximum, returns MaxEditDistance+1 . |
AllowReplacements
is true
) replacements needed to transform one of the given sequences into the other. If zero, the sequences are identical. Definition at line 43 of file edit_distance.h.
References llvm::OwningArrayPtr< T >::reset(), and llvm::ArrayRef< T >::size().
Referenced by llvm::StringRef::edit_distance().
unsigned llvm::ComputeLinearIndex | ( | Type * | Ty, |
const unsigned * | Indices, | ||
const unsigned * | IndicesEnd, | ||
unsigned | CurIndex = 0 |
||
) |
ComputeLinearIndex - Given an LLVM IR aggregate type and a sequence of insertvalue or extractvalue indices that identify a member, return the linearized index of the start of the member.
Definition at line 33 of file CodeGen/Analysis.cpp.
Referenced by ComputeLinearIndex().
|
inline |
Definition at line 43 of file CodeGen/Analysis.h.
References llvm::ArrayRef< T >::begin(), ComputeLinearIndex(), and llvm::ArrayRef< T >::end().
void llvm::ComputeMaskedBits | ( | Value * | V, |
APInt & | KnownZero, | ||
APInt & | KnownOne, | ||
const DataLayout * | TD = 0 , |
||
unsigned | Depth = 0 |
||
) |
ComputeMaskedBits - Determine which of the bits specified in Mask are known to be either zero or one and return them in the KnownZero/KnownOne bit sets. This code only analyzes bits in Mask, in order to short-circuit processing.
This function is defined on values with integer type, values with pointer type (but only if TD is non-null), and vectors of integers. In the case where V is a vector, the mask, known zero, and known one values are the same width as the vector element, and the bit is set only if it is true for all of the elements in the vector.
ComputeMaskedBits - Determine which of the bits are known to be either zero or one and return them in the KnownZero/KnownOne bit sets.
NOTE: we cannot consider 'undef' to be "IsZero" here. The problem is that we cannot optimize based on the assumption that it is zero without changing it to be an explicit zero. If we don't change it to zero, other code could optimized based on the contradictory assumption that it is non-zero. Because instcombine aggressively folds operations with undef args anyway, this won't lose us code quality.
This function is defined on values with integer type, values with pointer type (but only if TD is non-null), and vectors of integers. In the case where V is a vector, known zero, and known one values are the same width as the vector element, and the bit is set only if it is true for all of the elements in the vector.
Definition at line 229 of file ValueTracking.cpp.
References llvm::ARM_PROC::A, llvm::APInt::abs(), Align(), llvm::APIntOps::And(), Call, llvm::APInt::clearAllBits(), ComputeMaskedBitsAddSub(), computeMaskedBitsLoad(), ComputeMaskedBitsMul(), llvm::APInt::countLeadingOnes(), countTrailingZeros(), llvm::Intrinsic::ctlz, llvm::Intrinsic::ctpop, llvm::Intrinsic::cttz, dyn_cast(), gep_type_begin(), llvm::DataLayout::getABITypeAlignment(), llvm::AllocaInst::getAlignment(), llvm::APInt::getAllOnesValue(), llvm::APInt::getBitWidth(), llvm::StructLayout::getElementOffset(), llvm::SequentialType::getElementType(), llvm::APInt::getHighBitsSet(), llvm::PHINode::getIncomingValue(), llvm::generic_gep_type_iterator< ItTy >::getIndexedType(), llvm::ExtractValueInst::getIndices(), llvm::APInt::getLowBitsSet(), llvm::PHINode::getNumIncomingValues(), llvm::ExtractValueInst::getNumIndices(), llvm::User::getNumOperands(), llvm::Operator::getOpcode(), llvm::User::getOperand(), llvm::DataLayout::getPreferredAlignment(), llvm::Type::getScalarSizeInBits(), llvm::Type::getScalarType(), llvm::Constant::getSplatValue(), llvm::ConstantInt::getTrue(), llvm::AllocaInst::getType(), llvm::Value::getType(), llvm::DataLayout::getTypeSizeInBits(), llvm::PHINode::hasConstantValue(), I, llvm::Type::isIntegerTy(), llvm::Type::isIntOrIntVectorTy(), llvm::APInt::isNonNegative(), llvm::Type::isPointerTy(), llvm::APInt::isPowerOf2(), llvm::Type::isSized(), llvm::Type::isVectorTy(), llvm::Constant::isZeroValue(), llvm::SPII::Load, Log2_32(), llvm::APIntOps::lshr(), MaxDepth, llvm::LLVMContext::MD_range, llvm::APIntOps::Or(), P, llvm::TargetOpcode::PHI, llvm::Intrinsic::sadd_with_overflow, llvm::MCID::Select, llvm::APInt::setAllBits(), llvm::APInt::setBit(), llvm::Intrinsic::smul_with_overflow, llvm::Intrinsic::ssub_with_overflow, TD, llvm::APInt::trunc(), llvm::Intrinsic::uadd_with_overflow, llvm::Intrinsic::umul_with_overflow, llvm::Intrinsic::usub_with_overflow, llvm::Intrinsic::x86_sse42_crc32_64_64, llvm::APIntOps::Xor(), llvm::APInt::zext(), and llvm::APInt::zextOrTrunc().
Referenced by llvm::InstCombiner::ComputeMaskedBits(), ComputeMaskedBitsAddSub(), ComputeMaskedBitsMul(), ComputeNumSignBits(), ComputeSignBit(), EliminateDeadSwitchCases(), llvm::ScalarEvolution::GetMinTrailingZeros(), getOrEnforceKnownAlignment(), llvm::ScalarEvolution::getUnsignedRange(), llvm::SelectionDAG::InferPtrAlignment(), isKnownNonZero(), isKnownToBeAPowerOfTwo(), isSafeToSpeculativelyExecute(), isZero(), MaskedValueIsZero(), SymbolicallyEvaluateBinop(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitCallInst(), and llvm::InstCombiner::visitICmpInstWithInstAndIntCst().
Definition at line 195 of file ValueTracking.cpp.
References countLeadingZeros(), llvm::APInt::getBitWidth(), llvm::APInt::getHighBitsSet(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), and llvm::ConstantInt::getValue().
Referenced by ComputeMaskedBits(), and llvm::SelectionDAG::ComputeMaskedBits().
bool llvm::ComputeMultiple | ( | Value * | V, |
unsigned | Base, | ||
Value *& | Multiple, | ||
bool | LookThroughSExt = false , |
||
unsigned | Depth = 0 |
||
) |
ComputeMultiple - This function computes the integer multiple of Base that equals V. If successful, it returns true and returns the multiple in Multiple. If unsuccessful, it returns false. Also, if V can be simplified to an integer, then the simplified V is returned in Val. Look through sext only if LookThroughSExt=true.
ComputeMultiple - This function computes the integer multiple of Base that equals V. If successful, it returns true and returns the multiple in Multiple. If unsuccessful, it returns false. It looks through SExt instructions only if LookThroughSExt is true.
Definition at line 1304 of file ValueTracking.cpp.
References dyn_cast(), llvm::ConstantInt::get(), llvm::APInt::getBitWidth(), llvm::Value::getContext(), llvm::APInt::getLimitedValue(), llvm::ConstantExpr::getMul(), llvm::Operator::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), llvm::ConstantInt::getValue(), llvm::ConstantExpr::getZExt(), llvm::ConstantInt::getZExtValue(), I, llvm::Type::isIntegerTy(), MaxDepth, and llvm::APInt::setBit().
Referenced by computeArraySize().
unsigned llvm::ComputeNumSignBits | ( | Value * | V, |
const DataLayout * | TD = 0 , |
||
unsigned | Depth = 0 |
||
) |
ComputeNumSignBits - Return the number of times the sign bit of the register is replicated into the other bits. We know that at least 1 bit is always equal to the sign bit (itself), but other cases can give us information. For example, immediately after an "ashr X, 2", we know that the top 3 bits are all equal to each other, so we return 3.
'Op' must have a scalar integer type.
Definition at line 1133 of file ValueTracking.cpp.
References llvm::APIntOps::And(), ComputeMaskedBits(), llvm::APInt::countLeadingZeros(), dyn_cast(), llvm::APInt::getBitWidth(), llvm::PHINode::getIncomingValue(), llvm::PHINode::getNumIncomingValues(), llvm::Operator::getOpcode(), llvm::User::getOperand(), llvm::Type::getScalarSizeInBits(), llvm::Type::getScalarType(), llvm::Value::getType(), llvm::DataLayout::getTypeSizeInBits(), llvm::APInt::getZExtValue(), llvm::Type::isIntOrIntVectorTy(), llvm::APInt::isNegative(), llvm::PatternMatch::m_APInt(), llvm::PatternMatch::match(), llvm::APIntOps::Or(), llvm::TargetOpcode::PHI, llvm::MCID::Select, TD, and llvm::APIntOps::Xor().
Referenced by llvm::InstCombiner::ComputeNumSignBits(), llvm::ScalarEvolution::getSignedRange(), llvm::InstCombiner::visitAShr(), llvm::InstCombiner::visitSExt(), and llvm::InstCombiner::visitShl().
void llvm::ComputeSignBit | ( | Value * | V, |
bool & | KnownZero, | ||
bool & | KnownOne, | ||
const DataLayout * | TD = 0 , |
||
unsigned | Depth = 0 |
||
) |
ComputeSignBit - Determine whether the sign bit is known to be zero or one. Convenience wrapper around ComputeMaskedBits.
Definition at line 802 of file ValueTracking.cpp.
References ComputeMaskedBits(), getBitWidth(), llvm::Value::getType(), and TD.
Referenced by isKnownNonZero(), and SimplifyICmpInst().
void llvm::ComputeUsesVAFloatArgument | ( | const CallInst & | I, |
MachineModuleInfo * | MMI | ||
) |
ComputeUsesVAFloatArgument - Determine if any floating-point values are being passed to this variadic function, and set the MachineModuleInfo's usesVAFloatArgument flag if so. This flag is used to emit an undefined reference to _fltused on Windows, which will link in MSVCRT's floating-point support.
Definition at line 387 of file FunctionLoweringInfo.cpp.
References llvm::CallInst::getArgOperand(), llvm::CallInst::getCalledValue(), llvm::Type::getContainedType(), llvm::CallInst::getNumArgOperands(), llvm::Value::getType(), llvm::FunctionType::isVarArg(), po_begin(), po_end(), llvm::MachineModuleInfo::setUsesVAFloatArgument(), and llvm::MachineModuleInfo::usesVAFloatArgument().
void llvm::ComputeValueVTs | ( | const TargetLowering & | TLI, |
Type * | Ty, | ||
SmallVectorImpl< EVT > & | ValueVTs, | ||
SmallVectorImpl< uint64_t > * | Offsets = 0 , |
||
uint64_t | StartingOffset = 0 |
||
) |
ComputeValueVTs - Given an LLVM IR type, compute a sequence of EVTs that represent all the individual underlying non-aggregate types that comprise it.
If Offsets is non-null, it points to a vector to be filled in with the in-memory offsets of each of the individual values.
Definition at line 74 of file CodeGen/Analysis.cpp.
References llvm::TargetLoweringBase::getDataLayout(), llvm::StructLayout::getElementOffset(), llvm::DataLayout::getStructLayout(), llvm::DataLayout::getTypeAllocSize(), llvm::TargetLoweringBase::getValueType(), llvm::Type::isVoidTy(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by llvm::FunctionLoweringInfo::ComputePHILiveOutRegInfo(), ComputePTXValueVTs(), llvm::FunctionLoweringInfo::CreateRegs(), llvm::NVPTXTargetLowering::getPrototype(), GetReturnInfo(), llvm::SelectionDAGBuilder::getValueImpl(), llvm::NVPTXTargetLowering::LowerCall(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::TargetLowering::LowerCallTo(), and llvm::FunctionLoweringInfo::set().
|
inline |
Definition at line 83 of file ConstantsScanner.h.
|
inline |
Definition at line 87 of file ConstantsScanner.h.
Definition at line 873 of file ConstantFold.cpp.
References llvm::APFloat::add(), llvm::APIntOps::And(), llvm::APInt::ashr(), llvm::APFloat::divide(), llvm::IntegerType::get(), llvm::ConstantInt::get(), llvm::ConstantFP::get(), llvm::ConstantVector::get(), llvm::ConstantExpr::get(), llvm::UndefValue::get(), llvm::GlobalValue::getAlignment(), llvm::Constant::getAllOnesValue(), llvm::ConstantExpr::getAnd(), llvm::APInt::getBitWidth(), llvm::ConstantExpr::getCompare(), llvm::Value::getContext(), llvm::ConstantExpr::getExtractElement(), llvm::ConstantInt::getFalse(), llvm::CmpInst::getInversePredicate(), llvm::APInt::getLowBitsSet(), llvm::ConstantExpr::getLShr(), llvm::Constant::getNullValue(), llvm::Type::getPrimitiveSizeInBits(), llvm::Value::getType(), llvm::ConstantInt::getValue(), llvm::ConstantExpr::getXor(), llvm::APInt::getZExtValue(), llvm::APInt::isAllOnesValue(), llvm::Instruction::isAssociative(), llvm::Instruction::isCommutative(), llvm::Type::isIntegerTy(), llvm::APInt::isMinSignedValue(), Log2_32(), llvm::APInt::lshr(), llvm::APFloat::mod(), llvm::APFloat::multiply(), llvm::APIntOps::Or(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::APFloat::rmNearestTiesToEven, llvm::APInt::sdiv(), llvm::APInt::shl(), llvm::APInt::srem(), llvm::APFloat::subtract(), T, llvm::APInt::udiv(), llvm::APInt::urem(), and llvm::APIntOps::Xor().
Referenced by llvm::ConstantExpr::get().
Constant * llvm::ConstantFoldCall | ( | Function * | F, |
ArrayRef< Constant * > | Operands, | ||
const TargetLibraryInfo * | TLI = 0 |
||
) |
ConstantFoldCall - Attempt to constant fold a call to the specified function with the specified arguments, returning null if unsuccessful.
We only fold functions with finite arguments. Folding NaN and inf is likely to be aborted with an exception anyway, and some host libms have known errors raising exceptions.
Currently APFloat versions of these functions do not exist, so we use the host native double versions. Float versions are not called directly but for all these it is true (float)(f((double)arg)) == f(arg). Long double not supported yet.
Definition at line 1321 of file ConstantFolding.cpp.
References llvm::LibFunc::acos, llvm::lltok::APFloat, llvm::LibFunc::asin, llvm::LibFunc::atan, llvm::LibFunc::atan2, llvm::Intrinsic::bswap, llvm::LibFunc::ceil, llvm::Intrinsic::ceil, ConstantFoldBinaryFP(), ConstantFoldConvertToInt(), ConstantFoldFP(), llvm::APFloat::convert(), llvm::Intrinsic::convert_from_fp16, llvm::Intrinsic::convert_to_fp16, llvm::APFloat::convertToDouble(), llvm::LibFunc::cos, llvm::Intrinsic::cos, llvm::LibFunc::cosf, llvm::LibFunc::cosh, llvm::Intrinsic::ctlz, llvm::Intrinsic::ctpop, llvm::Intrinsic::cttz, llvm::LibFunc::exp, llvm::Intrinsic::exp, llvm::LibFunc::exp2, llvm::Intrinsic::exp2, llvm::LibFunc::fabs, llvm::Intrinsic::fabs, llvm::LibFunc::floor, llvm::Intrinsic::floor, llvm::LibFunc::fmod, llvm::ConstantInt::get(), llvm::ConstantFP::get(), llvm::ConstantStruct::get(), llvm::UndefValue::get(), llvm::Constant::getAggregateElement(), llvm::Function::getContext(), llvm::Type::getInt1Ty(), llvm::Function::getIntrinsicID(), llvm::Value::getName(), llvm::Constant::getNullValue(), llvm::Function::getReturnType(), llvm::TargetLibraryInfo::has(), llvm::Value::hasName(), llvm::APFloat::IEEEdouble, llvm::APFloat::IEEEhalf, llvm::APFloat::IEEEsingle, llvm::Type::isDoubleTy(), llvm::Type::isFloatTy(), llvm::Type::isHalfTy(), llvm_unreachable, llvm::LibFunc::log, llvm::Intrinsic::log, llvm::LibFunc::log10, llvm::Intrinsic::log10, llvm::Intrinsic::log2, llvm::APFloat::opOK, llvm::LibFunc::pow, llvm::Intrinsic::pow, llvm::Intrinsic::powi, llvm::APFloat::rmNearestTiesToEven, llvm::APInt::sadd_ov(), llvm::Intrinsic::sadd_with_overflow, llvm::LibFunc::sin, llvm::Intrinsic::sin, llvm::LibFunc::sinf, llvm::LibFunc::sinh, llvm::ArrayRef< T >::size(), llvm::APInt::smul_ov(), llvm::Intrinsic::smul_with_overflow, llvm::LibFunc::sqrt, llvm::Intrinsic::sqrt, llvm::LibFunc::sqrtf, llvm::APInt::ssub_ov(), llvm::Intrinsic::ssub_with_overflow, llvm::sys::fs::status(), llvm::LibFunc::tan, llvm::LibFunc::tanh, llvm::APInt::uadd_ov(), llvm::Intrinsic::uadd_with_overflow, llvm::APInt::umul_ov(), llvm::Intrinsic::umul_with_overflow, llvm::APInt::usub_ov(), llvm::Intrinsic::usub_with_overflow, llvm::Intrinsic::x86_sse2_cvtsd2si, llvm::Intrinsic::x86_sse2_cvtsd2si64, llvm::Intrinsic::x86_sse2_cvttsd2si, llvm::Intrinsic::x86_sse2_cvttsd2si64, llvm::Intrinsic::x86_sse_cvtss2si, llvm::Intrinsic::x86_sse_cvtss2si64, llvm::Intrinsic::x86_sse_cvttss2si, and llvm::Intrinsic::x86_sse_cvttss2si64.
Referenced by ConstantFoldInstOperands(), and SimplifyCall().
opcode | The opcode of the cast |
V | The source constant |
DestTy | The destination type |
Definition at line 510 of file ConstantFold.cpp.
References llvm::APFloat::Bogus, llvm::CallingConv::C, llvm::APFloat::convert(), llvm::APFloat::convertFromAPInt(), llvm::APFloat::convertToInteger(), ExtractConstantBytes(), FoldBitCast(), foldConstantCastPair(), llvm::IntegerType::get(), llvm::ConstantInt::get(), llvm::ConstantFP::get(), llvm::ConstantVector::get(), llvm::ConstantPointerNull::get(), llvm::UndefValue::get(), getBitWidth(), llvm::ConstantExpr::getCast(), llvm::CastInst::getCastOpcode(), llvm::Value::getContext(), llvm::SequentialType::getElementType(), llvm::ConstantExpr::getExtractElement(), llvm::Type::getFltSemantics(), getFoldedAlignOf(), getFoldedOffsetOf(), getFoldedSizeOf(), llvm::ConstantExpr::getMul(), llvm::Constant::getNullValue(), llvm::APInt::getNullValue(), llvm::User::getOperand(), llvm::ConstantExpr::getPointerCast(), llvm::Type::getPrimitiveSizeInBits(), llvm::Value::getType(), llvm::Type::getVectorNumElements(), llvm::APFloat::IEEEdouble, llvm::APFloat::IEEEhalf, llvm::APFloat::IEEEquad, llvm::APFloat::IEEEsingle, llvm::Type::isArrayTy(), llvm::Type::isDoubleTy(), llvm::Type::isFloatTy(), llvm::Type::isFP128Ty(), llvm::Type::isHalfTy(), llvm::Constant::isNullValue(), llvm::ConstantInt::isOne(), llvm::Type::isPPC_FP128Ty(), llvm::Type::isStructTy(), llvm::Type::isVectorTy(), llvm::Type::isX86_FP80Ty(), llvm::Type::isX86_MMXTy(), llvm_unreachable, llvm::APFloat::PPCDoubleDouble, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::APFloat::rmNearestTiesToEven, llvm::APFloat::rmTowardZero, and llvm::APFloat::x87DoubleExtended.
Referenced by getFoldedCast().
Constant * llvm::ConstantFoldCompareInstOperands | ( | unsigned | Predicate, |
Constant * | Ops0, | ||
Constant * | Ops1, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 |
||
) |
ConstantFoldCompareInstOperands - Attempt to constant fold a compare instruction (icmp/fcmp) with the specified operands. If it fails, it returns a constant expression of the specified operands.
Definition at line 1053 of file ConstantFolding.cpp.
References llvm::APIntOps::And(), llvm::CallingConv::C, ConstantFoldInstOperands(), llvm::ConstantExpr::getCompare(), llvm::ConstantExpr::getIntegerCast(), llvm::DataLayout::getIntPtrType(), llvm::Constant::getNullValue(), llvm::Value::getType(), llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::Constant::isNullValue(), llvm::APIntOps::Or(), and TD.
Referenced by ConstantFold(), ConstantFoldConstantExpressionImpl(), ConstantFoldInstruction(), EvaluateExpression(), llvm::InstCombiner::FoldCmpLoadFromIndexedGlobal(), llvm::LazyValueInfo::getPredicateOnEdge(), SimplifyFCmpInst(), SimplifyICmpInst(), and SimplifyWithOpReplaced().
Constant * llvm::ConstantFoldCompareInstruction | ( | unsigned short | predicate, |
Constant * | C1, | ||
Constant * | C2 | ||
) |
Definition at line 1572 of file ConstantFold.cpp.
References llvm::CmpInst::BAD_FCMP_PREDICATE, llvm::CmpInst::BAD_ICMP_PREDICATE, llvm::APFloat::cmpEqual, llvm::APFloat::cmpGreaterThan, llvm::APFloat::cmpLessThan, llvm::APFloat::cmpUnordered, llvm::APFloat::compare(), evaluateFCmpRelation(), evaluateICmpRelation(), llvm::CmpInst::FCMP_FALSE, llvm::CmpInst::FCMP_OEQ, llvm::CmpInst::FCMP_OGE, llvm::CmpInst::FCMP_OGT, llvm::CmpInst::FCMP_OLE, llvm::CmpInst::FCMP_OLT, llvm::CmpInst::FCMP_ONE, llvm::CmpInst::FCMP_ORD, llvm::CmpInst::FCMP_TRUE, llvm::CmpInst::FCMP_UEQ, llvm::CmpInst::FCMP_UGE, llvm::CmpInst::FCMP_UGT, llvm::CmpInst::FCMP_ULE, llvm::CmpInst::FCMP_ULT, llvm::CmpInst::FCMP_UNE, llvm::CmpInst::FCMP_UNO, llvm::IntegerType::get(), llvm::ConstantInt::get(), llvm::VectorType::get(), llvm::ConstantVector::get(), llvm::UndefValue::get(), llvm::Constant::getAllOnesValue(), llvm::ConstantExpr::getBitCast(), llvm::ConstantExpr::getCast(), llvm::ConstantExpr::getCompare(), llvm::Value::getContext(), llvm::ConstantExpr::getExtractElement(), llvm::ConstantInt::getFalse(), llvm::ConstantExpr::getICmp(), llvm::Type::getInt1Ty(), llvm::ConstantExpr::getNot(), llvm::Constant::getNullValue(), llvm::User::getOperand(), llvm::CmpInst::getSwappedPredicate(), llvm::ConstantInt::getTrue(), llvm::ConstantExpr::getTrunc(), llvm::Value::getType(), llvm::Type::getVectorNumElements(), llvm::ConstantExpr::getXor(), llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::CmpInst::ICMP_SGE, llvm::CmpInst::ICMP_SGT, llvm::CmpInst::ICMP_SLE, llvm::CmpInst::ICMP_SLT, llvm::CmpInst::ICMP_UGE, llvm::CmpInst::ICMP_UGT, llvm::CmpInst::ICMP_ULE, llvm::CmpInst::ICMP_ULT, llvm::ICmpInst::isEquality(), llvm::Type::isFloatingPointTy(), llvm::Type::isIntegerTy(), llvm::Constant::isNullValue(), llvm::CmpInst::isSigned(), llvm::CmpInst::isTrueWhenEqual(), llvm::Type::isVectorTy(), llvm_unreachable, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::APInt::sge(), llvm::APInt::sgt(), llvm::APInt::sle(), llvm::APInt::slt(), llvm::APInt::uge(), llvm::APInt::ugt(), llvm::APInt::ule(), llvm::APInt::ult(), and llvm::NVPTX::PTXLdStInstCode::V2.
Referenced by llvm::ConstantExpr::getFCmp(), and llvm::ConstantExpr::getICmp().
Constant * llvm::ConstantFoldConstantExpression | ( | const ConstantExpr * | CE, |
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 |
||
) |
ConstantFoldConstantExpression - Attempt to fold the constant expression using the specified DataLayout. If successful, the constant result is result is returned, if not, null is returned.
Definition at line 937 of file ConstantFolding.cpp.
References ConstantFoldConstantExpressionImpl().
Referenced by AddReachableCodeToWorklist(), CastGEPIndices(), ConstantFoldInstruction(), emitGlobalConstantImpl(), llvm::ScalarEvolution::getOffsetOfExpr(), GetShiftedValue(), llvm::ScalarEvolution::getSizeOfExpr(), nvptx::LowerConstant(), lowerConstant(), and SymbolicallyEvaluateGEP().
Definition at line 743 of file ConstantFold.cpp.
References llvm::UndefValue::get(), llvm::Constant::getAggregateElement(), llvm::Constant::getNullValue(), llvm::Value::getType(), llvm::Type::getVectorElementType(), llvm::Type::getVectorNumElements(), and llvm::Constant::isNullValue().
Referenced by llvm::ConstantExpr::getExtractElement().
Definition at line 827 of file ConstantFold.cpp.
References llvm::CallingConv::C, llvm::ArrayRef< T >::empty(), llvm::Constant::getAggregateElement(), and llvm::ArrayRef< T >::slice().
Referenced by llvm::ConstantExpr::getExtractValue().
Constant * llvm::ConstantFoldGetElementPtr | ( | Constant * | C, |
bool | inBounds, | ||
ArrayRef< Constant * > | Idxs | ||
) |
Definition at line 2127 of file ConstantFold.cpp.
References ConstantFoldGetElementPtrImpl().
Referenced by llvm::ConstantExpr::getGetElementPtr().
Constant * llvm::ConstantFoldGetElementPtr | ( | Constant * | C, |
bool | inBounds, | ||
ArrayRef< Value * > | Idxs | ||
) |
Definition at line 2133 of file ConstantFold.cpp.
References ConstantFoldGetElementPtrImpl().
Constant * llvm::ConstantFoldInsertElementInstruction | ( | Constant * | Val, |
Constant * | Elt, | ||
Constant * | Idx | ||
) |
Definition at line 763 of file ConstantFold.cpp.
References llvm::CallingConv::C, dyn_cast(), llvm::IntegerType::get(), llvm::ConstantInt::get(), llvm::ConstantVector::get(), llvm::Value::getContext(), llvm::ConstantExpr::getExtractElement(), llvm::Value::getType(), llvm::ConstantInt::getValue(), llvm::Type::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by llvm::ConstantExpr::getInsertElement().
Constant * llvm::ConstantFoldInsertValueInstruction | ( | Constant * | Agg, |
Constant * | Val, | ||
ArrayRef< unsigned > | Idxs | ||
) |
ConstantFoldInsertValueInstruction - Attempt to constant fold an insertvalue instruction with the specified operands and indices. The constant result is returned if successful; if not, null is returned.
Definition at line 839 of file ConstantFold.cpp.
References llvm::CallingConv::C, llvm::ArrayRef< T >::empty(), llvm::ConstantArray::get(), llvm::ConstantStruct::get(), llvm::ConstantVector::get(), llvm::Constant::getAggregateElement(), llvm::Value::getType(), llvm::Type::getVectorNumElements(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::ArrayRef< T >::slice(), and llvm::A64DB::ST.
Referenced by llvm::ConstantExpr::getInsertValue(), and SimplifyInsertValueInst().
Constant * llvm::ConstantFoldInstOperands | ( | unsigned | Opcode, |
Type * | DestTy, | ||
ArrayRef< Constant * > | Ops, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 |
||
) |
ConstantFoldInstOperands - Attempt to constant fold an instruction with the specified operands. If successful, the constant result is returned, if not, null is returned. Note that this function can fail when attempting to fold instructions like loads and stores, which have no constant expression form.
ConstantFoldInstOperands - Attempt to constant fold an instruction with the specified opcode and operands. If successful, the constant result is returned, if not, null is returned. Note that this function can fail when attempting to fold instructions like loads and stores, which have no constant expression form.
TODO: This function neither utilizes nor preserves nsw/nuw/inbounds/etc information, due to only being passed an opcode and operands. Constant folding using this function strips this information.
Definition at line 954 of file ConstantFolding.cpp.
References llvm::ArrayRef< T >::back(), llvm::CallingConv::C, Call, canConstantFoldCallTo(), CastGEPIndices(), ConstantFoldCall(), ExtractElement(), F(), FoldBitCast(), llvm::ConstantInt::get(), llvm::ConstantExpr::get(), llvm::ConstantExpr::getAnd(), llvm::ConstantExpr::getBitCast(), llvm::ConstantExpr::getCast(), llvm::ConstantExpr::getExtractElement(), llvm::ConstantExpr::getGetElementPtr(), llvm::ConstantExpr::getInsertElement(), llvm::ConstantExpr::getIntegerCast(), llvm::APInt::getLowBitsSet(), llvm::User::getOperand(), llvm::Type::getPointerAddressSpace(), llvm::DataLayout::getPointerTypeSizeInBits(), llvm::Type::getScalarSizeInBits(), llvm::ConstantExpr::getSelect(), llvm::ConstantExpr::getShuffleVector(), llvm::Value::getType(), llvm::Instruction::isBinaryOp(), llvm_unreachable, llvm::MCID::Select, llvm::ArrayRef< T >::size(), llvm::ArrayRef< T >::slice(), SymbolicallyEvaluateBinop(), SymbolicallyEvaluateGEP(), and TD.
Referenced by CanShareConstantPoolEntry(), ConstantFold(), ConstantFoldCompareInstOperands(), ConstantFoldConstantExpressionImpl(), ConstantFoldInstruction(), EvaluateExpression(), SimplifyAddInst(), SimplifyAndInst(), SimplifyBinOp(), SimplifyDiv(), SimplifyFAddInst(), SimplifyFMulInst(), SimplifyFSubInst(), SimplifyMulInst(), SimplifyOrInst(), SimplifyRem(), SimplifyShift(), SimplifySubInst(), SimplifyTruncInst(), SimplifyWithOpReplaced(), and SimplifyXorInst().
Constant * llvm::ConstantFoldInstruction | ( | Instruction * | I, |
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 |
||
) |
ConstantFoldInstruction - Try to constant fold the specified instruction. If successful, the constant result is returned, if not, null is returned. Note that this fails if not all of the operands are constant. Otherwise, this function can only fail when attempting to fold instructions like loads and stores, which have no constant expression form.
Definition at line 839 of file ConstantFolding.cpp.
References llvm::CallingConv::C, ConstantFoldCompareInstOperands(), ConstantFoldConstantExpression(), ConstantFoldInstOperands(), ConstantFoldLoadInst(), dyn_cast(), llvm::UndefValue::get(), llvm::ConstantExpr::getExtractValue(), llvm::ConstantExpr::getInsertValue(), llvm::Instruction::getOpcode(), llvm::Value::getType(), LI, llvm::User::op_begin(), llvm::User::op_end(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and TD.
Referenced by AddReachableCodeToWorklist(), CleanupConstantGlobalUsers(), ConstantPropUsersOf(), llvm::InstCombiner::DoOneIteration(), and SimplifyInstruction().
Constant * llvm::ConstantFoldLoadFromConstPtr | ( | Constant * | C, |
const DataLayout * | TD = 0 |
||
) |
ConstantFoldLoadFromConstPtr - Return the value that a load from C would produce if it is constant and determinable. If this is not determinable, return null.
Definition at line 472 of file ConstantFolding.cpp.
References llvm::CallingConv::C, ConstantFoldLoadThroughGEPConstantExpr(), dyn_cast(), llvm::StringRef::empty(), FoldReinterpretLoadFromConstPtr(), llvm::ConstantInt::get(), llvm::UndefValue::get(), llvm::ConstantExpr::getBitCast(), getConstantStringInfo(), llvm::Value::getContext(), llvm::Constant::getNullValue(), llvm::ConstantExpr::getOpcode(), llvm::User::getOperand(), llvm::Type::getPrimitiveSizeInBits(), llvm::Value::getType(), GetUnderlyingObject(), llvm::Type::isFloatingPointTy(), llvm::DataLayout::isLittleEndian(), llvm::StringRef::size(), StrLen, and llvm::tgtok::StrVal.
Referenced by AnalyzeLoadFromClobberingMemInst(), ConstantFoldLoadInst(), EvaluateExpression(), getMemCmpLoad(), GetMemInstValueForLoad(), and SimplifyWithOpReplaced().
Constant * llvm::ConstantFoldLoadThroughGEPConstantExpr | ( | Constant * | C, |
ConstantExpr * | CE | ||
) |
ConstantFoldLoadThroughGEPConstantExpr - Given a constant and a getelementptr constantexpr, return the constant value being addressed by the constant expression, or null if something is funny and we can't decide.
Definition at line 1142 of file ConstantFolding.cpp.
References llvm::CallingConv::C, llvm::Constant::getAggregateElement(), llvm::User::getNumOperands(), and llvm::User::getOperand().
Referenced by CleanupConstantGlobalUsers(), ConstantFoldLoadFromConstPtr(), and isSimpleEnoughPointerToCommit().
ConstantFoldLoadThroughGEPIndices - Given a constant and getelementptr indices (with an implied zero pointer index that is not in the list), return the constant value being addressed by a virtual load, or null if something is funny and we can't decide.
Definition at line 1161 of file ConstantFolding.cpp.
References llvm::CallingConv::C, llvm::Constant::getAggregateElement(), and llvm::ArrayRef< T >::size().
Definition at line 697 of file ConstantFold.cpp.
References dyn_cast(), llvm::IntegerType::get(), llvm::ConstantInt::get(), llvm::ConstantVector::get(), llvm::ConstantExpr::getExtractElement(), llvm::User::getOperand(), llvm::ConstantExpr::getSelect(), llvm::Value::getType(), llvm::Type::getVectorNumElements(), llvm::Constant::isAllOnesValue(), llvm::Constant::isNullValue(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::MCID::Select, llvm::SmallVectorTemplateCommon< T >::size(), and llvm::NVPTX::PTXLdStInstCode::V2.
Referenced by llvm::ConstantExpr::getSelect().
Constant * llvm::ConstantFoldShuffleVectorInstruction | ( | Constant * | V1, |
Constant * | V2, | ||
Constant * | Mask | ||
) |
Definition at line 786 of file ConstantFold.cpp.
References llvm::IntegerType::get(), llvm::ConstantInt::get(), llvm::VectorType::get(), llvm::ConstantVector::get(), llvm::UndefValue::get(), llvm::Value::getContext(), llvm::ConstantExpr::getExtractElement(), llvm::ShuffleVectorInst::getMaskValue(), llvm::Value::getType(), llvm::Type::getVectorElementType(), llvm::Type::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by llvm::ConstantExpr::getShuffleVector().
bool llvm::ConstantFoldTerminator | ( | BasicBlock * | BB, |
bool | DeleteDeadConditions = false , |
||
const TargetLibraryInfo * | TLI = 0 |
||
) |
ConstantFoldTerminator - If a terminator instruction is predicated on a constant value, convert it into an unconditional branch to the constant destination. This is a nontrivial operation because the successors of this basic block must have their PHI nodes updated. Also calls RecursivelyDeleteTriviallyDeadInstructions() on any branch/switch conditions and indirectbr addresses this might make dead if DeleteDeadConditions is true.
Definition at line 59 of file Local.cpp.
References llvm::SmallVectorTemplateCommon< T >::back(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateBr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCondBr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpEQ(), dyn_cast(), llvm::Instruction::eraseFromParent(), llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::getCaseSuccessor(), llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::getCaseValue(), llvm::BasicBlock::getContext(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), llvm::ConstantInt::getValue(), llvm::APInt::getZExtValue(), llvm::LLVMContext::MD_prof, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::pop_back(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), RecursivelyDeleteTriviallyDeadInstructions(), llvm::BasicBlock::removePredecessor(), llvm::Instruction::setMetadata(), and std::swap().
Referenced by CloneAndPruneFunctionInto(), and markAliveBlocks().
Map pseudo instructions that imply an 'S' bit onto real opcodes. Whether the instruction is encoded with an 'S' bit is determined by the optional CPSR def operand.
Definition at line 1817 of file ARMBaseInstrInfo.cpp.
References AddSubFlagsOpcodeMap, array_lengthof(), and AddSubFlagsOpcodePair::MachineOpc.
Referenced by llvm::ARMTargetLowering::AdjustInstrPostInstrSelection(), and llvm::ARMAsmPrinter::EmitInstruction().
Definition at line 63 of file ConvertUTFWrapper.cpp.
References conversionOK, ConvertUTF32toUTF8(), llvm::Sched::Source, and strictConversion.
int llvm::ConvertCostTableLookup | ( | const TypeConversionCostTblEntry< TypeTy > * | Tbl, |
unsigned | len, | ||
int | ISD, | ||
CompareTy | Dst, | ||
CompareTy | Src | ||
) |
Find in type conversion cost table, TypeTy must be comparable to CompareTy by ==
Definition at line 59 of file CostTable.h.
Referenced by ConvertCostTableLookup().
int llvm::ConvertCostTableLookup | ( | const TypeConversionCostTblEntry< TypeTy >(&) | Tbl[N], |
int | ISD, | ||
CompareTy | Dst, | ||
CompareTy | Src | ||
) |
Find in type conversion cost table, TypeTy must be comparable to CompareTy by ==
Definition at line 73 of file CostTable.h.
References ConvertCostTableLookup().
bool llvm::ConvertDebugDeclareToDebugValue | ( | DbgDeclareInst * | DDI, |
StoreInst * | SI, | ||
DIBuilder & | Builder | ||
) |
===---------------------------------------------------------------——===// Dbg Intrinsic utilitiesInserts a llvm.dbg.value intrinsic before a store to an alloca'd value that has an associated llvm.dbg.decl intrinsic.
Inserts a llvm.dbg.value intrinsic before a store to an alloca'd value that has an associated llvm.dbg.decl intrinsic.
Definition at line 971 of file Local.cpp.
References dyn_cast(), llvm::Instruction::getDebugLoc(), llvm::User::getOperand(), llvm::DbgDeclareInst::getVariable(), llvm::DIBuilder::insertDbgValueIntrinsic(), llvm::DebugLoc::isUnknown(), LdStHasDebugValue(), and llvm::Instruction::setDebugLoc().
Referenced by LowerDbgDeclare(), promoteSingleBlockAlloca(), and rewriteSingleStoreAlloca().
bool llvm::ConvertDebugDeclareToDebugValue | ( | DbgDeclareInst * | DDI, |
LoadInst * | LI, | ||
DIBuilder & | Builder | ||
) |
Inserts a llvm.dbg.value intrinsic before a load of an alloca'd value that has an associated llvm.dbg.decl intrinsic.
Definition at line 1007 of file Local.cpp.
References llvm::Instruction::getDebugLoc(), llvm::User::getOperand(), llvm::DbgDeclareInst::getVariable(), llvm::DIBuilder::insertDbgValueIntrinsic(), llvm::DebugLoc::isUnknown(), LdStHasDebugValue(), LI, and llvm::Instruction::setDebugLoc().
bool llvm::convertUTF16ToUTF8String | ( | ArrayRef< char > | SrcBytes, |
std::string & | Out | ||
) |
Definition at line 84 of file ConvertUTFWrapper.cpp.
References llvm::ArrayRef< T >::begin(), conversionOK, ConvertUTF16toUTF8(), llvm::ArrayRef< T >::empty(), llvm::ArrayRef< T >::end(), I, llvm::ArrayRef< T >::size(), strictConversion, llvm::sys::SwapByteOrder_16(), targetExhausted, UNI_MAX_UTF8_BYTES_PER_CODE_POINT, UNI_UTF16_BYTE_ORDER_MARK_NATIVE, and UNI_UTF16_BYTE_ORDER_MARK_SWAPPED.
Referenced by ExpandResponseFile().
bool llvm::ConvertUTF8toWide | ( | unsigned | WideCharWidth, |
llvm::StringRef | Source, | ||
char *& | ResultPtr, | ||
const UTF8 *& | ErrorPtr | ||
) |
Definition at line 17 of file ConvertUTFWrapper.cpp.
References llvm::StringRef::begin(), conversionOK, ConvertUTF8toUTF16(), ConvertUTF8toUTF32(), llvm::StringRef::data(), llvm::StringRef::end(), isLegalUTF8String(), llvm::Intrinsic::memcpy, llvm::StringRef::size(), sourceIllegal, strictConversion, and targetExhausted.
int llvm::CostTableLookup | ( | const CostTblEntry< TypeTy > * | Tbl, |
unsigned | len, | ||
int | ISD, | ||
CompareTy | Ty | ||
) |
Find in cost table, TypeTy must be comparable to CompareTy by ==.
Definition at line 30 of file CostTable.h.
Referenced by CostTableLookup().
int llvm::CostTableLookup | ( | const CostTblEntry< TypeTy >(&) | Tbl[N], |
int | ISD, | ||
CompareTy | Ty | ||
) |
Find in cost table, TypeTy must be comparable to CompareTy by ==.
Definition at line 42 of file CostTable.h.
References CostTableLookup().
|
inline |
CountLeadingOnes_32 - this function performs the operation of counting the number of ones from the most significant bit to the first zero bit. Ex. CountLeadingOnes_32(0xFF0FFF00) == 8. Returns 32 if the word is all ones.
Definition at line 386 of file MathExtras.h.
References countLeadingZeros().
Referenced by llvm::ARM::isBitFieldInvertedMask(), and llvm::A64Imms::isLogicalImm().
|
inline |
CountLeadingOnes_64 - This function performs the operation of counting the number of ones from the most significant bit to the first zero bit (64 bit edition.) Returns 64 if the word is all ones.
Definition at line 394 of file MathExtras.h.
References countLeadingZeros().
Referenced by llvm::APInt::countLeadingOnes(), and llvm::A64Imms::isLogicalImm().
enable_if_c<std::numeric_limits<T>::is_integer && !std::numeric_limits<T>::is_signed, std::size_t>::type llvm::countLeadingZeros | ( | T | Val, |
ZeroBehavior | ZB = ZB_Width |
||
) |
Count number of 0's from the most significant bit to the least stopping at the first 1.
Only unsigned integral types are allowed.
ZB | the behavior on an input of 0. Only ZB_Width and ZB_Undefined are valid arguments. |
Definition at line 120 of file MathExtras.h.
Referenced by CheckForMaskedLoad(), llvm::SelectionDAG::ComputeMaskedBits(), ComputeMaskedBitsAddSub(), computeMaskedBitsLoad(), CountLeadingOnes_32(), CountLeadingOnes_64(), llvm::APInt::countLeadingZeros(), findLastSet(), FoldMaskAndShiftToScale(), llvm::ARM_AM::getT2SOImmValRotateVal(), getTestUnderMaskCond(), KnuthDiv(), Log2_32(), Log2_32_Ceil(), Log2_64(), Log2_64_Ceil(), PerformBFICombine(), llvm::ARMInstPrinter::printBitfieldInvMaskImmOperand(), and llvm::ConstantRange::shl().
enable_if_c<std::numeric_limits<T>::is_integer && std::numeric_limits<T>::is_signed, std::size_t>::type llvm::countLeadingZeros | ( | T | Val, |
ZeroBehavior | ZB = ZB_Width |
||
) |
Count number of 0's from the most significant bit to the least stopping at the first 1.
Only unsigned integral types are allowed.
ZB | the behavior on an input of 0. Only ZB_Width and ZB_Undefined are valid arguments. |
Definition at line 120 of file MathExtras.h.
Referenced by CheckForMaskedLoad(), llvm::SelectionDAG::ComputeMaskedBits(), ComputeMaskedBitsAddSub(), computeMaskedBitsLoad(), CountLeadingOnes_32(), CountLeadingOnes_64(), llvm::APInt::countLeadingZeros(), findLastSet(), FoldMaskAndShiftToScale(), llvm::ARM_AM::getT2SOImmValRotateVal(), getTestUnderMaskCond(), KnuthDiv(), Log2_32(), Log2_32_Ceil(), Log2_64(), Log2_64_Ceil(), PerformBFICombine(), llvm::ARMInstPrinter::printBitfieldInvMaskImmOperand(), and llvm::ConstantRange::shl().
|
static |
Definition at line 23 of file MCWin64EH.cpp.
References I, llvm::Win64EH::UOP_AllocLarge, llvm::Win64EH::UOP_AllocSmall, llvm::Win64EH::UOP_PushMachFrame, llvm::Win64EH::UOP_PushNonVol, llvm::Win64EH::UOP_SaveNonVol, llvm::Win64EH::UOP_SaveNonVolBig, llvm::Win64EH::UOP_SaveXMM128, llvm::Win64EH::UOP_SaveXMM128Big, and llvm::Win64EH::UOP_SetFPReg.
Referenced by EmitUnwindInfo().
|
inline |
CountPopulation_32 - this function counts the number of set bits in a value. Ex. CountPopulation(0xF000F000) = 8 Returns 0 if the word is zero.
Definition at line 417 of file MathExtras.h.
Referenced by llvm::BitVector::count(), llvm::SparseBitVectorElement< ElementSize >::count(), llvm::SmallBitVector::count(), and ExpandPowI().
|
inline |
CountPopulation_64 - this function counts the number of set bits in a value, (64 bit edition.)
Definition at line 429 of file MathExtras.h.
Referenced by llvm::BitVector::count(), llvm::SparseBitVectorElement< ElementSize >::count(), llvm::SmallBitVector::count(), llvm::APInt::countPopulation(), llvm::SystemZSelectionDAGInfo::EmitTargetCodeForMemset(), isShiftedMask(), PerformANDCombine(), PerformAndCombine(), tryCombineToBFI(), and llvm::SelectionDAGBuilder::visitBitTestCase().
|
inline |
CountTrailingOnes_32 - this function performs the operation of counting the number of ones from the least significant bit to the first zero bit. Ex. CountTrailingOnes_32(0x00FF00FF) == 8. Returns 32 if the word is all ones.
Definition at line 402 of file MathExtras.h.
References countTrailingZeros().
Referenced by llvm::ARM::isBitFieldInvertedMask().
|
inline |
CountTrailingOnes_64 - This function performs the operation of counting the number of ones from the least significant bit to the first zero bit (64 bit edition.) Returns 64 if the word is all ones.
Definition at line 410 of file MathExtras.h.
References countTrailingZeros().
Referenced by CheckForMaskedLoad(), llvm::APInt::countTrailingOnes(), FoldMaskAndShiftToScale(), llvm::A64Imms::isLogicalImm(), and llvm::SelectionDAGBuilder::visitBitTestCase().
enable_if_c<std::numeric_limits<T>::is_integer && !std::numeric_limits<T>::is_signed, std::size_t>::type llvm::countTrailingZeros | ( | T | Val, |
ZeroBehavior | ZB = ZB_Width |
||
) |
Count number of 0's from the least significant bit to the most stopping at the first 1.
Only unsigned integral types are allowed.
ZB | the behavior on an input of 0. Only ZB_Width and ZB_Undefined are valid arguments. |
Definition at line 49 of file MathExtras.h.
Referenced by CheckForMaskedLoad(), CollectBSwapParts(), ComputeMaskedBits(), CountTrailingOnes_32(), CountTrailingOnes_64(), llvm::APInt::countTrailingZeros(), llvm::object::ObjectFile::createELFObjectFile(), llvm::SparseBitVectorElement< ElementSize >::find_first(), llvm::BitVector::find_first(), llvm::SmallBitVector::find_first(), llvm::SparseBitVectorElement< ElementSize >::find_next(), llvm::BitVector::find_next(), llvm::SmallBitVector::find_next(), findFirstSet(), firstCommonClass(), FoldMaskAndShiftToScale(), llvm::TargetRegisterInfo::getAllocatableClass(), getLSBForBFI(), llvm::ARM_AM::getSOImmValRotate(), llvm::ARM_AM::getT2SOImmValRotate(), getTestUnderMaskCond(), llvm::ARM_AM::getThumbImm16ValShift(), llvm::ARM_AM::getThumbImmValShift(), llvm::A64Imms::isLogicalImm(), isShiftedMask(), PerformBFICombine(), PerformORCombine(), llvm::ARMInstPrinter::printBitfieldInvMaskImmOperand(), llvm::ARMInstPrinter::printThumbITMask(), TypeSizeToSizeIndex(), and llvm::SelectionDAGBuilder::visitBitTestCase().
enable_if_c<std::numeric_limits<T>::is_integer && std::numeric_limits<T>::is_signed, std::size_t>::type llvm::countTrailingZeros | ( | T | Val, |
ZeroBehavior | ZB = ZB_Width |
||
) |
Count number of 0's from the least significant bit to the most stopping at the first 1.
Only unsigned integral types are allowed.
ZB | the behavior on an input of 0. Only ZB_Width and ZB_Undefined are valid arguments. |
Definition at line 49 of file MathExtras.h.
Referenced by CheckForMaskedLoad(), CollectBSwapParts(), ComputeMaskedBits(), CountTrailingOnes_32(), CountTrailingOnes_64(), llvm::APInt::countTrailingZeros(), llvm::object::ObjectFile::createELFObjectFile(), llvm::SparseBitVectorElement< ElementSize >::find_first(), llvm::BitVector::find_first(), llvm::SmallBitVector::find_first(), llvm::SparseBitVectorElement< ElementSize >::find_next(), llvm::BitVector::find_next(), llvm::SmallBitVector::find_next(), findFirstSet(), firstCommonClass(), FoldMaskAndShiftToScale(), llvm::TargetRegisterInfo::getAllocatableClass(), getLSBForBFI(), llvm::ARM_AM::getSOImmValRotate(), llvm::ARM_AM::getT2SOImmValRotate(), getTestUnderMaskCond(), llvm::ARM_AM::getThumbImm16ValShift(), llvm::ARM_AM::getThumbImmValShift(), llvm::A64Imms::isLogicalImm(), isShiftedMask(), PerformBFICombine(), PerformORCombine(), llvm::ARMInstPrinter::printBitfieldInvMaskImmOperand(), llvm::ARMInstPrinter::printThumbITMask(), TypeSizeToSizeIndex(), and llvm::SelectionDAGBuilder::visitBitTestCase().
FunctionPass * llvm::createA15SDOptimizerPass | ( | ) |
Definition at line 709 of file A15SDOptimizer.cpp.
aa Exhaustive Alias Analysis Precision true FunctionPass * llvm::createAAEvalPass | ( | ) |
Definition at line 89 of file AliasAnalysisEvaluator.cpp.
MCAsmBackend * llvm::createAArch64AsmBackend | ( | const Target & | T, |
const MCRegisterInfo & | MRI, | ||
StringRef | TT, | ||
StringRef | CPU | ||
) |
Definition at line 581 of file AArch64AsmBackend.cpp.
References llvm::Triple::getOS().
Referenced by LLVMInitializeAArch64TargetMC().
FunctionPass * llvm::createAArch64BranchFixupPass | ( | ) |
Returns an instance of the branch fixup pass.
Definition at line 187 of file AArch64BranchFixupPass.cpp.
FunctionPass * llvm::createAArch64CleanupLocalDynamicTLSPass | ( | ) |
Definition at line 839 of file AArch64InstrInfo.cpp.
MCObjectWriter * llvm::createAArch64ELFObjectWriter | ( | raw_ostream & | OS, |
uint8_t | OSABI | ||
) |
Definition at line 288 of file AArch64ELFObjectWriter.cpp.
References createELFObjectWriter().
MCELFStreamer * llvm::createAArch64ELFStreamer | ( | MCContext & | Context, |
MCAsmBackend & | TAB, | ||
raw_ostream & | OS, | ||
MCCodeEmitter * | Emitter, | ||
bool | RelaxAll, | ||
bool | NoExecStack | ||
) |
Definition at line 147 of file AArch64ELFStreamer.cpp.
Referenced by createMCStreamer().
FunctionPass * llvm::createAArch64ISelDAG | ( | AArch64TargetMachine & | TM, |
CodeGenOpt::Level | OptLevel | ||
) |
This pass converts a legalized DAG into a AArch64-specific DAG, ready for instruction scheduling.
Definition at line 1583 of file AArch64ISelDAGToDAG.cpp.
MCCodeEmitter * llvm::createAArch64MCCodeEmitter | ( | const MCInstrInfo & | MCII, |
const MCRegisterInfo & | MRI, | ||
const MCSubtargetInfo & | STI, | ||
MCContext & | Ctx | ||
) |
Definition at line 539 of file AArch64MCCodeEmitter.cpp.
Referenced by LLVMInitializeAArch64TargetMC().
FunctionPass* llvm::createAddressSanitizerFunctionPass | ( | bool | CheckInitOrder = true , |
bool | CheckUseAfterReturn = false , |
||
bool | CheckLifetime = false , |
||
StringRef | BlacklistFile = StringRef() , |
||
bool | ZeroBaseShadow = false |
||
) |
ModulePass* llvm::createAddressSanitizerModulePass | ( | bool | CheckInitOrder = true , |
StringRef | BlacklistFile = StringRef() , |
||
bool | ZeroBaseShadow = false |
||
) |
FunctionPass * llvm::createAggressiveDCEPass | ( | ) |
Definition at line 95 of file ADCE.cpp.
Referenced by LLVMAddAggressiveDCEPass(), and llvm::PassManagerBuilder::populateModulePassManager().
ModulePass* llvm::createAliasAnalysisCounterPass | ( | ) |
Pass* llvm::createAliasDebugger | ( | ) |
FunctionPass * llvm::createAllocaHoisting | ( | ) |
Definition at line 44 of file NVPTXAllocaHoisting.cpp.
createAlwaysInlinerPass - Return a new pass object that inlines only functions that are marked as "always_inline".
Definition at line 71 of file InlineAlways.cpp.
Referenced by LLVMAddAlwaysInlinerPass().
Definition at line 73 of file InlineAlways.cpp.
MCAsmBackend * llvm::createAMDGPUAsmBackend | ( | const Target & | T, |
const MCRegisterInfo & | MRI, | ||
StringRef | TT, | ||
StringRef | CPU | ||
) |
Definition at line 98 of file AMDGPUAsmBackend.cpp.
Referenced by LLVMInitializeR600TargetMC().
FunctionPass * llvm::createAMDGPUCFGStructurizerPass | ( | TargetMachine & | tm | ) |
Definition at line 1902 of file AMDILCFGStructurizer.cpp.
FunctionPass * llvm::createAMDGPUConvertToISAPass | ( | TargetMachine & | tm | ) |
Definition at line 44 of file AMDGPUConvertToISA.cpp.
MCObjectWriter * llvm::createAMDGPUELFObjectWriter | ( | raw_ostream & | OS | ) |
Definition at line 36 of file AMDGPUELFObjectWriter.cpp.
References createELFObjectWriter().
FunctionPass * llvm::createAMDGPUISelDag | ( | TargetMachine & | tm | ) |
This pass converts a legalized DAG into a AMDGPU-specific.
Definition at line 94 of file AMDGPUISelDAGToDAG.cpp.
Pass* llvm::createAMDGPUStructurizeCFGPass | ( | ) |
ImmutablePass* llvm::createAMDGPUTargetTransformInfoPass | ( | const AMDGPUTargetMachine * | TM | ) |
Creates an AMDGPU-specific Target Transformation Info pass.
Referenced by llvm::AMDGPUTargetMachine::addAnalysisPasses().
Promote by reference arguments to false Pass * llvm::createArgumentPromotionPass | ( | unsigned | maxElements = 3 | ) |
createArgumentPromotionPass - This pass promotes "by reference" arguments to be passed by value if the number of elements passed is smaller or equal to maxElements (maxElements == 0 means always promote).
Definition at line 95 of file ArgumentPromotion.cpp.
Referenced by LLVMAddArgumentPromotionPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
MCAsmBackend * llvm::createARMAsmBackend | ( | const Target & | T, |
const MCRegisterInfo & | MRI, | ||
StringRef | TT, | ||
StringRef | CPU | ||
) |
Definition at line 663 of file ARMAsmBackend.cpp.
References llvm::StringSwitch< T, R >::Cases(), llvm::MachO::CPU_SUBTYPE_ARM_V4T, llvm::MachO::CPU_SUBTYPE_ARM_V5TEJ, llvm::MachO::CPU_SUBTYPE_ARM_V6, llvm::MachO::CPU_SUBTYPE_ARM_V6M, llvm::MachO::CPU_SUBTYPE_ARM_V7, llvm::MachO::CPU_SUBTYPE_ARM_V7EM, llvm::MachO::CPU_SUBTYPE_ARM_V7F, llvm::MachO::CPU_SUBTYPE_ARM_V7K, llvm::MachO::CPU_SUBTYPE_ARM_V7M, llvm::MachO::CPU_SUBTYPE_ARM_V7S, llvm::StringSwitch< T, R >::Default(), llvm::Triple::getArchName(), llvm::MCELFObjectTargetWriter::getOSABI(), llvm::Triple::isOSBinFormatCOFF(), and llvm::Triple::isOSDarwin().
Referenced by LLVMInitializeARMTargetMC().
FunctionPass * llvm::createARMConstantIslandPass | ( | ) |
createARMConstantIslandPass - returns an instance of the constpool island pass.
Definition at line 372 of file ARMConstantIslandPass.cpp.
MCObjectWriter * llvm::createARMELFObjectWriter | ( | raw_ostream & | OS, |
uint8_t | OSABI | ||
) |
createARMELFObjectWriter - Construct an ELF Mach-O object writer.
Definition at line 285 of file ARMELFObjectWriter.cpp.
References createELFObjectWriter().
MCELFStreamer * llvm::createARMELFStreamer | ( | MCContext & | Context, |
MCAsmBackend & | TAB, | ||
raw_ostream & | OS, | ||
MCCodeEmitter * | Emitter, | ||
bool | RelaxAll, | ||
bool | NoExecStack, | ||
bool | IsThumb | ||
) |
Definition at line 933 of file ARMELFStreamer.cpp.
Referenced by createMCStreamer().
FunctionPass * llvm::createARMExpandPseudoPass | ( | ) |
createARMExpandPseudoPass - returns an instance of the pseudo instruction expansion pass.
Definition at line 1278 of file ARMExpandPseudoInsts.cpp.
FunctionPass * llvm::createARMGlobalBaseRegPass | ( | ) |
Definition at line 162 of file ARMInstrInfo.cpp.
FunctionPass* llvm::createARMGlobalMergePass | ( | const TargetLowering * | tli | ) |
FunctionPass * llvm::createARMISelDag | ( | ARMBaseTargetMachine & | TM, |
CodeGenOpt::Level | OptLevel | ||
) |
createARMISelDag - This pass converts a legalized DAG into a ARM-specific DAG, ready for instruction scheduling.
Definition at line 3524 of file ARMISelDAGToDAG.cpp.
FunctionPass * llvm::createARMJITCodeEmitterPass | ( | ARMBaseTargetMachine & | TM, |
JITCodeEmitter & | JCE | ||
) |
createARMJITCodeEmitterPass - Return a pass that emits the collected ARM code to the specified MCE object.
Definition at line 370 of file ARMCodeEmitter.cpp.
Referenced by llvm::ARMBaseTargetMachine::addCodeEmitter().
FunctionPass * llvm::createARMLoadStoreOptimizationPass | ( | bool | PreAlloc = false | ) |
createARMLoadStoreOptimizationPass - returns an instance of the load / store optimization pass.
Definition at line 2000 of file ARMLoadStoreOptimizer.cpp.
MCObjectWriter * llvm::createARMMachObjectWriter | ( | raw_ostream & | OS, |
bool | Is64Bit, | ||
uint32_t | CPUType, | ||
uint32_t | CPUSubtype | ||
) |
createARMMachObjectWriter - Construct an ARM Mach-O object writer.
Definition at line 488 of file ARMMachObjectWriter.cpp.
References createMachObjectWriter().
MCRelocationInfo * llvm::createARMMachORelocationInfo | ( | MCContext & | Ctx | ) |
createARMMachORelocationInfo - Construct ARM Mach-O relocation info.
createARMMachORelocationInfo - Construct an ARM Mach-O RelocationInfo.
Definition at line 41 of file ARMMachORelocationInfo.cpp.
Referenced by createARMMCRelocationInfo().
MCCodeEmitter * llvm::createARMMCCodeEmitter | ( | const MCInstrInfo & | MCII, |
const MCRegisterInfo & | MRI, | ||
const MCSubtargetInfo & | STI, | ||
MCContext & | Ctx | ||
) |
Definition at line 341 of file ARMMCCodeEmitter.cpp.
Referenced by LLVMInitializeARMTargetMC().
ImmutablePass* llvm::createARMTargetTransformInfoPass | ( | const ARMBaseTargetMachine * | TM | ) |
Creates an ARM-specific Target Transformation Info pass.
Referenced by llvm::ARMBaseTargetMachine::addAnalysisPasses().
MCStreamer * llvm::createAsmStreamer | ( | MCContext & | Ctx, |
MCTargetStreamer * | TargetStreamer, | ||
formatted_raw_ostream & | OS, | ||
bool | isVerboseAsm, | ||
bool | useLoc, | ||
bool | useCFI, | ||
bool | useDwarfDirectory, | ||
MCInstPrinter * | InstPrint = 0 , |
||
MCCodeEmitter * | CE = 0 , |
||
MCAsmBackend * | TAB = 0 , |
||
bool | ShowInst = false |
||
) |
createAsmStreamer - Create a machine code streamer which will print out assembly for the native target, suitable for compiling with a native assembler.
InstPrint | - If given, the instruction printer to use. If not given the MCInst representation will be printed. This method takes ownership of InstPrint. |
CE | - If given, a code emitter to use to show the instruction encoding inline with the assembly. This method takes ownership of CE . |
TAB | - If given, a target asm backend to use to show the fixup information in conjunction with encoding information. This method takes ownership of TAB . |
ShowInst | - Whether to show the MCInst representation inline with the assembly. |
Definition at line 1371 of file MCAsmStreamer.cpp.
Referenced by llvm::Target::createAsmStreamer(), createMCAsmStreamer(), and createMCAsmStreamer().
ModulePass * llvm::createBarrierNoopPass | ( | ) |
createBarrierNoopPass - This pass is purely a module pass barrier in a pass manager.
Definition at line 43 of file BarrierNoopPass.cpp.
Referenced by llvm::PassManagerBuilder::populateModulePassManager().
Basic Alias false ImmutablePass * llvm::createBasicAliasAnalysisPass | ( | ) |
Definition at line 577 of file BasicAliasAnalysis.cpp.
Referenced by llvm::TargetPassConfig::addIRPasses(), and LLVMAddBasicAliasAnalysisPass().
FunctionPass * llvm::createBasicRegisterAllocator | ( | ) |
BasicRegisterAllocation Pass - This pass implements a degenerate global register allocator using the basic regalloc framework.
Definition at line 296 of file RegAllocBasic.cpp.
ImmutablePass* llvm::createBasicTargetTransformInfoPass | ( | const TargetMachine * | TM | ) |
Create a basic TargetTransformInfo analysis pass.
This pass implements the target transform info analysis using the target independent information available to the LLVM code generator.
Referenced by llvm::ARMBaseTargetMachine::addAnalysisPasses(), llvm::XCoreTargetMachine::addAnalysisPasses(), llvm::AMDGPUTargetMachine::addAnalysisPasses(), llvm::X86TargetMachine::addAnalysisPasses(), llvm::PPCTargetMachine::addAnalysisPasses(), and llvm::LLVMTargetMachine::addAnalysisPasses().
BasicBlockPass * llvm::createBBVectorizePass | ( | const VectorizeConfig & | C = VectorizeConfig() | ) |
Definition at line 3148 of file BBVectorize.cpp.
Referenced by LLVMAddBBVectorizePass(), and llvm::PassManagerBuilder::populateModulePassManager().
ModulePass * llvm::createBitcodeWriterPass | ( | raw_ostream & | Str | ) |
createBitcodeWriterPass - Create and return a pass that writes the module to the specified ostream.
Definition at line 39 of file BitcodeWriterPass.cpp.
ModulePass* llvm::createBlockExtractorPass | ( | ) |
createBlockExtractorPass - This pass extracts all blocks (except those specified in the argument list) from the functions in the module.
FunctionPass * llvm::createBoundsCheckingPass | ( | ) |
Definition at line 210 of file BoundsChecking.cpp.
FunctionPass* llvm::createBreakCriticalEdgesPass | ( | ) |
llvm::ScheduleDAGSDNodes * llvm::createBURRListDAGScheduler | ( | SelectionDAGISel * | IS, |
CodeGenOpt::Level | OptLevel | ||
) |
createBURRListDAGScheduler - This creates a bottom up register usage reduction list scheduler.
Definition at line 2984 of file ScheduleDAGRRList.cpp.
References llvm::TargetMachine::getInstrInfo(), llvm::TargetMachine::getRegisterInfo(), llvm::SelectionDAGISel::MF, TII, llvm::SelectionDAGISel::TM, and llvm::SystemZISD::TM.
Referenced by createDefaultScheduler().
ModulePass * llvm::createCallGraphPrinterPass | ( | ) |
Definition at line 85 of file CallPrinter.cpp.
ModulePass* llvm::createCallGraphViewerPass | ( | ) |
FunctionPass * llvm::createCFGOnlyPrinterPass | ( | ) |
Definition at line 161 of file CFGPrinter.cpp.
FunctionPass * llvm::createCFGPrinterPass | ( | ) |
Definition at line 157 of file CFGPrinter.cpp.
Simplify the false FunctionPass * llvm::createCFGSimplificationPass | ( | ) |
Definition at line 65 of file SimplifyCFGPass.cpp.
Referenced by LLVMAddCFGSimplificationPass(), llvm::PassManagerBuilder::populateFunctionPassManager(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
FunctionPass * llvm::createCleanupLocalDynamicTLSPass | ( | ) |
createCleanupLocalDynamicTLSPass() - This pass combines multiple accesses to local-dynamic TLS variables so that the TLS base address for the module is only fetched once per execution path through the function.
Definition at line 5492 of file X86InstrInfo.cpp.
Optimize for code false FunctionPass * llvm::createCodeGenPreparePass | ( | const TargetMachine * | TM = 0 | ) |
Definition at line 140 of file CodeGenPrepare.cpp.
Referenced by llvm::TargetPassConfig::addCodeGenPrepare().
MCAsmParserExtension * llvm::createCOFFAsmParser | ( | ) |
Definition at line 727 of file COFFAsmParser.cpp.
ModulePass* llvm::createConstantMergePass | ( | ) |
createConstantMergePass - This function returns a new pass that merges duplicate global constants together into a single constant that is shared. This is useful because some passes (ie TraceValues) insert a lot of string constants into the program, regardless of whether or not they duplicate an existing string.
Referenced by LLVMAddConstantMergePass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
Simple constant false FunctionPass * llvm::createConstantPropagationPass | ( | ) |
Definition at line 59 of file ConstantProp.cpp.
Referenced by llvm::HexagonTargetMachine::addPassesForOptimizations(), and LLVMAddConstantPropagationPass().
Definition at line 67 of file CorrelatedValuePropagation.cpp.
Referenced by LLVMAddCorrelatedValuePropagationPass(), and llvm::PassManagerBuilder::populateModulePassManager().
FunctionPass * llvm::createCostModelAnalysisPass | ( | ) |
Definition at line 73 of file CostModel.cpp.
llvm::ScheduleDAGSDNodes * llvm::createDAGLinearizer | ( | SelectionDAGISel * | IS, |
CodeGenOpt::Level | OptLevel | ||
) |
createDAGLinearizer - This creates a "no-scheduling" scheduler which linearize the DAG using topological order.
Definition at line 797 of file ScheduleDAGFast.cpp.
References llvm::SelectionDAGISel::MF.
MCAsmParserExtension * llvm::createDarwinAsmParser | ( | ) |
Definition at line 863 of file DarwinAsmParser.cpp.
ModulePass* llvm::createDataFlowSanitizerPass | ( | StringRef | ABIListFile = StringRef() , |
void *(*)() | getArgTLS = 0 , |
||
void *(*)() | getRetValTLS = 0 |
||
) |
ModulePass* llvm::createDeadArgEliminationPass | ( | ) |
createDeadArgEliminationPass - This pass removes arguments from functions which are not used by the body of the function.
Referenced by LLVMAddDeadArgEliminationPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
ModulePass * llvm::createDeadArgHackingPass | ( | ) |
DeadArgHacking pass - Same as DAE, but delete arguments of external functions as well. This is definitely not safe, and should only be used by bugpoint.
Definition at line 194 of file DeadArgumentElimination.cpp.
FunctionPass * llvm::createDeadCodeEliminationPass | ( | ) |
Definition at line 131 of file DCE.cpp.
Referenced by llvm::HexagonTargetMachine::addPassesForOptimizations().
Pass* llvm::createDeadInstEliminationPass | ( | ) |
FunctionPass * llvm::createDeadStoreEliminationPass | ( | ) |
Definition at line 98 of file DeadStoreElimination.cpp.
Referenced by LLVMAddDeadStoreEliminationPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
ModulePass * llvm::createDebugIRPass | ( | bool | HideDebugIntrinsics, |
bool | HideDebugMetadata, | ||
StringRef | Directory = StringRef() , |
||
StringRef | Filename = StringRef() |
||
) |
createDebugIRPass - Enable interactive stepping through LLVM IR in LLDB (or GDB) and generate a file with the LLVM IR to be displayed in the debugger.
Existing debug metadata is preserved (but may be modified) in order to allow accessing variables in the original source. The line table and file information is modified to correspond to the lines in the LLVM IR. If Filename and Directory are empty, a file name is generated based on existing debug information. If no debug information is available, a temporary file name is generated.
HideDebugIntrinsics | Omit debug intrinsics in emitted IR source file. |
HideDebugMetadata | Omit debug metadata in emitted IR source file. |
Directory | Embed this directory in the debug information. |
Filename | Embed this file name in the debug information. |
Definition at line 611 of file DebugIR.cpp.
ModulePass * llvm::createDebugIRPass | ( | ) |
createDebugIRPass - Enable interactive stepping through LLVM IR in LLDB (or GDB) with an existing IR file on disk. When creating a DebugIR pass with this function, no source file is output to disk and the existing one is unmodified. Debug metadata in the Module is created/updated to point to the existing textual IR file on disk. NOTE: If the IR file to be debugged is not on disk, use the version of this function with parameters in order to generate the file that will be seen by the debugger.
Definition at line 618 of file DebugIR.cpp.
FunctionPass * llvm::createDefaultPBQPRegisterAllocator | ( | ) |
PBQPRegisterAllocation Pass - This pass implements the Partitioned Boolean Quadratic Prograaming (PBQP) based register allocator.
Definition at line 632 of file RegAllocPBQP.cpp.
References createPBQPRegisterAllocator(), pbqpCoalescing, and llvm::OwningPtr< T >::reset().
ScheduleDAGSDNodes * llvm::createDefaultScheduler | ( | SelectionDAGISel * | IS, |
CodeGenOpt::Level | OptLevel | ||
) |
createDefaultScheduler - This creates an instruction scheduler appropriate for the target.
Definition at line 266 of file SelectionDAGISel.cpp.
References createBURRListDAGScheduler(), createHybridListDAGScheduler(), createILPListDAGScheduler(), createSourceListDAGScheduler(), createVLIWDAGScheduler(), llvm::TargetLoweringBase::getSchedulingPreference(), llvm::TargetMachine::getSubtarget(), llvm::SelectionDAGISel::getTargetLowering(), llvm::Sched::Hybrid, llvm::Sched::ILP, llvm::CodeGenOpt::None, llvm::Sched::RegPressure, llvm::Sched::Source, llvm::A64DB::ST, llvm::SelectionDAGISel::TM, llvm::TargetSubtargetInfo::useMachineScheduler(), and llvm::Sched::VLIW.
FunctionPass* llvm::createDelinearizationPass | ( | ) |
FunctionPass * llvm::createDemoteRegisterToMemoryPass | ( | ) |
Definition at line 131 of file Reg2Mem.cpp.
Referenced by LLVMAddDemoteMemoryToRegisterPass().
FunctionPass * llvm::createDependenceAnalysisPass | ( | ) |
createDependenceAnalysisPass - This creates an instance of the DependenceAnalysis pass.
Definition at line 126 of file DependenceAnalysis.cpp.
FunctionPass * llvm::createDomOnlyPrinterPass | ( | ) |
Definition at line 206 of file DomPrinter.cpp.
FunctionPass * llvm::createDomOnlyViewerPass | ( | ) |
Definition at line 214 of file DomPrinter.cpp.
FunctionPass* llvm::createDomPrinterPass | ( | ) |
FunctionPass * llvm::createDomViewerPass | ( | ) |
Definition at line 210 of file DomPrinter.cpp.
ModulePass* llvm::createDSAAPass | ( | ) |
ModulePass* llvm::createDSOptPass | ( | ) |
FunctionPass * llvm::createDwarfEHPass | ( | const TargetMachine * | TM | ) |
createDwarfEHPass - This pass mulches exception handling code into a form adapted to code generation. Required if using dwarf exception handling.
Definition at line 62 of file DwarfEHPrepare.cpp.
Referenced by llvm::TargetPassConfig::addPassesToHandleExceptions().
FunctionPass * llvm::createEarlyCSEPass | ( | ) |
Definition at line 390 of file EarlyCSE.cpp.
Referenced by LLVMAddEarlyCSEPass(), llvm::PassManagerBuilder::populateFunctionPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
MCAsmParserExtension * llvm::createELFAsmParser | ( | ) |
Definition at line 678 of file ELFAsmParser.cpp.
MCObjectWriter * llvm::createELFObjectWriter | ( | MCELFObjectTargetWriter * | MOTW, |
raw_ostream & | OS, | ||
bool | IsLittleEndian | ||
) |
Construct a new ELF writer instance.
MOTW | - The target specific ELF writer subclass. |
OS | - The stream to write to. |
Definition at line 1614 of file ELFObjectWriter.cpp.
Referenced by createAArch64ELFObjectWriter(), createAMDGPUELFObjectWriter(), createARMELFObjectWriter(), createMipsELFObjectWriter(), createPPCELFObjectWriter(), createSystemZObjectWriter(), and createX86ELFObjectWriter().
MCStreamer * llvm::createELFStreamer | ( | MCContext & | Ctx, |
MCTargetStreamer * | TargetStreamer, | ||
MCAsmBackend & | TAB, | ||
raw_ostream & | OS, | ||
MCCodeEmitter * | CE, | ||
bool | RelaxAll, | ||
bool | NoExecStack | ||
) |
createELFStreamer - Create a machine code streamer which will generate ELF format object files.
Definition at line 572 of file MCELFStreamer.cpp.
References llvm::MCObjectStreamer::getAssembler(), llvm::MCAssembler::setNoExecStack(), and llvm::MCAssembler::setRelaxAll().
Referenced by createMCStreamer(), and createSystemZMCObjectStreamer().
FunctionPass* llvm::createEmitX86CodeToMemory | ( | ) |
createX86EmitCodeToMemory - Returns a pass that converts a register allocated function into raw machine code in a dynamically allocated chunk of memory.
FunctionPass * llvm::createExecutionDependencyFixPass | ( | const TargetRegisterClass * | RC | ) |
createExecutionDependencyFixPass - This pass fixes execution time problems with dependent instructions, such as switching execution domains to match.
The pass will examine instructions using and defining registers in RC.
Definition at line 796 of file ExecutionDepsFix.cpp.
llvm::ScheduleDAGSDNodes * llvm::createFastDAGScheduler | ( | SelectionDAGISel * | IS, |
CodeGenOpt::Level | OptLevel | ||
) |
createFastDAGScheduler - This creates a "fast" scheduler.
Definition at line 792 of file ScheduleDAGFast.cpp.
References llvm::SelectionDAGISel::MF.
FunctionPass * llvm::createFastRegisterAllocator | ( | ) |
FastRegisterAllocation Pass - This pass register allocates as fast as possible. It is best suited for debug code where live ranges are short.
Definition at line 1111 of file RegAllocFast.cpp.
Referenced by llvm::TargetPassConfig::createTargetRegisterAllocator().
Flatten the false FunctionPass * llvm::createFlattenCFGPass | ( | ) |
Definition at line 48 of file FlattenCFGPass.cpp.
createFunctionAttrsPass - This pass discovers functions that do not access memory, or only read memory, and gives them the readnone/readonly attribute. It also discovers function arguments that are not captured by the function and marks them with the nocapture attribute.
Definition at line 145 of file FunctionAttrs.cpp.
Referenced by LLVMAddFunctionAttrsPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
createFunctionInliningPass - Return a new pass object that uses a heuristic to inline direct function calls to small functions.
The -inline-threshold command line option takes precedence over the threshold given here.
Definition at line 69 of file InlineSimple.cpp.
Referenced by LLVMAddFunctionInliningPass(), LLVMPassManagerBuilderUseInlinerWithThreshold(), and llvm::PassManagerBuilder::populateLTOPassManager().
Pass * llvm::createFunctionInliningPass | ( | int | Threshold | ) |
Definition at line 71 of file InlineSimple.cpp.
FunctionPass * llvm::createGCInfoPrinter | ( | raw_ostream & | OS | ) |
Creates a pass to print GC metadata.
Definition at line 117 of file GCMetadata.cpp.
References Printer.
Referenced by llvm::TargetPassConfig::addMachinePasses().
FunctionPass* llvm::createGCLoweringPass | ( | ) |
GCLowering Pass - Performs target-independent LLVM IR transformations for highly portable strategies.
Referenced by llvm::TargetPassConfig::addIRPasses().
ModulePass* llvm::createGCOVProfilerPass | ( | const GCOVOptions & | Options = GCOVOptions::getDefault() | ) |
ModulePass * llvm::createGenericToNVVMPass | ( | ) |
Definition at line 71 of file NVPTXGenericToNVVM.cpp.
FunctionPass * llvm::createGlobalBaseRegPass | ( | ) |
createGlobalBaseRegPass - This pass initializes a global base register for PIC on x86-32.
Definition at line 5378 of file X86InstrInfo.cpp.
ModulePass* llvm::createGlobalDCEPass | ( | ) |
createGlobalDCEPass - This transform is designed to eliminate unreachable internal globals (functions or global variables)
Referenced by LLVMAddGlobalDCEPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
Pass * llvm::createGlobalMergePass | ( | const TargetMachine * | TM = 0 | ) |
Definition at line 308 of file GlobalMerge.cpp.
Global Variable false ModulePass * llvm::createGlobalOptimizerPass | ( | ) |
createGlobalOptimizerPass - This function returns a new pass that optimizes non-address taken internal globals.
Definition at line 98 of file GlobalOpt.cpp.
Referenced by LLVMAddGlobalOptimizerPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
Definition at line 197 of file GlobalsModRef.cpp.
Referenced by llvm::PassManagerBuilder::populateLTOPassManager().
std::string llvm::createGraphFilename | ( | const Twine & | Name, |
int & | FD | ||
) |
Definition at line 68 of file GraphWriter.cpp.
References llvm::sys::fs::createTemporaryFile(), errs(), llvm::error_code::message(), and llvm::SmallString< InternalLen >::str().
Referenced by WriteGraph().
FunctionPass * llvm::createGreedyRegisterAllocator | ( | ) |
Greedy register allocation pass - This pass implements a global register allocator for optimized builds.
Definition at line 307 of file RegAllocGreedy.cpp.
Referenced by llvm::TargetPassConfig::createTargetRegisterAllocator().
ModulePass * llvm::createGVExtractionPass | ( | std::vector< GlobalValue * > & | GVs, |
bool | deleteFn = false |
||
) |
createGVExtractionPass - If deleteFn is true, this pass deletes the specified global values. Otherwise, it deletes as much of the module as possible, except for the global values specified.
Definition at line 152 of file ExtractGV.cpp.
FunctionPass * llvm::createGVNPass | ( | bool | NoLoads = false | ) |
Definition at line 724 of file GVN.cpp.
Referenced by LLVMAddGVNPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
FunctionPass * llvm::createHexagonCFGOptimizer | ( | const HexagonTargetMachine & | TM | ) |
Definition at line 250 of file HexagonCFGOptimizer.cpp.
FunctionPass * llvm::createHexagonCopyToCombine | ( | ) |
Definition at line 675 of file HexagonCopyToCombine.cpp.
FunctionPass* llvm::createHexagonDelaySlotFillerPass | ( | const TargetMachine & | TM | ) |
FunctionPass * llvm::createHexagonExpandPredSpillCode | ( | const HexagonTargetMachine & | TM | ) |
Definition at line 199 of file HexagonExpandPredSpillCode.cpp.
FunctionPass* llvm::createHexagonFixupHwLoops | ( | ) |
FunctionPass* llvm::createHexagonFPMoverPass | ( | const TargetMachine & | TM | ) |
FunctionPass * llvm::createHexagonHardwareLoops | ( | ) |
Definition at line 291 of file HexagonHardwareLoops.cpp.
FunctionPass * llvm::createHexagonISelDag | ( | HexagonTargetMachine & | TM, |
CodeGenOpt::Level | OptLevel | ||
) |
createHexagonISelDag - This pass converts a legalized DAG into a Hexagon-specific DAG, ready for instruction scheduling.
Definition at line 181 of file HexagonISelDAGToDAG.cpp.
FunctionPass * llvm::createHexagonNewValueJump | ( | ) |
Definition at line 655 of file HexagonNewValueJump.cpp.
FunctionPass * llvm::createHexagonPacketizer | ( | ) |
Definition at line 1424 of file HexagonVLIWPacketizer.cpp.
FunctionPass * llvm::createHexagonPeephole | ( | ) |
Definition at line 344 of file HexagonPeephole.cpp.
FunctionPass * llvm::createHexagonRemoveExtendArgs | ( | const HexagonTargetMachine & | TM | ) |
Definition at line 87 of file HexagonRemoveSZExtArgs.cpp.
FunctionPass * llvm::createHexagonSplitConst32AndConst64 | ( | const HexagonTargetMachine & | TM | ) |
Definition at line 172 of file HexagonSplitConst32AndConst64.cpp.
FunctionPass * llvm::createHexagonSplitTFRCondSets | ( | const HexagonTargetMachine & | TM | ) |
Definition at line 233 of file HexagonSplitTFRCondSets.cpp.
llvm::ScheduleDAGSDNodes * llvm::createHybridListDAGScheduler | ( | SelectionDAGISel * | IS, |
CodeGenOpt::Level | OptLevel | ||
) |
createHybridListDAGScheduler - This creates a bottom up register pressure aware list scheduler that make use of latency information to avoid stalls for long latency instructions in low register pressure mode. In high register pressure mode it schedules to reduce register pressure.
Definition at line 3012 of file ScheduleDAGRRList.cpp.
References llvm::TargetMachine::getInstrInfo(), llvm::TargetMachine::getRegisterInfo(), llvm::SelectionDAGISel::getTargetLowering(), llvm::SelectionDAGISel::MF, TII, llvm::SelectionDAGISel::TM, and llvm::SystemZISD::TM.
Referenced by createDefaultScheduler().
llvm::ScheduleDAGSDNodes * llvm::createILPListDAGScheduler | ( | SelectionDAGISel * | IS, |
CodeGenOpt::Level | OptLevel | ||
) |
createILPListDAGScheduler - This creates a bottom up register pressure aware list scheduler that tries to increase instruction level parallelism in low register pressure mode. In high register pressure mode it schedules to reduce register pressure.
Definition at line 3028 of file ScheduleDAGRRList.cpp.
References llvm::TargetMachine::getInstrInfo(), llvm::TargetMachine::getRegisterInfo(), llvm::SelectionDAGISel::getTargetLowering(), llvm::SelectionDAGISel::MF, TII, llvm::SelectionDAGISel::TM, and llvm::SystemZISD::TM.
Referenced by createDefaultScheduler().
Definition at line 130 of file IndVarSimplify.cpp.
Referenced by LLVMAddIndVarSimplifyPass(), and llvm::PassManagerBuilder::populateModulePassManager().
raw_ostream * llvm::CreateInfoOutputFile | ( | ) |
Definition at line 57 of file Timer.cpp.
References llvm::lltok::Error, errs(), llvm::sys::fs::F_Append, and getLibSupportInfoOutputFilename().
Referenced by PrintStatistics().
DIVariable llvm::createInlinedVariable | ( | MDNode * | DV, |
MDNode * | InlinedScope, | ||
LLVMContext & | VMContext | ||
) |
createInlinedVariable - Create a new inlined variable based on current variable.
DV | Current Variable. |
InlinedScope | Location at current variable is inlined. |
Definition at line 865 of file DebugInfo.cpp.
References llvm::MDNode::get(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by fixupLineNumbers().
Spiller * llvm::createInlineSpiller | ( | MachineFunctionPass & | pass, |
MachineFunction & | mf, | ||
VirtRegMap & | vrm | ||
) |
Create and return a spiller that will insert spill code directly instead of deferring though VirtRegMap.
Definition at line 191 of file InlineSpiller.cpp.
Referenced by createSpiller().
FunctionPass* llvm::createInstCountPass | ( | ) |
FunctionPass * llvm::createInstructionCombiningPass | ( | ) |
Definition at line 2529 of file InstructionCombining.cpp.
Referenced by LLVMAddInstructionCombiningPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
FunctionPass* llvm::createInstructionNamerPass | ( | ) |
FunctionPass * llvm::createInstructionSimplifierPass | ( | ) |
Definition at line 98 of file SimplifyInstructions.cpp.
ModulePass * llvm::createInternalizePass | ( | ArrayRef< const char * > | ExportList | ) |
createInternalizePass - This pass loops over all of the functions in the input module, internalizing all globals (functions and variables) it can.
The symbols in ExportList
are never internalized.
The symbol in DSOList are internalized if it is safe to drop them from the symbol table.
Note that commandline options that are used with the above function are not used now!
Definition at line 220 of file Internalize.cpp.
Referenced by LLVMAddInternalizePass(), and llvm::PassManagerBuilder::populateLTOPassManager().
ModulePass * llvm::createInternalizePass | ( | ) |
createInternalizePass - Same as above, but with an empty exportList.
Definition at line 216 of file Internalize.cpp.
ModulePass* llvm::createIPConstantPropagationPass | ( | ) |
createIPConstantPropagationPass - This pass propagates constants from call sites into the bodies of functions.
Referenced by LLVMAddIPConstantPropagationPass().
Interprocedural Sparse Conditional Constant false ModulePass * llvm::createIPSCCPPass | ( | ) |
createIPSCCPPass - This pass propagates constants from call sites into the bodies of functions, and keeps track of whether basic blocks are executable in the process.
Definition at line 1652 of file SCCP.cpp.
Referenced by LLVMAddIPSCCPPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
Definition at line 42 of file IVUsers.cpp.
jump Jump false FunctionPass * llvm::createJumpThreadingPass | ( | ) |
Definition at line 146 of file JumpThreading.cpp.
Referenced by LLVMAddJumpThreadingPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
FunctionPass * llvm::createLazyValueInfoPass | ( | ) |
createLazyValueInfoPass - This creates an instance of the LazyValueInfo pass.
Definition at line 45 of file LazyValueInfo.cpp.
FunctionPass* llvm::createLibCallAliasAnalysisPass | ( | LibCallInfo * | LCI | ) |
createLibCallAliasAnalysisPass - Create an alias analysis pass that knows about the semantics of a set of libcalls specified by LCI. The newly constructed pass takes ownership of the pointer that is provided.
Pass * llvm::createLICMPass | ( | ) |
Definition at line 199 of file LICM.cpp.
Referenced by LLVMAddLICMPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
FunctionPass * llvm::createLintPass | ( | ) |
Definition at line 72 of file LoopDeletion.cpp.
Referenced by LLVMAddLoopDeletionPass(), and llvm::PassManagerBuilder::populateModulePassManager().
Pass* llvm::createLoopExtractorPass | ( | ) |
createLoopExtractorPass - This pass extracts all natural loops from the program into a function if it can.
Definition at line 225 of file LoopIdiomRecognize.cpp.
Referenced by LLVMAddLoopIdiomPass(), and llvm::PassManagerBuilder::populateModulePassManager().
loop Simplify instructions in false Pass * llvm::createLoopInstSimplifyPass | ( | ) |
Definition at line 63 of file LoopInstSimplify.cpp.
Pass * llvm::createLoopRerollPass | ( | ) |
Definition at line 348 of file LoopRerollPass.cpp.
Referenced by LLVMAddLoopRerollPass(), and llvm::PassManagerBuilder::populateModulePassManager().
Pass * llvm::createLoopRotatePass | ( | ) |
Definition at line 76 of file LoopRotation.cpp.
Referenced by LLVMAddLoopRotatePass(), and llvm::PassManagerBuilder::populateModulePassManager().
Pass * llvm::createLoopSimplifyPass | ( | ) |
Definition at line 124 of file LoopSimplify.cpp.
Referenced by llvm::HexagonTargetMachine::addPassesForOptimizations().
Definition at line 4886 of file LoopStrengthReduce.cpp.
Referenced by llvm::TargetPassConfig::addIRPasses(), and llvm::HexagonTargetMachine::addPassesForOptimizations().
Pass * llvm::createLoopUnrollPass | ( | int | Threshold = -1 , |
int | Count = -1 , |
||
int | AllowPartial = -1 , |
||
int | Runtime = -1 |
||
) |
Definition at line 122 of file LoopUnrollPass.cpp.
Referenced by llvm::HexagonTargetMachine::addPassesForOptimizations(), LLVMAddLoopUnrollPass(), and llvm::PassManagerBuilder::populateModulePassManager().
Definition at line 344 of file LoopUnswitch.cpp.
Referenced by LLVMAddLoopUnswitchPass(), and llvm::PassManagerBuilder::populateModulePassManager().
Definition at line 5010 of file LoopVectorize.cpp.
Referenced by LLVMAddLoopVectorizePass(), and llvm::PassManagerBuilder::populateModulePassManager().
FunctionPass * llvm::createLowerAggrCopies | ( | ) |
Definition at line 203 of file NVPTXLowerAggrCopies.cpp.
Pass* llvm::createLowerAtomicPass | ( | ) |
FunctionPass* llvm::createLowerExpectIntrinsicPass | ( | ) |
FunctionPass* llvm::createLowerInvokePass | ( | const TargetMachine * | TM = 0 , |
bool | useExpensiveEHSupport = false |
||
) |
Referenced by llvm::TargetPassConfig::addPassesToHandleExceptions().
FunctionPass* llvm::createLowerSwitchPass | ( | ) |
MachineFunctionPass* llvm::createMachineFunctionPrinterPass | ( | raw_ostream & | OS, |
const std::string & | Banner = "" |
||
) |
MachineFunctionPrinter pass - This pass prints out the machine function to the given stream as a debugging tool.
Referenced by INITIALIZE_PASS(), and llvm::TargetPassConfig::printAndVerify().
FunctionPass* llvm::createMachineVerifierPass | ( | const char * | Banner = 0 | ) |
createMachineVerifierPass - This pass verifies cenerated machine code instructions for correctness.
Referenced by llvm::TargetPassConfig::printAndVerify().
MCObjectWriter * llvm::createMachObjectWriter | ( | MCMachObjectTargetWriter * | MOTW, |
raw_ostream & | OS, | ||
bool | IsLittleEndian | ||
) |
Construct a new Mach-O writer instance.
This routine takes ownership of the target writer subclass.
MOTW | - The target specific Mach-O writer subclass. |
OS | - The stream to write to. |
Definition at line 954 of file MachObjectWriter.cpp.
Referenced by createARMMachObjectWriter(), createPPCMachObjectWriter(), and createX86MachObjectWriter().
MCStreamer * llvm::createMachOStreamer | ( | MCContext & | Ctx, |
MCAsmBackend & | TAB, | ||
raw_ostream & | OS, | ||
MCCodeEmitter * | CE, | ||
bool | RelaxAll = false |
||
) |
createMachOStreamer - Create a machine code streamer which will generate Mach-O format object files.
Takes ownership of TAB
and CE
.
Definition at line 433 of file MCMachOStreamer.cpp.
Referenced by createMCStreamer().
MCAsmParser * llvm::createMCAsmParser | ( | SourceMgr & | SM, |
MCContext & | C, | ||
MCStreamer & | Out, | ||
const MCAsmInfo & | MAI | ||
) |
Create an MCAsmParser instance.
Definition at line 4312 of file AsmParser.cpp.
MCStreamer * llvm::createMCAsmStreamer | ( | MCContext & | Ctx, |
formatted_raw_ostream & | OS, | ||
bool | isVerboseAsm, | ||
bool | useLoc, | ||
bool | useCFI, | ||
bool | useDwarfDirectory, | ||
MCInstPrinter * | InstPrint, | ||
MCCodeEmitter * | CE, | ||
MCAsmBackend * | TAB, | ||
bool | ShowInst | ||
) |
Definition at line 921 of file ARMELFStreamer.cpp.
References createAsmStreamer().
Referenced by LLVMInitializeARMTargetMC(), LLVMInitializeMipsTargetMC(), and LLVMInitializePowerPCTargetMC().
MCRelocationInfo * llvm::createMCRelocationInfo | ( | StringRef | TT, |
MCContext & | Ctx | ||
) |
Definition at line 37 of file MCRelocationInfo.cpp.
Referenced by createARMMCRelocationInfo(), llvm::Target::createMCRelocationInfo(), and createX86MCRelocationInfo().
MCSymbolizer * llvm::createMCSymbolizer | ( | StringRef | TT, |
LLVMOpInfoCallback | GetOpInfo, | ||
LLVMSymbolLookupCallback | SymbolLookUp, | ||
void * | DisInfo, | ||
MCContext * | Ctx, | ||
MCRelocationInfo * | RelInfo | ||
) |
Definition at line 170 of file MCExternalSymbolizer.cpp.
Referenced by llvm::Target::createMCSymbolizer().
FunctionPass * llvm::createMemCpyOptPass | ( | ) |
Definition at line 352 of file MemCpyOptimizer.cpp.
Referenced by LLVMAddMemCpyOptPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
print Print MemDeps of true FunctionPass * llvm::createMemDepPrinter | ( | ) |
Definition at line 87 of file MemDepPrinter.cpp.
FunctionPass* llvm::createMemorySanitizerPass | ( | bool | TrackOrigins = false , |
StringRef | BlacklistFile = StringRef() |
||
) |
ModulePass * llvm::createMergeFunctionsPass | ( | ) |
createMergeFunctionsPass - This pass discovers identical functions and collapses them.
Definition at line 620 of file MergeFunctions.cpp.
ModulePass* llvm::createMetaRenamerPass | ( | ) |
const MipsFrameLowering * llvm::createMips16FrameLowering | ( | const MipsSubtarget & | ST | ) |
Create MipsFrameLowering objects.
Definition at line 178 of file Mips16FrameLowering.cpp.
Referenced by llvm::MipsFrameLowering::create().
ModulePass * llvm::createMips16HardFloat | ( | MipsTargetMachine & | TM | ) |
Definition at line 514 of file Mips16HardFloat.cpp.
References Mips16HardFloat.
const MipsInstrInfo * llvm::createMips16InstrInfo | ( | MipsTargetMachine & | TM | ) |
Create MipsInstrInfo objects.
Definition at line 480 of file Mips16InstrInfo.cpp.
Referenced by llvm::MipsInstrInfo::create().
FunctionPass * llvm::createMips16ISelDag | ( | MipsTargetMachine & | TM | ) |
Definition at line 314 of file Mips16ISelDAGToDAG.cpp.
Referenced by createMipsISelDag().
const MipsTargetLowering * llvm::createMips16TargetLowering | ( | MipsTargetMachine & | TM | ) |
Create MipsTargetLowering objects.
Definition at line 157 of file Mips16ISelLowering.cpp.
Referenced by llvm::MipsTargetLowering::create().
MCAsmBackend * llvm::createMipsAsmBackendEB32 | ( | const Target & | T, |
const MCRegisterInfo & | MRI, | ||
StringRef | TT, | ||
StringRef | CPU | ||
) |
Definition at line 289 of file MipsAsmBackend.cpp.
Referenced by LLVMInitializeMipsTargetMC().
MCAsmBackend * llvm::createMipsAsmBackendEB64 | ( | const Target & | T, |
const MCRegisterInfo & | MRI, | ||
StringRef | TT, | ||
StringRef | CPU | ||
) |
Definition at line 305 of file MipsAsmBackend.cpp.
Referenced by LLVMInitializeMipsTargetMC().
MCAsmBackend * llvm::createMipsAsmBackendEL32 | ( | const Target & | T, |
const MCRegisterInfo & | MRI, | ||
StringRef | TT, | ||
StringRef | CPU | ||
) |
Definition at line 281 of file MipsAsmBackend.cpp.
Referenced by LLVMInitializeMipsTargetMC().
MCAsmBackend * llvm::createMipsAsmBackendEL64 | ( | const Target & | T, |
const MCRegisterInfo & | MRI, | ||
StringRef | TT, | ||
StringRef | CPU | ||
) |
Definition at line 297 of file MipsAsmBackend.cpp.
Referenced by LLVMInitializeMipsTargetMC().
FunctionPass * llvm::createMipsConstantIslandPass | ( | MipsTargetMachine & | tm | ) |
createMipsLongBranchPass - Returns a pass that converts branches to long branches.
Definition at line 349 of file MipsConstantIslandPass.cpp.
FunctionPass * llvm::createMipsDelaySlotFillerPass | ( | MipsTargetMachine & | tm | ) |
createMipsDelaySlotFillerPass - Returns a pass that fills in delay slots in Mips MachineFunctions
Definition at line 526 of file MipsDelaySlotFiller.cpp.
MCObjectWriter * llvm::createMipsELFObjectWriter | ( | raw_ostream & | OS, |
uint8_t | OSABI, | ||
bool | IsLittleEndian, | ||
bool | Is64Bit | ||
) |
Definition at line 316 of file MipsELFObjectWriter.cpp.
References createELFObjectWriter().
FunctionPass * llvm::createMipsISelDag | ( | MipsTargetMachine & | TM | ) |
createMipsISelDag - This pass converts a legalized DAG into a MIPS-specific DAG, ready for instruction scheduling.
Definition at line 227 of file MipsISelDAGToDAG.cpp.
References createMips16ISelDag(), createMipsSEISelDag(), llvm::MipsTargetMachine::getSubtargetImpl(), and llvm::MipsSubtarget::inMips16Mode().
FunctionPass * llvm::createMipsJITCodeEmitterPass | ( | MipsTargetMachine & | TM, |
JITCodeEmitter & | JCE | ||
) |
createMipsJITCodeEmitterPass - Return a pass that emits the collected Mips code to the specified MCE object.
Definition at line 394 of file MipsCodeEmitter.cpp.
Referenced by llvm::MipsTargetMachine::addCodeEmitter().
FunctionPass * llvm::createMipsLongBranchPass | ( | MipsTargetMachine & | tm | ) |
createMipsLongBranchPass - Returns a pass that converts branches to long branches.
Definition at line 99 of file MipsLongBranch.cpp.
MCCodeEmitter * llvm::createMipsMCCodeEmitterEB | ( | const MCInstrInfo & | MCII, |
const MCRegisterInfo & | MRI, | ||
const MCSubtargetInfo & | STI, | ||
MCContext & | Ctx | ||
) |
Definition at line 129 of file MipsMCCodeEmitter.cpp.
Referenced by LLVMInitializeMipsTargetMC().
MCCodeEmitter * llvm::createMipsMCCodeEmitterEL | ( | const MCInstrInfo & | MCII, |
const MCRegisterInfo & | MRI, | ||
const MCSubtargetInfo & | STI, | ||
MCContext & | Ctx | ||
) |
Definition at line 137 of file MipsMCCodeEmitter.cpp.
Referenced by LLVMInitializeMipsTargetMC().
llvm::FunctionPass * llvm::createMipsModuleISelDag | ( | MipsTargetMachine & | TM | ) |
createMipsISelDag - This pass converts a legalized DAG into a MIPS-specific DAG, ready for instruction scheduling.
Definition at line 30 of file MipsModuleISelDAGToDAG.cpp.
ModulePass * llvm::createMipsOs16 | ( | MipsTargetMachine & | TM | ) |
Definition at line 142 of file MipsOs16.cpp.
const MipsFrameLowering * llvm::createMipsSEFrameLowering | ( | const MipsSubtarget & | ST | ) |
Definition at line 547 of file MipsSEFrameLowering.cpp.
Referenced by llvm::MipsFrameLowering::create().
const MipsInstrInfo * llvm::createMipsSEInstrInfo | ( | MipsTargetMachine & | TM | ) |
Definition at line 569 of file MipsSEInstrInfo.cpp.
Referenced by llvm::MipsInstrInfo::create().
FunctionPass * llvm::createMipsSEISelDag | ( | MipsTargetMachine & | TM | ) |
Definition at line 847 of file MipsSEISelDAGToDAG.cpp.
Referenced by createMipsISelDag().
const MipsTargetLowering * llvm::createMipsSETargetLowering | ( | MipsTargetMachine & | TM | ) |
Definition at line 154 of file MipsSEISelLowering.cpp.
Referenced by llvm::MipsTargetLowering::create().
FunctionPass * llvm::createMLxExpansionPass | ( | ) |
Definition at line 397 of file MLxExpansionPass.cpp.
ModulePass* llvm::createModuleDebugInfoPrinterPass | ( | ) |
FunctionPass * llvm::createMSP430BranchSelectionPass | ( | ) |
createMSP430BranchSelectionPass - returns an instance of the Branch Selection Pass
Definition at line 50 of file MSP430BranchSelector.cpp.
FunctionPass * llvm::createMSP430ISelDag | ( | MSP430TargetMachine & | TM, |
CodeGenOpt::Level | OptLevel | ||
) |
createMSP430ISelDag - This pass converts a legalized DAG into a MSP430-specific DAG, ready for instruction scheduling.
Definition at line 130 of file MSP430ISelDAGToDAG.cpp.
ImmutablePass* llvm::createNoAAPass | ( | ) |
ImmutablePass* llvm::createNoTargetTransformInfoPass | ( | ) |
Create the base case instance of a pass in the TTI analysis group.
This class provides the base case for the stack of TTI analyzes. It doesn't delegate to anything and uses the STTI and VTTI objects passed in to satisfy the queries.
Referenced by llvm::MipsTargetMachine::addAnalysisPasses().
MCStreamer * llvm::createNullStreamer | ( | MCContext & | Ctx | ) |
createNullStreamer - Create a dummy machine code streamer, which does nothing. This is useful for timing the assembler front end.
Definition at line 116 of file MCNullStreamer.cpp.
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile().
FunctionPass * llvm::createNVPTXISelDag | ( | NVPTXTargetMachine & | TM, |
llvm::CodeGenOpt::Level | OptLevel | ||
) |
createNVPTXISelDag - This pass converts a legalized DAG into a NVPTX-specific DAG, ready for instruction scheduling.
Definition at line 53 of file NVPTXISelDAGToDAG.cpp.
MachineFunctionPass * llvm::createNVPTXPrologEpilogPass | ( | ) |
Definition at line 41 of file NVPTXPrologEpilogPass.cpp.
ModulePass * llvm::createNVVMReflectPass | ( | ) |
Definition at line 73 of file NVVMReflect.cpp.
ModulePass * llvm::createNVVMReflectPass | ( | const StringMap< int > & | Mapping | ) |
Definition at line 77 of file NVVMReflect.cpp.
ImmutablePass* llvm::createObjCARCAliasAnalysisPass | ( | ) |
Pass* llvm::createObjCARCAPElimPass | ( | ) |
Definition at line 102 of file ObjCARCContract.cpp.
Pass* llvm::createObjCARCExpandPass | ( | ) |
ModulePass* llvm::createPartialInliningPass | ( | ) |
createPartialInliningPass - This pass inlines parts of functions.
FunctionPass * llvm::createPartiallyInlineLibCallsPass | ( | ) |
Definition at line 154 of file PartiallyInlineLibCalls.cpp.
Referenced by LLVMAddPartiallyInlineLibCallsPass().
FunctionPass * llvm::createPBQPRegisterAllocator | ( | OwningPtr< PBQPBuilder > & | builder, |
char * | customPassID = 0 |
||
) |
Definition at line 626 of file RegAllocPBQP.cpp.
Referenced by createDefaultPBQPRegisterAllocator().
FunctionPass * llvm::createPostDomOnlyPrinterPass | ( | ) |
Definition at line 222 of file DomPrinter.cpp.
FunctionPass * llvm::createPostDomOnlyViewerPass | ( | ) |
Definition at line 230 of file DomPrinter.cpp.
FunctionPass * llvm::createPostDomPrinterPass | ( | ) |
Definition at line 218 of file DomPrinter.cpp.
FunctionPass * llvm::createPostDomTree | ( | ) |
Definition at line 48 of file PostDominators.cpp.
FunctionPass * llvm::createPostDomViewerPass | ( | ) |
Definition at line 226 of file DomPrinter.cpp.
MCAsmBackend * llvm::createPPCAsmBackend | ( | const Target & | T, |
const MCRegisterInfo & | MRI, | ||
StringRef | TT, | ||
StringRef | CPU | ||
) |
Definition at line 198 of file PPCAsmBackend.cpp.
References llvm::MCELFObjectTargetWriter::getOSABI().
Referenced by LLVMInitializePowerPCTargetMC().
FunctionPass* llvm::createPPCBranchSelectionPass | ( | ) |
ppc ctr PowerPC CTR false FunctionPass * llvm::createPPCCTRLoops | ( | PPCTargetMachine & | TM | ) |
Definition at line 154 of file PPCCTRLoops.cpp.
ppc ctr loops PowerPC CTR Loops false FunctionPass * llvm::createPPCCTRLoopsVerify | ( | ) |
Definition at line 165 of file PPCCTRLoops.cpp.
FunctionPass* llvm::createPPCEarlyReturnPass | ( | ) |
MCObjectWriter * llvm::createPPCELFObjectWriter | ( | raw_ostream & | OS, |
bool | Is64Bit, | ||
uint8_t | OSABI | ||
) |
createPPCELFObjectWriter - Construct an PPC ELF object writer.
Definition at line 414 of file PPCELFObjectWriter.cpp.
References createELFObjectWriter().
FunctionPass * llvm::createPPCISelDag | ( | PPCTargetMachine & | TM | ) |
createPPCISelDag - This pass converts a legalized DAG into a PowerPC-specific DAG, ready for instruction scheduling.
Definition at line 1546 of file PPCISelDAGToDAG.cpp.
FunctionPass * llvm::createPPCJITCodeEmitterPass | ( | PPCTargetMachine & | TM, |
JITCodeEmitter & | JCE | ||
) |
createPPCCodeEmitterPass - Return a pass that emits the collected PPC code to the specified MCE object.
Definition at line 92 of file PPCCodeEmitter.cpp.
Referenced by llvm::PPCTargetMachine::addCodeEmitter().
MCObjectWriter * llvm::createPPCMachObjectWriter | ( | raw_ostream & | OS, |
bool | Is64Bit, | ||
uint32_t | CPUType, | ||
uint32_t | CPUSubtype | ||
) |
createPPCELFObjectWriter - Construct a PPC Mach-O object writer.
Definition at line 383 of file PPCMachObjectWriter.cpp.
References createMachObjectWriter().
MCCodeEmitter * llvm::createPPCMCCodeEmitter | ( | const MCInstrInfo & | MCII, |
const MCRegisterInfo & | MRI, | ||
const MCSubtargetInfo & | STI, | ||
MCContext & | Ctx | ||
) |
Definition at line 109 of file PPCMCCodeEmitter.cpp.
Referenced by LLVMInitializePowerPCTargetMC().
ImmutablePass* llvm::createPPCTargetTransformInfoPass | ( | const PPCTargetMachine * | TM | ) |
Creates an PPC-specific Target Transformation Info pass.
Referenced by llvm::PPCTargetMachine::addAnalysisPasses().
BasicBlockPass * llvm::createPrintBasicBlockPass | ( | llvm::raw_ostream * | OS, |
bool | DeleteStream = false , |
||
const std::string & | Banner = "" |
||
) |
createPrintBasicBlockPass - Create and return a pass that writes the BB to the specified raw_ostream.
Definition at line 131 of file PrintModulePass.cpp.
Referenced by llvm::BasicBlockPass::createPrinterPass().
FunctionPass * llvm::createPrintFunctionPass | ( | const std::string & | Banner, |
llvm::raw_ostream * | OS, | ||
bool | DeleteStream = false |
||
) |
createPrintFunctionPass - Create and return a pass that prints functions to the specified raw_ostream as they are processed.
Definition at line 123 of file PrintModulePass.cpp.
Referenced by llvm::TargetPassConfig::addIRPasses(), llvm::TargetPassConfig::addISelPrepare(), llvm::legacy::FunctionPassManagerImpl::createPrinterPass(), and llvm::FunctionPass::createPrinterPass().
ModulePass* llvm::createPrintModulePass | ( | raw_ostream * | OS, |
bool | DeleteStream = false , |
||
const std::string & | Banner = "" |
||
) |
createPrintModulePass - Create and return a pass that writes the module to the specified raw_ostream.
Referenced by llvm::LLVMTargetMachine::addPassesToEmitFile(), llvm::ModulePass::createPrinterPass(), and llvm::legacy::PassManagerImpl::createPrinterPass().
FunctionPass * llvm::createPromoteMemoryToRegisterPass | ( | ) |
Definition at line 88 of file Mem2Reg.cpp.
Referenced by LLVMAddPromoteMemoryToRegisterPass().
createPruneEHPass - Return a new pass object which transforms invoke instructions into calls, if the callee can not unwind the stack.
Definition at line 58 of file PruneEH.cpp.
Referenced by LLVMAddPruneEHPass(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
MCStreamer * llvm::createPureStreamer | ( | MCContext & | Ctx, |
MCAsmBackend & | TAB, | ||
raw_ostream & | OS, | ||
MCCodeEmitter * | CE | ||
) |
createPureStreamer - Create a machine code streamer which will generate "pure" MC object files, for use with MC-JIT and testing tools.
Takes ownership of TAB
and CE
.
Definition at line 232 of file MCPureStreamer.cpp.
llvm::FunctionPass * llvm::createR600ClauseMergePass | ( | TargetMachine & | tm | ) |
Definition at line 202 of file R600ClauseMergePass.cpp.
llvm::FunctionPass * llvm::createR600ControlFlowFinalizer | ( | TargetMachine & | tm | ) |
Definition at line 523 of file R600ControlFlowFinalizer.cpp.
llvm::FunctionPass * llvm::createR600EmitClauseMarkers | ( | TargetMachine & | tm | ) |
Definition at line 322 of file R600EmitClauseMarkers.cpp.
FunctionPass * llvm::createR600ExpandSpecialInstrsPass | ( | TargetMachine & | tm | ) |
Definition at line 54 of file R600ExpandSpecialInstrs.cpp.
MCCodeEmitter * llvm::createR600MCCodeEmitter | ( | const MCInstrInfo & | MCII, |
const MCRegisterInfo & | MRI, | ||
const MCSubtargetInfo & | STI | ||
) |
Definition at line 83 of file R600MCCodeEmitter.cpp.
Referenced by createAMDGPUMCCodeEmitter().
llvm::FunctionPass * llvm::createR600Packetizer | ( | TargetMachine & | tm | ) |
Definition at line 402 of file R600Packetizer.cpp.
FunctionPass * llvm::createR600TextureIntrinsicsReplacer | ( | ) |
Definition at line 301 of file R600TextureIntrinsicsReplacer.cpp.
llvm::FunctionPass * llvm::createR600VectorRegMerger | ( | TargetMachine & | tm | ) |
Definition at line 378 of file R600OptimizeVectorRegisters.cpp.
FunctionPass* llvm::createReassociatePass | ( | ) |
Referenced by LLVMAddReassociatePass(), and llvm::PassManagerBuilder::populateModulePassManager().
FunctionPass * llvm::createRegionInfoPass | ( | ) |
Definition at line 861 of file RegionInfo.cpp.
FunctionPass * llvm::createRegionOnlyPrinterPass | ( | ) |
Definition at line 215 of file RegionPrinter.cpp.
FunctionPass * llvm::createRegionOnlyViewerPass | ( | ) |
Definition at line 207 of file RegionPrinter.cpp.
FunctionPass * llvm::createRegionPrinterPass | ( | ) |
Definition at line 211 of file RegionPrinter.cpp.
FunctionPass* llvm::createRegionViewerPass | ( | ) |
FunctionPass * llvm::createSampleProfileLoaderPass | ( | ) |
Definition at line 473 of file SampleProfile.cpp.
References SampleProfileFile.
FunctionPass * llvm::createSampleProfileLoaderPass | ( | StringRef | Name | ) |
Definition at line 477 of file SampleProfile.cpp.
scev ScalarEvolution based Alias false FunctionPass * llvm::createScalarEvolutionAliasAnalysisPass | ( | ) |
Definition at line 69 of file ScalarEvolutionAliasAnalysis.cpp.
FunctionPass* llvm::createScalarReplAggregatesPass | ( | signed | Threshold = -1 , |
bool | UseDomTree = true , |
||
signed | StructMemberThreshold = -1 , |
||
signed | ArrayElementThreshold = -1 , |
||
signed | ScalarLoadThreshold = -1 |
||
) |
Referenced by LLVMAddScalarReplAggregatesPass(), LLVMAddScalarReplAggregatesPassSSA(), LLVMAddScalarReplAggregatesPassWithThreshold(), llvm::PassManagerBuilder::populateFunctionPassManager(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
FunctionPass* llvm::createSCCPPass | ( | ) |
Referenced by LLVMAddSCCPPass(), and llvm::PassManagerBuilder::populateModulePassManager().
FunctionPass * llvm::createSIAnnotateControlFlowPass | ( | ) |
Create the annotation pass.
Definition at line 329 of file SIAnnotateControlFlow.cpp.
FunctionPass* llvm::createSICodeEmitterPass | ( | formatted_raw_ostream & | OS | ) |
FunctionPass * llvm::createSIFixSGPRCopiesPass | ( | TargetMachine & | tm | ) |
Definition at line 112 of file SIFixSGPRCopies.cpp.
FunctionPass * llvm::createSIInsertWaits | ( | TargetMachine & | tm | ) |
Definition at line 119 of file SIInsertWaits.cpp.
FunctionPass * llvm::createSILowerControlFlowPass | ( | TargetMachine & | tm | ) |
Definition at line 108 of file SILowerControlFlow.cpp.
MCCodeEmitter * llvm::createSIMCCodeEmitter | ( | const MCInstrInfo & | MCII, |
const MCRegisterInfo & | MRI, | ||
const MCSubtargetInfo & | STI, | ||
MCContext & | Ctx | ||
) |
Definition at line 67 of file SIMCCodeEmitter.cpp.
Referenced by createAMDGPUMCCodeEmitter().
Pass * llvm::createSingleLoopExtractorPass | ( | ) |
createSingleLoopExtractorPass - This pass extracts one natural loop from the program into a function if it can. This is used by bugpoint.
Definition at line 151 of file LoopExtractor.cpp.
FunctionPass * llvm::createSinkingPass | ( | ) |
FunctionPass * llvm::createSITypeRewriter | ( | ) |
Definition at line 160 of file SITypeRewriter.cpp.
FunctionPass * llvm::createSjLjEHPreparePass | ( | const TargetMachine * | TM | ) |
createSjLjEHPreparePass - This pass adapts exception handling code to use the GCC-style builtin setjmp/longjmp (sjlj) to handling EH control flow.
Definition at line 84 of file SjLjEHPrepare.cpp.
Referenced by llvm::TargetPassConfig::addPassesToHandleExceptions().
SlotTracker * llvm::createSlotTracker | ( | const Module * | M | ) |
Create a new SlotTracker for a Module.
Definition at line 396 of file AsmWriter.cpp.
|
static |
Definition at line 400 of file AsmWriter.cpp.
Pass * llvm::createSLPVectorizerPass | ( | ) |
Definition at line 2665 of file SLPVectorizer.cpp.
Referenced by LLVMAddSLPVectorizePass(), and llvm::PassManagerBuilder::populateModulePassManager().
llvm::ScheduleDAGSDNodes * llvm::createSourceListDAGScheduler | ( | SelectionDAGISel * | IS, |
CodeGenOpt::Level | OptLevel | ||
) |
createBURRListDAGScheduler - This creates a bottom up list scheduler that schedules nodes in source code order when possible.
Definition at line 2998 of file ScheduleDAGRRList.cpp.
References llvm::TargetMachine::getInstrInfo(), llvm::TargetMachine::getRegisterInfo(), llvm::SelectionDAGISel::MF, TII, llvm::SelectionDAGISel::TM, and llvm::SystemZISD::TM.
Referenced by createDefaultScheduler().
FunctionPass * llvm::createSparcDelaySlotFillerPass | ( | TargetMachine & | tm | ) |
createSparcDelaySlotFillerPass - Returns a pass that fills in delay slots in Sparc MachineFunctions
Definition at line 98 of file DelaySlotFiller.cpp.
FunctionPass * llvm::createSparcISelDag | ( | SparcTargetMachine & | TM | ) |
createSparcISelDag - This pass converts a legalized DAG into a SPARC-specific DAG, ready for instruction scheduling.
Definition at line 219 of file SparcISelDAGToDAG.cpp.
FunctionPass * llvm::createSparcJITCodeEmitterPass | ( | SparcTargetMachine & | TM, |
JITCodeEmitter & | JCE | ||
) |
createSparcJITCodeEmitterPass - Return a pass that emits the collected Sparc code to the specified MCE object.
Definition at line 240 of file SparcCodeEmitter.cpp.
Referenced by llvm::SparcTargetMachine::addCodeEmitter().
llvm::Spiller * llvm::createSpiller | ( | MachineFunctionPass & | pass, |
MachineFunction & | mf, | ||
VirtRegMap & | vrm | ||
) |
Create and return a spiller object, as specified on the command line.
Definition at line 177 of file Spiller.cpp.
References createInlineSpiller(), llvm_unreachable, and spillerOpt.
FunctionPass * llvm::createSplitBBatBarPass | ( | ) |
Definition at line 73 of file NVPTXSplitBBatBar.cpp.
FunctionPass * llvm::createSROAPass | ( | bool | RequiresDomTree = true | ) |
Definition at line 925 of file SROA.cpp.
Referenced by llvm::PassManagerBuilder::populateFunctionPassManager(), llvm::PassManagerBuilder::populateLTOPassManager(), and llvm::PassManagerBuilder::populateModulePassManager().
FunctionPass* llvm::createStackProtectorPass | ( | const TargetMachine * | TM | ) |
createStackProtectorPass - This pass adds stack protectors to functions.
Referenced by llvm::TargetPassConfig::addISelPrepare().
ModulePass* llvm::createSteensgaardPass | ( | ) |
ModulePass* llvm::createStripDeadDebugInfoPass | ( | ) |
ModulePass * llvm::createStripDeadPrototypesPass | ( | ) |
createStripDeadPrototypesPass - This pass removes any function declarations (prototypes) that are not used.
Definition at line 71 of file StripDeadPrototypes.cpp.
Referenced by LLVMAddStripDeadPrototypesPass(), and llvm::PassManagerBuilder::populateModulePassManager().
ModulePass* llvm::createStripDebugDeclarePass | ( | ) |
ModulePass* llvm::createStripNonDebugSymbolsPass | ( | ) |
ModulePass* llvm::createStripSymbolsPass | ( | bool | OnlyDebugInfo = false | ) |
Referenced by LLVMAddStripSymbolsPass().
Pass * llvm::createStructurizeCFGPass | ( | ) |
Create the pass.
Definition at line 904 of file StructurizeCFG.cpp.
FunctionPass * llvm::createSystemZElimComparePass | ( | SystemZTargetMachine & | TM | ) |
Definition at line 95 of file SystemZElimCompare.cpp.
FunctionPass * llvm::createSystemZISelDag | ( | SystemZTargetMachine & | TM, |
CodeGenOpt::Level | OptLevel | ||
) |
Definition at line 337 of file SystemZISelDAGToDAG.cpp.
FunctionPass * llvm::createSystemZLongBranchPass | ( | SystemZTargetMachine & | TM | ) |
Definition at line 168 of file SystemZLongBranch.cpp.
MCAsmBackend * llvm::createSystemZMCAsmBackend | ( | const Target & | T, |
const MCRegisterInfo & | MRI, | ||
StringRef | TT, | ||
StringRef | CPU | ||
) |
Definition at line 121 of file SystemZMCAsmBackend.cpp.
References llvm::MCELFObjectTargetWriter::getOSABI().
Referenced by LLVMInitializeSystemZTargetMC().
MCCodeEmitter * llvm::createSystemZMCCodeEmitter | ( | const MCInstrInfo & | MCII, |
const MCRegisterInfo & | MRI, | ||
const MCSubtargetInfo & | STI, | ||
MCContext & | Ctx | ||
) |
Definition at line 85 of file SystemZMCCodeEmitter.cpp.
Referenced by LLVMInitializeSystemZTargetMC().
MCObjectWriter * llvm::createSystemZObjectWriter | ( | raw_ostream & | OS, |
uint8_t | OSABI | ||
) |
Definition at line 136 of file SystemZMCObjectWriter.cpp.
References createELFObjectWriter().
FunctionPass * llvm::createSystemZShortenInstPass | ( | SystemZTargetMachine & | TM | ) |
Definition at line 51 of file SystemZShortenInst.cpp.
Tail Call false FunctionPass * llvm::createTailCallEliminationPass | ( | ) |
Definition at line 126 of file TailRecursionElimination.cpp.
Referenced by LLVMAddTailCallEliminationPass(), and llvm::PassManagerBuilder::populateModulePassManager().
FunctionPass* llvm::createThreadSanitizerPass | ( | StringRef | BlacklistFile = StringRef() | ) |
FunctionPass * llvm::createThumb2ITBlockPass | ( | ) |
createThumb2ITBlockPass - Returns an instance of the Thumb2 IT blocks insertion pass.
Definition at line 279 of file Thumb2ITBlockPass.cpp.
FunctionPass * llvm::createThumb2SizeReductionPass | ( | ) |
createThumb2SizeReductionPass - Returns an instance of the Thumb2 size reduction pass.
Definition at line 1033 of file Thumb2SizeReduction.cpp.
ImmutablePass* llvm::createTypeBasedAliasAnalysisPass | ( | ) |
Referenced by llvm::TargetPassConfig::addIRPasses(), and LLVMAddTypeBasedAliasAnalysisPass().
Pass* llvm::createUnifyFunctionExitNodesPass | ( | ) |
FunctionPass* llvm::createUnreachableBlockEliminationPass | ( | ) |
createUnreachableBlockEliminationPass - The LLVM code generator does not work well with unreachable basic blocks (what live ranges make sense for a block that cannot be reached?). As such, a code generator should either not instruction select unreachable blocks, or run this pass as its last LLVM modifying pass to clean up blocks that are not reachable from the entry block.
Referenced by llvm::TargetPassConfig::addIRPasses(), and llvm::TargetPassConfig::addPassesToHandleExceptions().
FunctionPass * llvm::createVerifierPass | ( | VerifierFailureAction | action = AbortProcessAction | ) |
Create a verifier pass.
Check a module or function for validity. When the pass is used, the action indicated by the action
argument will be used if errors are found.
action | Action to take |
Definition at line 2409 of file Verifier.cpp.
Referenced by llvm::TargetPassConfig::addIRPasses(), llvm::TargetPassConfig::addISelPrepare(), and LLVMAddVerifierPass().
ScheduleDAGSDNodes * llvm::createVLIWDAGScheduler | ( | SelectionDAGISel * | IS, |
CodeGenOpt::Level | OptLevel | ||
) |
createVLIWDAGScheduler - This creates a top-down list scheduler.
createVLIWDAGScheduler - Scheduler for VLIW targets. This creates top down DFA driven list scheduler with clustering heuristic to control register pressure.
Definition at line 276 of file ScheduleDAGVLIW.cpp.
References llvm::SelectionDAGISel::AA, and llvm::SelectionDAGISel::MF.
Referenced by createDefaultScheduler().
MCObjectWriter * llvm::createWinCOFFObjectWriter | ( | MCWinCOFFObjectTargetWriter * | MOTW, |
raw_ostream & | OS | ||
) |
Construct a new Win COFF writer instance.
MOTW | - The target specific WinCOFF writer subclass. |
OS | - The stream to write to. |
Definition at line 925 of file WinCOFFObjectWriter.cpp.
Referenced by createX86WinCOFFObjectWriter().
MCStreamer * llvm::createWinCOFFStreamer | ( | MCContext & | Ctx, |
MCAsmBackend & | TAB, | ||
MCCodeEmitter & | CE, | ||
raw_ostream & | OS, | ||
bool | RelaxAll = false |
||
) |
createWinCOFFStreamer - Create a machine code streamer which will generate Microsoft COFF format object files.
Takes ownership of TAB
and CE
.
Definition at line 330 of file WinCOFFStreamer.cpp.
Referenced by createMCStreamer().
MCAsmBackend * llvm::createX86_32AsmBackend | ( | const Target & | T, |
const MCRegisterInfo & | MRI, | ||
StringRef | TT, | ||
StringRef | CPU | ||
) |
Definition at line 800 of file X86AsmBackend.cpp.
References llvm::Triple::ELF, llvm::Triple::getEnvironment(), llvm::Triple::getOS(), llvm::MCELFObjectTargetWriter::getOSABI(), llvm::Triple::isMacOSX(), llvm::Triple::isMacOSXVersionLT(), llvm::Triple::isOSDarwin(), llvm::Triple::isOSWindows(), and llvm::Triple::MachO.
Referenced by LLVMInitializeX86TargetMC().
MCAsmBackend * llvm::createX86_64AsmBackend | ( | const Target & | T, |
const MCRegisterInfo & | MRI, | ||
StringRef | TT, | ||
StringRef | CPU | ||
) |
Definition at line 818 of file X86AsmBackend.cpp.
References llvm::MachO::CPU_SUBTYPE_X86_64_ALL, llvm::MachO::CPU_SUBTYPE_X86_64_H, llvm::StringSwitch< T, R >::Default(), llvm::Triple::ELF, llvm::Triple::getArchName(), llvm::Triple::getEnvironment(), llvm::Triple::getOS(), llvm::MCELFObjectTargetWriter::getOSABI(), llvm::Triple::isMacOSX(), llvm::Triple::isMacOSXVersionLT(), llvm::Triple::isOSDarwin(), llvm::Triple::isOSWindows(), and llvm::Triple::MachO.
Referenced by LLVMInitializeX86TargetMC().
MCRelocationInfo * llvm::createX86_64ELFRelocationInfo | ( | MCContext & | Ctx | ) |
createX86_64ELFORelocationInfo - Construct X86-64 ELF relocation info.
createX86ELFRelocationInfo - Construct an X86 Mach-O RelocationInfo.
Definition at line 132 of file X86ELFRelocationInfo.cpp.
Referenced by createX86MCRelocationInfo().
MCRelocationInfo * llvm::createX86_64MachORelocationInfo | ( | MCContext & | Ctx | ) |
createX86_64MachORelocationInfo - Construct X86-64 Mach-O relocation info.
createX86_64MachORelocationInfo - Construct an X86-64 Mach-O RelocationInfo.
Definition at line 114 of file X86MachORelocationInfo.cpp.
Referenced by createX86MCRelocationInfo().
MCObjectWriter * llvm::createX86ELFObjectWriter | ( | raw_ostream & | OS, |
bool | IsELF64, | ||
uint8_t | OSABI, | ||
uint16_t | EMachine | ||
) |
createX86ELFObjectWriter - Construct an X86 ELF object writer.
Definition at line 240 of file X86ELFObjectWriter.cpp.
References createELFObjectWriter().
FunctionPass * llvm::createX86FixupLEAs | ( | ) |
createX86FixupLEAs - Return a a pass that selectively replaces certain instructions (like add, sub, inc, dec, some shifts, and some multiplies) by equivalent LEA instructions, in order to eliminate execution delays in some Atom processors.
Definition at line 141 of file X86FixupLEAs.cpp.
FunctionPass * llvm::createX86FloatingPointStackifierPass | ( | ) |
createX86FloatingPointStackifierPass - This function returns a pass which converts floating point register references and pseudo instructions into floating point stack references and physical instructions.
Definition at line 326 of file X86FloatingPoint.cpp.
FunctionPass * llvm::createX86ISelDag | ( | X86TargetMachine & | TM, |
CodeGenOpt::Level | OptLevel | ||
) |
createX86ISelDag - This pass converts a legalized DAG into a X86-specific DAG, ready for instruction scheduling.
Definition at line 2809 of file X86ISelDAGToDAG.cpp.
FunctionPass * llvm::createX86IssueVZeroUpperPass | ( | ) |
createX86IssueVZeroUpperPass - This pass inserts AVX vzeroupper instructions before each call to avoid transition penalty between functions encoded with AVX and SSE.
Definition at line 103 of file X86VZeroUpper.cpp.
FunctionPass * llvm::createX86JITCodeEmitterPass | ( | X86TargetMachine & | TM, |
JITCodeEmitter & | JCE | ||
) |
createX86CodeEmitterPass - Return a pass that emits the collected X86 code to the specified MCE object.
createX86CodeEmitterPass - Return a pass that emits the collected X86 code to the specified JITCodeEmitter object.
Definition at line 123 of file X86CodeEmitter.cpp.
References llvm::SystemZISD::TM.
Referenced by llvm::X86TargetMachine::addCodeEmitter().
MCObjectWriter * llvm::createX86MachObjectWriter | ( | raw_ostream & | OS, |
bool | Is64Bit, | ||
uint32_t | CPUType, | ||
uint32_t | CPUSubtype | ||
) |
createX86MachObjectWriter - Construct an X86 Mach-O object writer.
Definition at line 597 of file X86MachObjectWriter.cpp.
References createMachObjectWriter().
MCCodeEmitter * llvm::createX86MCCodeEmitter | ( | const MCInstrInfo & | MCII, |
const MCRegisterInfo & | MRI, | ||
const MCSubtargetInfo & | STI, | ||
MCContext & | Ctx | ||
) |
Definition at line 150 of file X86MCCodeEmitter.cpp.
Referenced by LLVMInitializeX86TargetMC().
FunctionPass * llvm::createX86PadShortFunctions | ( | ) |
createX86PadShortFunctions - Return a pass that pads short functions with NOOPs. This will prevent a stall when returning on the Atom.
Definition at line 87 of file X86PadShortFunction.cpp.
ImmutablePass* llvm::createX86TargetTransformInfoPass | ( | const X86TargetMachine * | TM | ) |
Creates an X86-specific Target Transformation Info pass.
Referenced by llvm::X86TargetMachine::addAnalysisPasses().
MCObjectWriter * llvm::createX86WinCOFFObjectWriter | ( | raw_ostream & | OS, |
bool | Is64Bit | ||
) |
createX86WinCOFFObjectWriter - Construct an X86 Win COFF object writer.
Definition at line 75 of file X86WinCOFFObjectWriter.cpp.
References createWinCOFFObjectWriter().
FunctionPass * llvm::createXCoreISelDag | ( | XCoreTargetMachine & | TM, |
CodeGenOpt::Level | OptLevel | ||
) |
createXCoreISelDag - This pass converts a legalized DAG into a XCore-specific DAG, ready for instruction scheduling.
Definition at line 82 of file XCoreISelDAGToDAG.cpp.
ModulePass* llvm::createXCoreLowerThreadLocalPass | ( | ) |
ImmutablePass* llvm::createXCoreTargetTransformInfoPass | ( | const XCoreTargetMachine * | TM | ) |
Referenced by llvm::XCoreTargetMachine::addAnalysisPasses().
raw_ostream & llvm::dbgs | ( | ) |
dbgs - Return a circular-buffered debug stream.
dbgs() - This returns a reference to a raw_ostream for debugging messages. If debugging is disabled it returns errs(). Use it like: dbgs() << "foo" << "bar";
Definition at line 101 of file Debug.cpp.
References llvm::sys::AddSignalHandler(), debug_user_sig_handler(), DebugBufferSize, DebugFlag, EnableDebugBuffering, and errs().
Referenced by llvm::InstCombineWorklist::Add(), addChainDependency(), llvm::ExecutionEngine::addGlobalMapping(), llvm::InstCombineWorklist::AddInitialGroup(), llvm::TargetPassConfig::addIRPasses(), llvm::TargetPassConfig::addISelPrepare(), llvm::PMDataManager::addLowerLevelRequiredPass(), llvm::TargetPassConfig::addMachinePasses(), AddReachableCodeToWorklist(), llvm::IVUsers::AddUsersImpl(), AdjustStackOffset(), llvm::AggressiveAntiDepBreaker::AggressiveAntiDepBreaker(), llvm::RegAllocBase::allocatePhysRegs(), llvm::AllocationOrder::AllocationOrder(), llvm::HexagonInstrInfo::AnalyzeBranch(), llvm::Hexagon_CCState::AnalyzeCallOperands(), llvm::CCState::AnalyzeCallOperands(), llvm::MipsTargetLowering::MipsCC::analyzeCallOperands(), llvm::Hexagon_CCState::AnalyzeCallResult(), llvm::CCState::AnalyzeCallResult(), llvm::Hexagon_CCState::AnalyzeFormalArguments(), llvm::CCState::AnalyzeFormalArguments(), llvm::MipsTargetLowering::MipsCC::analyzeFormalArguments(), AnalyzeLoadFromClobberingWrite(), llvm::Hexagon_CCState::AnalyzeReturn(), llvm::CCState::AnalyzeReturn(), llvm::LiveRegMatrix::assign(), llvm::SelectionDAG::AssignTopologicalOrder(), llvm::DwarfDebug::beginFunction(), llvm::CriticalAntiDepBreaker::BreakAntiDependencies(), llvm::AggressiveAntiDepBreaker::BreakAntiDependencies(), BreakUpSubtract(), BUCompareLatency(), BURRSort(), llvm::LiveRangeEdit::calculateRegClassAndHint(), calculateSpillWeightsAndHints(), CanPropagatePredecessorsForPHIs(), clampStackAlignment(), llvm::ObjectSizeOffsetVisitor::compute(), llvm::ScheduleDAGMI::computeCyclicCriticalPath(), llvm::X86InstrInfo::copyPhysReg(), debug_user_sig_handler(), DeleteInstructionInBlock(), llvm::SCEVAddRecExpr::delinearize(), llvm::DependenceAnalysis::depends(), llvm::Constant::destroyConstantImpl(), llvm::InstCombiner::DoOneIteration(), llvm::MCLabel::dump(), llvm::BranchProbability::dump(), llvm::MCValue::dump(), llvm::RegisterPressure::dump(), llvm::MachineLoop::dump(), llvm::LiveDebugVariables::dump(), llvm::ILPValue::dump(), llvm::MCDwarfFile::dump(), llvm::MCParsedAsmOperand::dump(), llvm::LatencyPriorityQueue::dump(), llvm::PHITransAddr::dump(), llvm::ValueEnumerator::dump(), llvm::SubtargetFeatures::dump(), llvm::DIEAbbrev::dump(), llvm::DebugLoc::dump(), llvm::Value::dump(), llvm::LiveVariables::VarInfo::dump(), llvm::Trace::dump(), llvm::Type::dump(), llvm::MachineJumpTableInfo::dump(), llvm::Pass::dump(), llvm::ResourcePriorityQueue::dump(), llvm::SCEV::dump(), llvm::DwarfAccelTable::Atom::dump(), llvm::MCOperand::dump(), llvm::DominanceFrontierBase::dump(), llvm::DIDescriptor::dump(), llvm::PMStack::dump(), llvm::MCSymbol::dump(), llvm::CallGraph::dump(), llvm::SlotIndex::dump(), llvm::MachineConstantPool::dump(), llvm::IVUsers::dump(), llvm::AliasSet::dump(), llvm::VirtRegMap::dump(), llvm::DIE::dump(), llvm::LiveRange::Segment::dump(), llvm::MCInst::dump(), llvm::GCOVFunction::dump(), llvm::DIEValue::dump(), llvm::LexicalScope::dump(), llvm::GCOVBlock::dump(), llvm::CallGraphNode::dump(), llvm::NamedMDNode::dump(), llvm::DwarfAccelTable::dump(), llvm::ReadyQueue::dump(), llvm::ConstantRange::dump(), llvm::MachineFunction::dump(), llvm::BlockFrequencyImpl< llvm::BasicBlock, llvm::Function, llvm::BranchProbabilityInfo >::dump(), llvm::AttributeSet::dump(), llvm::Region::dump(), llvm::SlotIndexes::dump(), llvm::AliasSetTracker::dump(), llvm::SplitEditor::dump(), llvm::RegPressureTracker::dump(), llvm::Loop::dump(), llvm::Twine::dump(), llvm::SUnit::dump(), llvm::LiveRange::dump(), llvm::LiveInterval::dump(), llvm::MachineFrameInfo::dump(), llvm::Module::dump(), llvm::MachineBasicBlock::dump(), llvm::ConstantUniqueMap< llvm::InlineAsmKeyType, const llvm::InlineAsmKeyType &, llvm::PointerType, llvm::InlineAsm >::dump(), llvm::SDNode::dump(), llvm::ConstantAggrUniqueMap< ArrayType, ConstantArray >::dump(), llvm::MachineInstr::dump(), llvm::SelectionDAG::dump(), llvm::APInt::dump(), llvm::SUnit::dumpAll(), llvm::PMTopLevelManager::dumpArguments(), llvm::PMDataManager::dumpLastUses(), dumpMachineInstrRangeWithSlotIndex(), llvm::ScheduleDAGSDNodes::dumpNode(), DumpNodes(), llvm::PMDataManager::dumpPassArguments(), llvm::PMDataManager::dumpPassInfo(), llvm::Pass::dumpPassStructure(), llvm::FPPassManager::dumpPassStructure(), llvm::SDNode::dumpr(), dumpRegSetPressure(), llvm::Twine::dumpRepr(), llvm::SDNode::dumprWithDepth(), llvm::ScheduleDAGSDNodes::dumpSchedule(), llvm::ScheduleDAGMI::dumpSchedule(), dumpSmallBitVector(), llvm::DWARFContextInMemory::DWARFContextInMemory(), llvm::LiveRangeEdit::eliminateDeadDefs(), EliminateDeadSwitchCases(), llvm::RuntimeDyldImpl::emitCommonSymbols(), llvm::TargetLowering::EmitInstrWithCustomInserter(), llvm::RuntimeDyldImpl::emitSection(), llvm::SplitEditor::enterIntvAfter(), llvm::SplitEditor::enterIntvAtEnd(), llvm::SplitEditor::enterIntvBefore(), llvm::InstCombiner::EraseInstFromFunction(), EvaluateStaticConstructor(), executeCmpInst(), executeFAddInst(), executeFCMP_OEQ(), executeFCMP_OGE(), executeFCMP_OGT(), executeFCMP_OLE(), executeFCMP_OLT(), executeFCMP_ONE(), executeFDivInst(), executeFMulInst(), executeFRemInst(), executeFSubInst(), executeICMP_EQ(), executeICMP_NE(), executeICMP_SGE(), executeICMP_SGT(), executeICMP_SLE(), executeICMP_SLT(), executeICMP_UGE(), executeICMP_UGT(), executeICMP_ULE(), executeICMP_ULT(), llvm::ARMBaseInstrInfo::expandPostRAPseudo(), extractInteger(), extractVector(), fdbgs(), llvm::SchedDFSImpl::finalize(), llvm::SSAUpdaterImpl< UpdaterT >::FindAvailableVals(), llvm::GCStrategy::findCustomSafePoints(), findGCD(), llvm::RegScavenger::FindUnusedReg(), llvm::SplitEditor::finish(), FoldBlockIntoPredecessor(), FoldBranchToCommonDest(), llvm::X86InstrInfo::foldMemoryOperandImpl(), llvm::InstCombiner::FoldShiftByConstant(), FoldTwoEntryPHINode(), llvm::FunctionLoweringInfo::getArgumentFrameIndex(), llvm::ScoreboardHazardRecognizer::getHazardType(), llvm::Mips16InstrInfo::getInlineAsmLength(), llvm::InlineCostAnalysis::getInlineCost(), GetLoadValueForLoad(), llvm::RegPressureTracker::getMaxUpwardPressureDelta(), getPreStartForSignExtend(), llvm::DependenceAnalysis::getSplitIteration(), llvm::MachineSSAUpdater::GetValueInMiddleOfBlock(), llvm::SSAUpdater::GetValueInMiddleOfBlock(), hasOutsideLoopUser(), hasVRegCycleUse(), llvm::ExecutionEngine::InitializeMemory(), llvm::ScheduleDAGMI::initRegPressure(), initVRegCycle(), InlineCallIfPossible(), insertInteger(), InsertPreheaderForLoop(), insertVector(), llvm::MachineTraceMetrics::Ensemble::invalidate(), llvm::MachineTraceMetrics::invalidate(), isProfitableChain(), isStridedPtr(), KnuthDiv(), llvm::SplitEditor::leaveIntvAfter(), llvm::SplitEditor::leaveIntvAtTop(), llvm::SplitEditor::leaveIntvBefore(), LinearizeExprTree(), llvm_unreachable_internal(), LLVMX86CompilationCallback2(), llvm::RuntimeDyldImpl::loadObject(), llvm::HexagonTargetLowering::LowerCall(), llvm::MCMachOObjectDisassembler::MCMachOObjectDisassembler(), llvm::AggressiveAntiDepBreaker::Observe(), OptimizeAwayTrappingUsesOfLoads(), llvm::OptLevelChanger::OptLevelChanger(), llvm::SplitEditor::overlapIntv(), llvm::cl::ParseCommandLineOptions(), llvm::GCStrategy::performCustomLowering(), llvm::MipsSETargetLowering::PerformDAGCombine(), PerformHeapAllocSRoA(), llvm::R600SchedStrategy::pickNode(), llvm::ConvergingVLIWScheduler::pickNode(), llvm::TargetPassConfig::printAndVerify(), PrintOps(), llvm::RuntimeDyldELF::processRelocationRef(), ProfitableToMerge(), llvm::R600SchedStrategy::releaseBottomNode(), llvm::ScheduleDAGMI::releasePred(), llvm::ScheduleDAGMI::releaseSucc(), llvm::R600SchedStrategy::releaseTopNode(), llvm::PMDataManager::removeDeadPasses(), llvm::PMDataManager::removeNotPreservedAnalysis(), llvm::SlotIndexes::renumberIndexes(), llvm::SCEVExpander::replaceCongruentIVs(), llvm::InstCombiner::ReplaceInstUsesWith(), ReplaceUsesOfWith(), llvm::VLIWResourceModel::reserveResources(), llvm::MipsSubtarget::resetSubtarget(), llvm::SelectionDAGBuilder::resolveDanglingDebugInfo(), llvm::RuntimeDyldImpl::resolveExternalSymbols(), llvm::RuntimeDyldImpl::resolveRelocations(), llvm::DAGTypeLegalizer::run(), llvm::Interpreter::run(), llvm::BranchProbabilityInfo::runOnFunction(), llvm::RGPassManager::runOnFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::SlotIndexes::runOnMachineFunction(), llvm::MipsOs16::runOnModule(), llvm::Inliner::runOnSCC(), llvm::RegScavenger::scavengeRegister(), llvm::R600SchedStrategy::schedNode(), llvm::VLIWMachineScheduler::schedule(), llvm::ScheduleDAGMI::schedule(), llvm::PMTopLevelManager::schedulePass(), llvm::SchedDFSResult::scheduleTree(), llvm::ConvergingVLIWScheduler::SchedulingCost(), llvm::ScoreboardHazardRecognizer::ScoreboardHazardRecognizer(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::SplitEditor::selectIntv(), llvm::StackMaps::serializeToStackMapSection(), llvm::BranchProbabilityInfo::setEdgeWeight(), llvm::LiveIntervals::shrinkToUses(), SimplifyBranchOnICmpChain(), SimplifyCondBranchToCondBranch(), SimplifyCondBranchToTwoReturns(), SinkThenElseCodeToEnd(), llvm::InstCombiner::SliceUpIllegalIntegerPHI(), llvm::SparseSolver::Solve(), speculatePHINodeLoads(), speculateSelectInstLoads(), SpeculativelyExecuteBB(), llvm::MachineBasicBlock::SplitCriticalEdge(), llvm::SplitEditor::splitLiveThroughBlock(), llvm::SplitEditor::splitRegInBlock(), llvm::SplitEditor::splitRegOutBlock(), SRAGlobal(), llvm::ExecutionEngine::StoreValueToMemory(), llvm::ConvergingVLIWScheduler::traceCandidate(), tracePick(), TryToShrinkGlobalToBoolean(), TryToSimplifyUncondBranchFromEmptyBlock(), llvm::LiveRegMatrix::unassign(), UnrollLoop(), llvm::LiveIntervals::HMEditor::updateAllRanges(), llvm::ScheduleDAGMI::updatePressureDiffs(), llvm::ScheduleDAGMI::updateScheduledPressure(), llvm::MipsSubtarget::useConstantIslands(), llvm::SplitEditor::useIntv(), llvm::ValueHandleBase::ValueIsDeleted(), llvm::ValueHandleBase::ValueIsRAUWd(), llvm::ScalarEvolution::verifyAnalysis(), verifyCTRBranch(), VerifyPHIs(), llvm::ScheduleDAG::VerifyScheduledDAG(), llvm::Interpreter::visitAllocaInst(), llvm::InstCombiner::visitAllocaInst(), llvm::Interpreter::visitBinaryOperator(), llvm::Interpreter::visitExtractElementInst(), llvm::Interpreter::visitFCmpInst(), llvm::Interpreter::visitICmpInst(), llvm::ObjectSizeOffsetVisitor::visitInstruction(), llvm::ObjectSizeOffsetEvaluator::visitInstruction(), llvm::Interpreter::visitLoadInst(), llvm::InstCombiner::visitSExt(), llvm::Interpreter::visitStoreInst(), llvm::InstCombiner::visitTrunc(), llvm::Interpreter::visitVAArgInst(), llvm::InstCombiner::visitZExt(), llvm::MachObjectWriter::WriteObject(), x86DisassemblerDebug(), llvm::OptLevelChanger::~OptLevelChanger(), llvm::Value::~Value(), and llvm::ValueSymbolTable::~ValueSymbolTable().
void llvm::DecodeINSERTPSMask | ( | unsigned | Imm, |
SmallVectorImpl< int > & | ShuffleMask | ||
) |
Definition at line 23 of file X86ShuffleDecode.cpp.
References llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), and SM_SentinelZero.
Referenced by EmitAnyX86InstComments().
void llvm::DecodeMOVHLPSMask | ( | unsigned | NElts, |
SmallVectorImpl< int > & | ShuffleMask | ||
) |
Definition at line 47 of file X86ShuffleDecode.cpp.
References llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
void llvm::DecodeMOVLHPSMask | ( | unsigned | NElts, |
SmallVectorImpl< int > & | ShuffleMask | ||
) |
Definition at line 56 of file X86ShuffleDecode.cpp.
References llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
void llvm::DecodePALIGNRMask | ( | MVT | VT, |
unsigned | Imm, | ||
SmallVectorImpl< int > & | ShuffleMask | ||
) |
Definition at line 64 of file X86ShuffleDecode.cpp.
References llvm::MVT::getSizeInBits(), llvm::MVT::getVectorElementType(), llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
void llvm::DecodePSHUFHWMask | ( | MVT | VT, |
unsigned | Imm, | ||
SmallVectorImpl< int > & | ShuffleMask | ||
) |
Definition at line 101 of file X86ShuffleDecode.cpp.
References llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
void llvm::DecodePSHUFLWMask | ( | MVT | VT, |
unsigned | Imm, | ||
SmallVectorImpl< int > & | ShuffleMask | ||
) |
Definition at line 117 of file X86ShuffleDecode.cpp.
References llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
void llvm::DecodePSHUFMask | ( | MVT | VT, |
unsigned | Imm, | ||
SmallVectorImpl< int > & | ShuffleMask | ||
) |
DecodePSHUFMask - This decodes the shuffle masks for pshufd, and vpermilp*. VT indicates the type of the vector allowing it to handle different datatypes and vector widths.
Definition at line 85 of file X86ShuffleDecode.cpp.
References llvm::MVT::getSizeInBits(), llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
void llvm::DecodeSHUFPMask | ( | MVT | VT, |
unsigned | Imm, | ||
SmallVectorImpl< int > & | ShuffleMask | ||
) |
DecodeSHUFPMask - This decodes the shuffle masks for shufp*. VT indicates the type of the vector allowing it to handle different datatypes and vector widths.
Definition at line 136 of file X86ShuffleDecode.cpp.
References llvm::MVT::getSizeInBits(), llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
|
inline |
void llvm::DecodeUNPCKHMask | ( | MVT | VT, |
SmallVectorImpl< int > & | ShuffleMask | ||
) |
DecodeUNPCKHMask - This decodes the shuffle masks for unpckhps/unpckhpd and punpckh*. VT indicates the type of the vector allowing it to handle different datatypes and vector widths.
Definition at line 158 of file X86ShuffleDecode.cpp.
References llvm::MVT::getSizeInBits(), llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
void llvm::DecodeUNPCKLMask | ( | MVT | VT, |
SmallVectorImpl< int > & | ShuffleMask | ||
) |
DecodeUNPCKLMask - This decodes the shuffle masks for unpcklps/unpcklpd and punpckl*. VT indicates the type of the vector allowing it to handle different datatypes and vector widths.
Definition at line 178 of file X86ShuffleDecode.cpp.
References llvm::MVT::getSizeInBits(), llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
void llvm::DecodeVPERM2X128Mask | ( | MVT | VT, |
unsigned | Imm, | ||
SmallVectorImpl< int > & | ShuffleMask | ||
) |
Definition at line 195 of file X86ShuffleDecode.cpp.
References llvm::MVT::getVectorNumElements(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
void llvm::DecodeVPERMMask | ( | unsigned | Imm, |
SmallVectorImpl< int > & | ShuffleMask | ||
) |
DecodeVPERMMask - this decodes the shuffle masks for VPERMQ/VPERMPD. No VT provided since it only works on 256-bit, 4 element vectors.
Definition at line 211 of file X86ShuffleDecode.cpp.
References llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by EmitAnyX86InstComments(), and getTargetShuffleMask().
llvm::DEFINE_INTEGRAL_TYPEBUILDER | ( | char | ) |
llvm::DEFINE_INTEGRAL_TYPEBUILDER | ( | signed | char | ) |
llvm::DEFINE_INTEGRAL_TYPEBUILDER | ( | unsigned | char | ) |
llvm::DEFINE_INTEGRAL_TYPEBUILDER | ( | short | ) |
llvm::DEFINE_INTEGRAL_TYPEBUILDER | ( | int | ) |
llvm::DEFINE_INTEGRAL_TYPEBUILDER | ( | long | ) |
llvm::DEFINE_INTEGRAL_TYPEBUILDER | ( | unsigned long | long | ) |
void llvm::DeleteContainerPointers | ( | Container & | C | ) |
For a container of pointers, deletes the pointers and then clears the container.
Definition at line 315 of file STLExtras.h.
References I.
Referenced by llvm::DwarfDebug::endFunction(), llvm::DWARFContext::~DWARFContext(), llvm::DWARFContextInMemory::~DWARFContextInMemory(), llvm::GCOVFile::~GCOVFile(), llvm::GCOVFunction::~GCOVFunction(), llvm::LLVMContextImpl::~LLVMContextImpl(), and llvm::ScheduleDAGMI::~ScheduleDAGMI().
void llvm::DeleteContainerSeconds | ( | Container & | C | ) |
In a container of pairs (usually a map) whose second element is a pointer, deletes the second elements and then clears the container.
Definition at line 324 of file STLExtras.h.
References I.
Referenced by llvm::LexicalScopes::releaseMemory(), and llvm::LLVMContextImpl::~LLVMContextImpl().
void llvm::DeleteDeadBlock | ( | BasicBlock * | BB | ) |
DeleteDeadBlock - Delete the specified block, which must have no predecessors.
Definition at line 36 of file BasicBlockUtils.cpp.
References llvm::BasicBlock::back(), llvm::BasicBlock::empty(), llvm::BasicBlock::eraseFromParent(), llvm::UndefValue::get(), llvm::BasicBlock::getInstList(), llvm::TerminatorInst::getNumSuccessors(), llvm::BasicBlock::getSinglePredecessor(), llvm::TerminatorInst::getSuccessor(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), I, llvm::iplist< NodeTy, Traits >::pop_back(), pred_begin(), pred_end(), llvm::BasicBlock::removePredecessor(), llvm::Value::replaceAllUsesWith(), and llvm::Value::use_empty().
Referenced by CloneAndPruneFunctionInto().
bool llvm::DeleteDeadPHIs | ( | BasicBlock * | BB, |
const TargetLibraryInfo * | TLI = 0 |
||
) |
DeleteDeadPHIs - Examine each PHI in the given block and delete it if it is dead. Also recursively delete any operands that become dead as a result. This includes tracing the def-use list from the PHI to see if it is ultimately unused or if it reaches an unused cycle. Return true if any PHIs were deleted.
DeleteDeadPHIs - Examine each PHI in the given block and delete it if it is dead. Also recursively delete any operands that become dead as a result. This includes tracing the def-use list from the PHI to see if it is ultimately unused or if it reaches an unused cycle.
Definition at line 98 of file BasicBlockUtils.cpp.
References llvm::BasicBlock::begin(), dyn_cast(), I, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), RecursivelyDeleteDeadPHINode(), and llvm::SmallVectorTemplateCommon< T >::size().
|
inline |
Definition at line 62 of file STLExtras.h.
AllocaInst * llvm::DemotePHIToStack | ( | PHINode * | P, |
Instruction * | AllocaPoint = 0 |
||
) |
DemotePHIToStack - This function takes a virtual register computed by a phi node and replaces it with a slot in the stack frame, allocated via alloca. The phi node is deleted and it returns the pointer to the alloca inserted.
DemotePHIToStack - This function takes a virtual register computed by a PHI node and replaces it with a slot in the stack frame allocated via alloca. The PHI node is deleted. It returns the pointer to the alloca inserted.
Definition at line 110 of file DemoteRegToStack.cpp.
References llvm::BasicBlock::begin(), llvm::Instruction::eraseFromParent(), F(), llvm::Function::getEntryBlock(), llvm::PHINode::getIncomingBlock(), llvm::PHINode::getIncomingValue(), llvm::Value::getName(), llvm::PHINode::getNumIncomingValues(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), P, llvm::Value::replaceAllUsesWith(), and llvm::Value::use_empty().
AllocaInst * llvm::DemoteRegToStack | ( | Instruction & | I, |
bool | VolatileLoads = false , |
||
Instruction * | AllocaPoint = 0 |
||
) |
DemoteRegToStack - This function takes a virtual register computed by an Instruction and replaces it with a slot in the stack frame, allocated via alloca. This allows the CFG to be changed around without fear of invalidating the SSA information for the value. It returns the pointer to the alloca inserted to create a stack slot for X.
DemoteRegToStack - This function takes a virtual register computed by an Instruction and replaces it with a slot in the stack frame, allocated via alloca. This allows the CFG to be changed around without fear of invalidating the SSA information for the value. It returns the pointer to the alloca inserted to create a stack slot for I.
Definition at line 24 of file DemoteRegToStack.cpp.
References llvm::BasicBlock::begin(), llvm::Instruction::eraseFromParent(), F(), llvm::Function::getEntryBlock(), llvm::BasicBlock::getFirstInsertionPt(), llvm::Value::getName(), llvm::InvokeInst::getNormalDest(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getSinglePredecessor(), GetSuccessorNumber(), llvm::Value::getType(), I, isCriticalEdge(), llvm::User::replaceUsesOfWith(), SplitCriticalEdge(), llvm::Instruction::use_back(), and llvm::Value::use_empty().
df_iterator<T> llvm::df_begin | ( | const T & | G | ) |
Definition at line 201 of file DepthFirstIterator.h.
References llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::begin().
Referenced by llvm::GraphTraits< PostDominatorTree * >::nodes_begin(), llvm::GraphTraits< DomTreeNode * >::nodes_begin(), llvm::GraphTraits< DominatorTree * >::nodes_begin(), and llvm::LoopBase< N, M >::verifyLoop().
df_iterator<T> llvm::df_end | ( | const T & | G | ) |
Definition at line 206 of file DepthFirstIterator.h.
References llvm::df_iterator< GraphT, SetType, ExtStorage, GT >::end().
Referenced by llvm::GraphTraits< PostDominatorTree * >::nodes_begin(), llvm::GraphTraits< PostDominatorTree * >::nodes_end(), llvm::GraphTraits< DomTreeNode * >::nodes_end(), llvm::GraphTraits< DominatorTree * >::nodes_end(), and llvm::LoopBase< N, M >::verifyLoop().
df_ext_iterator<T, SetTy> llvm::df_ext_begin | ( | const T & | G, |
SetTy & | S | ||
) |
Definition at line 218 of file DepthFirstIterator.h.
References llvm::df_iterator< T, SetTy, true >::begin().
Referenced by llvm::LiveIntervals::pruneValue(), llvm::LiveVariables::runOnMachineFunction(), and llvm::LoopBase< N, M >::verifyLoop().
df_ext_iterator<T, SetTy> llvm::df_ext_end | ( | const T & | G, |
SetTy & | S | ||
) |
Definition at line 223 of file DepthFirstIterator.h.
References llvm::df_iterator< T, SetTy, true >::end().
Referenced by llvm::LiveIntervals::pruneValue(), llvm::LiveVariables::runOnMachineFunction(), and llvm::LoopBase< N, M >::verifyLoop().
unsigned llvm::DFSPass | ( | DominatorTreeBase< typename GraphT::NodeType > & | DT, |
typename GraphT::NodeType * | V, | ||
unsigned | N | ||
) |
Definition at line 34 of file DominatorInternals.h.
References llvm::DominatorTreeBase< NodeT >::InfoRec::DFSNum, llvm::DominatorTreeBase< NodeT >::Info, llvm::DominatorTreeBase< NodeT >::InfoRec::Label, N, llvm::DominatorTreeBase< NodeT >::InfoRec::Parent, llvm::DominatorBase< NodeT >::Roots, llvm::DominatorTreeBase< NodeT >::InfoRec::Semi, succ_begin(), succ_end(), and llvm::DominatorTreeBase< NodeT >::Vertex.
int llvm::DiffFilesWithTolerance | ( | StringRef | NameA, |
StringRef | NameB, | ||
double | AbsTol, | ||
double | RelTol, | ||
std::string * | Error = 0 |
||
) |
DiffFilesWithTolerance - Compare the two files specified, returning 0 if the files match, 1 if they are different, and 2 if there is a file error. This function allows you to specify an absolute and relative FP error that is allowed to exist. If you specify a string to fill in for the error option, it will set the string to an error message if an error occurs, or if the files are different.
DiffFilesWithTolerance - Compare the two files specified, returning 0 if the files match, 1 if they are different, and 2 if there is a file error. This function differs from DiffFiles in that you can specify an absolete and relative FP error that is allowed to exist. If you specify a string to fill in for the error option, it will set the string to an error message if an error occurs, allowing the caller to distinguish between a failed diff and a file system error.
Definition at line 174 of file FileUtilities.cpp.
References BackupNumber(), CompareNumbers(), llvm::MemoryBuffer::getBufferEnd(), llvm::MemoryBuffer::getBufferSize(), llvm::MemoryBuffer::getBufferStart(), llvm::MemoryBuffer::getFile(), isNumberChar(), and llvm::LibFunc::memcmp.
|
static |
Stable LoopInfo Analysis - Build a loop tree using stable iterators so the result does / not depend on use list (block predecessor) order.Discover a subloop with the specified backedges such that: All blocks within this loop are mapped to this loop or a subloop. And all subloops within this loop have their parent loop set to this loop or a subloop.
Definition at line 345 of file LoopInfoImpl.h.
References llvm::ArrayRef< T >::begin(), llvm::LoopInfoBase< N, M >::changeLoopFor(), llvm::ArrayRef< T >::end(), llvm::LoopInfoBase< N, M >::getLoopFor(), and llvm::DominatorTreeBase< NodeT >::isReachableFromEntry().
Referenced by llvm::LoopInfoBase< N, M >::Analyze().
void llvm::DisplayGraph | ( | StringRef | Filename, |
bool | wait = true , |
||
GraphProgram::Name | program = GraphProgram::DOT |
||
) |
Definition at line 101 of file GraphWriter.cpp.
References llvm::GraphProgram::CIRCO, llvm::GraphProgram::DOT, errs(), ExecGraphViewer(), llvm::GraphProgram::FDP, llvm::GraphProgram::NEATO, llvm::GraphProgram::TWOPI, and ViewBackground.
Referenced by ViewGraph().
|
inline |
DoubleToBits - This function takes a double and returns the bit equivalent 64-bit integer. Note that copying doubles around changes the bits of NaNs on some hosts, notably x86, so this routine cannot be used if these bits are needed.
Definition at line 503 of file MathExtras.h.
References T.
void llvm::dump | ( | const SparseBitVector< ElementSize > & | LHS, |
raw_ostream & | out | ||
) |
Definition at line 882 of file SparseBitVector.h.
References llvm::SparseBitVector< ElementSize >::begin(), and llvm::SparseBitVector< ElementSize >::end().
Referenced by llvm::DWARFDebugLine::DumpingState::finalize(), and llvm::VLIWResourceModel::reserveResources().
void llvm::dumpBlock | ( | Value * | v, |
char * | blockName | ||
) |
Definition at line 426 of file NVPTXUtilities.cpp.
References llvm::Function::begin(), llvm::StringRef::data(), llvm::Value::dump(), llvm::Function::end(), F(), llvm::Value::getName(), getParentFunction(), and llvm::LibFunc::strcmp.
void llvm::dumpInst | ( | Value * | base, |
char * | instName | ||
) |
Definition at line 457 of file NVPTXUtilities.cpp.
References llvm::Value::dump(), getInst(), and I.
void llvm::dumpInstRec | ( | Value * | v, |
std::set< Instruction * > * | visited | ||
) |
void llvm::dumpInstRec | ( | Value * | v | ) |
Definition at line 480 of file NVPTXUtilities.cpp.
References dumpInstRec().
void llvm::dumpParent | ( | Value * | v | ) |
Definition at line 489 of file NVPTXUtilities.cpp.
void llvm::dumpRegSetPressure | ( | ArrayRef< unsigned > | SetPressure, |
const TargetRegisterInfo * | TRI | ||
) |
Definition at line 45 of file RegisterPressure.cpp.
References dbgs(), llvm::TargetRegisterInfo::getRegPressureSetName(), and llvm::ArrayRef< T >::size().
Referenced by llvm::RegisterPressure::dump(), llvm::RegPressureTracker::dump(), and llvm::ScheduleDAGMI::initRegPressure().
|
inline |
Definition at line 266 of file Casting.h.
Referenced by llvm::GEPOperator::accumulateConstantOffset(), AddCombineToVPADDL(), AddPHINodeEntriesForMappedBlock(), AddPredecessorToBlock(), AddReachableCodeToWorklist(), llvm::X86FrameLowering::adjustForHiPEPrologue(), adjustForTestUnderMask(), adjustZeroCmp(), llvm::DebugRecVH::allUsesReplacedWith(), AnalyzeLoadFromClobberingMemInst(), llvm::SelectInst::areInvalidOperands(), llvm::RecordRecTy::baseClassOf(), BuildConstantFromSCEV(), llvm::X86TargetLowering::BuildFILD(), BuildSubAggregate(), cacheAnnotationFromMD(), llvm::Function::callsFunctionThatReturnsTwice(), llvm::DwarfException::CallToNoUnwindFunction(), CanEvaluateSExtd(), CanEvaluateShifted(), CanEvaluateShuffled(), CanEvaluateTruncated(), CanEvaluateZExtd(), canExpandBackedgeTakenCount(), canFoldInAddressingMode(), canFoldIVIncExpr(), CannotBeNegativeZero(), CanPropagatePredecessorsForPHIs(), CanSelectOperandBeMappingIntoPredBlock(), canTrapImpl(), CheapToScalarize(), CheckAndImm(), checkBoolTestSetCCCombine(), CheckInteger(), CheckOrImm(), CleanupPointerRootUsers(), ClearSubclassDataAfterReassociation(), CloneAndPruneFunctionInto(), CloneNodeWithValues(), CollectAddOperandsWithScales(), CollectInsertionElements(), combineShlAddConstant(), llvm::InstCombiner::commonPointerCastTransforms(), ComputeMaskedBits(), ComputeMultiple(), ComputeNumSignBits(), computePointerICmp(), ConnectProlog(), ConstantFoldGetElementPtrImpl(), ConstantFoldInsertElementInstruction(), ConstantFoldInstruction(), ConstantFoldLoadFromConstPtr(), ConstantFoldSelectInstruction(), ConstantFoldTerminator(), ConvertDebugDeclareToDebugValue(), llvm::TypedInit::convertInitializerBitRange(), llvm::TypedInit::convertInitListSlice(), convertMemSetToLoop(), convertTransferToLoop(), createPHIsForSplitLoopExit(), createReplacementInstr(), DecomposeGEPExpression(), DecomposeSimpleLinearExpr(), DeleteDeadPHIs(), DemandedBitsLHSMask(), llvm::BitcodeReader::Dematerialize(), llvm::DependenceAnalysis::depends(), detectLog2OfHalf(), llvm::DominatorTree::dominates(), DominatesMergePoint(), llvm::Value::DoPHITranslation(), dyn_castFoldableMul(), EliminateDuplicatePHINodes(), llvm::HexagonSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::ARMSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::SystemZSelectionDAGInfo::EmitTargetCodeForMemset(), llvm::ARMAsmPrinter::EmitXXStructor(), EraseTerminatorInstAndDCECond(), EvaluateExpression(), evaluateFCmpRelation(), EvaluateGEPOffsetExpression(), evaluateICmpRelation(), EvaluateOperation(), expandDivision(), llvm::ARMTargetLowering::ExpandInlineAsm(), llvm::X86TargetLowering::ExpandInlineAsm(), expandRemainder(), ExtractBranchMetadata(), ExtractConstantBytes(), ExtractEquivalentCondition(), extractMallocCall(), ExtractTypeInfo(), FactorizeBinOp(), FindInitTrampoline(), FindInitTrampolineFromAlloca(), FindLoopCounter(), llvm::SelectionDAGBuilder::FindMergedConditions(), FindPHIForConditionForwarding(), FindPhiPredForUseInBlock(), llvm::MCAssembler::Finish(), llvm::BinOpInit::Fold(), llvm::TernOpInit::Fold(), llvm::InstCombiner::FoldAndOfICmps(), FoldBitCast(), FoldBranchToCommonDest(), llvm::InstCombiner::FoldCmpLoadFromIndexedGlobal(), FoldCondBranchOnPHI(), llvm::SelectionDAG::FoldConstantArithmetic(), llvm::InstCombiner::foldFMulConst(), llvm::InstCombiner::FoldICmpShrCst(), foldLogOpOfMaskedICmps(), FoldOperand(), llvm::InstCombiner::FoldOrOfICmps(), llvm::InstCombiner::FoldOrWithConstants(), FoldReinterpretLoadFromConstPtr(), foldSelectICmpAnd(), foldSelectICmpAndOr(), llvm::InstCombiner::FoldShiftByConstant(), FoldTwoEntryPHINode(), ForeachHelper(), llvm::ScalarEvolution::forgetValue(), GatherConstantCompares(), genLoopLimit(), llvm::RecordRecTy::get(), GetBranchWeights(), llvm::CallSiteBase< Function, Value, User, Instruction, CallInst, InvokeInst, User::op_iterator >::getCalledFunction(), llvm::CallInst::getCalledFunction(), llvm::InvokeInst::getCalledFunction(), getCommonReturnValue(), getConstantEvolvingPHI(), getConstantEvolvingPHIOperands(), GetConstantInt(), getConstantStringInfo(), llvm::ExecutionEngine::getConstantValue(), getEdgeValueLocal(), llvm::ListInit::getElementAsRecord(), getExactSDiv(), llvm::ConstantInt::getFalse(), llvm::BasicBlock::getFirstNonPHIOrDbgOrLifetime(), getGatherNode(), llvm::SelectionDAG::getGlobalAddress(), GetIfCondition(), getIndexedTypeInternal(), getInsertPointForUses(), llvm::SCEVExpander::getIVIncOperand(), llvm::TargetLoweringObjectFile::getKindForGlobal(), getKnownConstant(), llvm::BasicBlock::getLandingPadInst(), getLocForWrite(), getLoopPhiForCounter(), getLoopTest(), llvm::SelectionDAG::getMemcpy(), getMemcpyLoadsAndStores(), llvm::SelectionDAG::getMemmove(), getMemmoveLoadsAndStores(), llvm::SelectionDAG::getMemset(), getMemSetPatternValue(), getMemsetStores(), getMGatherNode(), getMScatterNode(), llvm::ScalarEvolution::getMulExpr(), llvm::VarInit::getName(), llvm::RecordVal::getName(), llvm::Record::getName(), getNaturalGEPRecursively(), llvm::SelectionDAG::getNode(), getNoopInput(), llvm::SCEVAddRecExpr::getNumIterationsInRange(), GetOffsetFromIndex(), getOpenCLAlignment(), llvm::NamedMDNode::getOperand(), llvm::ARMBaseInstrInfo::getOperandLatency(), llvm::MemoryDependenceAnalysis::getPointerDependencyFrom(), llvm::LazyValueInfo::getPredicateOnEdge(), getPreStartForSignExtend(), llvm::NVPTXTargetLowering::getPrototype(), llvm::Constant::getRelocationInfo(), getScatterNode(), getShuffleAndOtherOprd(), llvm::ScalarEvolution::getSmallConstantTripCount(), llvm::ScalarEvolution::getSmallConstantTripMultiple(), llvm::DependenceAnalysis::getSplitIteration(), llvm::SparcTargetLowering::getSRetArgSize(), llvm::BasicBlock::getTerminator(), llvm::ConstantInt::getTrue(), getTypeOfMaskedICmp(), getTypePartition(), llvm::ScalarEvolution::getUDivExpr(), llvm::SSAUpdater::GetValueInMiddleOfBlock(), getVShiftImm(), getVZextMovL(), HandleCallsInBlockInlinedThroughInvoke(), hasComputableBounds(), hasConcreteDefImpl(), HasNoDuplicateCall(), hasReturnsTwiceAttr(), llvm::ARMConstantPoolConstant::hasSameValue(), llvm::ARMConstantPoolSymbol::hasSameValue(), llvm::ARMConstantPoolMBB::hasSameValue(), HoistThenElseCodeToIf(), llvm::CompositeType::indexValid(), InlineCallIfPossible(), InlineFunction(), insertVector(), InstCombineStoreToCast(), llvm::SSAUpdaterTraits< SSAUpdater >::InstrIsPHI(), InstructionDereferencesPointer(), isAllOnes(), isBLACompatibleAddress(), isBSwapHWordElement(), isCalleeLoad(), IsConstantOffsetFromGlobal(), isConstantSplatVector(), llvm::Constant::isConstantUsed(), isConstVecPow2(), llvm::BitcodeReader::isDematerializable(), isDereferenceablePointer(), llvm::Type::isEmptyTy(), isExistingPhi(), isExtendedBUILD_VECTOR(), isFMulOrFDivWithConstant(), isFormingBranchFromSelectProfitable(), isFreeCall(), llvm::TargetLowering::isGAPlusOffset(), llvm::ConstantExpr::isGEPWithNoNotionalOverIndexing(), llvm::HexagonTargetObjectFile::IsGlobalInSmallSection(), llvm::MipsTargetObjectFile::IsGlobalInSmallSection(), isHighCostExpansion(), isImageOrSamplerVal(), isInTailCallPosition(), isLikelyComplexAddressComputation(), llvm::ScalarEvolution::isLoopBackedgeGuardedByCond(), llvm::ScalarEvolution::isLoopEntryGuardedByCond(), isLoopInvariant(), isNaturalMemoryOperand(), llvm::SCEV::isNonConstantNegative(), llvm::ISD::isNormalLoad(), llvm::ISD::isNormalStore(), IsOneHotValue(), isOnlyCopiedFromConstantGlobal(), IsPointerOffset(), llvm::PHITransAddr::IsPotentiallyPHITranslatable(), llvm::objcarc::IsPotentialRetainableObjPtr(), isProfitableToFoldUnconditional(), llvm::DominatorTree::isReachableFromEntry(), isSafePHIToSpeculate(), isSafeSelectToSpeculate(), isSafeSROAElementUse(), isSafeToHoistInvoke(), isSafeToSpeculateStore(), isSafeToSpeculativelyExecute(), isSameCompare(), isScaledConstantInRange(), isSelect01(), isSimpleEnoughPointerToCommit(), isSimpleIVUser(), isSimpleShift(), isStridedPtr(), llvm::Constant::isThreadDependent(), isTruncateOf(), llvm::Value::isUsedInBasicBlock(), llvm::Instruction::isUsedOutsideOfBlock(), IsUserOfGlobalSafeForSRA(), llvm::ShuffleVectorInst::isValidOperands(), isVectorAllOnes(), isVectorPromotionViable(), isVSplat(), isXor1OfSetCC(), isZero(), isZeroLengthArray(), isZeroOrAllOnes(), IVUseShouldUsePostIncValue(), LinearizeExprTree(), llvm::AArch64TargetLowering::LowerAsmOperandForConstraint(), llvm::ARMTargetLowering::LowerAsmOperandForConstraint(), llvm::PPCTargetLowering::LowerAsmOperandForConstraint(), llvm::TargetLowering::LowerAsmOperandForConstraint(), llvm::NVPTXTargetLowering::LowerCall(), nvptx::LowerConstant(), lowerConstant(), LowerF128Load(), LowerF128Store(), llvm::SITargetLowering::LowerOperation(), LowerScalarImmediateShift(), LowerSDIV(), llvm::IntrinsicLowering::LowerToByteSwap(), LowerVectorIntExtend(), LowerZERO_EXTEND_AVX512(), MaintainNoSignedWrap(), MapValue(), llvm::PatternMatch::MaxMin_match< CmpInst_t, LHS_t, RHS_t, Pred_t >::match(), llvm::PatternMatch::IntrinsicID_match::match(), MatchingStackOffset(), matchPairwiseReduction(), matchPairwiseReductionAtLevel(), MatchSelectPattern(), matchVectorSplittingReduction(), llvm::BitcodeReader::Materialize(), mergeEmptyReturnBlocks(), MipsGetSymAndOffset(), needsLFTR(), onlyUsedByLifetimeMarkers(), llvm::TargetLowering::ParseConstraints(), passingValueIsAlwaysUndefined(), patchReplacementInstruction(), performANDCombine(), PerformANDCombine(), PerformAndCombine(), PerformBFICombine(), llvm::SITargetLowering::PerformDAGCombine(), performDSPShiftCombine(), PerformMULCombine(), PerformMulCombine(), PerformORCombine(), PerformOrCombine(), performSELECTCombine(), PerformSHLCombine(), performSRACombine(), PerformZExtCombine(), printExpr(), llvm::ARMInstPrinter::printOperand(), llvm::AArch64InstPrinter::printOperand(), llvm::X86IntelInstPrinter::printPCRelImm(), llvm::X86ATTInstPrinter::printPCRelImm(), llvm::DebugInfoFinder::processDeclare(), ProcessUAddIdiom(), ProcessUGT_ADDCST_ADD(), llvm::DebugInfoFinder::processValue(), llvm::ListInit::Profile(), promoteSingleBlockAlloca(), PushLoopPHIs(), QualifyName(), RecognizePersonality(), RecursivelyDeleteTriviallyDeadInstructions(), llvm::Constant::removeDeadConstantUsers(), removeDeadUsersOfConstant(), RemoveInstInputs(), llvm::BasicBlock::removePredecessor(), removeUndefIntroducingPredecessor(), ReorganizeVector(), llvm::SCEVExpander::replaceCongruentIVs(), replaceConstantExprOp(), llvm::LoopInfo::replacementPreservesLCSSAForm(), llvm::BasicBlock::replaceSuccessorsPhiUsesWith(), llvm::OpInit::resolveListElementReference(), llvm::VarInit::resolveListElementReference(), llvm::TernOpInit::resolveReferences(), rewriteNonInstructionUses(), RewriteUsesOfClonedInstructions(), llvm::NVPTXLowerAggrCopies::runOnFunction(), llvm::NVPTXAllocaHoisting::runOnFunction(), llvm::ExecutionEngine::runStaticConstructorsDestructors(), llvm::FunctionLoweringInfo::set(), shouldSwapCmpOperands(), ShrinkDemandedConstant(), llvm::TargetLowering::TargetLoweringOpt::ShrinkDemandedConstant(), SimplifyAssociativeBinOp(), SimplifyBranchOnICmpChain(), SimplifyCall(), SimplifyCondBranchToCondBranch(), llvm::TargetLowering::SimplifyDemandedBits(), SimplifyGEPInst(), SimplifyICmpInst(), SimplifyIndirectBrOnSelect(), SimplifySwitchOnSelect(), SimplifyWithOpReplaced(), SinkThenElseCodeToEnd(), llvm::InstCombiner::SliceUpIllegalIntegerPHI(), SolveQuadraticEquation(), SpeculativelyExecuteBB(), llvm::BasicBlock::splitBasicBlock(), SplitCriticalSideEffectEdges(), llvm::AMDGPUTargetLowering::SplitVectorLoad(), llvm::DbgInfoIntrinsic::StripCast(), swapMayExposeCSEOpportunities(), SymbolicallyEvaluateGEP(), ThreadBinOpOverSelect(), TryToOptimizeStoreOfMallocToGlobal(), TryToSimplifyUncondBranchWithICmpInIt(), UnrollLoop(), UpdateCallGraphAfterInlining(), usedInGlobalVarDef(), ValueDominatesPHI(), llvm::SSAUpdaterTraits< SSAUpdater >::ValueIsPHI(), llvm::InlineAsm::Verify(), VerifySubExpr(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitAllocaInst(), llvm::InstCombiner::visitCallInst(), llvm::ObjectSizeOffsetVisitor::visitCallSite(), llvm::InstCombiner::visitFAdd(), llvm::InstCombiner::visitFCmpInst(), llvm::InstCombiner::visitFMul(), llvm::InstCombiner::visitFPToSI(), llvm::InstCombiner::visitFPToUI(), llvm::InstCombiner::visitFPTrunc(), llvm::InstCombiner::visitGetElementPtrInst(), llvm::InstCombiner::visitICmpInst(), llvm::InstCombiner::visitICmpInstWithCastAndCast(), llvm::InstCombiner::visitICmpInstWithInstAndIntCst(), llvm::InstCombiner::visitLandingPadInst(), llvm::InstCombiner::visitMul(), llvm::InstCombiner::visitOr(), llvm::InstCombiner::visitSelectInstWithICmp(), llvm::InstCombiner::visitShuffleVectorInst(), llvm::InstCombiner::visitXor(), and llvm::InstCombiner::visitZExt().
|
inline |
|
inline |
|
inline |
bool llvm::EliminateDuplicatePHINodes | ( | BasicBlock * | BB | ) |
EliminateDuplicatePHINodes - Check for and eliminate duplicate PHI nodes in this block. This doesn't try to be clever about PHI nodes which differ only in the order of the incoming values, but instcombine orders them so it usually won't matter.
Definition at line 808 of file Local.cpp.
References llvm::BasicBlock::begin(), llvm::PHINode::block_begin(), llvm::PHINode::block_end(), dyn_cast(), llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT >, KeyT, ValueT, KeyInfoT >::end(), llvm::Instruction::eraseFromParent(), llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT >, KeyT, ValueT, KeyInfoT >::find(), I, llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT >, KeyT, ValueT, KeyInfoT >::insert(), llvm::User::op_begin(), llvm::User::op_end(), and llvm::Value::replaceAllUsesWith().
|
static |
Definition at line 53 of file MCWin64EH.cpp.
References llvm::MCSymbolRefExpr::Create(), llvm::MCBinaryExpr::CreateSub(), llvm::MCStreamer::EmitAbsValue(), and llvm::MCStreamer::getContext().
Referenced by EmitUnwindCode(), and EmitUnwindInfo().
void llvm::EmitAnyX86InstComments | ( | const MCInst * | MI, |
raw_ostream & | OS, | ||
const char *(*)(unsigned) | getRegName | ||
) |
EmitAnyX86InstComments - This function decodes x86 instructions and prints newline terminated strings to the specified string if desired. This information is shown in disassembly dumps when verbose assembly is enabled.
Definition at line 29 of file X86InstComments.cpp.
References DecodeINSERTPSMask(), DecodeMOVHLPSMask(), DecodeMOVLHPSMask(), DecodePALIGNRMask(), DecodePSHUFHWMask(), DecodePSHUFLWMask(), DecodePSHUFMask(), DecodeSHUFPMask(), DecodeUNPCKHMask(), DecodeUNPCKLMask(), DecodeVPERM2X128Mask(), DecodeVPERMMask(), llvm::SmallVectorBase::empty(), llvm::MCOperand::getImm(), llvm::MCInst::getNumOperands(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::SmallVectorTemplateCommon< T >::size(), SM_SentinelZero, llvm::MVT::v16i16, llvm::MVT::v16i8, llvm::MVT::v2f64, llvm::MVT::v2i64, llvm::MVT::v32i8, llvm::MVT::v4f32, llvm::MVT::v4f64, llvm::MVT::v4i32, llvm::MVT::v4i64, llvm::MVT::v8f32, llvm::MVT::v8i16, and llvm::MVT::v8i32.
Referenced by llvm::X86ATTInstPrinter::printInst(), and llvm::X86IntelInstPrinter::printInst().
void llvm::emitARMRegPlusImmediate | ( | MachineBasicBlock & | MBB, |
MachineBasicBlock::iterator & | MBBI, | ||
DebugLoc | dl, | ||
unsigned | DestReg, | ||
unsigned | BaseReg, | ||
int | NumBytes, | ||
ARMCC::CondCodes | Pred, | ||
unsigned | PredReg, | ||
const ARMBaseInstrInfo & | TII, | ||
unsigned | MIFlags = 0 |
||
) |
emitARMRegPlusImmediate / emitT2RegPlusImmediate - Emits a series of instructions to materializea destreg = basereg + immediate in ARM / Thumb2 code.
Referenced by llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), llvm::ARMFrameLowering::emitEpilogue(), and emitRegPlusImmediate().
Value * llvm::EmitFPutC | ( | Value * | Char, |
Value * | File, | ||
IRBuilder<> & | B, | ||
const DataLayout * | TD, | ||
const TargetLibraryInfo * | TLI | ||
) |
EmitFPutC - Emit a call to the fputc function. This assumes that Char is an i32, and File is a pointer to FILE.
EmitFPutC - Emit a call to the fputc function. This assumes that Char is an integer and File is a pointer to FILE.
Definition at line 365 of file BuildLibCalls.cpp.
References llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall2(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateIntCast(), F(), llvm::LibFunc::fputc, llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32Ty(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::Value::getType(), llvm::TargetLibraryInfo::has(), llvm::Type::isPointerTy(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, and llvm::CallInst::setCallingConv().
Value * llvm::EmitFPutS | ( | Value * | Str, |
Value * | File, | ||
IRBuilder<> & | B, | ||
const DataLayout * | TD, | ||
const TargetLibraryInfo * | TLI | ||
) |
EmitFPutS - Emit a call to the puts function. Str is required to be a pointer and File is a pointer to FILE.
Definition at line 398 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall2(), F(), llvm::LibFunc::fputs, llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32Ty(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::TargetLibraryInfo::getName(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::Value::getType(), llvm::TargetLibraryInfo::has(), llvm::Type::isPointerTy(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().
Value * llvm::EmitFWrite | ( | Value * | Ptr, |
Value * | Size, | ||
Value * | File, | ||
IRBuilder<> & | B, | ||
const DataLayout * | TD, | ||
const TargetLibraryInfo * | TLI | ||
) |
EmitFWrite - Emit a call to the fwrite function. This assumes that Ptr is a pointer, Size is an 'intptr_t', and File is a pointer to FILE.
Definition at line 430 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall4(), F(), llvm::LibFunc::fwrite, llvm::ConstantInt::get(), llvm::BasicBlock::getContext(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::DataLayout::getIntPtrType(), llvm::TargetLibraryInfo::getName(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::Value::getType(), llvm::TargetLibraryInfo::has(), llvm::Type::isPointerTy(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().
Value* llvm::EmitGEPOffset | ( | IRBuilderTy * | Builder, |
const DataLayout & | TD, | ||
User * | GEP, | ||
bool | NoAssumptions = false |
||
) |
EmitGEPOffset - Given a getelementptr instruction/constantexpr, emit the code necessary to compute the offset from the base pointer (without adding in the base pointer). Return the result as a signed integer of intptr size. When NoAssumptions is true, no assumptions about index computation not overflowing is made.
Definition at line 187 of file Local.h.
References gep_type_begin(), llvm::ConstantInt::get(), llvm::StructLayout::getElementOffset(), llvm::ConstantExpr::getIntegerCast(), llvm::DataLayout::getIntPtrType(), llvm::ConstantExpr::getMul(), llvm::Value::getName(), llvm::Constant::getNullValue(), llvm::DataLayout::getStructLayout(), llvm::Value::getType(), llvm::DataLayout::getTypeAllocSize(), llvm::GEPOperator::isInBounds(), llvm::SystemZISD::OC, llvm::User::op_begin(), and llvm::User::op_end().
Referenced by llvm::InstCombiner::FoldGEPICmp(), llvm::InstCombiner::OptimizePointerDifference(), and llvm::ObjectSizeOffsetEvaluator::visitGEPOperator().
Value * llvm::EmitMemChr | ( | Value * | Ptr, |
Value * | Val, | ||
Value * | Len, | ||
IRBuilder<> & | B, | ||
const DataLayout * | TD, | ||
const TargetLibraryInfo * | TLI | ||
) |
EmitMemChr - Emit a call to the memchr function. This assumes that Ptr is a pointer, Val is an i32 value, and Len is an 'intptr_t' value.
Definition at line 231 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall3(), F(), llvm::BasicBlock::getContext(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32Ty(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::DataLayout::getIntPtrType(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::LibFunc::memchr, llvm::Attribute::NoUnwind, llvm::Attribute::ReadOnly, llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().
Value * llvm::EmitMemCmp | ( | Value * | Ptr1, |
Value * | Ptr2, | ||
Value * | Len, | ||
IRBuilder<> & | B, | ||
const DataLayout * | TD, | ||
const TargetLibraryInfo * | TLI | ||
) |
EmitMemCmp - Emit a call to the memcmp function.
Definition at line 259 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall3(), F(), llvm::BasicBlock::getContext(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32Ty(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::DataLayout::getIntPtrType(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::LibFunc::memcmp, MemCmp, llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, llvm::Attribute::ReadOnly, llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().
Value * llvm::EmitMemCpyChk | ( | Value * | Dst, |
Value * | Src, | ||
Value * | Len, | ||
Value * | ObjSize, | ||
IRBuilder<> & | B, | ||
const DataLayout * | TD, | ||
const TargetLibraryInfo * | TLI | ||
) |
EmitMemCpyChk - Emit a call to the __memcpy_chk function to the builder. This expects that the Len and ObjSize have type 'intptr_t' and Dst/Src are pointers.
Definition at line 203 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall4(), F(), llvm::BasicBlock::getContext(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::DataLayout::getIntPtrType(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), MemCpy, llvm::LibFunc::memcpy_chk, llvm::Attribute::NoUnwind, llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().
Value * llvm::EmitPutChar | ( | Value * | Char, |
IRBuilder<> & | B, | ||
const DataLayout * | TD, | ||
const TargetLibraryInfo * | TLI | ||
) |
EmitPutChar - Emit a call to the putchar function. This assumes that Char is an integer.
Definition at line 319 of file BuildLibCalls.cpp.
References llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateIntCast(), F(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32Ty(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::LibFunc::putchar, llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().
Value * llvm::EmitPutS | ( | Value * | Str, |
IRBuilder<> & | B, | ||
const DataLayout * | TD, | ||
const TargetLibraryInfo * | TLI | ||
) |
EmitPutS - Emit a call to the puts function. This assumes that Str is some pointer.
Definition at line 341 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32Ty(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, llvm::LibFunc::puts, and llvm::CallInst::setCallingConv().
|
static |
Definition at line 144 of file MCWin64EH.cpp.
References llvm::MCWin64EHUnwindInfo::Begin, llvm::MCSymbolRefExpr::Create(), EmitSymbolRefWithOfs(), llvm::MCStreamer::EmitValue(), llvm::MCStreamer::EmitValueToAlignment(), llvm::MCWin64EHUnwindInfo::End, llvm::MCWin64EHUnwindInfo::Function, llvm::MCStreamer::getContext(), llvm::MCWin64EHUnwindInfo::Symbol, and llvm::MCSymbolRefExpr::VK_COFF_IMGREL32.
Referenced by llvm::MCWin64EHUnwindEmitter::Emit(), and EmitUnwindInfo().
void llvm::emitSourceFileHeader | ( | StringRef | Desc, |
raw_ostream & | OS | ||
) |
emitSourceFileHeader - Output an LLVM style file header to the specified raw_ostream.
Definition at line 35 of file TableGenBackend.cpp.
References MAX_LINE_LEN, llvm::cl::Prefix, printLine(), llvm::StringRef::size(), and llvm::StringRef::slice().
void llvm::emitSPUpdate | ( | MachineBasicBlock & | MBB, |
MachineBasicBlock::iterator | MI, | ||
DebugLoc | dl, | ||
const TargetInstrInfo & | TII, | ||
unsigned | ScratchReg, | ||
int64_t | NumBytes, | ||
MachineInstr::MIFlag | MIFlags = MachineInstr::NoFlags |
||
) |
Referenced by llvm::Thumb1FrameLowering::eliminateCallFramePseudoInstr(), llvm::AArch64FrameLowering::eliminateCallFramePseudoInstr(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitEpilogue(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), and llvm::AArch64FrameLowering::emitPrologue().
Value * llvm::EmitStrChr | ( | Value * | Ptr, |
char | C, | ||
IRBuilder<> & | B, | ||
const DataLayout * | TD, | ||
const TargetLibraryInfo * | TLI | ||
) |
EmitStrChr - Emit a call to the strchr function to the builder, for the specified pointer and character. Ptr is required to be some pointer type, and the return value has 'i8*' type.
Definition at line 94 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall2(), F(), llvm::ConstantInt::get(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32Ty(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::Attribute::NoUnwind, llvm::Attribute::ReadOnly, llvm::CallInst::setCallingConv(), llvm::LibFunc::strchr, StrChr, and llvm::Value::stripPointerCasts().
Value * llvm::EmitStrCpy | ( | Value * | Dst, |
Value * | Src, | ||
IRBuilder<> & | B, | ||
const DataLayout * | TD, | ||
const TargetLibraryInfo * | TLI, | ||
StringRef | Name = "strcpy" |
||
) |
EmitStrCpy - Emit a call to the strcpy function to the builder, for the specified pointer arguments.
Definition at line 152 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall2(), F(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, llvm::CallInst::setCallingConv(), llvm::LibFunc::strcpy, StrCpy, and llvm::Value::stripPointerCasts().
Referenced by llvm::SimplifyFortifiedLibCalls::fold().
Value * llvm::EmitStrLen | ( | Value * | Ptr, |
IRBuilder<> & | B, | ||
const DataLayout * | TD, | ||
const TargetLibraryInfo * | TLI | ||
) |
EmitStrLen - Emit a call to the strlen function to the builder, for the specified pointer. Ptr is required to be some pointer type, and the return value has 'intptr_t' type.
EmitStrLen - Emit a call to the strlen function to the builder, for the specified pointer. This always returns an integer value of size intptr_t.
Definition at line 35 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::BasicBlock::getContext(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::DataLayout::getIntPtrType(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, llvm::Attribute::ReadOnly, llvm::CallInst::setCallingConv(), llvm::Value::stripPointerCasts(), llvm::LibFunc::strlen, and StrLen.
Value * llvm::EmitStrNCmp | ( | Value * | Ptr1, |
Value * | Ptr2, | ||
Value * | Len, | ||
IRBuilder<> & | B, | ||
const DataLayout * | TD, | ||
const TargetLibraryInfo * | TLI | ||
) |
EmitStrNCmp - Emit a call to the strncmp function to the builder.
Definition at line 119 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall3(), F(), llvm::BasicBlock::getContext(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt32Ty(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::DataLayout::getIntPtrType(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, llvm::Attribute::ReadOnly, llvm::CallInst::setCallingConv(), llvm::Value::stripPointerCasts(), llvm::LibFunc::strncmp, and StrNCmp.
Value * llvm::EmitStrNCpy | ( | Value * | Dst, |
Value * | Src, | ||
Value * | Len, | ||
IRBuilder<> & | B, | ||
const DataLayout * | TD, | ||
const TargetLibraryInfo * | TLI, | ||
StringRef | Name = "strncpy" |
||
) |
EmitStrNCpy - Emit a call to the strncpy function to the builder, for the specified pointer arguments and length.
EmitStrNCpy - Emit a call to the strncpy function to the builder, for the specified pointer arguments.
Definition at line 176 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall3(), F(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::Value::getType(), llvm::TargetLibraryInfo::has(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, llvm::CallInst::setCallingConv(), llvm::Value::stripPointerCasts(), llvm::LibFunc::strncpy, and StrNCpy.
Referenced by llvm::SimplifyFortifiedLibCalls::fold().
Value * llvm::EmitStrNLen | ( | Value * | Ptr, |
Value * | MaxLen, | ||
IRBuilder<> & | B, | ||
const DataLayout * | TD, | ||
const TargetLibraryInfo * | TLI | ||
) |
EmitStrNLen - Emit a call to the strnlen function to the builder, for the specified pointer. Ptr is required to be some pointer type, MaxLen must be of size_t type, and the return value has 'intptr_t' type.
Definition at line 64 of file BuildLibCalls.cpp.
References CastToCStr(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall2(), F(), llvm::BasicBlock::getContext(), llvm::Module::getContext(), llvm::IRBuilderBase::GetInsertBlock(), llvm::IRBuilderBase::getInt8PtrTy(), llvm::DataLayout::getIntPtrType(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::TargetLibraryInfo::has(), llvm::Attribute::NoCapture, llvm::Attribute::NoUnwind, llvm::Attribute::ReadOnly, llvm::CallInst::setCallingConv(), llvm::Value::stripPointerCasts(), and llvm::LibFunc::strnlen.
|
static |
Definition at line 131 of file MCWin64EH.cpp.
References llvm::MCSymbolRefExpr::Create(), llvm::MCBinaryExpr::CreateAdd(), llvm::MCBinaryExpr::CreateSub(), llvm::MCStreamer::EmitValue(), llvm::MCStreamer::getContext(), and llvm::MCSymbolRefExpr::VK_COFF_IMGREL32.
Referenced by EmitRuntimeFunction().
Value * llvm::EmitUnaryFloatFnCall | ( | Value * | Op, |
StringRef | Name, | ||
IRBuilder<> & | B, | ||
const AttributeSet & | Attrs | ||
) |
EmitUnaryFloatFnCall - Emit a call to the unary function named 'Name' (e.g. 'floor'). This function is known to take a single of type matching 'Op' and returns one value with the same type. If 'Op' is a long double, 'l' is added as the suffix of name, if 'Op' is a float, we add a 'f' suffix.
Definition at line 293 of file BuildLibCalls.cpp.
References llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), F(), llvm::IRBuilderBase::GetInsertBlock(), llvm::Module::getOrInsertFunction(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::Value::getType(), llvm::Type::isDoubleTy(), llvm::Type::isFloatTy(), llvm::CallInst::setAttributes(), llvm::CallInst::setCallingConv(), and llvm::Value::stripPointerCasts().
|
static |
Definition at line 65 of file MCWin64EH.cpp.
References llvm::sys::path::begin(), EmitAbsDifference(), llvm::MCStreamer::EmitIntValue(), llvm::MCWin64EHInstruction::getLabel(), llvm::MCWin64EHInstruction::getOffset(), llvm::MCWin64EHInstruction::getOperation(), llvm::MCWin64EHInstruction::getRegister(), llvm::MCWin64EHInstruction::getSize(), llvm::MCWin64EHInstruction::isPushCodeFrame(), llvm::Win64EH::UOP_AllocLarge, llvm::Win64EH::UOP_AllocSmall, llvm::Win64EH::UOP_PushMachFrame, llvm::Win64EH::UOP_PushNonVol, llvm::Win64EH::UOP_SaveNonVol, llvm::Win64EH::UOP_SaveNonVolBig, llvm::Win64EH::UOP_SaveXMM128, llvm::Win64EH::UOP_SaveXMM128Big, and llvm::Win64EH::UOP_SetFPReg.
Referenced by EmitUnwindInfo().
|
static |
Definition at line 156 of file MCWin64EH.cpp.
References llvm::MCWin64EHUnwindInfo::Begin, llvm::MCWin64EHUnwindInfo::ChainedParent, CountOfUnwindCodes(), llvm::MCSymbolRefExpr::Create(), llvm::MCContext::CreateTempSymbol(), EmitAbsDifference(), llvm::MCStreamer::EmitIntValue(), llvm::MCStreamer::EmitLabel(), EmitRuntimeFunction(), EmitUnwindCode(), llvm::MCStreamer::EmitValue(), llvm::MCStreamer::EmitValueToAlignment(), llvm::MCWin64EHUnwindInfo::ExceptionHandler, llvm::MCStreamer::getContext(), llvm::MCWin64EHInstruction::getOffset(), llvm::MCWin64EHInstruction::getOperation(), llvm::MCWin64EHInstruction::getRegister(), llvm::MCWin64EHUnwindInfo::HandlesExceptions, llvm::MCWin64EHUnwindInfo::HandlesUnwind, llvm::MCWin64EHUnwindInfo::Instructions, llvm::MCWin64EHUnwindInfo::LastFrameInst, llvm::MCWin64EHUnwindInfo::PrologEnd, llvm::MCWin64EHUnwindInfo::Symbol, llvm::Win64EH::UNW_ChainInfo, llvm::Win64EH::UNW_ExceptionHandler, llvm::Win64EH::UNW_TerminateHandler, llvm::Win64EH::UOP_SetFPReg, and llvm::MCSymbolRefExpr::VK_COFF_IMGREL32.
Referenced by llvm::MCWin64EHUnwindEmitter::Emit(), and llvm::MCWin64EHUnwindEmitter::EmitUnwindInfo().
void llvm::EnablePrettyStackTrace | ( | ) |
Definition at line 143 of file PrettyStackTrace.cpp.
References RegisterCrashPrinter().
Referenced by LLVMEnablePrettyStackTrace(), and llvm::PrettyStackTraceProgram::PrettyStackTraceProgram().
void llvm::EnableStatistics | ( | ) |
Enable the collection and printing of statistics.
Definition at line 106 of file Statistic.cpp.
References Enabled.
|
static |
Definition at line 36 of file NVPTXutil.cpp.
References DATA_MASK, DIGIT_WIDTH, llvm::sys::path::end(), and MORE_BYTES.
Referenced by encode_leb128().
uint64_t llvm::encode_leb128 | ( | const char * | str | ) |
Definition at line 61 of file NVPTXutil.cpp.
References encode_leb128(), and llvm::LibFunc::strlen.
|
inline |
Utility function to encode a SLEB128 value to an output stream.
Definition at line 23 of file LEB128.h.
Referenced by llvm::MCStreamer::EmitSLEB128IntValue(), and llvm::MCDwarfLineAddr::Encode().
|
inline |
Utility function to encode a ULEB128 value to an output stream.
Definition at line 38 of file LEB128.h.
Referenced by llvm::UnwindOpcodeAssembler::EmitSPOffset(), llvm::MCStreamer::EmitULEB128IntValue(), and llvm::MCDwarfLineAddr::Encode().
|
static |
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
raw_ostream & llvm::errs | ( | ) |
errs() - This returns a reference to a raw_ostream for standard error. Use it like: errs() << "foo" << "bar";
Definition at line 664 of file raw_ostream.cpp.
Referenced by llvm::MipsTargetMachine::addAnalysisPasses(), llvm::Interpreter::callExternalFunction(), CheckBitcodeOutputToConsole(), llvm::SelectionDAG::clearGraphAttrs(), CrashHandler(), llvm::EngineBuilder::create(), createDependencyFile(), createGraphFilename(), CreateInfoOutputFile(), dbgs(), DisplayGraph(), llvm::SubMultiClassReference::dump(), llvm::RecTy::dump(), llvm::opt::Arg::dump(), llvm::ARMConstantPoolValue::dump(), llvm::MCFragment::dump(), llvm::opt::Option::dump(), llvm::Init::dump(), llvm::LiveRangeUpdater::dump(), llvm::MCSectionData::dump(), llvm::MCSymbolData::dump(), llvm::MCAssembler::dump(), llvm::RecordVal::dump(), llvm::Record::dump(), llvm::MultiClass::dump(), llvm::RecordKeeper::dump(), dumpDataAux(), llvm::LPPassManager::dumpPassStructure(), llvm::RGPassManager::dumpPassStructure(), llvm::DWARFContextInMemory::DWARFContextInMemory(), llvm::XCoreFrameLowering::eliminateCallFramePseudoInstr(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::MipsRegisterInfo::eliminateFrameIndex(), llvm::LLVMContext::emitError(), llvm::ARMJITInfo::emitFunctionStub(), llvm::MCStreamer::EmitRawTextImpl(), llvm::cl::Option::error(), ExecGraphViewer(), ferrs(), llvm::MCAssembler::Finish(), llvm::SubtargetFeatures::getFeatureBits(), llvm::SelectionDAG::getGraphAttrs(), GetOptionInfo(), llvm::MCSubtargetInfo::getSchedModelForCPU(), llvm::LeakDetectorImpl< llvm::Value >::hasGarbage(), Help(), INITIALIZE_PASS(), lle_X_sprintf(), LLVMSetLinkage(), llvm::IntrinsicLowering::LowerIntrinsicCall(), llvm::PluginLoader::operator=(), OptimizeGlobalAddressOfMalloc(), llvm::cl::ParseCommandLineOptions(), llvm::PassNameParser::passRegistered(), llvm::PrinterTrait< T >::print(), llvm::PrinterTrait< Value >::print(), llvm::FileInfo::print(), PrintError(), PrintLoadStoreResults(), llvm::SourceMgr::PrintMessage(), PrintModRefResults(), PrintPercent(), PrintRecyclerStats(), PrintResults(), llvm::BumpPtrAllocator::PrintStats(), PrintWarning(), llvm::GCOVFile::read(), llvm::GCOVFunction::read(), llvm::GCOVBuffer::readInt(), llvm::GCOVBuffer::readString(), removeUseSoftFloat(), llvm::DOTGraphTraitsPrinter< Analysis, Simple >::runOnFunction(), llvm::PEI::runOnMachineFunction(), llvm::MipsModuleDAGToDAGISel::runOnMachineFunction(), llvm::Mips16HardFloat::runOnModule(), llvm::DOTGraphTraitsModulePrinter< Analysis, Simple >::runOnModule(), llvm::SelectionDAG::setGraphAttrs(), llvm::SelectionDAG::setGraphColor(), llvm::SelectionDAG::setSubgraphColor(), TableGenMain(), llvm::SubtargetFeatures::ToggleFeature(), llvm::PHITransAddr::Verify(), llvm::DominatorTree::verifyAnalysis(), VerifySubExpr(), llvm::MachineRegisterInfo::verifyUseList(), llvm::BlockFrequencyInfo::view(), llvm::MachineFunction::viewCFG(), llvm::MachineFunction::viewCFGOnly(), llvm::SelectionDAG::viewGraph(), llvm::ScheduleDAGMI::viewGraph(), llvm::ScheduleDAG::viewGraph(), llvm::Interpreter::visitInstruction(), and WriteGraph().
GraphT::NodeType* llvm::Eval | ( | DominatorTreeBase< typename GraphT::NodeType > & | DT, |
typename GraphT::NodeType * | VIn, | ||
unsigned | LastLinked | ||
) |
Definition at line 108 of file DominatorInternals.h.
References llvm::SmallVectorTemplateCommon< T >::back(), llvm::DominatorTreeBase< NodeT >::InfoRec::DFSNum, llvm::SmallVectorBase::empty(), llvm::DominatorTreeBase< NodeT >::Info, llvm::SmallPtrSet< PtrType, SmallSize >::insert(), llvm::DominatorTreeBase< NodeT >::InfoRec::Label, llvm::DominatorTreeBase< NodeT >::InfoRec::Parent, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::pop_back(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::DominatorTreeBase< NodeT >::Vertex.
Referenced by EvaluateStaticConstructor().
bool llvm::expandDivision | ( | BinaryOperator * | Div | ) |
Replace Div with generated code.
Generate code to divide two integers, replacing Div with the generated code. This currently generates code similarly to compiler-rt's implementations, but future work includes generating more specialized code when more information about the operands are known. Currently only implements 32bit scalar division, but future work is removing this limitation.
Definition at line 384 of file IntegerDivision.cpp.
References llvm::User::dropAllReferences(), dyn_cast(), llvm::Instruction::eraseFromParent(), generateSignedDivisionCode(), generateUnsignedDivisionCode(), llvm::IRBuilderBase::GetInsertPoint(), llvm::BinaryOperator::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), llvm::Type::isVectorTy(), llvm_unreachable, and llvm::Value::replaceAllUsesWith().
Referenced by expandDivisionUpTo32Bits(), and expandRemainder().
bool llvm::expandDivisionUpTo32Bits | ( | BinaryOperator * | Div | ) |
Replace Rem with generated code.
Replace Div with emulation code.
Generate code to divide two integers, replacing Div with the generated code. Uses the above 32bit routine, therefore adequate for targets with little or no support for less than 32 bit arithmetic.
Generate code to divide two integers of bitwidth up to 32 bits. Uses the above routines and extends the inputs/truncates the outputs to operate in 32 bits; that is, these routines are good for targets that have no or very little support for smaller than 32 bit integer arithmetic.
Definition at line 481 of file IntegerDivision.cpp.
References llvm::IRBuilder< preserveNames, T, Inserter >::CreateSDiv(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateSExt(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateTrunc(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateUDiv(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateZExt(), llvm::User::dropAllReferences(), llvm::Instruction::eraseFromParent(), expandDivision(), llvm::IRBuilderBase::getInt32Ty(), llvm::Type::getIntegerBitWidth(), llvm::BinaryOperator::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), Int32Ty, llvm::Type::isVectorTy(), llvm_unreachable, and llvm::Value::replaceAllUsesWith().
bool llvm::expandRemainder | ( | BinaryOperator * | Rem | ) |
Replace Rem with generated code.
Generate code to calculate the remainder of two integers, replacing Rem with the generated code. This currently generates code using the udiv expansion, but future work includes generating more specialized code, e.g. when more information about the operands are known. Currently only implements 32bit scalar division (due to udiv's limitation), but future work is removing this limitation.
Definition at line 334 of file IntegerDivision.cpp.
References llvm::User::dropAllReferences(), dyn_cast(), llvm::Instruction::eraseFromParent(), expandDivision(), generatedUnsignedRemainderCode(), generateSignedRemainderCode(), llvm::IRBuilderBase::GetInsertPoint(), llvm::BinaryOperator::getOpcode(), llvm::User::getOperand(), and llvm::Value::replaceAllUsesWith().
Referenced by expandRemainderUpTo32Bits().
bool llvm::expandRemainderUpTo32Bits | ( | BinaryOperator * | Rem | ) |
Replace Rem with generated code.
Replace Rem with emulation code.
Generate code to calculate the remainder of two integers, replacing Rem with the generated code. Uses the above 32bit routine, therefore adequate for targets with little or no support for less than 32 bit arithmetic.
Generate code to compute the remainder of two integers of bitwidth up to 32 bits. Uses the above routines and extends the inputs/truncates the outputs to operate in 32 bits; that is, these routines are good for targets that have no or very little suppport for smaller than 32 bit integer arithmetic.
Definition at line 429 of file IntegerDivision.cpp.
References llvm::IRBuilder< preserveNames, T, Inserter >::CreateSExt(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateSRem(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateTrunc(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateURem(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateZExt(), llvm::User::dropAllReferences(), llvm::Instruction::eraseFromParent(), expandRemainder(), llvm::IRBuilderBase::getInt32Ty(), llvm::Type::getIntegerBitWidth(), llvm::BinaryOperator::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), Int32Ty, llvm::Type::isVectorTy(), llvm_unreachable, and llvm::Value::replaceAllUsesWith().
llvm::EXTERN_TEMPLATE_INSTANTIATION | ( | class DominatorTreeBase< MachineBasicBlock > | ) |
llvm::EXTERN_TEMPLATE_INSTANTIATION | ( | class DomTreeNodeBase< BasicBlock > | ) |
llvm::EXTERN_TEMPLATE_INSTANTIATION | ( | class DomTreeNodeBase< MachineBasicBlock > | ) |
llvm::EXTERN_TEMPLATE_INSTANTIATION | ( | class DominatorTreeBase< BasicBlock > | ) |
const CallInst * llvm::extractCallocCall | ( | const Value * | I, |
const TargetLibraryInfo * | TLI | ||
) |
extractCallocCall - Returns the corresponding CallInst if the instruction is a calloc call.
Definition at line 309 of file MemoryBuiltins.cpp.
References I, and isCallocLikeFn().
Referenced by extractCallocCall().
|
inlinestatic |
Definition at line 122 of file MemoryBuiltins.h.
References extractCallocCall().
const CallInst * llvm::extractMallocCall | ( | const Value * | I, |
const TargetLibraryInfo * | TLI | ||
) |
extractMallocCall - Returns the corresponding CallInst if the instruction is a malloc call. Since CallInst::CreateMalloc() only creates calls, we ignore InvokeInst here.
Definition at line 203 of file MemoryBuiltins.cpp.
References dyn_cast(), I, and isMallocLikeFn().
Referenced by extractMallocCall(), isArrayMalloc(), and OptimizeOnceStoredGlobal().
|
inlinestatic |
Definition at line 80 of file MemoryBuiltins.h.
References extractMallocCall().
GlobalVariable * llvm::ExtractTypeInfo | ( | Value * | V | ) |
ExtractTypeInfo - Returns the type info, possibly bitcast, encoded in V.
Definition at line 108 of file CodeGen/Analysis.cpp.
References dyn_cast(), llvm::GlobalVariable::getInitializer(), llvm::Value::getName(), llvm::GlobalVariable::hasInitializer(), and llvm::Value::stripPointerCasts().
Referenced by AddCatchInfo().
|
static |
Definition at line 71 of file ARMCallingConv.h.
References llvm::CCState::addLoc(), llvm::CCState::AllocateReg(), llvm::CCState::AllocateStack(), llvm::CCValAssign::getCustomMem(), llvm::CCValAssign::getCustomReg(), GPRArgRegs, and R2.
Referenced by CC_ARM_AAPCS_Custom_f64().
|
static |
Definition at line 28 of file ARMCallingConv.h.
References llvm::CCState::addLoc(), llvm::CCState::AllocateReg(), llvm::CCState::AllocateStack(), llvm::CCValAssign::getCustomMem(), llvm::CCValAssign::getCustomReg(), and R2.
Referenced by CC_ARM_APCS_Custom_f64().
|
static |
Definition at line 124 of file ARMCallingConv.h.
References llvm::CCState::addLoc(), llvm::CCState::AllocateReg(), llvm::CCValAssign::getCustomReg(), and R2.
Referenced by RetCC_ARM_APCS_Custom_f64().
formatted_raw_ostream & llvm::fdbgs | ( | ) |
fdbgs() - This returns a reference to a formatted_raw_ostream for debug output. Use it like: fdbgs() << "foo" << "bar";
fdbgs() - This returns a reference to a formatted_raw_ostream for the debug stream. Use it like: fdbgs() << "foo" << "bar";
Definition at line 103 of file FormattedStream.cpp.
References dbgs().
formatted_raw_ostream & llvm::ferrs | ( | ) |
ferrs() - This returns a reference to a formatted_raw_ostream for standard error. Use it like: ferrs() << "foo" << "bar";
Definition at line 96 of file FormattedStream.cpp.
References errs().
void llvm::finalizeBundle | ( | MachineBasicBlock & | MBB, |
MachineBasicBlock::instr_iterator | FirstMI, | ||
MachineBasicBlock::instr_iterator | LastMI | ||
) |
finalizeBundle - Finalize a machine instruction bundle which includes a sequence of instructions starting from FirstMI to LastMI (exclusive). This routine adds a BUNDLE instruction to represent the bundle, it adds IsInternalRead markers to MachineOperands which are defined inside the bundle, and it copies externally visible defs and uses to the BUNDLE instruction.
Definition at line 100 of file MachineInstrBundle.cpp.
References llvm::MachineInstrBuilder::addReg(), BuildMI(), llvm::TargetOpcode::BUNDLE, llvm::SmallVectorImpl< T >::clear(), llvm::SmallSet< T, N, C >::count(), llvm::SmallSet< T, N, C >::erase(), llvm::MCInstrInfo::get(), getDeadRegState(), getDefRegState(), getImplRegState(), llvm::TargetMachine::getInstrInfo(), getKillRegState(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), llvm::TargetMachine::getRegisterInfo(), llvm::MachineFunction::getTarget(), getUndefRegState(), llvm::SmallSet< T, N, C >::insert(), llvm::MachineOperand::isDead(), llvm::MachineOperand::isDef(), llvm::MachineOperand::isKill(), llvm::TargetRegisterInfo::isPhysicalRegister(), llvm::MachineOperand::isReg(), llvm::MachineOperand::isUndef(), llvm::MCRegisterInfo::DiffListIterator::isValid(), llvm::MIBundleBuilder::prepend(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::MachineOperand::setIsInternalRead(), llvm::SmallVectorTemplateCommon< T, typename >::size(), llvm::SmallVectorTemplateCommon< T >::size(), TII, and llvm::SystemZISD::TM.
Referenced by llvm::VLIWPacketizerList::endPacket(), llvm::AArch64InstrInfo::expandPostRAPseudo(), finalizeBundle(), and finalizeBundles().
MachineBasicBlock::instr_iterator llvm::finalizeBundle | ( | MachineBasicBlock & | MBB, |
MachineBasicBlock::instr_iterator | FirstMI | ||
) |
finalizeBundle - Same functionality as the previous finalizeBundle except the last instruction in the bundle is not provided as an input. This is used in cases where bundles are pre-determined by marking instructions with 'InsideBundle' marker. It returns the MBB instruction iterator that points to the end of the bundle.
Definition at line 211 of file MachineInstrBundle.cpp.
References finalizeBundle(), llvm::MachineBasicBlock::instr_end(), and next().
bool llvm::finalizeBundles | ( | MachineFunction & | MF | ) |
finalizeBundles - Finalize instruction bundles in the specified MachineFunction. Return true if any bundles are finalized.
Definition at line 223 of file MachineInstrBundle.cpp.
References llvm::MachineFunction::begin(), llvm::MachineFunction::end(), finalizeBundle(), I, llvm::MachineBasicBlock::instr_begin(), llvm::MachineBasicBlock::instr_end(), MII, and prior().
Referenced by INITIALIZE_PASS().
bool llvm::findAllNVVMAnnotation | ( | const llvm::GlobalValue * | gv, |
std::string | prop, | ||
std::vector< unsigned > & | retval | ||
) |
Definition at line 106 of file NVPTXUtilities.cpp.
References annotationCache, cacheAnnotationFromMD(), and llvm::GlobalValue::getParent().
Referenced by getAlign(), isImageReadOnly(), isImageWriteOnly(), and isSampler().
DbgDeclareInst * llvm::FindAllocaDbgDeclare | ( | Value * | V | ) |
FindAllocaDbgDeclare - Finds the llvm.dbg.declare intrinsic corresponding to an alloca, if any.
FindAllocaDbgDeclare - Finds the llvm.dbg.declare intrinsic describing the alloca 'V', if any.
Definition at line 1073 of file Local.cpp.
References llvm::Value::getContext(), and llvm::MDNode::getIfExists().
Referenced by replaceDbgDeclareForAlloca().
Value * llvm::FindAvailableLoadedValue | ( | Value * | Ptr, |
BasicBlock * | ScanBB, | ||
BasicBlock::iterator & | ScanFrom, | ||
unsigned | MaxInstsToScan = 6 , |
||
AliasAnalysis * | AA = 0 , |
||
MDNode ** | TBAATag = 0 |
||
) |
FindAvailableLoadedValue - Scan the ScanBB block backwards (starting at the instruction before ScanFrom) checking to see if we have the value at the memory address *Ptr locally available within a small number of instructions. If the value is available, return it.
If not, return the iterator for the last validated instruction that the value would be live through. If we scanned the entire block and didn't find something that invalidates *Ptr or provides it, ScanFrom would be left at begin() and this returns null. ScanFrom could also be left
MaxInstsToScan specifies the maximum instructions to scan in the block. If it is set to 0, it will scan the whole block. You can also optionally specify an alias analysis implementation, which makes this more precise.
If TBAATag is non-null and a load or store is found, the TBAA tag from the load or store is recorded there. If there is no TBAA tag or if no access is found, it is left unmodified.
Definition at line 139 of file Loads.cpp.
References AreEquivalentAddressValues(), llvm::BasicBlock::begin(), llvm::AliasAnalysis::getModRefInfo(), llvm::MDNode::getOperand(), llvm::Value::getType(), llvm::AliasAnalysis::getTypeStoreSize(), LI, llvm::Instruction::mayWriteToMemory(), llvm::LLVMContext::MD_tbaa, and llvm::AliasAnalysis::Mod.
Referenced by llvm::InstCombiner::visitLoadInst().
enable_if_c<std::numeric_limits<T>::is_integer && !std::numeric_limits<T>::is_signed, T>::type llvm::findFirstSet | ( | T | Val, |
ZeroBehavior | ZB = ZB_Max |
||
) |
Get the index of the first set bit starting from the least significant bit.
Only unsigned integral types are allowed.
ZB | the behavior on an input of 0. Only ZB_Max and ZB_Undefined are valid arguments. |
Definition at line 186 of file MathExtras.h.
References countTrailingZeros(), ZB_Max, and ZB_Undefined.
Referenced by isStringOfOnes().
enable_if_c<std::numeric_limits<T>::is_integer && std::numeric_limits<T>::is_signed, T>::type llvm::findFirstSet | ( | T | Val, |
ZeroBehavior | ZB = ZB_Max |
||
) |
Get the index of the first set bit starting from the least significant bit.
Only unsigned integral types are allowed.
ZB | the behavior on an input of 0. Only ZB_Max and ZB_Undefined are valid arguments. |
Definition at line 186 of file MathExtras.h.
References countTrailingZeros(), ZB_Max, and ZB_Undefined.
Referenced by isStringOfOnes().
void llvm::FindFunctionBackedges | ( | const Function & | F, |
SmallVectorImpl< std::pair< const BasicBlock *, const BasicBlock * > > & | Result | ||
) |
Analyze the specified function to find all of the loop backedges in the function and return them. This is a relatively cheap (compared to computing dominators and loop info) analysis.
The output is added to Result, as pairs of <from,to> edge info.
FindFunctionBackedges - Analyze the specified function to find all of the loop backedges in the function and return them. This is a relatively cheap (compared to computing dominators and loop info) analysis.
The output is added to Result, as pairs of <from,to> edge info.
Definition at line 28 of file CFG.cpp.
References llvm::SmallVectorTemplateCommon< T >::back(), llvm::SmallPtrSet< PtrType, SmallSize >::count(), llvm::SmallVectorBase::empty(), llvm::SmallPtrSet< PtrType, SmallSize >::erase(), llvm::Function::getEntryBlock(), I, llvm::SmallPtrSet< PtrType, SmallSize >::insert(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), succ_begin(), and succ_end().
Value * llvm::FindInsertedValue | ( | Value * | V, |
ArrayRef< unsigned > | idx_range, | ||
Instruction * | InsertBefore = 0 |
||
) |
FindInsertedValue - Given an aggregrate and an sequence of indices, see if the scalar value indexed is already around as a register, for example if it were inserted directly into the aggregrate.
If InsertBefore is not null, this function will duplicate (modified) insertvalues when a part of a nested struct is extracted.
Definition at line 1629 of file ValueTracking.cpp.
References llvm::SmallVectorImpl< T >::append(), llvm::ArrayRef< T >::begin(), BuildSubAggregate(), llvm::CallingConv::C, llvm::ArrayRef< T >::empty(), llvm::ArrayRef< T >::end(), llvm::ExtractValueInst::getIndexedType(), llvm::Value::getType(), I, llvm::Type::isArrayTy(), llvm::Type::isStructTy(), makeArrayRef(), llvm::SmallVectorImpl< T >::reserve(), llvm::ArrayRef< T >::size(), llvm::SmallVectorTemplateCommon< T >::size(), and llvm::ArrayRef< T >::slice().
Referenced by BuildSubAggregate().
enable_if_c<std::numeric_limits<T>::is_integer && !std::numeric_limits<T>::is_signed, T>::type llvm::findLastSet | ( | T | Val, |
ZeroBehavior | ZB = ZB_Max |
||
) |
Get the index of the last set bit starting from the least significant bit.
Only unsigned integral types are allowed.
ZB | the behavior on an input of 0. Only ZB_Max and ZB_Undefined are valid arguments. |
Definition at line 209 of file MathExtras.h.
References countLeadingZeros(), and ZB_Undefined.
Referenced by llvm::SystemZSelectionDAGInfo::EmitTargetCodeForMemset().
enable_if_c<std::numeric_limits<T>::is_integer && std::numeric_limits<T>::is_signed, T>::type llvm::findLastSet | ( | T | Val, |
ZeroBehavior | ZB = ZB_Max |
||
) |
Get the index of the last set bit starting from the least significant bit.
Only unsigned integral types are allowed.
ZB | the behavior on an input of 0. Only ZB_Max and ZB_Undefined are valid arguments. |
Definition at line 209 of file MathExtras.h.
References countLeadingZeros(), and ZB_Undefined.
Referenced by llvm::SystemZSelectionDAGInfo::EmitTargetCodeForMemset().
bool llvm::findOneNVVMAnnotation | ( | const llvm::GlobalValue * | gv, |
std::string | prop, | ||
unsigned & | retval | ||
) |
Definition at line 93 of file NVPTXUtilities.cpp.
References annotationCache, cacheAnnotationFromMD(), and llvm::GlobalValue::getParent().
Referenced by getMaxNTIDx(), getMaxNTIDy(), getMaxNTIDz(), getMinCTASm(), getReqNTIDx(), getReqNTIDy(), getReqNTIDz(), isKernelFunction(), isSampler(), isSurface(), and isTexture().
MachineBasicBlock::iterator llvm::findPHICopyInsertPoint | ( | MachineBasicBlock * | MBB, |
MachineBasicBlock * | SuccMBB, | ||
unsigned | SrcReg | ||
) |
findPHICopyInsertPoint - Find a safe place in MBB to insert a copy from SrcReg when following the CFG edge to SuccMBB. This needs to be after any def of SrcReg, but before any subsequent point where control flow might jump out of the basic block.
Definition at line 22 of file PHIEliminationUtils.cpp.
References llvm::MachineBasicBlock::begin(), llvm::SmallPtrSet< PtrType, SmallSize >::begin(), llvm::SmallPtrSet< PtrType, SmallSize >::count(), llvm::SmallPtrSetImpl::empty(), llvm::MachineBasicBlock::empty(), llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::getFirstTerminator(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getRegInfo(), llvm::SmallPtrSet< PtrType, SmallSize >::insert(), llvm::MachineBasicBlock::isLandingPad(), MRI, llvm::MachineRegisterInfo::reg_begin(), llvm::MachineRegisterInfo::reg_end(), llvm::SmallPtrSetImpl::size(), and llvm::MachineBasicBlock::SkipPHIsAndLabels().
bool llvm::FlattenCFG | ( | BasicBlock * | BB, |
AliasAnalysis * | AA = 0 |
||
) |
FlatternCFG - This function is used to flatten a CFG. For example, it uses parallel-and and parallel-or mode to collapse
FlattenCFG - This function is used to flatten a CFG. For example, it uses parallel-and and parallel-or mode to collapse
Definition at line 484 of file FlattenCFG.cpp.
Referenced by iterativelyFlattenCFG().
|
inline |
FloatToBits - This function takes a float and returns the bit equivalent 32-bit integer. Note that copying floats around changes the bits of NaNs on some hosts, notably x86, so this routine cannot be used if these bits are needed.
Definition at line 516 of file MathExtras.h.
References F(), llvm::NVPTX::PTXLdStInstCode::Float, I, and T.
Referenced by llvm::PPC::get_VSPLTI_elt().
bool llvm::FoldBranchToCommonDest | ( | BranchInst * | BI | ) |
FoldBranchToCommonDest - If this basic block is ONLY a setcc and a branch, and if a predecessor branches to us and one of our successors, fold the setcc into the predecessor and use logical operations to pick the right destination.
FoldBranchToCommonDest - If this basic block is simple enough, and if a predecessor branches to us and one of our successors, fold the block into the predecessor and use logical operations to pick the right destination.
Definition at line 1967 of file SimplifyCFG.cpp.
References AddPredecessorToBlock(), llvm::APIntOps::And(), llvm::SmallVectorTemplateCommon< T >::back(), llvm::SmallVectorTemplateCommon< T >::begin(), llvm::BasicBlock::begin(), checkCSEInPredecessor(), llvm::Instruction::clone(), llvm::BranchInst::Create(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateBinOp(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateNot(), dbgs(), DEBUG, dyn_cast(), llvm::SmallVectorBase::empty(), llvm::SmallPtrSetImpl::empty(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::BasicBlock::end(), llvm::SmallPtrSet< PtrType, SmallSize >::erase(), EraseTerminatorInstAndDCECond(), ExtractBranchMetadata(), FitWeights(), llvm::BasicBlock::front(), llvm::BranchInst::getCondition(), llvm::Value::getContext(), llvm::BasicBlock::getInstList(), llvm::CmpInst::getInversePredicate(), llvm::Value::getName(), llvm::User::getOperand(), llvm::Instruction::getParent(), llvm::BasicBlock::getSinglePredecessor(), llvm::BranchInst::getSuccessor(), llvm::BasicBlock::getTerminator(), llvm::ConstantInt::getType(), llvm::Value::hasOneUse(), I, llvm::SmallPtrSet< PtrType, SmallSize >::insert(), llvm::iplist< NodeTy, Traits >::insert(), llvm::Instruction::insertBefore(), llvm::BranchInst::isConditional(), llvm::Type::isIntegerTy(), llvm::ConstantInt::isOne(), isProfitableToFoldUnconditional(), isSafeToSpeculativelyExecute(), llvm::BranchInst::isUnconditional(), llvm::LLVMContext::MD_prof, llvm::User::op_begin(), llvm::User::op_end(), llvm::APIntOps::Or(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::pop_back(), pred_begin(), pred_end(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::User::replaceUsesOfWith(), SafeToMergeTerminators(), llvm::BranchInst::setCondition(), llvm::Instruction::setMetadata(), llvm::Value::setName(), llvm::CmpInst::setPredicate(), llvm::BranchInst::setSuccessor(), llvm::SmallVectorTemplateCommon< T >::size(), llvm::BranchInst::swapSuccessors(), llvm::Value::takeName(), and llvm::Value::use_begin().
ReturnInst * llvm::FoldReturnIntoUncondBranch | ( | ReturnInst * | RI, |
BasicBlock * | BB, | ||
BasicBlock * | Pred | ||
) |
FoldReturnIntoUncondBranch - This method duplicates the specified return instruction into a predecessor which ends in an unconditional branch. If the return instruction returns a value defined by a PHI, propagate the right value into the return. It returns the new return instruction in the predecessor.
Definition at line 594 of file BasicBlockUtils.cpp.
References llvm::Instruction::clone(), llvm::Instruction::eraseFromParent(), llvm::BasicBlock::getInstList(), llvm::BasicBlock::getTerminator(), llvm::iplist< NodeTy, Traits >::insert(), llvm::User::op_begin(), llvm::User::op_end(), llvm::iplist< NodeTy, Traits >::push_back(), llvm::BasicBlock::removePredecessor(), and llvm::User::setOperand().
void llvm::FoldSingleEntryPHINodes | ( | BasicBlock * | BB, |
Pass * | P = 0 |
||
) |
FoldSingleEntryPHINodes - We know that BB has one predecessor. If there are any single-entry PHI nodes in it, fold them away. This handles the case when all entries to the PHI nodes in a block are guaranteed equal, such as when the block has exactly one predecessor.
Definition at line 68 of file BasicBlockUtils.cpp.
References llvm::BasicBlock::begin(), llvm::AliasAnalysis::deleteValue(), llvm::UndefValue::get(), llvm::Pass::getAnalysisIfAvailable(), and llvm::MemoryDependenceAnalysis::removeInstruction().
Referenced by FoldBlockIntoPredecessor(), FoldCondBranchOnPHI(), and MergeBlockIntoPredecessor().
cl::opt<bool> llvm::ForceBottomUp | ( | "misched-bottomup" | , |
cl::Hidden | , | ||
cl:: | desc"Force bottom-up list scheduling" | ||
) |
cl::opt<bool> llvm::ForceTopDown | ( | "misched-topdown" | , |
cl::Hidden | , | ||
cl:: | desc"Force top-down list scheduling" | ||
) |
|
inline |
This is a helper function that is used to produce formatted output.
This is typically used like:
Definition at line 180 of file Format.h.
Referenced by dbgprintf(), llvm::DWARFCompileUnit::dump(), llvm::DWARFTypeUnit::dump(), llvm::DWARFDebugInfoEntryMinimal::dump(), llvm::DWARFAbbreviationDeclaration::dump(), llvm::DWARFDebugLoc::dump(), llvm::DWARFDebugArangeSet::dump(), llvm::DWARFFormValue::dump(), llvm::DWARFDebugAbbrev::dump(), llvm::DWARFDebugRangeList::dump(), llvm::DWARFContext::dump(), llvm::DWARFDebugLine::Prologue::dump(), llvm::DWARFDebugLine::Row::dump(), llvm::DWARFDebugInfoEntryMinimal::dumpAttribute(), dumpPubSection(), llvm::DWARFContextInMemory::DWARFContextInMemory(), llvm::RuntimeDyldImpl::emitCommonSymbols(), emitGlobalConstantDataSequential(), emitGlobalConstantImpl(), llvm::AMDGPUAsmPrinter::EmitInstruction(), llvm::RuntimeDyldImpl::emitSection(), llvm::MCInstPrinter::formatDec(), llvm::MCInstPrinter::formatHex(), getSizeForEncoding(), Help(), llvm::RuntimeDyldImpl::loadObject(), llvm::raw_ostream::operator<<(), llvm::DWARFDebugFrame::parse(), llvm::BranchProbability::print(), llvm::ILPValue::print(), llvm::TimeRecord::print(), llvm::DIEAbbrev::print(), llvm::DIE::print(), llvm::FileInfo::print(), llvm::DIEEntry::print(), llvm::AArch64InstPrinter::printFPImmOperand(), llvm::X86ATTInstPrinter::printOperand(), llvm::object::printRelocationTargetName(), PrintStatistics(), printVal(), llvm::RuntimeDyldImpl::resolveExternalSymbols(), llvm::RuntimeDyldImpl::resolveRelocations(), and llvm::MD5::stringifyResult().
|
inline |
|
inline |
|
inline |
|
inline |
formatted_raw_ostream & llvm::fouts | ( | ) |
fouts() - This returns a reference to a formatted_raw_ostream for standard output. Use it like: fouts() << "foo" << "bar";
Definition at line 89 of file FormattedStream.cpp.
References outs().
DITypeIdentifierMap llvm::generateDITypeIdentifierMap | ( | const NamedMDNode * | CU_Nodes | ) |
Construct DITypeIdentifierMap by going through retained types of each CU.
Update DITypeIdentifierMap by going through retained types of each CU.
Definition at line 918 of file DebugInfo.cpp.
References llvm::NamedMDNode::getNumOperands(), llvm::NamedMDNode::getOperand(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::insert(), and P.
Referenced by llvm::DwarfDebug::beginModule().
const error_category & llvm::generic_category | ( | ) |
Definition at line 70 of file system_error.cpp.
Referenced by llvm::error_condition::clear(), make_error_code(), make_error_condition(), and posix_category().
|
inline |
Definition at line 85 of file GetElementPtrTypeIterator.h.
References llvm::generic_gep_type_iterator< ItTy >::begin(), llvm::User::getOperand(), llvm::Type::getScalarType(), llvm::Value::getType(), and llvm::User::op_begin().
Referenced by llvm::GEPOperator::accumulateConstantOffset(), ComputeMaskedBits(), ConstantFoldGetElementPtrImpl(), DecomposeGEPExpression(), EmitGEPOffset(), EvaluateGEPOffsetExpression(), evaluateICmpRelation(), getGEPInductionOperand(), llvm::DataLayout::getIndexedOffset(), GetOffsetFromIndex(), isDereferenceablePointer(), isGEPKnownNonNull(), llvm::ConstantExpr::isGEPWithNoNotionalOverIndexing(), IsUserOfGlobalSafeForSRA(), llvm::Interpreter::visitGetElementPtrInst(), and llvm::InstCombiner::visitGetElementPtrInst().
|
inline |
Definition at line 92 of file GetElementPtrTypeIterator.h.
References llvm::generic_gep_type_iterator< ItTy >::begin(), llvm::User::getOperand(), llvm::Type::getScalarType(), llvm::Value::getType(), and llvm::User::op_begin().
|
inline |
Definition at line 102 of file GetElementPtrTypeIterator.h.
References llvm::generic_gep_type_iterator< ItTy >::begin(), and llvm::ArrayRef< T >::begin().
|
inline |
Definition at line 89 of file GetElementPtrTypeIterator.h.
References llvm::generic_gep_type_iterator< ItTy >::end(), and llvm::User::op_end().
Referenced by llvm::GEPOperator::accumulateConstantOffset(), ConstantFoldGetElementPtrImpl(), isGEPKnownNonNull(), llvm::ConstantExpr::isGEPWithNoNotionalOverIndexing(), IsUserOfGlobalSafeForSRA(), llvm::Interpreter::visitGetElementPtrInst(), and llvm::InstCombiner::visitGetElementPtrInst().
|
inline |
Definition at line 96 of file GetElementPtrTypeIterator.h.
References llvm::generic_gep_type_iterator< ItTy >::end(), and llvm::User::op_end().
|
inline |
Definition at line 108 of file GetElementPtrTypeIterator.h.
References llvm::generic_gep_type_iterator< ItTy >::end(), and llvm::ArrayRef< T >::end().
Definition at line 696 of file X86RegisterInfo.cpp.
References llvm_unreachable.
Referenced by copyPhysRegOpcode_AVX512().
bool llvm::getAlign | ( | const llvm::Function & | F, |
unsigned | index, | ||
unsigned & | align | ||
) |
Definition at line 266 of file NVPTXUtilities.cpp.
References findAllNVVMAnnotation(), PROPERTY_ALIGN, and PropertyAnnotationNames.
Referenced by llvm::NVPTXTargetLowering::getPrototype().
bool llvm::getAlign | ( | const llvm::CallInst & | I, |
unsigned | index, | ||
unsigned & | align | ||
) |
Definition at line 282 of file NVPTXUtilities.cpp.
References llvm::Instruction::getMetadata().
Definition at line 381 of file StringRef.cpp.
References llvm::StringRef::empty(), llvm::StringRef::front(), getAsUnsignedInteger(), and llvm::StringRef::substr().
Referenced by llvm::StringRef::getAsInteger().
Helper functions for StringRef::getAsInteger.
GetAsUnsignedInteger - Workhorse method that converts a integer character sequence of radix up to 36 to an unsigned long long value.
Definition at line 340 of file StringRef.cpp.
References llvm::StringRef::empty(), GetAutoSenseRadix(), and llvm::StringRef::substr().
Referenced by llvm::StringRef::getAsInteger(), getAsSignedInteger(), and parsePhysicalReg().
std::string llvm::getBitcodeTargetTriple | ( | MemoryBuffer * | Buffer, |
LLVMContext & | Context, | ||
std::string * | ErrMsg = 0 |
||
) |
getBitcodeTargetTriple - Read the header of the specified bitcode buffer and extract just the triple information. If successful, this returns a string and does not take ownership of 'buffer'. On error, this returns "", and fills in *ErrMsg if ErrMsg is non-null.
Definition at line 3336 of file BitcodeReader.cpp.
References llvm::BitcodeReader::ParseTriple(), and llvm::BitcodeReader::setBufferOwned().
|
inline |
Return an iterator pointing beyond the bundle containing MI.
Definition at line 62 of file MachineInstrBundle.h.
References I, and llvm::A64CC::MI.
|
inline |
Return an iterator pointing beyond the bundle containing MI.
Definition at line 71 of file MachineInstrBundle.h.
References I, and llvm::A64CC::MI.
|
inline |
getBundleStart - Returns the first instruction in the bundle containing MI.
Definition at line 46 of file MachineInstrBundle.h.
References I, and llvm::A64CC::MI.
Referenced by llvm::SlotIndexes::getInstructionIndex(), llvm::MachineOperandIteratorBase::MachineOperandIteratorBase(), and llvm::MachineRegisterInfo::defusechain_iterator< Uses, Defs, SkipDebug >::skipBundle().
|
inline |
Definition at line 53 of file MachineInstrBundle.h.
References I, and llvm::A64CC::MI.
|
inlinestatic |
getComplexity: Assign a complexity or rank value to LLVM Values... 0 -> undef, 1 -> Const, 2 -> Other, 3 -> Arg, 3 -> Unary, 4 -> OtherInst
Definition at line 42 of file InstCombine.h.
References llvm::BinaryOperator::isFNeg(), llvm::BinaryOperator::isNeg(), and llvm::BinaryOperator::isNot().
Referenced by llvm::InstCombiner::visitFCmpInst(), and llvm::InstCombiner::visitICmpInst().
bool llvm::getConstantStringInfo | ( | const Value * | V, |
StringRef & | Str, | ||
uint64_t | Offset = 0 , |
||
bool | TrimAtNul = true |
||
) |
getConstantStringInfo - This function computes the length of a null-terminated C string pointed to by V. If successful, it returns true and returns the string in Str. If unsuccessful, it returns false. This does not include the trailing nul character by default. If TrimAtNul is set to false, then this returns any trailing nul characters as well as any other characters that come after it.
getConstantStringInfo - This function computes the length of a null-terminated C string pointed to by V. If successful, it returns true and returns the string in Str. If unsuccessful, it returns false.
Definition at line 1754 of file ValueTracking.cpp.
References dyn_cast(), llvm::StringRef::find(), llvm::Type::getArrayNumElements(), llvm::ConstantDataSequential::getAsString(), llvm::SequentialType::getElementType(), llvm::GlobalVariable::getInitializer(), llvm::ConstantDataArray::getType(), llvm::ConstantInt::getZExtValue(), llvm::GlobalVariable::hasDefinitiveInitializer(), llvm::GlobalVariable::isConstant(), llvm::Constant::isNullValue(), llvm::ConstantDataSequential::isString(), llvm::ConstantInt::isZero(), llvm::Value::stripPointerCasts(), and llvm::StringRef::substr().
Referenced by ConstantFoldLoadFromConstPtr(), GetStringLengthH(), and isMemSrcFromString().
DataStreamer * llvm::getDataFileStreamer | ( | const std::string & | Filename, |
std::string * | Err | ||
) |
Definition at line 80 of file DataStream.cpp.
Definition at line 392 of file MachineInstrBuilder.h.
References llvm::RegState::Dead.
Referenced by AddDefaultT1CC(), llvm::PPCInstrInfo::commuteInstruction(), finalizeBundle(), InsertLDR_STR(), and llvm::X86InstrInfo::unfoldMemoryOperand().
Definition at line 401 of file MachineInstrBuilder.h.
References llvm::RegState::Debug.
Definition at line 383 of file MachineInstrBuilder.h.
References llvm::RegState::Define.
Referenced by AddDefaultT1CC(), llvm::Thumb2RegisterInfo::emitLoadConstPool(), llvm::Thumb1RegisterInfo::emitLoadConstPool(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), emitSPUpdate(), finalizeBundle(), InsertLDR_STR(), llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(), and llvm::X86InstrInfo::unfoldMemoryOperand().
DICompositeType llvm::getDICompositeType | ( | DIType | T | ) |
getDICompositeType - Find underlying composite type.
Definition at line 900 of file DebugInfo.cpp.
References llvm::DIDescriptor::isCompositeType(), and llvm::DIDescriptor::isDerivedType().
DISubprogram llvm::getDISubprogram | ( | const MDNode * | Scope | ) |
getDISubprogram - Find subprogram that is enclosing this scope.
Definition at line 885 of file DebugInfo.cpp.
References llvm::DILexicalBlock::getContext(), llvm::DILexicalBlockFile::getContext(), llvm::DIDescriptor::isLexicalBlock(), llvm::DIDescriptor::isLexicalBlockFile(), and llvm::DIDescriptor::isSubprogram().
Referenced by llvm::DwarfDebug::beginFunction(), llvm::DIBuilder::createLocalVariable(), and getFnDebugLoc().
ISD::CondCode llvm::getFCmpCodeWithoutNaN | ( | ISD::CondCode | CC | ) |
getFCmpCodeWithoutNaN - Given an ISD condition code comparing floats, return the equivalent code if we're allowed to assume that NaNs won't occur.
Definition at line 172 of file CodeGen/Analysis.cpp.
References llvm::ISD::SETEQ, llvm::ISD::SETGE, llvm::ISD::SETGT, llvm::ISD::SETLE, llvm::ISD::SETLT, llvm::ISD::SETNE, llvm::ISD::SETOEQ, llvm::ISD::SETOGE, llvm::ISD::SETOGT, llvm::ISD::SETOLE, llvm::ISD::SETOLT, llvm::ISD::SETONE, llvm::ISD::SETUEQ, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, llvm::ISD::SETULT, and llvm::ISD::SETUNE.
Referenced by llvm::SelectionDAGBuilder::EmitBranchForMergedCondition().
ISD::CondCode llvm::getFCmpCondCode | ( | FCmpInst::Predicate | Pred | ) |
getFCmpCondCode - Return the ISD condition code corresponding to the given LLVM IR floating-point condition code. This includes consideration of global floating-point math flags.
Definition at line 150 of file CodeGen/Analysis.cpp.
References llvm::CmpInst::FCMP_FALSE, llvm::CmpInst::FCMP_OEQ, llvm::CmpInst::FCMP_OGE, llvm::CmpInst::FCMP_OGT, llvm::CmpInst::FCMP_OLE, llvm::CmpInst::FCMP_OLT, llvm::CmpInst::FCMP_ONE, llvm::CmpInst::FCMP_ORD, llvm::CmpInst::FCMP_TRUE, llvm::CmpInst::FCMP_UEQ, llvm::CmpInst::FCMP_UGE, llvm::CmpInst::FCMP_UGT, llvm::CmpInst::FCMP_ULE, llvm::CmpInst::FCMP_ULT, llvm::CmpInst::FCMP_UNE, llvm::CmpInst::FCMP_UNO, llvm_unreachable, llvm::ISD::SETFALSE, llvm::ISD::SETO, llvm::ISD::SETOEQ, llvm::ISD::SETOGE, llvm::ISD::SETOGT, llvm::ISD::SETOLE, llvm::ISD::SETOLT, llvm::ISD::SETONE, llvm::ISD::SETTRUE, llvm::ISD::SETUEQ, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, llvm::ISD::SETULT, llvm::ISD::SETUNE, and llvm::ISD::SETUO.
Referenced by llvm::SelectionDAGBuilder::EmitBranchForMergedCondition().
NamedMDNode * llvm::getFnSpecificMDNode | ( | const Module & | M, |
DISubprogram | Fn | ||
) |
getFnSpecificMDNode - Return a NameMDNode, if available, that is suitable to hold function specific information.
Definition at line 847 of file DebugInfo.cpp.
References fixupSubprogramName(), llvm::Module::getNamedMetadata(), and llvm::SmallString< InternalLen >::str().
Referenced by llvm::DIBuilder::finalize().
LLVMContext & llvm::getGlobalContext | ( | ) |
getGlobalContext - Returns a global context. This is for LLVM clients that only care about operating on a single thread.
Definition at line 27 of file LLVMContext.cpp.
References GlobalContext.
Referenced by LLVMGetGlobalContext(), LLVMIntPtrType(), LLVMIntPtrTypeForAS(), LLVMModuleCreateWithName(), and LLVMParseBitcode().
|
static |
Definition at line 177 of file SpecialCaseList.cpp.
References llvm::SequentialType::getElementType(), and llvm::GlobalValue::getType().
Referenced by llvm::SpecialCaseList::isIn().
getICmpCode - Encode a icmp predicate into a three bit mask. These bits are carefully arranged to allow folding of expressions such as:
(A < B) | (A > B) --> (A != B)
Note that this is only valid if the first and second predicates have the same sign. Is illegal to do: (A u< B) | (A s> B)
Three bits are used to represent the condition, as follows: 0 A > B 1 A == B 2 A < B
<=> Value Definition 000 0 Always false 001 1 A > B 010 2 A == B 011 3 A >= B 100 4 A < B 101 5 A != B 110 6 A <= B 111 7 Always true
Definition at line 44 of file CmpInstAnalysis.cpp.
References llvm::CmpInst::getInversePredicate(), llvm::CmpInst::getPredicate(), llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::CmpInst::ICMP_SGE, llvm::CmpInst::ICMP_SGT, llvm::CmpInst::ICMP_SLE, llvm::CmpInst::ICMP_SLT, llvm::CmpInst::ICMP_UGE, llvm::CmpInst::ICMP_UGT, llvm::CmpInst::ICMP_ULE, llvm::CmpInst::ICMP_ULT, and llvm_unreachable.
Referenced by llvm::InstCombiner::FoldAndOfICmps(), llvm::InstCombiner::FoldOrOfICmps(), and llvm::InstCombiner::visitXor().
ISD::CondCode llvm::getICmpCondCode | ( | ICmpInst::Predicate | Pred | ) |
getICmpCondCode - Return the ISD condition code corresponding to the given LLVM IR integer condition code.
Definition at line 187 of file CodeGen/Analysis.cpp.
References llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::CmpInst::ICMP_SGE, llvm::CmpInst::ICMP_SGT, llvm::CmpInst::ICMP_SLE, llvm::CmpInst::ICMP_SLT, llvm::CmpInst::ICMP_UGE, llvm::CmpInst::ICMP_UGT, llvm::CmpInst::ICMP_ULE, llvm::CmpInst::ICMP_ULT, llvm_unreachable, llvm::ISD::SETEQ, llvm::ISD::SETGE, llvm::ISD::SETGT, llvm::ISD::SETLE, llvm::ISD::SETLT, llvm::ISD::SETNE, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, and llvm::ISD::SETULT.
Referenced by llvm::SelectionDAGBuilder::EmitBranchForMergedCondition().
Value * llvm::getICmpValue | ( | bool | Sign, |
unsigned | Code, | ||
Value * | LHS, | ||
Value * | RHS, | ||
CmpInst::Predicate & | NewICmpPred | ||
) |
getICmpValue - This is the complement of getICmpCode, which turns an opcode and two operands into either a constant true or false, or the predicate for a new ICmp instruction. The sign is passed in to determine which kind of predicate to use in the new icmp instruction. Non-NULL return value will be a true or false constant. NULL return means a new ICmp is needed. The predicate for which is output in NewICmpPred.
Definition at line 72 of file CmpInstAnalysis.cpp.
References llvm::ConstantInt::get(), llvm::Value::getType(), llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::CmpInst::ICMP_SGE, llvm::CmpInst::ICMP_SGT, llvm::CmpInst::ICMP_SLE, llvm::CmpInst::ICMP_SLT, llvm::CmpInst::ICMP_UGE, llvm::CmpInst::ICMP_UGT, llvm::CmpInst::ICMP_ULE, llvm::CmpInst::ICMP_ULT, llvm_unreachable, and llvm::CmpInst::makeCmpResultType().
Referenced by getNewICmpValue().
Value * llvm::GetIfCondition | ( | BasicBlock * | BB, |
BasicBlock *& | IfTrue, | ||
BasicBlock *& | IfFalse | ||
) |
GetIfCondition - Check whether BB is the merge point of a if-region. If so, return the boolean condition that determines which entry into BB will be taken. Also, return by references the block that will be entered from if the condition is true, and the block that will be entered if the condition is false.
GetIfCondition - Given a basic block (BB) with two predecessors, check to see if the merge at this block is due to an "if condition". If so, return the boolean condition that determines which entry into BB will be taken. Also, return by references the block that will be entered from if the condition is true, and the block that will be entered if the condition is false.
This does no checking to see if the true/false blocks have large or unsavory instructions in them.
Definition at line 681 of file BasicBlockUtils.cpp.
References llvm::BasicBlock::begin(), dyn_cast(), llvm::BranchInst::getCondition(), llvm::PHINode::getIncomingBlock(), llvm::PHINode::getNumIncomingValues(), llvm::BasicBlock::getSinglePredecessor(), llvm::BranchInst::getSuccessor(), llvm::BasicBlock::getTerminator(), llvm::BranchInst::isConditional(), pred_begin(), pred_end(), and std::swap().
Referenced by FoldTwoEntryPHINode().
Definition at line 386 of file MachineInstrBuilder.h.
References llvm::RegState::Implicit.
Referenced by addSavedGPR(), and finalizeBundle().
Instruction * llvm::getInst | ( | Value * | base, |
char * | instName | ||
) |
Definition at line 441 of file NVPTXUtilities.cpp.
References llvm::StringRef::data(), F(), llvm::Value::getName(), getParentFunction(), I, inst_begin(), inst_end(), and llvm::LibFunc::strcmp.
Referenced by dumpInst().
ARMCC::CondCodes llvm::getInstrPredicate | ( | const MachineInstr * | MI, |
unsigned & | PredReg | ||
) |
getInstrPredicate - If instruction is predicated, returns its predicate condition, otherwise returns AL. It also returns the condition code register by reference.
Definition at line 1619 of file ARMBaseInstrInfo.cpp.
References llvm::ARMCC::AL, llvm::MachineInstr::findFirstPredOperandIdx(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), and llvm::MachineOperand::getReg().
Referenced by llvm::ARMBaseInstrInfo::commuteInstruction(), getITInstrPredicate(), isMatchingDecrement(), isMatchingIncrement(), llvm::Thumb2InstrInfo::ReplaceTailWithBranchTo(), llvm::Thumb1RegisterInfo::rewriteFrameIndex(), and rewriteT2FrameIndex().
Definition at line 398 of file MachineInstrBuilder.h.
References llvm::RegState::InternalRead.
ARMCC::CondCodes llvm::getITInstrPredicate | ( | const MachineInstr * | MI, |
unsigned & | PredReg | ||
) |
getITInstrPredicate - Valid only in Thumb2 mode. This function is identical to llvm::getInstrPredicate except it returns AL for conditional branch instructions which are "predicated", but are not in IT blocks.
Definition at line 626 of file Thumb2InstrInfo.cpp.
References llvm::ARMCC::AL, getInstrPredicate(), and llvm::MachineInstr::getOpcode().
Referenced by llvm::Thumb2InstrInfo::isLegalToSplitMBBAt().
Definition at line 389 of file MachineInstrBuilder.h.
References llvm::RegState::Kill.
Referenced by addRegOffset(), addRegReg(), addSavedGPR(), llvm::PPCInstrInfo::commuteInstruction(), llvm::SystemZInstrInfo::convertToThreeAddress(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::SIInstrInfo::copyPhysReg(), llvm::Thumb1InstrInfo::copyPhysReg(), llvm::Thumb2InstrInfo::copyPhysReg(), llvm::Mips16InstrInfo::copyPhysReg(), llvm::MipsSEInstrInfo::copyPhysReg(), llvm::NVPTXInstrInfo::copyPhysReg(), llvm::MSP430InstrInfo::copyPhysReg(), llvm::XCoreInstrInfo::copyPhysReg(), llvm::HexagonInstrInfo::copyPhysReg(), llvm::SparcInstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyPhysReg(), llvm::PPCInstrInfo::copyPhysReg(), llvm::SystemZInstrInfo::copyPhysReg(), llvm::X86InstrInfo::copyPhysReg(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::PPCFrameLowering::emitEpilogue(), llvm::AArch64FrameLowering::emitFrameMemOps(), llvm::PPCFrameLowering::emitPrologue(), expandPseudoDIV(), llvm::FastISel::FastEmitInst_extractsubreg(), finalizeBundle(), llvm::ARMBaseInstrInfo::FoldImmediate(), InsertLDR_STR(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::PPCRegisterInfo::lowerVRSAVESpilling(), restoreCRs(), llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), llvm::X86InstrInfo::storeRegToAddr(), llvm::Mips16InstrInfo::storeRegToStack(), llvm::MipsSEInstrInfo::storeRegToStack(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::AArch64InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::MSP430InstrInfo::storeRegToStackSlot(), llvm::XCoreInstrInfo::storeRegToStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), llvm::SparcInstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), llvm::SystemZInstrInfo::storeRegToStackSlot(), llvm::X86InstrInfo::storeRegToStackSlot(), and llvm::X86InstrInfo::unfoldMemoryOperand().
|
inlinestatic |
getKnownAlignment - Try to infer an alignment for the specified pointer.
Definition at line 177 of file Local.h.
References getOrEnforceKnownAlignment(), and TD.
Referenced by llvm::InstCombiner::visitCallInst().
Module * llvm::getLazyBitcodeModule | ( | MemoryBuffer * | Buffer, |
LLVMContext & | Context, | ||
std::string * | ErrMsg = 0 |
||
) |
getLazyBitcodeModule - Read the header of the specified bitcode buffer and prepare for lazy deserialization of function bodies. If successful, this takes ownership of 'buffer' and returns a non-null pointer. On error, this returns null, does not take ownership of Buffer, and fills in *ErrMsg with an error description if ErrMsg is non-null.
getLazyBitcodeModule - lazy function-at-a-time loading from a file.
Definition at line 3274 of file BitcodeReader.cpp.
References llvm::MemoryBuffer::getBufferIdentifier(), and llvm::Module::setMaterializer().
Referenced by getLazyIRModule(), LLVMGetBitcodeModuleInContext(), and ParseBitcodeFile().
Module * llvm::getLazyIRFileModule | ( | const std::string & | Filename, |
SMDiagnostic & | Err, | ||
LLVMContext & | Context | ||
) |
If the given file holds a bitcode image, return a Module for it which does lazy deserialization of function bodies. Otherwise, attempt to parse it as LLVM Assembly and return a fully populated Module.
Definition at line 53 of file IRReader.cpp.
References llvm::SourceMgr::DK_Error, llvm::ARMBuildAttrs::File, llvm::MemoryBuffer::getFileOrSTDIN(), getLazyIRModule(), and llvm::OwningPtr< T >::take().
Module * llvm::getLazyIRModule | ( | MemoryBuffer * | Buffer, |
SMDiagnostic & | Err, | ||
LLVMContext & | Context | ||
) |
If the given MemoryBuffer holds a bitcode image, return a Module for it which does lazy deserialization of function bodies. Otherwise, attempt to parse it as LLVM Assembly and return a fully populated Module. This function always takes ownership of the given MemoryBuffer.
Definition at line 34 of file IRReader.cpp.
References llvm::SourceMgr::DK_Error, llvm::MemoryBuffer::getBufferEnd(), llvm::MemoryBuffer::getBufferIdentifier(), llvm::MemoryBuffer::getBufferStart(), getLazyBitcodeModule(), isBitcode(), and ParseAssembly().
Referenced by getLazyIRFileModule().
Type * llvm::getMallocAllocatedType | ( | const CallInst * | CI, |
const TargetLibraryInfo * | TLI | ||
) |
getMallocAllocatedType - Returns the Type allocated by malloc call. The Type depends on the number of bitcast uses of the malloc call: 0: PointerType is the malloc calls' return type. 1: PointerType is the bitcast's result type. >1: Unique PointerType cannot be determined, return NULL.
Definition at line 288 of file MemoryBuiltins.cpp.
References llvm::SequentialType::getElementType(), and getMallocType().
Referenced by computeArraySize(), OptimizeOnceStoredGlobal(), PerformHeapAllocSRoA(), and TryToOptimizeStoreOfMallocToGlobal().
Value * llvm::getMallocArraySize | ( | CallInst * | CI, |
const DataLayout * | DL, | ||
const TargetLibraryInfo * | TLI, | ||
bool | LookThroughSExt = false |
||
) |
getMallocArraySize - Returns the array size of a malloc call. If the argument passed to malloc is a multiple of the size of the malloced type, then return that multiple. For non-array mallocs, the multiple is constant 1. Otherwise, return NULL for mallocs whose array size cannot be determined.
Definition at line 299 of file MemoryBuiltins.cpp.
References computeArraySize(), and isMallocLikeFn().
Referenced by TryToOptimizeStoreOfMallocToGlobal().
PointerType * llvm::getMallocType | ( | const CallInst * | CI, |
const TargetLibraryInfo * | TLI | ||
) |
getMallocType - Returns the PointerType resulting from the malloc call. The PointerType depends on the number of bitcast uses of the malloc call: 0: PointerType is the malloc calls' return type. 1: PointerType is the bitcast's result type. >1: Unique PointerType cannot be determined, return NULL.
getMallocType - Returns the PointerType resulting from the malloc call. The PointerType depends on the number of bitcast uses of the malloc call: 0: PointerType is the calls' return type. 1: PointerType is the bitcast's result type. >1: Unique PointerType cannot be determined, return NULL.
Definition at line 256 of file MemoryBuiltins.cpp.
References llvm::Value::getType(), isMallocLikeFn(), llvm::Value::use_begin(), and llvm::Value::use_end().
Referenced by getMallocAllocatedType().
int llvm::getMatchingCondBranchOpcode | ( | int | Opc | ) |
Definition at line 1631 of file ARMBaseInstrInfo.cpp.
References llvm_unreachable.
Referenced by llvm::ARMBaseInstrInfo::PredicateInstruction().
bool llvm::getMaxNTIDx | ( | const llvm::Function & | F, |
unsigned & | x | ||
) |
Definition at line 217 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_MAXNTID_X, and PropertyAnnotationNames.
bool llvm::getMaxNTIDy | ( | const llvm::Function & | F, |
unsigned & | y | ||
) |
Definition at line 222 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_MAXNTID_Y, and PropertyAnnotationNames.
bool llvm::getMaxNTIDz | ( | const llvm::Function & | F, |
unsigned & | z | ||
) |
Definition at line 227 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_MAXNTID_Z, and PropertyAnnotationNames.
bool llvm::getMinCTASm | ( | const llvm::Function & | F, |
unsigned & | x | ||
) |
Definition at line 247 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_MINNCTAPERSM, and PropertyAnnotationNames.
|
inline |
Definition at line 49 of file IntervalIterator.h.
|
inline |
Definition at line 50 of file IntervalIterator.h.
References llvm::Interval::getHeaderNode().
StreamableMemoryObject * llvm::getNonStreamedMemoryObject | ( | const unsigned char * | Start, |
const unsigned char * | End | ||
) |
Definition at line 129 of file StreamableMemoryObject.cpp.
Referenced by llvm::BitstreamReader::init().
std::string llvm::getNVPTXRegClassName | ( | TargetRegisterClass const * | RC | ) |
Definition at line 29 of file NVPTXRegisterInfo.cpp.
std::string llvm::getNVPTXRegClassStr | ( | TargetRegisterClass const * | RC | ) |
Definition at line 51 of file NVPTXRegisterInfo.cpp.
Referenced by llvm::NVPTXAsmPrinter::getVirtualRegisterName().
bool llvm::getObjectSize | ( | const Value * | Ptr, |
uint64_t & | Size, | ||
const DataLayout * | DL, | ||
const TargetLibraryInfo * | TLI, | ||
bool | RoundToAlign = false |
||
) |
Compute the size of the object pointed by Ptr. Returns true and the object size in Size if successful, and false otherwise. In this context, by object we mean the region of memory starting at Ptr to the end of the underlying object pointed to by Ptr. If RoundToAlign is true, then Size is rounded up to the aligment of allocas, byval arguments, and global variables.
Compute the size of the object pointed by Ptr. Returns true and the object size in Size if successful, and false otherwise. If RoundToAlign is true, then Size is rounded up to the aligment of allocas, byval arguments, and global variables.
Definition at line 365 of file MemoryBuiltins.cpp.
References llvm::ObjectSizeOffsetVisitor::compute(), llvm::Value::getContext(), and llvm::APInt::ult().
Referenced by computePointerICmp(), getObjectSize(), getPointerSize(), isObjectSize(), isObjectSmallerThan(), and llvm::InstCombiner::visitCallInst().
Returns the English suffix for an ordinal integer (-st, -nd, -rd, -th).
Definition at line 145 of file StringExtras.h.
unsigned llvm::getOrEnforceKnownAlignment | ( | Value * | V, |
unsigned | PrefAlign, | ||
const DataLayout * | DL = 0 |
||
) |
getOrEnforceKnownAlignment - If the specified pointer has an alignment that we can determine, return it, otherwise return 0. If PrefAlign is specified, and it is more than the alignment of the ultimate object, see if we can increase the alignment of the ultimate object, making this check succeed.
Definition at line 922 of file Local.cpp.
References Align(), ComputeMaskedBits(), enforceKnownAlignment(), llvm::DataLayout::getPointerTypeSizeInBits(), llvm::Value::getType(), llvm::Type::isPointerTy(), and llvm::Value::MaximumAlignment.
Referenced by getKnownAlignment(), HandleByValArgument(), llvm::InstCombiner::visitAllocaInst(), llvm::InstCombiner::visitCallInst(), llvm::InstCombiner::visitLoadInst(), and llvm::InstCombiner::visitStoreInst().
NamedMDNode * llvm::getOrInsertFnSpecificMDNode | ( | Module & | M, |
DISubprogram | Fn | ||
) |
getOrInsertFnSpecificMDNode - Return a NameMDNode that is suitable to hold function specific information.
Definition at line 855 of file DebugInfo.cpp.
References fixupSubprogramName(), llvm::Module::getOrInsertNamedMetadata(), and llvm::SmallString< InternalLen >::str().
Referenced by llvm::DIBuilder::createLocalVariable().
BasicBlock * llvm::getParentBlock | ( | Value * | v | ) |
Definition at line 402 of file NVPTXUtilities.cpp.
References I.
Definition at line 412 of file NVPTXUtilities.cpp.
Referenced by dumpBlock(), and getInst().
If TimingInfo is enabled then start pass timer.
Definition at line 1771 of file LegacyPassManager.cpp.
References TheTimeInfo.
Referenced by llvm::PMDataManager::freePass(), llvm::LPPassManager::runOnFunction(), llvm::RGPassManager::runOnFunction(), llvm::FPPassManager::runOnFunction(), and llvm::PMDataManager::verifyPreservedAnalysis().
Value * llvm::GetPointerBaseWithConstantOffset | ( | Value * | Ptr, |
int64_t & | Offset, | ||
const DataLayout * | DL | ||
) |
GetPointerBaseWithConstantOffset - Analyze the specified pointer to see if it can be expressed as a base pointer plus a constant offset. Return the base and offset to the caller.
Definition at line 1716 of file ValueTracking.cpp.
References llvm::Operator::getOpcode(), llvm::DataLayout::getPointerTypeSizeInBits(), llvm::APInt::getSExtValue(), llvm::Value::getType(), and llvm::Type::isVectorTy().
Referenced by AnalyzeLoadFromClobberingLoad(), AnalyzeLoadFromClobberingWrite(), llvm::MemoryDependenceAnalysis::getLoadLoadClobberFullWidthSize(), GetPointerBaseWithConstantOffset(), isLoadLoadClobberIfExtendedToFullWidth(), isOverwrite(), and isSafeToLoadUnconditionally().
|
inlinestatic |
Definition at line 123 of file ValueTracking.h.
References GetPointerBaseWithConstantOffset().
|
static |
Definition at line 682 of file AsmWriter.cpp.
References llvm::CmpInst::FCMP_FALSE, llvm::CmpInst::FCMP_OEQ, llvm::CmpInst::FCMP_OGE, llvm::CmpInst::FCMP_OGT, llvm::CmpInst::FCMP_OLE, llvm::CmpInst::FCMP_OLT, llvm::CmpInst::FCMP_ONE, llvm::CmpInst::FCMP_ORD, llvm::CmpInst::FCMP_TRUE, llvm::CmpInst::FCMP_UEQ, llvm::CmpInst::FCMP_UGE, llvm::CmpInst::FCMP_UGT, llvm::CmpInst::FCMP_ULE, llvm::CmpInst::FCMP_ULT, llvm::CmpInst::FCMP_UNE, llvm::CmpInst::FCMP_UNO, llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::CmpInst::ICMP_SGE, llvm::CmpInst::ICMP_SGT, llvm::CmpInst::ICMP_SLE, llvm::CmpInst::ICMP_SLT, llvm::CmpInst::ICMP_UGE, llvm::CmpInst::ICMP_UGT, llvm::CmpInst::ICMP_ULE, and llvm::CmpInst::ICMP_ULT.
Referenced by llvm::AssemblyWriter::printInstruction().
bool llvm::getReqNTIDx | ( | const llvm::Function & | F, |
unsigned & | x | ||
) |
Definition at line 232 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_REQNTID_X, and PropertyAnnotationNames.
bool llvm::getReqNTIDy | ( | const llvm::Function & | F, |
unsigned & | y | ||
) |
Definition at line 237 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_REQNTID_Y, and PropertyAnnotationNames.
bool llvm::getReqNTIDz | ( | const llvm::Function & | F, |
unsigned & | z | ||
) |
Definition at line 242 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_REQNTID_Z, and PropertyAnnotationNames.
void llvm::GetReturnInfo | ( | Type * | ReturnType, |
AttributeSet | attr, | ||
SmallVectorImpl< ISD::OutputArg > & | Outs, | ||
const TargetLowering & | TLI | ||
) |
Given an LLVM IR type and return type attributes, compute the return value EVTs and flags, and optionally also the offsets, if the return value is being lowered to memory.
Get the EVTs and ArgFlags collections that represent the legalized return type of the given function. This does not require a DAG or a return value, and is suitable for use before any DAGs for the function are constructed. TODO: Move this out of TargetLowering.cpp.
Definition at line 1183 of file TargetLoweringBase.cpp.
References llvm::ISD::ANY_EXTEND, llvm::EVT::bitsLT(), ComputeValueVTs(), llvm::Type::getContext(), llvm::TargetLoweringBase::getNumRegisters(), llvm::TargetLoweringBase::getRegisterType(), llvm::AttributeSet::hasAttribute(), llvm::MVT::i32, llvm::Attribute::InReg, llvm::EVT::isInteger(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::ISD::ArgFlagsTy::setInReg(), llvm::ISD::ArgFlagsTy::setSExt(), llvm::ISD::ArgFlagsTy::setZExt(), llvm::Attribute::SExt, llvm::ISD::SIGN_EXTEND, llvm::SmallVectorTemplateCommon< T >::size(), llvm::ISD::ZERO_EXTEND, and llvm::Attribute::ZExt.
Referenced by llvm::SelectionDAGBuilder::LowerCallTo(), and llvm::FunctionLoweringInfo::set().
std::string llvm::getSamplerName | ( | const llvm::Value & | val | ) |
Definition at line 212 of file NVPTXUtilities.cpp.
References llvm::Value::getName(), and llvm::Value::hasName().
|
inline |
Definition at line 56 of file IntervalIterator.h.
Referenced by llvm::IntervalIterator< NodeTy, OrigContainer_t, GT, IGT >::operator++().
|
inline |
Definition at line 59 of file IntervalIterator.h.
References llvm::IntervalPartition::getBlockInterval().
Module * llvm::getStreamedBitcodeModule | ( | const std::string & | name, |
DataStreamer * | streamer, | ||
LLVMContext & | Context, | ||
std::string * | ErrMsg = 0 |
||
) |
getStreamedBitcodeModule - Read the header of the specified stream and prepare for lazy deserialization and streaming of function bodies. On error, this returns null, and fills in *ErrMsg with an error description if ErrMsg is non-null.
Definition at line 3296 of file BitcodeReader.cpp.
References llvm::BitcodeReader::ParseBitcodeInto(), llvm::BitcodeReader::setBufferOwned(), and llvm::Module::setMaterializer().
uint64_t llvm::GetStringLength | ( | Value * | V | ) |
GetStringLength - If we can compute the length of the string pointed to by the specified pointer, return 'len+1'. If we can't, return 0.
Definition at line 1888 of file ValueTracking.cpp.
References GetStringLengthH(), llvm::Value::getType(), and llvm::Type::isPointerTy().
Referenced by llvm::ObjectSizeOffsetVisitor::visitCallSite().
unsigned llvm::GetSuccessorNumber | ( | BasicBlock * | BB, |
BasicBlock * | Succ | ||
) |
Search for the specified successor of basic block BB and return its position in the terminator instruction's list of successors. It is an error to call this with a block that is not a successor.
GetSuccessorNumber - Search for the specified successor of basic block BB and return its position in the terminator instruction's list of successors. It is an error to call this with a block that is not a successor.
Definition at line 73 of file CFG.cpp.
References llvm::TerminatorInst::getNumSuccessors(), llvm::TerminatorInst::getSuccessor(), and llvm::BasicBlock::getTerminator().
Referenced by DemoteRegToStack(), SplitCriticalSideEffectEdges(), and SplitEdge().
std::string llvm::getSurfaceName | ( | const llvm::Value & | val | ) |
Definition at line 207 of file NVPTXUtilities.cpp.
References llvm::Value::getName(), and llvm::Value::hasName().
std::string llvm::getTextureName | ( | const llvm::Value & | val | ) |
Definition at line 202 of file NVPTXUtilities.cpp.
References llvm::Value::getName(), and llvm::Value::hasName().
std::pair< StringRef, StringRef > llvm::getToken | ( | StringRef | Source, |
StringRef | Delimiters = " \t\n\v\f\r" |
||
) |
getToken - This function extracts one token from source, ignoring any leading characters that appear in the Delimiters string, and ending the token at any of the characters that appear in the Delimiters string. If there are no tokens in the source string, an empty string is returned. The function returns a pair containing the extracted token and the remaining tail string.
Definition at line 38 of file StringExtras.cpp.
References llvm::StringRef::find_first_not_of(), llvm::StringRef::find_first_of(), llvm::StringRef::slice(), and llvm::StringRef::substr().
Referenced by llvm::Module::getEndianness(), llvm::Module::getPointerSize(), LTOCodeGenerator::setCodeGenDebugOptions(), and SplitString().
Definition at line 395 of file MachineInstrBuilder.h.
References llvm::RegState::Undef.
Referenced by llvm::X86InstrInfo::convertToThreeAddress(), emitSPUpdate(), finalizeBundle(), InsertLDR_STR(), llvm::ARMBaseInstrInfo::setExecutionDomain(), and llvm::X86InstrInfo::unfoldMemoryOperand().
Value * llvm::GetUnderlyingObject | ( | Value * | V, |
const DataLayout * | TD = 0 , |
||
unsigned | MaxLookup = 6 |
||
) |
GetUnderlyingObject - This method strips off any GEP address adjustments and pointer casts from the specified value, returning the original object being addressed. Note that the returned value has pointer type if the specified value does. If the MaxLookup value is non-zero, it limits the number of instructions to be stripped off.
Definition at line 1899 of file ValueTracking.cpp.
References llvm::Operator::getOpcode(), llvm::Value::getType(), I, llvm::Type::isPointerTy(), and SimplifyInstruction().
Referenced by AnalyzeLoadFromClobberingMemInst(), llvm::AliasAnalysis::callCapturesBefore(), ConstantFoldLoadFromConstPtr(), llvm::MemoryDependenceAnalysis::getPointerDependencyFrom(), llvm::objcarc::GetUnderlyingObjCPtr(), GetUnderlyingObject(), GetUnderlyingObjects(), InstructionDereferencesPointer(), isOverwrite(), and underlyingObjectsAlias().
|
inlinestatic |
Definition at line 149 of file ValueTracking.h.
References GetUnderlyingObject(), and TD.
void llvm::GetUnderlyingObjects | ( | Value * | V, |
SmallVectorImpl< Value * > & | Objects, | ||
const DataLayout * | TD = 0 , |
||
unsigned | MaxLookup = 6 |
||
) |
GetUnderlyingObjects - This method is similar to GetUnderlyingObject except that it can look through phi and select instructions and return multiple objects.
Definition at line 1928 of file ValueTracking.cpp.
References llvm::SmallVectorBase::empty(), GetUnderlyingObject(), llvm::SmallPtrSet< PtrType, SmallSize >::insert(), P, llvm::SmallVectorImpl< T >::pop_back_val(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by getUnderlyingObjects().
|
static |
Definition at line 255 of file MCWin64EH.cpp.
References llvm::MCContext::getCOFFSection(), llvm::SectionKind::getDataRel(), llvm::MCContext::getObjectFileInfo(), and llvm::MCObjectFileInfo::getPDataSection().
Referenced by llvm::MCWin64EHUnwindEmitter::Emit().
|
static |
Definition at line 244 of file MCWin64EH.cpp.
References llvm::MCContext::getCOFFSection(), llvm::SectionKind::getDataRel(), llvm::MCContext::getObjectFileInfo(), and llvm::MCObjectFileInfo::getXDataSection().
Referenced by llvm::MCWin64EHUnwindEmitter::Emit(), and llvm::MCWin64EHUnwindEmitter::EmitUnwindInfo().
unsigned llvm::getX86SubSuperRegister | ( | unsigned | Reg, |
MVT::SimpleValueType | VT, | ||
bool | High | ||
) |
Definition at line 523 of file X86RegisterInfo.cpp.
References llvm::A64CC::AL, llvm::XCoreISD::BL, llvm::N86::EAX, llvm::N86::EBP, llvm::N86::EBX, llvm::N86::ECX, llvm::N86::EDI, llvm::N86::EDX, llvm::N86::ESI, llvm::N86::ESP, llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, and llvm_unreachable.
Referenced by llvm::X86InstrInfo::classifyLEAReg(), llvm::X86AsmPrinter::printAsmMRegister(), and llvm::X86AsmPrinter::printOperand().
|
inline |
GreatestCommonDivisor64 - Return the greatest common divisor of the two values using Euclid's algorithm.
Definition at line 468 of file MathExtras.h.
References llvm::ARM_PROC::A, and T.
Referenced by UnrollLoop().
|
inline |
Definition at line 50 of file GenericValue.h.
References llvm::GenericValue::PointerVal.
Referenced by lle_X_atexit(), lle_X_fprintf(), lle_X_memcpy(), lle_X_memset(), lle_X_scanf(), lle_X_sprintf(), lle_X_sscanf(), llvm::JIT::runFunction(), llvm::MCJIT::runFunction(), llvm::ExecutionEngine::runFunctionAsMain(), llvm::Interpreter::visitCallSite(), llvm::Interpreter::visitIndirectBrInst(), llvm::Interpreter::visitLoadInst(), and llvm::Interpreter::visitStoreInst().
hash_code llvm::hash_combine | ( | const T1 & | arg1, |
const T2 & | arg2, | ||
const T3 & | arg3, | ||
const T4 & | arg4, | ||
const T5 & | arg5, | ||
const T6 & | arg6 | ||
) |
Definition at line 674 of file Hashing.h.
References llvm::hashing::detail::hash_combine_recursive_helper::buffer, and llvm::hashing::detail::hash_combine_recursive_helper::combine().
Referenced by llvm::AnonStructTypeKeyInfo::getHashValue(), llvm::FunctionTypeKeyInfo::getHashValue(), llvm::DenseMapInfo< CIEKey >::getHashValue(), and hash_value().
hash_code llvm::hash_combine | ( | const T1 & | arg1, |
const T2 & | arg2, | ||
const T3 & | arg3, | ||
const T4 & | arg4, | ||
const T5 & | arg5 | ||
) |
Definition at line 681 of file Hashing.h.
References llvm::hashing::detail::hash_combine_recursive_helper::buffer, and llvm::hashing::detail::hash_combine_recursive_helper::combine().
hash_code llvm::hash_combine | ( | const T1 & | arg1, |
const T2 & | arg2, | ||
const T3 & | arg3, | ||
const T4 & | arg4 | ||
) |
Definition at line 688 of file Hashing.h.
References llvm::hashing::detail::hash_combine_recursive_helper::buffer, and llvm::hashing::detail::hash_combine_recursive_helper::combine().
hash_code llvm::hash_combine | ( | const T1 & | arg1, |
const T2 & | arg2, | ||
const T3 & | arg3 | ||
) |
Definition at line 695 of file Hashing.h.
References llvm::hashing::detail::hash_combine_recursive_helper::buffer, and llvm::hashing::detail::hash_combine_recursive_helper::combine().
hash_code llvm::hash_combine | ( | const T1 & | arg1, |
const T2 & | arg2 | ||
) |
Definition at line 700 of file Hashing.h.
References llvm::hashing::detail::hash_combine_recursive_helper::buffer, and llvm::hashing::detail::hash_combine_recursive_helper::combine().
Definition at line 705 of file Hashing.h.
References llvm::hashing::detail::hash_combine_recursive_helper::buffer, and llvm::hashing::detail::hash_combine_recursive_helper::combine().
hash_code llvm::hash_combine_range | ( | InputIteratorT | first, |
InputIteratorT | last | ||
) |
Compute a hash_code for a sequence of values.
This hashes a sequence of values. It produces the same hash_code as 'hash_combine(a, b, c, ...)', but can run over arbitrary sized sequences and is significantly faster given pointers and types which can be hashed as a sequence of bytes.
Definition at line 487 of file Hashing.h.
References llvm::hashing::detail::hash_combine_range_impl().
Referenced by llvm::FoldingSetNodeIDRef::ComputeHash(), llvm::AnonStructTypeKeyInfo::getHashValue(), llvm::FunctionTypeKeyInfo::getHashValue(), llvm::MachineInstrExpressionTrait::getHashValue(), and hash_value().
enable_if< is_integral_or_enum< T >, hash_code >::type llvm::hash_value | ( | T | value | ) |
Compute a hash_code for any integer value.
Note that this function is intended to compute the same hash_code for a particular value without regard to the pre-promotion type. This is in contrast to hash_combine which may produce different hash_codes for differing argument types even if they would implicit promote to a common type without changing the value.
Definition at line 738 of file Hashing.h.
References llvm::hashing::detail::hash_integer_value().
Compute a hash_code for a pointer's address.
N.B.: This hashes the address. Not the value and not the type.
Definition at line 744 of file Hashing.h.
References llvm::hashing::detail::hash_integer_value().
Compute a hash_code for a pair of objects.
Definition at line 752 of file Hashing.h.
References hash_combine().
Compute a hash_code for a standard string.
Definition at line 759 of file Hashing.h.
References hash_combine_range().
Referenced by llvm::hashing::detail::get_hashable_data().
Compute a hash_code for a StringRef.
Definition at line 484 of file StringRef.cpp.
References llvm::StringRef::begin(), llvm::StringRef::end(), and hash_combine_range().
See friend declaration above.
This additional declaration is required in order to compile LLVM with IBM xlC compiler.
Definition at line 2814 of file APFloat.cpp.
References hash_combine(), hash_combine_range(), llvm::APFloat::isFiniteNonZero(), llvm::APFloat::isNaN(), and llvm::fltSemantics::precision.
Referenced by llvm::hashing::detail::get_hashable_data(), llvm::DenseMapAPIntKeyInfo::getHashValue(), llvm::DenseMapInfo< TableGenStringKey >::getHashValue(), llvm::DenseMapAPFloatKeyInfo::getHashValue(), and llvm::DenseMapInfo< Expression >::getHashValue().
hash_code llvm::hash_value | ( | const MachineOperand & | MO | ) |
Note that this includes the same information in the hash that isIdenticalTo uses for comparison. It is thus suited for use in hash tables which use that function for equality comparisons only.
Definition at line 213 of file MachineInstr.cpp.
References llvm::MachineOperand::getBlockAddress(), llvm::MachineOperand::getCImm(), llvm::MachineOperand::getFPImm(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::MachineOperand::getMBB(), llvm::MachineOperand::getMCSymbol(), llvm::MachineOperand::getMetadata(), llvm::MachineOperand::getOffset(), llvm::MachineOperand::getReg(), llvm::MachineOperand::getRegMask(), llvm::MachineOperand::getSubReg(), llvm::MachineOperand::getSymbolName(), llvm::MachineOperand::getTargetFlags(), llvm::MachineOperand::getType(), hash_combine(), llvm::MachineOperand::isDef(), llvm_unreachable, llvm::MachineOperand::MO_BlockAddress, llvm::MachineOperand::MO_CImmediate, llvm::MachineOperand::MO_ConstantPoolIndex, llvm::MachineOperand::MO_ExternalSymbol, llvm::MachineOperand::MO_FPImmediate, llvm::MachineOperand::MO_FrameIndex, llvm::MachineOperand::MO_GlobalAddress, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_JumpTableIndex, llvm::MachineOperand::MO_MachineBasicBlock, llvm::MachineOperand::MO_MCSymbol, llvm::MachineOperand::MO_Metadata, llvm::MachineOperand::MO_Register, llvm::MachineOperand::MO_RegisterMask, and llvm::MachineOperand::MO_TargetIndex.
Definition at line 663 of file APInt.cpp.
References llvm::APInt::getNumWords(), hash_combine(), hash_combine_range(), llvm::APInt::pVal, and llvm::APInt::VAL.
HashString - Hash function for strings.
This is the Bernstein hash function.
Definition at line 138 of file StringExtras.h.
References llvm::StringRef::size().
Referenced by llvm::StringMapImpl::FindKey(), and llvm::StringMapImpl::LookupBucketFor().
bool llvm::hasInlineAsmMemConstraint | ( | InlineAsm::ConstraintInfoVector & | CInfos, |
const TargetLowering & | TLI | ||
) |
hasInlineAsmMemConstraint - Return true if the inline asm instruction being processed uses a memory 'm' constraint.
Definition at line 128 of file CodeGen/Analysis.cpp.
References llvm::TargetLowering::C_Memory, llvm::InlineAsm::ConstraintInfo::Codes, llvm::TargetLowering::getConstraintType(), and llvm::InlineAsm::ConstraintInfo::isIndirect.
bool llvm::hasUTF16ByteOrderMark | ( | ArrayRef< char > | S | ) |
Definition at line 78 of file ConvertUTFWrapper.cpp.
References llvm::ArrayRef< T >::size().
Referenced by ExpandResponseFile().
void llvm::HexagonLowerToMC | ( | const MachineInstr * | MI, |
HexagonMCInst & | MCI, | ||
HexagonAsmPrinter & | AP | ||
) |
Definition at line 42 of file HexagonMCInstLower.cpp.
References llvm::MCInst::addOperand(), llvm::APFloat::bitcastToAPInt(), llvm::MCSymbolRefExpr::Create(), llvm::MCOperand::CreateExpr(), llvm::MCOperand::CreateImm(), llvm::MCOperand::CreateReg(), llvm::MachineInstr::dump(), llvm::MachineOperand::getBlockAddress(), llvm::AsmPrinter::GetBlockAddressSymbol(), llvm::AsmPrinter::GetCPISymbol(), llvm::MachineInstr::getDesc(), llvm::AsmPrinter::GetExternalSymbolSymbol(), llvm::MachineOperand::getFPImm(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::AsmPrinter::GetJTISymbol(), llvm::MachineOperand::getMBB(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::APInt::getRawData(), llvm::MachineOperand::getReg(), llvm::AsmPrinter::getSymbol(), llvm::MachineBasicBlock::getSymbol(), llvm::MachineOperand::getSymbolName(), GetSymbolRef(), llvm::MachineOperand::getType(), llvm::ConstantFP::getValueAPF(), llvm::MachineOperand::isImplicit(), llvm_unreachable, llvm::MachineOperand::MO_BlockAddress, llvm::MachineOperand::MO_ConstantPoolIndex, llvm::MachineOperand::MO_ExternalSymbol, llvm::MachineOperand::MO_FPImmediate, llvm::MachineOperand::MO_GlobalAddress, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_JumpTableIndex, llvm::MachineOperand::MO_MachineBasicBlock, llvm::MachineOperand::MO_Register, llvm::AsmPrinter::OutContext, llvm::HexagonMCInst::setDesc(), and llvm::MCInst::setOpcode().
Referenced by llvm::HexagonAsmPrinter::EmitInstruction().
hexdigit - Return the hexadecimal character for the given number X
(which should be less than 16).
Definition at line 26 of file StringExtras.h.
Referenced by llvm::MCFragment::dump(), PrintEscapedString(), llvm::AssemblyWriter::printNamedMDNode(), utohex_buffer(), and llvm::object::yaml::BinaryRef::writeAsHex().
|
inlinestatic |
Interpret the given character C
as a hexadecimal digit and return its value.
If C
is not a valid hex digit, -1U is returned.
Definition at line 35 of file StringExtras.h.
Referenced by trailingHexadecimalFraction(), and UnEscapeLexed().
|
inline |
Hi_32 - This function returns the high 32 bits of a 64 bit value.
Definition at line 252 of file MathExtras.h.
idf_iterator<T> llvm::idf_begin | ( | const T & | G | ) |
Definition at line 238 of file DepthFirstIterator.h.
References llvm::df_iterator< Inverse< T >, SetTy, External >::begin().
idf_iterator<T> llvm::idf_end | ( | const T & | G | ) |
Definition at line 243 of file DepthFirstIterator.h.
References llvm::df_iterator< Inverse< T >, SetTy, External >::end().
idf_ext_iterator<T, SetTy> llvm::idf_ext_begin | ( | const T & | G, |
SetTy & | S | ||
) |
Definition at line 257 of file DepthFirstIterator.h.
References llvm::df_iterator< Inverse< T >, SetTy, External >::begin().
idf_ext_iterator<T, SetTy> llvm::idf_ext_end | ( | const T & | G, |
SetTy & | S | ||
) |
Definition at line 262 of file DepthFirstIterator.h.
References llvm::df_iterator< Inverse< T >, SetTy, External >::end().
void llvm::initializeAAEvalPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeADCEPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeAddressSanitizerModulePass | ( | PassRegistry & | ) |
Referenced by initializeInstrumentation().
void llvm::initializeAddressSanitizerPass | ( | PassRegistry & | ) |
Referenced by initializeInstrumentation().
void llvm::initializeAliasAnalysisAnalysisGroup | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::SelectionDAGISel::SelectionDAGISel().
void llvm::initializeAliasAnalysisCounterPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeAliasDebuggerPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeAliasSetPrinterPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
|
inline |
InitializeAllAsmParsers - The main program should call this function if it wants all asm parsers that LLVM is configured to support, to make them available via the TargetRegistry.
It is legal for a client to make multiple calls to this function.
Definition at line 96 of file TargetSelect.h.
|
inline |
InitializeAllAsmPrinters - The main program should call this function if it wants all asm printers that LLVM is configured to support, to make them available via the TargetRegistry.
It is legal for a client to make multiple calls to this function.
Definition at line 86 of file TargetSelect.h.
|
inline |
InitializeAllDisassemblers - The main program should call this function if it wants all disassemblers that LLVM is configured to support, to make them available via the TargetRegistry.
It is legal for a client to make multiple calls to this function.
Definition at line 106 of file TargetSelect.h.
|
inline |
InitializeAllTargetInfos - The main program should call this function if it wants access to all available targets that LLVM is configured to support, to make them available via the TargetRegistry.
It is legal for a client to make multiple calls to this function.
Definition at line 53 of file TargetSelect.h.
Referenced by InitializeAllTargets().
|
inline |
InitializeAllTargetMCs - The main program should call this function if it wants access to all available target MC that LLVM is configured to support, to make them available via the TargetRegistry.
It is legal for a client to make multiple calls to this function.
Definition at line 76 of file TargetSelect.h.
|
inline |
InitializeAllTargets - The main program should call this function if it wants access to all available target machines that LLVM is configured to support, to make them available via the TargetRegistry.
It is legal for a client to make multiple calls to this function.
Definition at line 63 of file TargetSelect.h.
References InitializeAllTargetInfos().
void llvm::initializeAlwaysInlinerPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeAMDGPUTTIPass | ( | PassRegistry & | ) |
void llvm::initializeAnalysis | ( | PassRegistry & | Registry | ) |
initializeAnalysis - Initialize all passes linked into the Analysis library.
Definition at line 21 of file Analysis/Analysis.cpp.
References initializeAAEvalPass(), initializeAliasAnalysisAnalysisGroup(), initializeAliasAnalysisCounterPass(), initializeAliasDebuggerPass(), initializeAliasSetPrinterPass(), initializeBasicAliasAnalysisPass(), initializeBlockFrequencyInfoPass(), initializeBranchProbabilityInfoPass(), initializeCFGOnlyPrinterPass(), initializeCFGOnlyViewerPass(), initializeCFGPrinterPass(), initializeCFGViewerPass(), initializeCostModelAnalysisPass(), initializeDelinearizationPass(), initializeDependenceAnalysisPass(), initializeDominanceFrontierPass(), initializeDomOnlyPrinterPass(), initializeDomOnlyViewerPass(), initializeDomPrinterPass(), initializeDomViewerPass(), initializeInstCountPass(), initializeIntervalPartitionPass(), initializeIVUsersPass(), initializeLazyValueInfoPass(), initializeLibCallAliasAnalysisPass(), initializeLintPass(), initializeLoopInfoPass(), initializeMemDepPrinterPass(), initializeMemoryDependenceAnalysisPass(), initializeModuleDebugInfoPrinterPass(), initializeNoAAPass(), initializePostDominatorTreePass(), initializePostDomOnlyPrinterPass(), initializePostDomOnlyViewerPass(), initializePostDomPrinterPass(), initializePostDomViewerPass(), initializeRegionInfoPass(), initializeRegionOnlyPrinterPass(), initializeRegionOnlyViewerPass(), initializeRegionPrinterPass(), initializeRegionViewerPass(), initializeScalarEvolutionAliasAnalysisPass(), initializeScalarEvolutionPass(), initializeTargetTransformInfoAnalysisGroup(), and initializeTypeBasedAliasAnalysisPass().
Referenced by LLVMInitializeAnalysis().
void llvm::initializeArgPromotionPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeARMTTIPass | ( | PassRegistry & | ) |
void llvm::initializeBarrierNoopPass | ( | PassRegistry & | ) |
void llvm::initializeBasicAliasAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeBasicTTIPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeBBVectorizePass | ( | PassRegistry & | ) |
Referenced by initializeVectorization().
void llvm::initializeBlockExtractorPassPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeBlockFrequencyInfoPass | ( | PassRegistry & | ) |
Referenced by llvm::BlockFrequencyInfo::BlockFrequencyInfo(), and initializeAnalysis().
void llvm::initializeBoundsCheckingPass | ( | PassRegistry & | ) |
Referenced by initializeInstrumentation().
void llvm::initializeBranchFolderPassPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeBranchProbabilityInfoPass | ( | PassRegistry & | ) |
void llvm::initializeBreakCriticalEdgesPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
void llvm::initializeCallGraphPass | ( | PassRegistry & | ) |
Referenced by llvm::CallGraph::CallGraph(), and initializeIPA().
void llvm::initializeCallGraphPrinterPass | ( | PassRegistry & | ) |
Referenced by initializeIPA().
void llvm::initializeCallGraphViewerPass | ( | PassRegistry & | ) |
Referenced by initializeIPA().
void llvm::initializeCFGOnlyPrinterPass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeAnalysis().
void llvm::initializeCFGOnlyViewerPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeCFGPrinterPass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeAnalysis().
void llvm::initializeCFGSimplifyPassPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeCFGViewerPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeCodeGen | ( | PassRegistry & | Registry | ) |
initializeCodeGen - Initialize all passes linked into the CodeGen library.
Definition at line 22 of file CodeGen.cpp.
References initializeBasicTTIPass(), initializeBranchFolderPassPass(), initializeDeadMachineInstructionElimPass(), initializeEarlyIfConverterPass(), initializeExpandISelPseudosPass(), initializeExpandPostRAPass(), initializeFinalizeMachineBundlesPass(), initializeGCMachineCodeAnalysisPass(), initializeGCModuleInfoPass(), initializeIfConverterPass(), initializeLiveDebugVariablesPass(), initializeLiveIntervalsPass(), initializeLiveStacksPass(), initializeLiveVariablesPass(), initializeLocalStackSlotPassPass(), initializeLowerIntrinsicsPass(), initializeMachineBlockFrequencyInfoPass(), initializeMachineBlockPlacementPass(), initializeMachineBlockPlacementStatsPass(), initializeMachineCopyPropagationPass(), initializeMachineCSEPass(), initializeMachineDominatorTreePass(), initializeMachineFunctionPrinterPassPass(), initializeMachineLICMPass(), initializeMachineLoopInfoPass(), initializeMachineModuleInfoPass(), initializeMachinePostDominatorTreePass(), initializeMachineSchedulerPass(), initializeMachineSinkingPass(), initializeMachineVerifierPassPass(), initializeOptimizePHIsPass(), initializePeepholeOptimizerPass(), initializePEIPass(), initializePHIEliminationPass(), initializePostRASchedulerPass(), initializeProcessImplicitDefsPass(), initializeRegisterCoalescerPass(), initializeSlotIndexesPass(), initializeStackColoringPass(), initializeStackProtectorPass(), initializeStackSlotColoringPass(), initializeTailDuplicatePassPass(), initializeTargetPassConfigPass(), initializeTwoAddressInstructionPassPass(), initializeUnpackMachineBundlesPass(), initializeUnreachableBlockElimPass(), initializeUnreachableMachineBlockElimPass(), initializeVirtRegMapPass(), and initializeVirtRegRewriterPass().
Referenced by LLVMInitializeCodeGen(), and llvm::TargetPassConfig::TargetPassConfig().
void llvm::initializeCodeGenPreparePass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeConstantMergePass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeConstantPropagationPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeCore | ( | PassRegistry & | Registry | ) |
initializeCore - Initialize all passes linked into the TransformUtils library.
Definition at line 42 of file Core.cpp.
References initializeDominatorTreePass(), initializePreVerifierPass(), initializePrintBasicBlockPassPass(), initializePrintFunctionPassPass(), initializePrintModulePassPass(), and initializeVerifierPass().
Referenced by LLVMInitializeCore().
void llvm::initializeCorrelatedValuePropagationPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeCostModelAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeDAEPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeDAHPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeDataFlowSanitizerPass | ( | PassRegistry & | ) |
Referenced by initializeInstrumentation().
void llvm::initializeDataLayoutPass | ( | PassRegistry & | ) |
Referenced by llvm::DataLayout::init(), and initializeTarget().
void llvm::initializeDCEPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeDeadInstEliminationPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeDeadMachineInstructionElimPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeDebugIRPass | ( | PassRegistry & | ) |
void llvm::initializeDelinearizationPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeDependenceAnalysisPass | ( | PassRegistry & | ) |
Referenced by llvm::DependenceAnalysis::DependenceAnalysis(), and initializeAnalysis().
void llvm::initializeDominanceFrontierPass | ( | PassRegistry & | ) |
Referenced by llvm::DominanceFrontier::DominanceFrontier(), and initializeAnalysis().
void llvm::initializeDominatorTreePass | ( | PassRegistry & | ) |
Referenced by llvm::DominatorTree::DominatorTree(), and initializeCore().
void llvm::initializeDomOnlyPrinterPass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeAnalysis().
void llvm::initializeDomOnlyViewerPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeDomPrinterPass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeAnalysis().
void llvm::initializeDomViewerPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeDSEPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeEarlyCSEPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeEarlyIfConverterPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeEdgeBundlesPass | ( | PassRegistry & | ) |
void llvm::initializeExpandISelPseudosPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeExpandPostRAPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeFinalizeMachineBundlesPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeFindUsedTypesPass | ( | PassRegistry & | ) |
Referenced by llvm::FindUsedTypes::FindUsedTypes(), and initializeIPA().
void llvm::initializeFlattenCFGPassPass | ( | PassRegistry & | ) |
void llvm::initializeFunctionAttrsPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeGCMachineCodeAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeGCModuleInfoPass | ( | PassRegistry & | ) |
void llvm::initializeGCOVProfilerPass | ( | PassRegistry & | ) |
Referenced by initializeInstrumentation().
void llvm::initializeGenericToNVVMPass | ( | PassRegistry & | ) |
Referenced by LLVMInitializeNVPTXTarget().
void llvm::initializeGlobalDCEPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeGlobalMergePass | ( | PassRegistry & | ) |
void llvm::initializeGlobalOptPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeGlobalsModRefPass | ( | PassRegistry & | ) |
Referenced by initializeIPA().
void llvm::initializeGVNPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeHexagonCFGOptimizerPass | ( | PassRegistry & | Registry | ) |
Definition at line 246 of file HexagonCFGOptimizer.cpp.
References CALL_ONCE_INITIALIZATION, and initializePassOnce().
void llvm::initializeHexagonCopyToCombinePass | ( | PassRegistry & | ) |
void llvm::initializeHexagonDAGToDAGISelPass | ( | PassRegistry & | Registry | ) |
Definition at line 193 of file HexagonISelDAGToDAG.cpp.
References CALL_ONCE_INITIALIZATION, and initializePassOnce().
void llvm::initializeHexagonExpandPredSpillCodePass | ( | PassRegistry & | Registry | ) |
Definition at line 194 of file HexagonExpandPredSpillCode.cpp.
References CALL_ONCE_INITIALIZATION, and initializePassOnce().
void llvm::initializeHexagonFixupHwLoopsPass | ( | PassRegistry & | ) |
void llvm::initializeHexagonHardwareLoopsPass | ( | PassRegistry & | ) |
void llvm::initializeHexagonNewValueJumpPass | ( | PassRegistry & | ) |
void llvm::initializeHexagonPacketizerPass | ( | PassRegistry & | ) |
void llvm::initializeHexagonPeepholePass | ( | PassRegistry & | ) |
void llvm::initializeHexagonRemoveExtendArgsPass | ( | PassRegistry & | ) |
void llvm::initializeHexagonSplitTFRCondSetsPass | ( | PassRegistry & | Registry | ) |
Definition at line 228 of file HexagonSplitTFRCondSets.cpp.
References CALL_ONCE_INITIALIZATION, and initializePassOnce().
void llvm::initializeIfConverterPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeIndVarSimplifyPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeInlineCostAnalysisPass | ( | PassRegistry & | ) |
void llvm::initializeInstCombine | ( | PassRegistry & | Registry | ) |
initializeInstCombine - Initialize all passes linked into the ScalarOpts library.
Definition at line 75 of file InstructionCombining.cpp.
References initializeInstCombinerPass().
Referenced by LLVMInitializeInstCombine().
void llvm::initializeInstCombinerPass | ( | PassRegistry & | ) |
Referenced by initializeInstCombine(), and llvm::InstCombiner::InstCombiner().
void llvm::initializeInstCountPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeInstNamerPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
void llvm::initializeInstrumentation | ( | PassRegistry & | Registry | ) |
initializeInstrumentation - Initialize all passes linked into the Instrumentation library.
initializeInstrumentation - Initialize all passes in the TransformUtils library.
Definition at line 23 of file Instrumentation.cpp.
References initializeAddressSanitizerModulePass(), initializeAddressSanitizerPass(), initializeBoundsCheckingPass(), initializeDataFlowSanitizerPass(), initializeGCOVProfilerPass(), initializeMemorySanitizerPass(), and initializeThreadSanitizerPass().
Referenced by LLVMInitializeInstrumentation().
void llvm::initializeInstSimplifierPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
void llvm::initializeInternalizePassPass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeIPO().
void llvm::initializeIntervalPartitionPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::IntervalPartition::IntervalPartition().
void llvm::initializeIPA | ( | PassRegistry & | Registry | ) |
initializeIPA - Initialize all passes linked into the IPA library.
Definition at line 21 of file IPA.cpp.
References initializeCallGraphPass(), initializeCallGraphPrinterPass(), initializeCallGraphViewerPass(), initializeFindUsedTypesPass(), and initializeGlobalsModRefPass().
Referenced by LLVMInitializeIPA().
void llvm::initializeIPCPPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeIPO | ( | PassRegistry & | Registry | ) |
initializeIPO - Initialize all passes linked into the IPO library.
Definition at line 24 of file IPO.cpp.
References initializeAlwaysInlinerPass(), initializeArgPromotionPass(), initializeBlockExtractorPassPass(), initializeConstantMergePass(), initializeDAEPass(), initializeDAHPass(), initializeFunctionAttrsPass(), initializeGlobalDCEPass(), initializeGlobalOptPass(), initializeInternalizePassPass(), initializeIPCPPass(), initializeLoopExtractorPass(), initializeMergeFunctionsPass(), initializePartialInlinerPass(), initializePruneEHPass(), initializeSimpleInlinerPass(), initializeSingleLoopExtractorPass(), initializeStripDeadDebugInfoPass(), initializeStripDeadPrototypesPassPass(), initializeStripDebugDeclarePass(), initializeStripNonDebugSymbolsPass(), and initializeStripSymbolsPass().
Referenced by LLVMInitializeIPO().
void llvm::initializeIPSCCPPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeIVUsersPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::IVUsers::IVUsers().
void llvm::initializeJumpThreadingPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeLazyValueInfoPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::LazyValueInfo::LazyValueInfo().
void llvm::initializeLCSSAPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
void llvm::initializeLibCallAliasAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::LibCallAliasAnalysis::LibCallAliasAnalysis().
void llvm::initializeLICMPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeLintPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeLiveDebugVariablesPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::LiveDebugVariables::LiveDebugVariables().
void llvm::initializeLiveIntervalsPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::LiveIntervals::LiveIntervals().
void llvm::initializeLiveRegMatrixPass | ( | PassRegistry & | ) |
void llvm::initializeLiveStacksPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::LiveStacks::LiveStacks().
void llvm::initializeLiveVariablesPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::LiveVariables::LiveVariables().
void llvm::initializeLoaderPassPass | ( | PassRegistry & | ) |
void llvm::initializeLocalStackSlotPassPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeLoopDeletionPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeLoopExtractorPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeLoopIdiomRecognizePass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeLoopInfoPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::LoopInfo::LoopInfo().
void llvm::initializeLoopInstSimplifyPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeLoopRerollPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeLoopRotatePass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeLoopSimplifyPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
void llvm::initializeLoopStrengthReducePass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeLoopUnrollPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeLoopUnswitchPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeLoopVectorizePass | ( | PassRegistry & | ) |
Referenced by initializeVectorization().
void llvm::initializeLowerAtomicPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeLowerExpectIntrinsicPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeLowerIntrinsicsPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeLowerInvokePass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
void llvm::initializeLowerSwitchPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
void llvm::initializeMachineBlockFrequencyInfoPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::MachineBlockFrequencyInfo::MachineBlockFrequencyInfo().
void llvm::initializeMachineBlockPlacementPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeMachineBlockPlacementStatsPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeMachineBranchProbabilityInfoPass | ( | PassRegistry & | ) |
void llvm::initializeMachineCopyPropagationPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeMachineCSEPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeMachineDominatorTreePass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::MachineDominatorTree::MachineDominatorTree().
void llvm::initializeMachineFunctionPrinterPassPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeMachineLICMPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeMachineLoopInfoPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::MachineLoopInfo::MachineLoopInfo().
void llvm::initializeMachineModuleInfoPass | ( | PassRegistry & | ) |
void llvm::initializeMachinePostDominatorTreePass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeCodeGen().
void llvm::initializeMachineSchedulerPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeMachineSinkingPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeMachineTraceMetricsPass | ( | PassRegistry & | ) |
void llvm::initializeMachineVerifierPassPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeMemCpyOptPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeMemDepPrinterPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeMemoryDependenceAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::MemoryDependenceAnalysis::MemoryDependenceAnalysis().
void llvm::initializeMemorySanitizerPass | ( | PassRegistry & | ) |
Referenced by initializeInstrumentation().
void llvm::initializeMergeFunctionsPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeMetaRenamerPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
void llvm::initializeModuleDebugInfoPrinterPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
|
inline |
InitializeNativeTarget - The main program should call this function to initialize the native target corresponding to the host. This is useful for JIT applications to ensure that the target gets linked in correctly.
It is legal for a client to make multiple calls to this function.
Definition at line 116 of file TargetSelect.h.
|
inline |
InitializeNativeTargetAsmParser - The main program should call this function to initialize the native target asm parser.
Definition at line 142 of file TargetSelect.h.
|
inline |
InitializeNativeTargetAsmPrinter - The main program should call this function to initialize the native target asm printer.
Definition at line 130 of file TargetSelect.h.
|
inline |
InitializeNativeTargetDisassembler - The main program should call this function to initialize the native target disassembler.
Definition at line 154 of file TargetSelect.h.
void llvm::initializeNoAAPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeNoTTIPass | ( | PassRegistry & | ) |
void llvm::initializeNVVMReflectPass | ( | PassRegistry & | ) |
Referenced by LLVMInitializeNVPTXTarget().
void llvm::initializeObjCARCAliasAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeObjCARCOpts(), and llvm::objcarc::ObjCARCAliasAnalysis::ObjCARCAliasAnalysis().
void llvm::initializeObjCARCAPElimPass | ( | PassRegistry & | ) |
Referenced by initializeObjCARCOpts().
void llvm::initializeObjCARCContractPass | ( | PassRegistry & | ) |
Referenced by initializeObjCARCOpts().
void llvm::initializeObjCARCExpandPass | ( | PassRegistry & | ) |
Referenced by initializeObjCARCOpts().
void llvm::initializeObjCARCOptPass | ( | PassRegistry & | ) |
Referenced by initializeObjCARCOpts().
void llvm::initializeObjCARCOpts | ( | PassRegistry & | Registry | ) |
initializeObjCARCOpts - Initialize all passes linked into the ObjCARCOpts library.
initializeObjCARCOptsPasses - Initialize all passes linked into the ObjCARCOpts library.
Definition at line 39 of file ObjCARC.cpp.
References initializeObjCARCAliasAnalysisPass(), initializeObjCARCAPElimPass(), initializeObjCARCContractPass(), initializeObjCARCExpandPass(), and initializeObjCARCOptPass().
Referenced by LLVMInitializeObjCARCOpts().
void llvm::initializeOptimizePHIsPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializePartialInlinerPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializePartiallyInlineLibCallsPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializePeepholeOptimizerPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializePEIPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::PEI::PEI().
void llvm::initializePHIEliminationPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializePostDominatorTreePass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::PostDominatorTree::PostDominatorTree().
void llvm::initializePostDomOnlyPrinterPass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeAnalysis().
void llvm::initializePostDomOnlyViewerPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializePostDomPrinterPass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeAnalysis().
void llvm::initializePostDomViewerPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializePostRASchedulerPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializePPCBSelPass | ( | PassRegistry & | ) |
void llvm::initializePPCCTRLoopsPass | ( | PassRegistry & | ) |
void llvm::initializePPCCTRLoopsVerifyPass | ( | PassRegistry & | ) |
void llvm::initializePPCDAGToDAGISelPass | ( | PassRegistry & | Registry | ) |
Definition at line 1557 of file PPCISelDAGToDAG.cpp.
References CALL_ONCE_INITIALIZATION, and initializePassOnce().
void llvm::initializePPCEarlyReturnPass | ( | PassRegistry & | ) |
void llvm::initializePPCTTIPass | ( | PassRegistry & | ) |
void llvm::initializePreVerifierPass | ( | PassRegistry & | ) |
Referenced by initializeCore().
void llvm::initializePrintBasicBlockPassPass | ( | PassRegistry & | ) |
Referenced by initializeCore().
void llvm::initializePrintFunctionPassPass | ( | PassRegistry & | ) |
Referenced by initializeCore().
void llvm::initializePrintModulePassPass | ( | PassRegistry & | ) |
Referenced by initializeCore().
void llvm::initializeProcessImplicitDefsPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializePromotePassPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils().
void llvm::initializePruneEHPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeReassociatePass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeRegionInfoPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::RegionInfo::RegionInfo().
void llvm::initializeRegionOnlyPrinterPass | ( | PassRegistry & | ) |
Referenced by INITIALIZE_PASS(), and initializeAnalysis().
void llvm::initializeRegionOnlyViewerPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeRegionPrinterPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeRegionViewerPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeRegisterCoalescerPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeRegToMemPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeSampleProfileLoaderPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeScalarEvolutionAliasAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeScalarEvolutionPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis(), and llvm::ScalarEvolution::ScalarEvolution().
void llvm::initializeScalarOpts | ( | PassRegistry & | Registry | ) |
initializeScalarOpts - Initialize all passes linked into the ScalarOpts library.
initializeScalarOptsPasses - Initialize all passes linked into the ScalarOpts library.
Definition at line 29 of file Scalar.cpp.
References initializeADCEPass(), initializeCFGSimplifyPassPass(), initializeCodeGenPreparePass(), initializeConstantPropagationPass(), initializeCorrelatedValuePropagationPass(), initializeDCEPass(), initializeDeadInstEliminationPass(), initializeDSEPass(), initializeEarlyCSEPass(), initializeGVNPass(), initializeIndVarSimplifyPass(), initializeIPSCCPPass(), initializeJumpThreadingPass(), initializeLICMPass(), initializeLoopDeletionPass(), initializeLoopIdiomRecognizePass(), initializeLoopInstSimplifyPass(), initializeLoopRerollPass(), initializeLoopRotatePass(), initializeLoopStrengthReducePass(), initializeLoopUnrollPass(), initializeLoopUnswitchPass(), initializeLowerAtomicPass(), initializeLowerExpectIntrinsicPass(), initializeMemCpyOptPass(), initializePartiallyInlineLibCallsPass(), initializeReassociatePass(), initializeRegToMemPass(), initializeSampleProfileLoaderPass(), initializeSCCPPass(), initializeSinkingPass(), initializeSROA_DTPass(), initializeSROA_SSAUpPass(), initializeSROAPass(), initializeStructurizeCFGPass(), and initializeTailCallElimPass().
Referenced by LLVMInitializeScalarOpts().
void llvm::initializeSCCPPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeSimpleInlinerPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeSingleLoopExtractorPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeSinkingPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeSlotIndexesPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::SlotIndexes::SlotIndexes().
void llvm::initializeSLPVectorizerPass | ( | PassRegistry & | ) |
Referenced by initializeVectorization().
void llvm::initializeSpillPlacementPass | ( | PassRegistry & | ) |
void llvm::initializeSROA_DTPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeSROA_SSAUpPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeSROAPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeStackColoringPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeStackProtectorPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen(), and llvm::StackProtector::StackProtector().
void llvm::initializeStackSlotColoringPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeStripDeadDebugInfoPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeStripDeadPrototypesPassPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeStripDebugDeclarePass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeStripNonDebugSymbolsPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeStripSymbolsPass | ( | PassRegistry & | ) |
Referenced by initializeIPO().
void llvm::initializeStructurizeCFGPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeTailCallElimPass | ( | PassRegistry & | ) |
Referenced by initializeScalarOpts().
void llvm::initializeTailDuplicatePassPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeTarget | ( | PassRegistry & | Registry | ) |
initializeCodeGen - Initialize all passes linked into the CodeGen library.
Definition at line 44 of file Target.cpp.
References initializeDataLayoutPass(), and initializeTargetLibraryInfoPass().
Referenced by LLVMInitializeTarget().
void llvm::initializeTargetLibraryInfoPass | ( | PassRegistry & | ) |
Referenced by initialize(), initializeTarget(), and llvm::SelectionDAGISel::SelectionDAGISel().
void llvm::initializeTargetPassConfigPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeTargetTransformInfoAnalysisGroup | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeThreadSanitizerPass | ( | PassRegistry & | ) |
Referenced by initializeInstrumentation().
void llvm::initializeTransformUtils | ( | PassRegistry & | Registry | ) |
initializeTransformUtils - Initialize all passes linked into the TransformUtils library.
initializeTransformUtils - Initialize all passes in the TransformUtils library.
Definition at line 23 of file Utils.cpp.
References initializeBreakCriticalEdgesPass(), initializeInstNamerPass(), initializeInstSimplifierPass(), initializeLCSSAPass(), initializeLoopSimplifyPass(), initializeLowerInvokePass(), initializeLowerSwitchPass(), initializeMetaRenamerPass(), initializePromotePassPass(), and initializeUnifyFunctionExitNodesPass().
Referenced by LLVMInitializeTransformUtils().
void llvm::initializeTwoAddressInstructionPassPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeTypeBasedAliasAnalysisPass | ( | PassRegistry & | ) |
Referenced by initializeAnalysis().
void llvm::initializeUnifyFunctionExitNodesPass | ( | PassRegistry & | ) |
Referenced by initializeTransformUtils(), and llvm::UnifyFunctionExitNodes::UnifyFunctionExitNodes().
void llvm::initializeUnpackMachineBundlesPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeUnreachableBlockElimPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeUnreachableMachineBlockElimPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeVectorization | ( | PassRegistry & | Registry | ) |
initializeVectorization - Initialize all passes linked into the Vectorize library.
initializeVectorizationPasses - Initialize all passes linked into the Vectorization library.
Definition at line 28 of file Vectorize.cpp.
References initializeBBVectorizePass(), initializeLoopVectorizePass(), and initializeSLPVectorizerPass().
Referenced by LLVMInitializeVectorization().
void llvm::initializeVerifierPass | ( | PassRegistry & | ) |
Referenced by initializeCore().
void llvm::initializeVirtRegMapPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeVirtRegRewriterPass | ( | PassRegistry & | ) |
Referenced by initializeCodeGen().
void llvm::initializeX86TTIPass | ( | PassRegistry & | ) |
void llvm::initializeXCoreLowerThreadLocalPass | ( | PassRegistry & | p | ) |
void llvm::initializeXCoreTTIPass | ( | PassRegistry & | ) |
bool llvm::InlineFunction | ( | CallInst * | C, |
InlineFunctionInfo & | IFI, | ||
bool | InsertLifetime = true |
||
) |
InlineFunction - This function inlines the called function into the basic block of the caller. This returns false if it is not possible to inline this call. The program is still in a well defined state if this occurs though.
Note that this only does one level of inlining. For example, if the instruction 'call B' is inlined, and 'B' calls 'C', then the call to 'C' now exists in the instruction stream. Similarly this will inline a recursive function by one level.
Definition at line 34 of file InlineFunction.cpp.
Referenced by InlineCallIfPossible(), and InlineFunction().
bool llvm::InlineFunction | ( | InvokeInst * | II, |
InlineFunctionInfo & | IFI, | ||
bool | InsertLifetime = true |
||
) |
Definition at line 38 of file InlineFunction.cpp.
References InlineFunction().
bool llvm::InlineFunction | ( | CallSite | CS, |
InlineFunctionInfo & | IFI, | ||
bool | InsertLifetime = true |
||
) |
InlineFunction - This function inlines the called function into the basic block of the caller. This returns false if it is not possible to inline this call. The program is still in a well defined state if this occurs though.
Note that this only does one level of inlining. For example, if the instruction 'call B' is inlined, and 'B' calls 'C', then the call to 'C' now exists in the instruction stream. Similarly this will inline a recursive function by one level.
Definition at line 500 of file InlineFunction.cpp.
References llvm::PHINode::addIncoming(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_begin(), llvm::Function::arg_begin(), llvm::Function::arg_end(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_size(), llvm::Function::arg_size(), llvm::Function::back(), llvm::BasicBlock::begin(), llvm::Function::begin(), llvm::InlineFunctionInfo::CG, CloneAndPruneFunctionInto(), llvm::ClonedCodeInfo::ContainsCalls, llvm::ClonedCodeInfo::ContainsDynamicAllocas, llvm::PHINode::Create(), llvm::BranchInst::Create(), llvm::IRBuilderBase::CreateLifetimeEnd(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotThrow(), dyn_cast(), llvm::SmallVectorBase::empty(), llvm::Function::end(), llvm::iplist< NodeTy, Traits >::erase(), llvm::Instruction::eraseFromParent(), llvm::BasicBlock::eraseFromParent(), fixupLineNumbers(), llvm::ConstantInt::get(), llvm::UndefValue::get(), llvm::AllocaInst::getAllocatedType(), llvm::AllocaInst::getArraySize(), llvm::Function::getBasicBlockList(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getCalledFunction(), llvm::Value::getContext(), llvm::Instruction::getDebugLoc(), llvm::Intrinsic::getDeclaration(), llvm::Function::getEntryBlock(), llvm::Function::getFunctionType(), llvm::Function::getGC(), llvm::BasicBlock::getInstList(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getInstruction(), llvm::Type::getInt64Ty(), llvm::BasicBlock::getLandingPadInst(), llvm::Value::getName(), llvm::InvokeInst::getNormalDest(), llvm::Instruction::getOpcode(), llvm::Function::getParamAlignment(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::GlobalValue::getParent(), llvm::LandingPadInst::getPersonalityFn(), llvm::Function::getReturnType(), llvm::ReturnInst::getReturnValue(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), llvm::DataLayout::getTypeAllocSize(), llvm::InvokeInst::getUnwindDest(), HandleByValArgument(), HandleInlinedInvoke(), llvm::Function::hasGC(), hasLifetimeMarkers(), I, llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::isByValArgument(), llvm::GlobalValue::isDeclaration(), llvm::FunctionType::isVarArg(), llvm::TargetOpcode::PHI, llvm::iplist< NodeTy, Traits >::pop_back(), llvm::Value::replaceAllUsesWith(), llvm::InlineFunctionInfo::reset(), llvm::Instruction::setDebugLoc(), llvm::Function::setGC(), llvm::User::setOperand(), SimplifyInstruction(), llvm::SmallVectorTemplateCommon< T >::size(), llvm::iplist< NodeTy, Traits >::splice(), llvm::BasicBlock::splitBasicBlock(), llvm::Intrinsic::stackrestore, llvm::Intrinsic::stacksave, llvm::InlineFunctionInfo::StaticAllocas, llvm::InlineFunctionInfo::TD, UpdateCallGraphAfterInlining(), and llvm::Value::use_empty().
BasicBlock * llvm::InsertPreheaderForLoop | ( | Loop * | L, |
Pass * | PP | ||
) |
InsertPreheaderForLoop - Once we discover that a loop doesn't have a preheader, this method is called to insert one. This method has two phases: preheader insertion and analysis updating.
Definition at line 371 of file LoopSimplify.cpp.
References llvm::LoopBase< N, M >::contains(), dbgs(), DEBUG, llvm::Instruction::getDebugLoc(), llvm::BasicBlock::getFirstNonPHI(), llvm::LoopBase< N, M >::getHeader(), llvm::Value::getName(), llvm::BasicBlock::getTerminator(), llvm::BasicBlock::isLandingPad(), PlaceSplitBlockCarefully(), pred_begin(), pred_end(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::Instruction::setDebugLoc(), SplitBlockPredecessors(), and SplitLandingPadPredecessors().
|
inline |
Definition at line 128 of file InstIterator.h.
Referenced by llvm::Function::callsFunctionThatReturnsTwice(), dumpExampleDependence(), getInst(), llvm::ScalarEvolution::print(), and llvm::FindUsedTypes::runOnModule().
|
inline |
Definition at line 130 of file InstIterator.h.
|
inline |
Definition at line 136 of file InstIterator.h.
|
inline |
Definition at line 138 of file InstIterator.h.
|
inline |
Definition at line 129 of file InstIterator.h.
Referenced by llvm::Function::callsFunctionThatReturnsTwice(), llvm::constant_iterator::constant_iterator(), dumpExampleDependence(), getInst(), llvm::ScalarEvolution::print(), and llvm::FindUsedTypes::runOnModule().
|
inline |
Definition at line 133 of file InstIterator.h.
|
inline |
Definition at line 137 of file InstIterator.h.
|
inline |
Definition at line 141 of file InstIterator.h.
void llvm::install_fatal_error_handler | ( | fatal_error_handler_t | handler, |
void * | user_data = 0 |
||
) |
install_fatal_error_handler - Installs a new error handler to be used whenever a serious (non-recoverable) error is encountered by LLVM.
If you are using llvm_start_multithreaded, you should register the handler before doing that.
If no error handler is installed the default is to print the error message to stderr, and call exit(1). If an error handler is installed then it is the handler's responsibility to log the message, it will no longer be printed to stderr. If the error handler returns, then exit(1) will be called.
It is dangerous to naively use an error handler which throws an exception. Even though some applications desire to gracefully recover from arbitrary faults, blindly throwing exceptions through unfamiliar code isn't a way to achieve this.
user_data | - An argument which will be passed to the install error handler. |
Definition at line 40 of file ErrorHandling.cpp.
References ErrorHandler, ErrorHandlerUserData, and llvm_is_multithreaded().
Referenced by LLVMInstallFatalErrorHandler(), and llvm::ScopedFatalErrorHandler::ScopedFatalErrorHandler().
|
inline |
Definition at line 240 of file IntervalIterator.h.
Referenced by llvm::IntervalPartition::IntervalPartition(), and llvm::IntervalPartition::runOnFunction().
|
inline |
Definition at line 249 of file IntervalIterator.h.
|
inline |
Definition at line 244 of file IntervalIterator.h.
Referenced by llvm::IntervalPartition::IntervalPartition(), and llvm::IntervalPartition::runOnFunction().
|
inline |
Definition at line 253 of file IntervalIterator.h.
ipo_iterator<T> llvm::ipo_begin | ( | T | G, |
bool | Reverse = false |
||
) |
Definition at line 206 of file PostOrderIterator.h.
References llvm::po_iterator< Inverse< T >, SetType, External >::begin().
ipo_iterator<T> llvm::ipo_end | ( | T | G | ) |
Definition at line 211 of file PostOrderIterator.h.
References llvm::po_iterator< Inverse< T >, SetType, External >::end().
ipo_ext_iterator<T, SetType> llvm::ipo_ext_begin | ( | T | G, |
SetType & | S | ||
) |
Definition at line 226 of file PostOrderIterator.h.
References llvm::po_iterator< Inverse< T >, SetType, External >::begin().
ipo_ext_iterator<T, SetType> llvm::ipo_ext_end | ( | T | G, |
SetType & | S | ||
) |
Definition at line 231 of file PostOrderIterator.h.
References llvm::po_iterator< Inverse< T >, SetType, External >::end().
Definition at line 134 of file Casting.h.
Referenced by llvm::CompileUnit::getOrCreateSubprogramDIE(), and llvm::MCDwarfLoc::setIsa().
bool llvm::isAllocaPromotable | ( | const AllocaInst * | AI | ) |
Return true if this alloca is legal for promotion.
This is true if there are only loads, stores, and lifetime markers (transitively) using this alloca. This also enforces that there is only ever one layer of bitcasts or GEPs between the alloca and the lifetime markers.
Definition at line 59 of file PromoteMemoryToRegister.cpp.
References llvm::Value::getContext(), llvm::Type::getInt8PtrTy(), LI, llvm::Intrinsic::lifetime_end, llvm::Intrinsic::lifetime_start, onlyUsedByLifetimeMarkers(), llvm::Value::use_begin(), and llvm::Value::use_end().
bool llvm::isAllocationFn | ( | const Value * | V, |
const TargetLibraryInfo * | TLI, | ||
bool | LookThroughBitCast = false |
||
) |
Tests if a value is a call or invoke to a library function that allocates or reallocates memory (either malloc, calloc, realloc, or strdup like).
Definition at line 150 of file MemoryBuiltins.cpp.
References AnyAlloc, and getAllocationData().
Referenced by CleanupPointerRootUsers(), isNoAliasFn(), IsSafeComputationToRemove(), and llvm::InstCombiner::visitGetElementPtrInst().
bool llvm::isAllocLikeFn | ( | const Value * | V, |
const TargetLibraryInfo * | TLI, | ||
bool | LookThroughBitCast = false |
||
) |
Tests if a value is a call or invoke to a library function that allocates memory (either malloc, calloc, or strdup like).
Definition at line 181 of file MemoryBuiltins.cpp.
References AllocLike, and getAllocationData().
Referenced by isInstructionTriviallyDead().
isARMArea1Register - Returns true if the register is a low register (r0-r7) or a stack/pc register that we should push/pop.
Definition at line 38 of file ARMBaseRegisterInfo.h.
References llvm::ExceptionHandling::ARM, R2, R4, and R6.
Referenced by llvm::ARMFrameLowering::restoreCalleeSavedRegisters(), and llvm::ARMFrameLowering::spillCalleeSavedRegisters().
Definition at line 53 of file ARMBaseRegisterInfo.h.
References llvm::ExceptionHandling::ARM.
Referenced by llvm::ARMFrameLowering::restoreCalleeSavedRegisters(), and llvm::ARMFrameLowering::spillCalleeSavedRegisters().
Definition at line 64 of file ARMBaseRegisterInfo.h.
References llvm::ExceptionHandling::ARM, llvm::X86II::D8, and llvm::X86II::D9.
Referenced by llvm::ARMFrameLowering::restoreCalleeSavedRegisters(), and llvm::ARMFrameLowering::spillCalleeSavedRegisters().
isARMLowRegister - Returns true if the register is a low register (r0-r7).
Definition at line 209 of file ARMBaseInfo.h.
References llvm::ExceptionHandling::ARM, R2, R4, and R6.
Referenced by checkLowRegisterList(), emitThumbRegPlusImmInReg(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::ARMFrameLowering::processFunctionBeforeCalleeSavedScan(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), and VerifyLowRegs().
const CallInst * llvm::isArrayMalloc | ( | const Value * | I, |
const DataLayout * | DL, | ||
const TargetLibraryInfo * | TLI | ||
) |
isArrayMalloc - Returns the corresponding CallInst if the instruction is a call to malloc whose array size can be determined and the array size is not constant 1. Otherwise, return NULL.
Definition at line 237 of file MemoryBuiltins.cpp.
References computeArraySize(), and extractMallocCall().
bool llvm::isBarrierIntrinsic | ( | llvm::Intrinsic::ID | id | ) |
Definition at line 301 of file NVPTXUtilities.cpp.
References llvm::Intrinsic::cuda_syncthreads, llvm::Intrinsic::nvvm_barrier0, llvm::Intrinsic::nvvm_barrier0_and, llvm::Intrinsic::nvvm_barrier0_or, and llvm::Intrinsic::nvvm_barrier0_popc.
Referenced by llvm::NVPTXSplitBBatBar::runOnFunction().
isBitcode - Return true if the given bytes are the magic bytes for LLVM IR bitcode, either with or without a wrapper.
Definition at line 102 of file ReaderWriter.h.
References isBitcodeWrapper(), and isRawBitcode().
Referenced by getLazyIRModule(), and ParseIR().
isBitcodeWrapper - Return true if the given bytes are the magic bytes for an LLVM IR bitcode wrapper.
Definition at line 74 of file ReaderWriter.h.
Referenced by isBitcode().
isBytewiseValue - If the specified value can be set by repeating the same byte in memory, return the i8 value that it is represented with. This is true for all i8 values obviously, but is also true for i32 0, i32 -1, i16 0xF0F0, double 0.0 etc. If the value can't be handled with a repeated byte store (e.g. i16 0x1234), return null.
Definition at line 1479 of file ValueTracking.cpp.
References llvm::CallingConv::C, llvm::ConstantInt::get(), llvm::ConstantExpr::getBitCast(), llvm::APInt::getBitWidth(), llvm::Value::getContext(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), llvm::Type::getInt8Ty(), llvm::Constant::getNullValue(), llvm::Value::getType(), I, llvm::Type::isIntegerTy(), isPowerOf2_32(), llvm::APInt::lshr(), and llvm::APInt::trunc().
bool llvm::isCallocLikeFn | ( | const Value * | V, |
const TargetLibraryInfo * | TLI, | ||
bool | LookThroughBitCast = false |
||
) |
Tests if a value is a call or invoke to a library function that allocates zero-filled memory (such as calloc).
Definition at line 174 of file MemoryBuiltins.cpp.
References CallocLike, and getAllocationData().
Referenced by extractCallocCall(), and llvm::MemoryDependenceAnalysis::getPointerDependencyFrom().
|
inlinestatic |
Definition at line 350 of file ARMBaseInstrInfo.h.
Referenced by llvm::ARMBaseInstrInfo::AnalyzeBranch(), and llvm::ARMBaseInstrInfo::RemoveBranch().
bool llvm::isCriticalEdge | ( | const TerminatorInst * | TI, |
unsigned | SuccNum, | ||
bool | AllowIdenticalEdges = false |
||
) |
Return true if the specified edge is a critical edge. Critical edges are edges from a block with multiple successors to a block with multiple predecessors.
isCriticalEdge - Return true if the specified edge is a critical edge. Critical edges are edges from a block with multiple successors to a block with multiple predecessors.
Definition at line 88 of file CFG.cpp.
References llvm::TerminatorInst::getNumSuccessors(), llvm::TerminatorInst::getSuccessor(), I, P, pred_begin(), and pred_end().
Referenced by DemoteRegToStack(), and SplitCriticalEdge().
bool llvm::isCurrentDebugType | ( | const char * | Type | ) |
isCurrentDebugType - Return true if the specified string is the debug type specified on the command line, or if none was specified on the command line with the -debug-only=X option.
Definition at line 88 of file Debug.cpp.
References CurrentDebugType.
const CallInst * llvm::isFreeCall | ( | const Value * | I, |
const TargetLibraryInfo * | TLI | ||
) |
isFreeCall - Returns non-null if the value is a call to the builtin free()
Definition at line 316 of file MemoryBuiltins.cpp.
References dyn_cast(), llvm::LibFunc::free, llvm::CallInst::getCalledFunction(), llvm::Function::getContext(), llvm::Function::getFunctionType(), llvm::Type::getInt8PtrTy(), llvm::TargetLibraryInfo::getLibFunc(), llvm::Value::getName(), llvm::FunctionType::getNumParams(), llvm::FunctionType::getParamType(), llvm::FunctionType::getReturnType(), llvm::TargetLibraryInfo::has(), I, llvm::GlobalValue::isDeclaration(), llvm::Type::isVoidTy(), llvm::LibFunc::ZdaPv, llvm::LibFunc::ZdaPvRKSt9nothrow_t, llvm::LibFunc::ZdlPv, and llvm::LibFunc::ZdlPvRKSt9nothrow_t.
Referenced by GetLocation(), isAllocSiteRemovable(), isFreeCall(), isInstructionTriviallyDead(), and llvm::InstCombiner::visitCallInst().
|
inlinestatic |
Definition at line 135 of file MemoryBuiltins.h.
References isFreeCall().
isGlobalRelativeToPICBase - Return true if the specified global value reference is relative to a 32-bit PIC base (X86ISD::GlobalBaseReg). If this is true, the addressing mode has the PIC base register added in (e.g. EBX).
Definition at line 92 of file X86InstrInfo.h.
References llvm::X86II::MO_DARWIN_HIDDEN_NONLAZY_PIC_BASE, llvm::X86II::MO_DARWIN_NONLAZY_PIC_BASE, llvm::X86II::MO_GOT, llvm::X86II::MO_GOTOFF, llvm::X86II::MO_PIC_BASE_OFFSET, and llvm::X86II::MO_TLVP.
Referenced by llvm::X86TargetLowering::isLegalAddressingMode().
isGlobalStubReference - Return true if the specified TargetFlag operand is a reference to a stub for a global, not the global itself.
Definition at line 75 of file X86InstrInfo.h.
References llvm::X86II::MO_DARWIN_HIDDEN_NONLAZY_PIC_BASE, llvm::X86II::MO_DARWIN_NONLAZY, llvm::X86II::MO_DARWIN_NONLAZY_PIC_BASE, llvm::X86II::MO_DLLIMPORT, llvm::X86II::MO_GOT, and llvm::X86II::MO_GOTPCREL.
Referenced by gvNeedsNonLazyPtr(), llvm::X86TargetLowering::isLegalAddressingMode(), and llvm::X86TargetLowering::LowerAsmOperandForConstraint().
isIdentifiedObject - Return true if this pointer refers to a distinct and identifiable object. This returns true for: Global Variables and Functions (but not Global Aliases) Allocas ByVal and NoAlias Arguments NoAlias returns (e.g. calls to malloc)
isIdentifiedObject - Return true if this pointer refers to a distinct and identifiable object. This returns true for: Global Variables and Functions (but not Global Aliases) Allocas and Mallocs ByVal and NoAlias Arguments NoAlias returns
Definition at line 546 of file AliasAnalysis.cpp.
References llvm::ARM_PROC::A, and isNoAliasCall().
Referenced by llvm::AliasAnalysis::callCapturesBefore(), getUnderlyingObjectsForInstr(), isObjectSmallerThan(), and isUnsafeMemoryObject().
bool llvm::isImage | ( | const llvm::Value & | val | ) |
Definition at line 198 of file NVPTXUtilities.cpp.
References isImageReadOnly(), and isImageWriteOnly().
Definition at line 1361 of file NVPTXISelLowering.cpp.
References array_lengthof(), dyn_cast(), llvm::SequentialType::getElementType(), llvm::StructType::getName(), llvm::Value::getType(), and llvm::StructType::isLiteral().
Referenced by llvm::NVPTXTargetLowering::LowerFormalArguments().
bool llvm::isImageReadOnly | ( | const llvm::Value & | val | ) |
Definition at line 168 of file NVPTXUtilities.cpp.
References findAllNVVMAnnotation(), llvm::GlobalValue::getParent(), PROPERTY_ISREADONLY_IMAGE_PARAM, and PropertyAnnotationNames.
Referenced by isImage().
bool llvm::isImageWriteOnly | ( | const llvm::Value & | val | ) |
Definition at line 183 of file NVPTXUtilities.cpp.
References findAllNVVMAnnotation(), llvm::GlobalValue::getParent(), PROPERTY_ISWRITEONLY_IMAGE_PARAM, and PropertyAnnotationNames.
Referenced by isImage().
|
inlinestatic |
Definition at line 361 of file ARMBaseInstrInfo.h.
Referenced by llvm::ARMBaseInstrInfo::AnalyzeBranch().
int llvm::IsInf | ( | float | f | ) |
bool llvm::isInstructionTriviallyDead | ( | Instruction * | I, |
const TargetLibraryInfo * | TLI = 0 |
||
) |
isInstructionTriviallyDead - Return true if the result produced by the instruction is not used, and the instruction has no side effects.
Definition at line 266 of file Local.cpp.
References llvm::CallingConv::C, I, isAllocLikeFn(), isFreeCall(), llvm::Intrinsic::lifetime_end, llvm::Intrinsic::lifetime_start, llvm::Instruction::mayHaveSideEffects(), llvm::Intrinsic::stacksave, and llvm::Value::use_empty().
Referenced by AddReachableCodeToWorklist(), DeleteDeadInstruction(), deleteDeadInstruction(), deleteIfDeadInstruction(), DeleteTriviallyDeadInstructions(), llvm::InstCombiner::DoOneIteration(), RecursivelyDeleteTriviallyDeadInstructions(), llvm::Inliner::runOnSCC(), and UnrollLoop().
|
inline |
isInt - Checks if an integer fits into the given bit width.
Definition at line 263 of file MathExtras.h.
References N.
|
inline |
Definition at line 272 of file MathExtras.h.
Referenced by llvm::PPCFrameLowering::addScavengingSpillSlot(), llvm::MipsSEInstrInfo::adjustStackPtr(), llvm::Mips16InstrInfo::adjustStackPtr(), llvm::PPCFrameLowering::eliminateCallFramePseudoInstr(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::PPCFrameLowering::emitEpilogue(), emitIncrement(), llvm::PPCFrameLowering::emitPrologue(), llvm::SystemZTargetLowering::getSingleConstraintMatchWeight(), llvm::MipsSEFrameLowering::hasReservedCallFrame(), llvm::PPCRegisterInfo::isFrameOffsetLegal(), llvm::SystemZInstrInfo::loadImmediate(), llvm::SystemZTargetLowering::LowerAsmOperandForConstraint(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::Mips16InstrInfo::makeFrame(), Mips16WhichOp8uOr16simm(), llvm::MipsSEFrameLowering::processFunctionBeforeCalleeSavedScan(), llvm::Mips16InstrInfo::restoreFrame(), shouldSwapCmpOperands(), shouldUseLA(), and llvm::Mips16InstrInfo::validImmediate().
|
inline |
Definition at line 276 of file MathExtras.h.
Referenced by llvm::X86RegisterInfo::eliminateFrameIndex(), llvm::PPCFrameLowering::emitPrologue(), llvm::X86TargetLowering::isLegalAddImmediate(), llvm::X86TargetLowering::isLegalICmpImmediate(), llvm::X86::isOffsetSuitableForCodeModel(), and llvm::SystemZInstrInfo::loadImmediate().
|
inline |
Definition at line 268 of file MathExtras.h.
Referenced by llvm::SystemZInstrInfo::foldMemoryOperandImpl(), getADDriOpcode(), llvm::SystemZInstrInfo::getCompareAndBranch(), getSUBriOpcode(), isGreaterThan8BitTFRI(), llvm::HexagonInstrInfo::isPredicable(), llvm::X86TargetLowering::LowerAsmOperandForConstraint(), and switch().
bool llvm::isInTailCallPosition | ( | ImmutableCallSite | CS, |
const TargetLowering & | TLI | ||
) |
Test if the given instruction is in a position to be optimized with a tail-call. This roughly means that it's in a block with a return and there's nothing that needs to be scheduled between it and the return.
This function only tests target-independent requirements.
Definition at line 477 of file CodeGen/Analysis.cpp.
References dyn_cast(), llvm::BasicBlock::end(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getInstruction(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::TargetLoweringBase::getTargetMachine(), llvm::BasicBlock::getTerminator(), llvm::TargetOptions::GuaranteedTailCallOpt, I, isSafeToSpeculativelyExecute(), llvm::Instruction::mayHaveSideEffects(), llvm::Instruction::mayReadFromMemory(), llvm::TargetMachine::Options, prior(), llvm::AArch64ISD::Ret, and returnTypeIsEligibleForTailCall().
Referenced by llvm::SelectionDAGBuilder::LowerCallTo().
isIntN - Checks if an signed integer fits into the given (dynamic) bit width.
Definition at line 321 of file MathExtras.h.
Referenced by llvm::MCStreamer::EmitIntValue(), isExtendedBUILD_VECTOR(), and llvm::TargetLowering::SimplifyDemandedBits().
|
inlinestatic |
Definition at line 355 of file ARMBaseInstrInfo.h.
Referenced by llvm::ARMBaseInstrInfo::AnalyzeBranch().
bool llvm::isKernelFunction | ( | const llvm::Function & | F | ) |
Definition at line 252 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), llvm::Function::getCallingConv(), PROPERTY_ISKERNEL_FUNCTION, PropertyAnnotationNames, and llvm::CallingConv::PTX_Kernel.
Referenced by llvm::NVPTXTargetLowering::LowerFormalArguments().
bool llvm::isKnownNonNull | ( | const Value * | V, |
const TargetLibraryInfo * | TLI = 0 |
||
) |
isKnownNonNull - Return true if this pointer couldn't possibly be null by its definition. This returns true for allocas, non-extern-weak globals and byval arguments.
isKnownNonNull - Return true if we know that the specified value is never null.
Definition at line 2067 of file ValueTracking.cpp.
References llvm::ARM_PROC::A, and isOperatorNewLikeFn().
Referenced by computePointerICmp(), and isKnownNonZero().
bool llvm::isKnownNonZero | ( | Value * | V, |
const DataLayout * | TD = 0 , |
||
unsigned | Depth = 0 |
||
) |
isKnownNonZero - Return true if the given value is known to be non-zero when defined. For vectors return true if every element is known to be non-zero when defined. Supports values with integer or pointer type and vectors of integers.
Definition at line 980 of file ValueTracking.cpp.
References llvm::CallingConv::C, ComputeMaskedBits(), ComputeSignBit(), getBitWidth(), llvm::Type::getScalarType(), llvm::APInt::getSignedMaxValue(), llvm::Value::getType(), llvm::OverflowingBinaryOperator::hasNoSignedWrap(), llvm::OverflowingBinaryOperator::hasNoUnsignedWrap(), llvm::PossiblyExactOperator::isExact(), isGEPKnownNonNull(), isKnownNonNull(), isKnownToBeAPowerOfTwo(), llvm::Type::isPointerTy(), llvm::PatternMatch::m_Add(), llvm::PatternMatch::m_Exact(), llvm::PatternMatch::m_IDiv(), llvm::PatternMatch::m_Mul(), llvm::PatternMatch::m_Or(), llvm::PatternMatch::m_Shl(), llvm::PatternMatch::m_Shr(), llvm::PatternMatch::m_Value(), llvm::PatternMatch::match(), MaxDepth, TD, X, and Y.
Referenced by ComputeMaskedBitsMul(), isGEPKnownNonNull(), isSafeToSpeculativelyExecute(), and SimplifyICmpInst().
isKnownToBeAPowerOfTwo - Return true if the given value is known to have exactly one bit set when defined. For vectors return true if every element is known to be a power of two when defined. Supports values with integer or pointer type and vectors of integers. If 'OrZero' is set then returns true if the given value is either a power of two or zero.
isKnownToBeAPowerOfTwo - Return true if the given value is known to have exactly one bit set when defined. For vectors return true if every element is known to be a power of two when defined. Supports values with integer or pointer types and vectors of integers.
Definition at line 821 of file ValueTracking.cpp.
References llvm::CallingConv::C, ComputeMaskedBits(), llvm::APInt::getBoolValue(), llvm::Type::getScalarSizeInBits(), llvm::Value::getType(), llvm::OverflowingBinaryOperator::hasNoSignedWrap(), llvm::OverflowingBinaryOperator::hasNoUnsignedWrap(), llvm::PatternMatch::m_Add(), llvm::PatternMatch::m_And(), llvm::PatternMatch::m_Exact(), llvm::PatternMatch::m_LShr(), llvm::PatternMatch::m_Neg(), llvm::PatternMatch::m_One(), llvm::PatternMatch::m_Shl(), llvm::PatternMatch::m_Shr(), llvm::PatternMatch::m_SignBit(), llvm::PatternMatch::m_Specific(), llvm::PatternMatch::m_UDiv(), llvm::PatternMatch::m_Value(), llvm::PatternMatch::match(), MaxDepth, X, and Y.
Referenced by isKnownNonZero(), SimplifyAndInst(), simplifyValueKnownNonZero(), llvm::InstCombiner::visitICmpInst(), and llvm::InstCombiner::visitURem().
Definition at line 112 of file X86InstrInfo.h.
References llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::isCPI(), llvm::MachineOperand::isFI(), llvm::MachineOperand::isGlobal(), llvm::MachineOperand::isImm(), llvm::MachineOperand::isJTI(), llvm::MachineOperand::isReg(), and isScale().
Referenced by isMem().
bool llvm::isMallocLikeFn | ( | const Value * | V, |
const TargetLibraryInfo * | TLI, | ||
bool | LookThroughBitCast = false |
||
) |
Tests if a value is a call or invoke to a library function that allocates uninitialized memory (such as malloc).
Definition at line 167 of file MemoryBuiltins.cpp.
References getAllocationData(), and MallocLike.
Referenced by extractMallocCall(), getMallocArraySize(), getMallocType(), and llvm::MemoryDependenceAnalysis::getPointerDependencyFrom().
|
inline |
isMask_32 - This function returns true if the argument is a sequence of ones starting at the least significant bit with the remainder zero (32 bit version). Ex. isMask_32(0x0000FFFFU) == true.
Definition at line 328 of file MathExtras.h.
Referenced by isShiftedMask_32().
|
inline |
isMask_64 - This function returns true if the argument is a sequence of ones starting at the least significant bit with the remainder zero (64 bit version).
Definition at line 335 of file MathExtras.h.
Referenced by llvm::A64Imms::isLogicalImm(), isShiftedMask_64(), PerformANDCombine(), and PerformAndCombine().
Definition at line 123 of file X86InstrInfo.h.
References llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::isFI(), isLeaMem(), and llvm::MachineOperand::isReg().
Referenced by llvm::X86FrameLowering::emitEpilogue(), and llvm::X86AsmPrinter::printMemReference().
bool llvm::isMemorySpaceTransferIntrinsic | ( | Intrinsic::ID | id | ) |
Definition at line 312 of file NVPTXUtilities.cpp.
References llvm::Intrinsic::nvvm_ptr_constant_to_gen, llvm::Intrinsic::nvvm_ptr_gen_to_constant, llvm::Intrinsic::nvvm_ptr_gen_to_global, llvm::Intrinsic::nvvm_ptr_gen_to_local, llvm::Intrinsic::nvvm_ptr_gen_to_param, llvm::Intrinsic::nvvm_ptr_gen_to_shared, llvm::Intrinsic::nvvm_ptr_global_to_gen, llvm::Intrinsic::nvvm_ptr_local_to_gen, and llvm::Intrinsic::nvvm_ptr_shared_to_gen.
Referenced by skipPointerTransfer().
int llvm::IsNAN | ( | float | f | ) |
isNoAliasArgument - Return true if this is an argument with the noalias attribute.
Definition at line 532 of file AliasAnalysis.cpp.
References llvm::ARM_PROC::A.
Referenced by isFunctionScopeIdentifiedObject(), and isIdentifiedFunctionLocal().
isNoAliasCall - Return true if this pointer is returned by a noalias function.
Definition at line 523 of file AliasAnalysis.cpp.
References llvm::Attribute::NoAlias, and llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::paramHasAttr().
Referenced by isFunctionScopeIdentifiedObject(), isIdentifiedFunctionLocal(), isIdentifiedObject(), isNonEscapingLocalObject(), and PointerMayBeCaptured().
bool llvm::isNoAliasFn | ( | const Value * | V, |
const TargetLibraryInfo * | TLI, | ||
bool | LookThroughBitCast = false |
||
) |
Tests if a value is a call or invoke to a function that returns a NoAlias pointer (including malloc/calloc/realloc/strdup-like functions).
Definition at line 157 of file MemoryBuiltins.cpp.
References hasNoAliasAttr(), and isAllocationFn().
Referenced by llvm::MemoryDependenceAnalysis::getPointerDependencyFrom().
bool llvm::isOperatorNewLikeFn | ( | const Value * | V, |
const TargetLibraryInfo * | TLI, | ||
bool | LookThroughBitCast = false |
||
) |
Tests if a value is a call or invoke to a library function that allocates memory and never returns null (such as operator new).
Definition at line 195 of file MemoryBuiltins.cpp.
References getAllocationData(), and OpNewLike.
Referenced by isKnownNonNull().
bool llvm::isParamLoad | ( | const MachineInstr * | MI | ) |
Definition at line 21 of file NVPTXutil.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::isImm(), and llvm::NVPTX::PTXLdStInstCode::PARAM.
|
inlinestatic |
Definition at line 365 of file ARMBaseInstrInfo.h.
Referenced by llvm::ARMFrameLowering::emitEpilogue(), isCSRestore(), and tryFoldSPUpdateIntoPushPop().
bool llvm::isPotentiallyReachable | ( | const Instruction * | From, |
const Instruction * | To, | ||
const DominatorTree * | DT = 0 , |
||
const LoopInfo * | LI = 0 |
||
) |
Determine whether instruction 'To' is reachable from 'From', returning true if uncertain.
Determine whether there is a path from From to To within a single function. Returns false only if we can prove that once 'From' has been executed then 'To' can not be executed. Conservatively returns true.
This function is linear with respect to the number of blocks in the CFG, walking down successors from From to reach To, with a fixed threshold. Using DT or LI allows us to answer more quickly. LI reduces the cost of an entire loop of any number of blocsk to be the same as the cost of a single block. DT reduces the cost by allowing the search to terminate when we find a block that dominates the block containing 'To'. DT is most useful on branchy code but not loops, and LI is most useful on code with loops but does not help on branchy code outside loops.
Definition at line 194 of file CFG.cpp.
References llvm::BasicBlock::end(), llvm::Function::getEntryBlock(), llvm::LoopInfo::getLoopFor(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), I, isPotentiallyReachableInner(), succ_begin(), and succ_end().
bool llvm::isPotentiallyReachable | ( | const BasicBlock * | From, |
const BasicBlock * | To, | ||
const DominatorTree * | DT = 0 , |
||
const LoopInfo * | LI = 0 |
||
) |
Determine whether block 'To' is reachable from 'From', returning true if uncertain.
Determine whether there is a path from From to To within a single function. Returns false only if we can prove that once 'From' has been reached then 'To' can not be executed. Conservatively returns true.
Definition at line 182 of file CFG.cpp.
References llvm::BasicBlock::getParent(), isPotentiallyReachableInner(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
inline |
isPowerOf2_32 - This function returns true if the argument is a power of two > 0. Ex. isPowerOf2_32(0x00100000U) == true (32 bit edition.)
Definition at line 354 of file MathExtras.h.
Referenced by llvm::AttrBuilder::addAlignmentAttr(), llvm::AttrBuilder::addStackAlignmentAttr(), CollectBSwapParts(), decodeLLVMAttributesForBitcode(), llvm::PPCFrameLowering::emitPrologue(), FindMemType(), getExclusiveOperation(), GetLoadValueForLoad(), llvm::TargetLoweringBase::getTypeConversion(), llvm::TargetLoweringBase::getVectorTypeBreakdown(), getVectorTypeBreakdownMVT(), llvm::Attribute::getWithAlignment(), llvm::Attribute::getWithStackAlignment(), isBytewiseValue(), llvm::ARMTargetLowering::isLegalAddressingMode(), llvm::ARMTargetLowering::isLegalT2ScaledAddressingMode(), llvm::IntegerType::isPowerOf2ByteWidth(), llvm::PPCTargetLowering::LowerAsmOperandForConstraint(), matchPairwiseReduction(), matchVectorSplittingReduction(), PerformLOADCombine(), PerformMULCombine(), PerformSTORECombine(), llvm::X86TargetLowering::resetOperationActions(), llvm::TargetLowering::TargetLoweringOpt::ShrinkDemandedOp(), llvm::InstCombiner::visitLShr(), and llvm::MachObjectWriter::WriteSection().
|
inline |
isPowerOf2_64 - This function returns true if the argument is a power of two
0 (64 bit edition.)
Definition at line 360 of file MathExtras.h.
Referenced by llvm::FastISel::FastEmit_ri_(), genConstMult(), isConstVecPow2(), llvm::APInt::isPowerOf2(), isRepeatedByteSequence(), and PerformMulCombine().
|
inlinestatic |
Definition at line 371 of file ARMBaseInstrInfo.h.
Referenced by tryFoldSPUpdateIntoPushPop().
isRawBitcode - Return true if the given bytes are the magic bytes for raw LLVM IR bitcode (without a wrapper).
Definition at line 88 of file ReaderWriter.h.
Referenced by isBitcode().
bool llvm::isReallocLikeFn | ( | const Value * | V, |
const TargetLibraryInfo * | TLI, | ||
bool | LookThroughBitCast = false |
||
) |
Tests if a value is a call or invoke to a library function that reallocates memory (such as realloc).
Definition at line 188 of file MemoryBuiltins.cpp.
References getAllocationData(), and ReallocLike.
It is safe to destroy a constant iff it is only used by constants itself. Note that constants cannot be cyclic, so this test is pretty easy to implement recursively.
Definition at line 34 of file GlobalStatus.cpp.
References llvm::Value::use_begin(), and llvm::Value::use_end().
Referenced by analyzeGlobalAux(), CleanupConstantGlobalUsers(), CleanupPointerRootUsers(), and isSafeSROAElementUse().
bool llvm::isSafeToExpand | ( | const SCEV * | S, |
ScalarEvolution & | SE | ||
) |
Return true if the given expression is safe to expand in the sense that all materialized values are safe to speculate.
Definition at line 1743 of file ScalarEvolutionExpander.cpp.
References visitAll().
bool llvm::isSafeToLoadUnconditionally | ( | Value * | V, |
Instruction * | ScanFrom, | ||
unsigned | Align, | ||
const DataLayout * | TD = 0 |
||
) |
isSafeToLoadUnconditionally - Return true if we know that executing a load from this value cannot trap. If it is not obviously safe to load from the specified pointer, we do a quick local scan of the basic block containing ScanFrom, to determine if the address is already accessed.
Definition at line 56 of file Loads.cpp.
References Align(), AreEquivalentAddressValues(), llvm::BasicBlock::begin(), llvm::SequentialType::getElementType(), llvm::Instruction::getParent(), GetPointerBaseWithConstantOffset(), llvm::DataLayout::getPrefTypeAlignment(), llvm::Value::getType(), llvm::DataLayout::getTypeStoreSize(), llvm::Type::isSized(), and LI.
Referenced by isSafePHIToSpeculate(), isSafeSelectToSpeculate(), and llvm::InstCombiner::visitLoadInst().
bool llvm::isSafeToSpeculativelyExecute | ( | const Value * | V, |
const DataLayout * | TD = 0 |
||
) |
isSafeToSpeculativelyExecute - Return true if the instruction does not have any effects besides calculating the result and does not have undefined behavior.
This method never returns true for an instruction that returns true for mayHaveSideEffects; however, this method also does some other checks in addition. It checks for undefined behavior, like dividing by zero or loading from an invalid pointer (but not for undefined results, like a shift with a shift amount larger than the width of the result). It checks for malloc and alloca because speculatively executing them might cause a memory leak. It also returns false for instructions related to control flow, specifically terminators and PHI nodes.
This method only looks at the instruction itself and its operands, so if this method returns true, it is safe to move the instruction as long as the correct dominance relationships for the operands and users hold. However, this method can return true for instructions that read memory; for such instructions, moving them may change the resulting value.
Definition at line 1974 of file ValueTracking.cpp.
References llvm::Intrinsic::bswap, llvm::CallingConv::C, Call, ComputeMaskedBits(), llvm::Intrinsic::ctlz, llvm::Intrinsic::ctpop, llvm::Intrinsic::cttz, llvm::Intrinsic::dbg_declare, llvm::Intrinsic::dbg_value, dyn_cast(), getBitWidth(), llvm::User::getNumOperands(), llvm::Operator::getOpcode(), llvm::User::getOperand(), llvm::LoadInst::getPointerOperand(), llvm::Value::getType(), llvm::Value::isDereferenceablePointer(), isKnownNonZero(), llvm::LoadInst::isUnordered(), LI, llvm::SPII::Load, llvm::Intrinsic::objectsize, llvm::TargetOpcode::PHI, llvm::AArch64ISD::Ret, llvm::Intrinsic::sadd_with_overflow, llvm::Intrinsic::smul_with_overflow, llvm::Intrinsic::ssub_with_overflow, llvm::SPII::Store, TD, llvm::Intrinsic::uadd_with_overflow, llvm::Intrinsic::umul_with_overflow, and llvm::Intrinsic::usub_with_overflow.
Referenced by llvm::IVUsers::AddUsersImpl(), CanPHITrans(), ComputeSpeculationCost(), DominatesMergePoint(), FoldBranchToCommonDest(), HoistThenElseCodeToIf(), InstructionWillNotHaveChain(), isInTailCallPosition(), llvm::Loop::makeLoopInvariant(), shouldSpeculateInstrs(), and SpeculativelyExecuteBB().
bool llvm::isSampler | ( | const llvm::Value & | val | ) |
Definition at line 145 of file NVPTXUtilities.cpp.
References findAllNVVMAnnotation(), findOneNVVMAnnotation(), llvm::GlobalValue::getParent(), PROPERTY_ISSAMPLER, and PropertyAnnotationNames.
|
inlinestatic |
Definition at line 106 of file X86InstrInfo.h.
References llvm::MachineOperand::getImm(), and llvm::MachineOperand::isImm().
Referenced by isLeaMem().
|
inline |
isShiftedInt<N,S> - Checks if a signed integer is an N bit number shifted left by S.
Definition at line 283 of file MathExtras.h.
|
inline |
isShiftedMask_32 - This function returns true if the argument contains a sequence of ones with the remainder zero (32 bit version.) Ex. isShiftedMask_32(0x0000FF00U) == true.
Definition at line 342 of file MathExtras.h.
References isMask_32().
|
inline |
isShiftedMask_64 - This function returns true if the argument contains a sequence of ones with the remainder zero (64 bit version.)
Definition at line 348 of file MathExtras.h.
References isMask_64().
Referenced by getLSBForBFI(), and isShiftedMask().
|
inline |
isShiftedUInt<N,S> - Checks if a unsigned integer is an N bit number shifted left by S.
Definition at line 309 of file MathExtras.h.
bool llvm::isSurface | ( | const llvm::Value & | val | ) |
Definition at line 132 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_ISSURFACE, and PropertyAnnotationNames.
Referenced by INITIALIZE_PASS().
bool llvm::isTexture | ( | const llvm::Value & | val | ) |
Definition at line 119 of file NVPTXUtilities.cpp.
References findOneNVVMAnnotation(), PROPERTY_ISTEXTURE, and PropertyAnnotationNames.
Referenced by INITIALIZE_PASS().
|
inline |
isUInt - Checks if an unsigned integer fits into the given bit width.
Definition at line 289 of file MathExtras.h.
References N.
|
inline |
Definition at line 298 of file MathExtras.h.
Referenced by llvm::MCDwarfFrameEmitter::EncodeAdvanceLoc(), and shouldSwapCmpOperands().
|
inline |
Definition at line 302 of file MathExtras.h.
Referenced by llvm::MCDwarfFrameEmitter::EncodeAdvanceLoc().
|
inline |
Definition at line 294 of file MathExtras.h.
Referenced by llvm::MCDwarfFrameEmitter::EncodeAdvanceLoc(), llvm::SystemZInstrInfo::getCompareAndBranch(), llvm::SystemZTargetLowering::getSingleConstraintMatchWeight(), llvm::SystemZTargetLowering::LowerAsmOperandForConstraint(), and Mips16WhichOp8uOr16simm().
isUIntN - Checks if an unsigned integer fits into the given (dynamic) bit width.
Definition at line 315 of file MathExtras.h.
References N.
Referenced by llvm::MCStreamer::EmitIntValue(), llvm::MCDwarfFrameEmitter::EncodeAdvanceLoc(), isExtendedBUILD_VECTOR(), and llvm::SelectionDAGBuilder::visitBitTestHeader().
|
inlinestatic |
Definition at line 345 of file ARMBaseInstrInfo.h.
Referenced by llvm::ARMBaseInstrInfo::AnalyzeBranch(), llvm::ARMBaseInstrInfo::PredicateInstruction(), and llvm::ARMBaseInstrInfo::RemoveBranch().
|
inline |
Definition at line 22 of file ARMFeatures.h.
Referenced by llvm::ARMBaseInstrInfo::isPredicable().
|
inlinestatic |
Definition at line 104 of file StringExtras.h.
References utostr().
Referenced by llvm::IntInit::getAsString(), and llvm::DOTGraphTraits< SelectionDAG * >::getEdgeSourceLabel().
|
static |
Definition at line 140 of file RTDyldMemoryManager.cpp.
Referenced by llvm::RTDyldMemoryManager::getSymbolAddress().
|
inline |
Joins the strings in the range [Begin, End), adding Separator between the elements.
Definition at line 200 of file StringExtras.h.
References join_impl().
|
inline |
Definition at line 164 of file StringExtras.h.
Referenced by join().
|
inline |
Definition at line 179 of file StringExtras.h.
References I, and llvm::StringRef::size().
void llvm::linkErlangGC | ( | ) |
Creates an erlang-compatible garbage collector.
Definition at line 43 of file ErlangGC.cpp.
void llvm::linkErlangGCPrinter | ( | ) |
Creates an erlang-compatible metadata printer.
Definition at line 47 of file ErlangGCPrinter.cpp.
void llvm::linkOcamlGC | ( | ) |
Creates an ocaml-compatible garbage collector.
FIXME: Collector instances are not useful on their own. These no longer serve any purpose except to link in the plugins.
Definition at line 32 of file OcamlGC.cpp.
void llvm::linkOcamlGCPrinter | ( | ) |
Creates an ocaml-compatible metadata printer.
Definition at line 45 of file OcamlGCPrinter.cpp.
void llvm::linkShadowStackGC | ( | ) |
Creates a shadow stack garbage collector. This collector requires no code generator support.
Definition at line 195 of file ShadowStackGC.cpp.
void llvm::lintFunction | ( | const Function & | f | ) |
lintFunction - Check a function for errors, printing messages on stderr.
f | The function to be checked |
Definition at line 703 of file Lint.cpp.
References llvm::GlobalValue::getParent(), and llvm::GlobalValue::isDeclaration().
void llvm::lintModule | ( | const Module & | M | ) |
void llvm::llvm_acquire_global_lock | ( | ) |
acquire_global_lock - Acquire the global lock. This is a no-op if called before llvm_start_multithreaded().
Definition at line 58 of file Threading.cpp.
References llvm::sys::SmartMutex< mt_only >::acquire(), global_lock, and multithreaded_mode.
Referenced by getDefaultTimerGroup(), and llvm::ManagedStaticBase::RegisterManagedStatic().
void llvm::llvm_execute_on_thread | ( | void(*)(void *) | UserFn, |
void * | UserData, | ||
unsigned | RequestedStackSize = 0 |
||
) |
llvm_execute_on_thread - Execute the given UserFn
on a separate thread, passing it the provided UserData
.
This function does not guarantee that the code will actually be executed on a separate thread or honoring the requested stack size, but tries to do so where system support is available.
UserFn | - The callback to execute. |
UserData | - An argument to pass to the callback function. |
RequestedStackSize | - If non-zero, a requested size (in bytes) for the thread stack. |
Definition at line 79 of file Threading.cpp.
References ExecuteOnThread_Dispatch().
Referenced by llvm::CrashRecoveryContext::RunSafelyOnThread().
bool llvm::llvm_is_multithreaded | ( | ) |
llvm_is_multithreaded - Check whether LLVM is executing in thread-safe mode or not.
Definition at line 54 of file Threading.cpp.
References multithreaded_mode.
Referenced by llvm::sys::SmartMutex< false >::acquire(), install_fatal_error_handler(), llvm_shutdown(), LLVMIsMultithreaded(), llvm::ManagedStatic< C >::operator*(), llvm::ManagedStatic< C >::operator->(), llvm::sys::SmartRWMutex< mt_only >::reader_acquire(), llvm::sys::SmartRWMutex< mt_only >::reader_release(), llvm::ManagedStaticBase::RegisterManagedStatic(), llvm::sys::SmartMutex< false >::release(), llvm::sys::SmartMutex< false >::tryacquire(), llvm::sys::SmartRWMutex< mt_only >::writer_acquire(), and llvm::sys::SmartRWMutex< mt_only >::writer_release().
void llvm::llvm_release_global_lock | ( | ) |
release_global_lock - Release the global lock. This is a no-op if called before llvm_start_multithreaded().
Definition at line 62 of file Threading.cpp.
References global_lock, multithreaded_mode, and llvm::sys::SmartMutex< mt_only >::release().
Referenced by getDefaultTimerGroup(), and llvm::ManagedStaticBase::RegisterManagedStatic().
void llvm::llvm_shutdown | ( | ) |
llvm_shutdown - Deallocate and destroy all ManagedStatic variables.
Definition at line 76 of file ManagedStatic.cpp.
References llvm::ManagedStaticBase::destroy(), llvm_is_multithreaded(), llvm_stop_multithreaded(), and StaticList.
Referenced by LLVMShutdown(), and llvm::llvm_shutdown_obj::~llvm_shutdown_obj().
bool llvm::llvm_start_multithreaded | ( | ) |
llvm_start_multithreaded - Allocate and initialize structures needed to make LLVM safe for multithreading. The return value indicates whether multithreaded initialization succeeded. LLVM will still be operational on "failed" return, and will still be safe for hosting threading applications in the JIT, but will not be safe for concurrent calls to the LLVM APIs. THIS MUST EXECUTE IN ISOLATION FROM ALL OTHER LLVM API CALLS.
Definition at line 26 of file Threading.cpp.
References global_lock, llvm::sys::MemoryFence(), and multithreaded_mode.
Referenced by llvm::llvm_shutdown_obj::llvm_shutdown_obj(), and LLVMStartMultithreaded().
void llvm::llvm_stop_multithreaded | ( | ) |
llvm_stop_multithreaded - Deallocate structures necessary to make LLVM safe for multithreading. THIS MUST EXECUTE IN ISOLATION FROM ALL OTHER LLVM API CALLS.
Definition at line 41 of file Threading.cpp.
References global_lock, llvm::sys::MemoryFence(), and multithreaded_mode.
Referenced by llvm_shutdown(), and LLVMStopMultithreaded().
void llvm::llvm_unreachable_internal | ( | const char * | msg = 0 , |
const char * | file = 0 , |
||
unsigned | line = 0 |
||
) |
This function calls abort(), and prints the optional message to stderr. Use the llvm_unreachable macro (that adds location info), instead of calling this function directly.
Definition at line 88 of file ErrorHandling.cpp.
References dbgs().
|
inline |
Lo_32 - This function returns the low 32 bits of a 64 bit value.
Definition at line 257 of file MathExtras.h.
|
static |
|
inline |
Log2_32 - This function returns the floor log base 2 of the specified value, -1 if the value is zero. (32 bit edition.) Ex. Log2_32(32) == 5, Log2_32(1) == 0, Log2_32(0) == -1, Log2_32(6) == 2
Definition at line 443 of file MathExtras.h.
References countLeadingZeros().
Referenced by ComputeMaskedBits(), llvm::SelectionDAG::ComputeMaskedBits(), ConstantFoldBinaryInstruction(), llvm::AsmPrinter::EmitConstantPool(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::PPCFrameLowering::emitPrologue(), ExpandPowI(), getARMFixupKindMachOInfo(), getCopyFromParts(), getCopyToParts(), getExclusiveOperation(), getGVAlignmentLog2(), llvm::DataLayout::getPreferredAlignmentLog(), llvm::DataLayout::getPreferredTypeAlignmentShift(), matchPairwiseReduction(), PerformBTCombine(), PerformMULCombine(), llvm::AArch64InstPrinter::printAddrRegExtendOperand(), llvm::AttributeSetImpl::Raw(), llvm::GlobalValue::setAlignment(), llvm::AllocaInst::setAlignment(), llvm::LoadInst::setAlignment(), llvm::StoreInst::setAlignment(), llvm::ISD::ArgFlagsTy::setByValAlign(), llvm::ISD::ArgFlagsTy::setOrigAlign(), llvm::TargetLowering::SimplifySetCC(), llvm::InstCombiner::visitLShr(), WriteInstruction(), WriteModuleInfo(), llvm::MachObjectWriter::WriteNlist(), and llvm::MachObjectWriter::WriteSection().
|
inline |
Log2_32_Ceil - This function returns the ceil log base 2 of the specified value, 32 if the value is zero. (32 bit edition). Ex. Log2_32_Ceil(32) == 5, Log2_32_Ceil(1) == 0, Log2_32_Ceil(6) == 3
Definition at line 456 of file MathExtras.h.
References countLeadingZeros().
Referenced by llvm::SelectionDAG::getNode(), llvm::MVT::getPow2VectorType(), llvm::EVT::getPow2VectorType(), llvm::EVT::getRoundIntegerType(), LowerScalarImmediateShift(), llvm::DenseMap< unsigned, unsigned >::shrink_and_clear(), llvm::SmallDenseMap< llvm::SDValue, llvm::SDValue, 8 >::shrink_and_clear(), llvm::TargetLowering::SimplifySetCC(), WriteBlockInfo(), WriteConstants(), WriteModuleInfo(), and WriteTypeTable().
|
inline |
Log2_64 - This function returns the floor log base 2 of the specified value, -1 if the value is zero. (64 bit edition.)
Definition at line 449 of file MathExtras.h.
References countLeadingZeros().
Referenced by llvm::FastISel::FastEmit_ri_(), genConstMult(), isConstVecPow2(), PerformMulCombine(), PerformVCVTCombine(), and PerformVDIVCombine().
|
inline |
Log2_64_Ceil - This function returns the ceil log base 2 of the specified value, 64 if the value is zero. (64 bit edition.)
Definition at line 462 of file MathExtras.h.
References countLeadingZeros().
Referenced by genConstMult(), and llvm::ArrayRecycler< T, Align >::Capacity::get().
void llvm::LowerAArch64MachineInstrToMCInst | ( | const MachineInstr * | MI, |
MCInst & | OutMI, | ||
AArch64AsmPrinter & | AP | ||
) |
Definition at line 145 of file AArch64MCInstLower.cpp.
References llvm::MCInst::addOperand(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::AArch64AsmPrinter::lowerOperand(), and llvm::MCInst::setOpcode().
Referenced by llvm::AArch64AsmPrinter::EmitInstruction().
void llvm::LowerARMMachineInstrToMCInst | ( | const MachineInstr * | MI, |
MCInst & | OutMI, | ||
ARMAsmPrinter & | AP | ||
) |
Definition at line 114 of file ARMMCInstLower.cpp.
References llvm::MCInst::addOperand(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::ARMAsmPrinter::lowerOperand(), and llvm::MCInst::setOpcode().
Referenced by llvm::ARMAsmPrinter::EmitInstruction().
LowerDbgDeclare - Lowers llvm.dbg.declare intrinsics into appropriate set of llvm.dbg.value intrinsics.
Definition at line 1034 of file Local.cpp.
References llvm::Function::begin(), ConvertDebugDeclareToDebugValue(), llvm::Function::end(), llvm::Instruction::eraseFromParent(), llvm::DbgDeclareInst::getAddress(), llvm::GlobalValue::getParent(), I, llvm::AllocaInst::isArrayAllocation(), LI, llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::Value::use_begin(), and llvm::Value::use_end().
Referenced by llvm::InstCombiner::runOnFunction().
void llvm::LowerPPCMachineInstrToMCInst | ( | const MachineInstr * | MI, |
MCInst & | OutMI, | ||
AsmPrinter & | AP, | ||
bool | isDarwin | ||
) |
Definition at line 163 of file PPCMCInstLower.cpp.
References llvm::MCInst::addOperand(), llvm::MCSymbolRefExpr::Create(), llvm::MCOperand::CreateExpr(), llvm::MCOperand::CreateImm(), llvm::MCOperand::CreateReg(), llvm::MachineInstr::dump(), llvm::MachineOperand::getBlockAddress(), llvm::AsmPrinter::GetBlockAddressSymbol(), llvm::AsmPrinter::GetCPISymbol(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::AsmPrinter::GetJTISymbol(), llvm::MachineOperand::getMBB(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::getSubReg(), llvm::MachineBasicBlock::getSymbol(), GetSymbolFromOperand(), GetSymbolRef(), llvm::MachineOperand::getType(), llvm_unreachable, llvm::MachineOperand::MO_BlockAddress, llvm::MachineOperand::MO_ConstantPoolIndex, llvm::MachineOperand::MO_ExternalSymbol, llvm::MachineOperand::MO_GlobalAddress, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_JumpTableIndex, llvm::MachineOperand::MO_MachineBasicBlock, llvm::MachineOperand::MO_Register, llvm::MachineOperand::MO_RegisterMask, llvm::AsmPrinter::OutContext, and llvm::MCInst::setOpcode().
|
inline |
Definition at line 782 of file system_error.h.
References generic_category().
Referenced by llvm::FileOutputBuffer::create(), llvm::error_code::error_code(), llvm::ErrorOr< T >::ErrorOr(), getOpenFileImpl(), llvm::LockFileManager::LockFileManager(), llvm::error_code::operator=(), and llvm::yaml::Input::setCurrentDocument().
|
inline |
Definition at line 899 of file system_error.h.
References system_category().
|
inline |
Definition at line 715 of file system_error.h.
References generic_category().
Referenced by llvm::error_condition::error_condition(), and llvm::error_condition::operator=().
make_vector - Helper function which is useful for building temporary vectors to pass into type construction of CallInst ctors. This turns a null terminated list of pointers (or other value types) into a real live vector.
Definition at line 66 of file NVPTXUtilities.h.
Construct an ArrayRef from a single element.
Definition at line 261 of file ArrayRef.h.
Referenced by llvm::APInt::APInt(), BuildSubAggregate(), llvm::APFloat::convertFromZeroExtendedInteger(), FindInsertedValue(), llvm::ConstantExpr::getGetElementPtr(), llvm::ShuffleVectorSDNode::getMask(), llvm::TargetRegisterClass::getRawAllocationOrder(), getTypePartition(), LLVMBuildCall(), LLVMBuildInvoke(), LLVMConstExtractValue(), LLVMConstInsertValue(), LLVMConstIntOfArbitraryPrecision(), LLVMConstNamedStruct(), LLVMConstStructInContext(), LLVMConstVector(), LLVMMDNodeInContext(), llvm::SMDiagnostic::print(), llvm::AttributeSetNode::Profile(), llvm::AttributeSetImpl::Profile(), llvm::LiveRangeEdit::regs(), llvm::ConstantArray::replaceUsesOfWithOnConstant(), llvm::ConstantStruct::replaceUsesOfWithOnConstant(), SymbolicallyEvaluateGEP(), llvm::APFloat::toString(), and llvm::InstCombiner::visitExtractValueInst().
Construct an ArrayRef from a pointer and length.
Definition at line 267 of file ArrayRef.h.
Construct an ArrayRef from a range.
Definition at line 273 of file ArrayRef.h.
References llvm::sys::path::begin(), and llvm::sys::path::end().
Construct an ArrayRef from a SmallVector.
Definition at line 279 of file ArrayRef.h.
Construct an ArrayRef from a SmallVector.
Definition at line 285 of file ArrayRef.h.
Construct an ArrayRef from a std::vector.
Definition at line 291 of file ArrayRef.h.
Construct an ArrayRef from a C array.
Definition at line 297 of file ArrayRef.h.
|
inline |
Definition at line 140 of file STLExtras.h.
Referenced by llvm::GraphTraits< CallGraphNode * >::child_begin(), llvm::GraphTraits< CallGraphNode * >::child_end(), llvm::GraphTraits< CallGraph * >::nodes_begin(), and llvm::GraphTraits< CallGraph * >::nodes_end().
Value * llvm::MapValue | ( | const Value * | V, |
ValueToValueMapTy & | VM, | ||
RemapFlags | Flags = RF_None , |
||
ValueMapTypeRemapper * | TypeMapper = 0 , |
||
ValueMaterializer * | Materializer = 0 |
||
) |
Definition at line 27 of file ValueMapper.cpp.
References llvm::CallingConv::C, llvm::MDNode::deleteTemporary(), llvm::NVPTXISD::Dummy, dyn_cast(), llvm::ValueMap< KeyT, ValueT, Config >::end(), F(), llvm::ValueMap< KeyT, ValueT, Config >::find(), llvm::InlineAsm::get(), llvm::MDNode::get(), llvm::ConstantAggregateZero::get(), llvm::ConstantArray::get(), llvm::ConstantStruct::get(), llvm::ConstantVector::get(), llvm::ConstantPointerNull::get(), llvm::BlockAddress::get(), llvm::UndefValue::get(), llvm::Value::getContext(), llvm::User::getNumOperands(), llvm::User::getOperand(), llvm::MDNode::getTemporary(), llvm::Value::getType(), I, if(), llvm::ValueMaterializer::materializeValueFor(), None, OP, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::ValueMapTypeRemapper::remapType(), llvm::Value::replaceAllUsesWith(), llvm::SmallVectorImpl< T >::reserve(), RF_IgnoreMissingEntries, RF_NoModuleLevelChanges, and llvm::ValueMapIterator< DenseMapT, KeyT >::ValueTypeProxy::second.
Referenced by CloneAndPruneFunctionInto(), CloneModule(), MapValue(), and RemapInstruction().
|
inline |
MapValue - provide versions that preserve type safety for MDNode and Constants.
Definition at line 81 of file ValueMapper.h.
References MapValue().
|
inline |
Definition at line 88 of file ValueMapper.h.
References MapValue().
bool llvm::MaskedValueIsZero | ( | Value * | V, |
const APInt & | Mask, | ||
const DataLayout * | TD = 0 , |
||
unsigned | Depth = 0 |
||
) |
MaskedValueIsZero - Return true if 'V & Mask' is known to be zero. We use this predicate to simplify operations downstream. Mask is known to be zero for bits that V cannot have.
This function is defined on values with integer type, values with pointer type (but only if TD is non-null), and vectors of integers. In the case where V is a vector, the mask, known zero, and known one values are the same width as the vector element, and the bit is set only if it is true for all of the elements in the vector.
Definition at line 1115 of file ValueTracking.cpp.
References ComputeMaskedBits(), and llvm::APInt::getBitWidth().
Referenced by CanEvaluateShifted(), CanEvaluateTruncated(), CanEvaluateZExtd(), GetLinearExpression(), llvm::InstCombiner::MaskedValueIsZero(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitAnd(), llvm::InstCombiner::visitAShr(), llvm::InstCombiner::visitLShr(), llvm::InstCombiner::visitMul(), llvm::InstCombiner::visitOr(), llvm::InstCombiner::visitSDiv(), llvm::InstCombiner::visitShl(), llvm::InstCombiner::visitSRem(), llvm::InstCombiner::visitXor(), and llvm::InstCombiner::visitZExt().
StringRef llvm::mcmodule2yaml | ( | raw_ostream & | OS, |
const MCModule & | MCM, | ||
const MCInstrInfo & | MII, | ||
const MCRegisterInfo & | MRI | ||
) |
Dump a YAML representation of the MCModule MCM
to OS
.
Definition at line 436 of file MCModuleYAML.cpp.
void llvm::MergeBasicBlockIntoOnlyPred | ( | BasicBlock * | DestBB, |
Pass * | P = 0 |
||
) |
MergeBasicBlockIntoOnlyPred - BB is a block with one predecessor and its predecessor is known to have one successor (BB!). Eliminate the edge between them, moving the instructions in the predecessor into BB. This deletes the predecessor block.
MergeBasicBlockIntoOnlyPred - DestBB is a block with one predecessor and its predecessor is known to have one successor (DestBB!). Eliminate the edge between them, moving the instructions in the predecessor into DestBB and deleting the predecessor block.
Definition at line 477 of file Local.cpp.
References llvm::BasicBlock::begin(), llvm::DominatorTree::changeImmediateDominator(), llvm::BlockAddress::destroyConstant(), llvm::Instruction::eraseFromParent(), llvm::BasicBlock::eraseFromParent(), llvm::DominatorTree::eraseNode(), llvm::ConstantInt::get(), llvm::BlockAddress::get(), llvm::UndefValue::get(), llvm::Pass::getAnalysisIfAvailable(), llvm::Value::getContext(), llvm::DomTreeNodeBase< NodeT >::getIDom(), llvm::BasicBlock::getInstList(), llvm::Type::getInt32Ty(), llvm::ConstantExpr::getIntToPtr(), llvm::DominatorTree::getNode(), llvm::BasicBlock::getSinglePredecessor(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), llvm::BasicBlock::hasAddressTaken(), llvm::Value::replaceAllUsesWith(), and llvm::iplist< NodeTy, Traits >::splice().
bool llvm::MergeBlockIntoPredecessor | ( | BasicBlock * | BB, |
Pass * | P = 0 |
||
) |
MergeBlockIntoPredecessor - Attempts to merge a block into its predecessor, if possible. The return value indicates success or failure.
Definition at line 116 of file BasicBlockUtils.cpp.
References llvm::BasicBlock::begin(), llvm::X86II::DE, llvm::BasicBlock::end(), llvm::BasicBlock::eraseFromParent(), FoldSingleEntryPHINodes(), llvm::BasicBlock::front(), llvm::Pass::getAnalysisIfAvailable(), llvm::BasicBlock::getInstList(), llvm::BasicBlock::getTerminator(), llvm::BasicBlock::getUniquePredecessor(), llvm::BasicBlock::hasAddressTaken(), llvm::Value::hasName(), LI, llvm::iplist< NodeTy, Traits >::pop_back(), llvm::Value::replaceAllUsesWith(), llvm::iplist< NodeTy, Traits >::splice(), succ_begin(), succ_end(), and llvm::Value::takeName().
|
inline |
MinAlign - A and B are either alignments or offsets. Return the minimum alignment that may be assumed after adding the two together.
Definition at line 535 of file MathExtras.h.
Referenced by llvm::MachineFrameInfo::CreateFixedObject(), expandf64Toi32(), ExpandUnalignedLoad(), ExpandUnalignedStore(), llvm::X86InstrInfo::foldMemoryOperandImpl(), getMemcpyLoadsAndStores(), llvm::Hexagon_CCState::HandleByVal(), llvm::CCState::HandleByVal(), llvm::SelectionDAG::InferPtrAlignment(), PerformSTORECombine(), ShrinkLoadReplaceStoreWithStore(), llvm::TargetLowering::SimplifySetCC(), and SRAGlobal().
|
inlinestatic |
Definition at line 125 of file MipsBaseInfo.h.
References llvm::MCExpr::Binary, dyn_cast(), FirstTargetFixupKind, llvm::MCExpr::getKind(), llvm::MCFixup::getKind(), llvm::MCBinaryExpr::getLHS(), llvm::MCBinaryExpr::getRHS(), llvm::MCFixup::getValue(), llvm::MCConstantExpr::getValue(), llvm::Mips::LastTargetFixupKind, and llvm::MCExpr::SymbolRef.
V& llvm::moveIfMoveConstructible | ( | V & | Val | ) |
|
inline |
Definition at line 154 of file STLExtras.h.
References llvm::object::advance().
Referenced by llvm::ARMBaseInstrInfo::AnalyzeBranch(), llvm::SparcInstrInfo::AnalyzeBranch(), llvm::MSP430InstrInfo::AnalyzeBranch(), llvm::SystemZInstrInfo::AnalyzeBranch(), llvm::X86InstrInfo::AnalyzeBranch(), BBHasFallthrough(), llvm::MachineInstrSpan::begin(), llvm::DwarfDebug::beginFunction(), llvm::SUnit::biasCriticalPath(), llvm::PBQPBuilder::build(), buildExtractionBlockSet(), canFallThroughTo(), checkAndUpdateEFLAGSKill(), llvm::MachineBasicBlock::CorrectExtraCFGEdges(), llvm::ImutAVLTree< ImutInfo >::destroy(), dumpMachineInstrRangeWithSlotIndex(), llvm::MSP430RegisterInfo::eliminateFrameIndex(), llvm::AArch64TargetLowering::emitAtomicBinary(), llvm::PPCTargetLowering::EmitAtomicBinary(), llvm::AArch64TargetLowering::emitAtomicBinaryMinMax(), llvm::AArch64TargetLowering::emitAtomicCmpSwap(), emitBlockAfter(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::AArch64TargetLowering::EmitF128CSEL(), llvm::R600TargetLowering::EmitInstrWithCustomInserter(), llvm::SparcTargetLowering::EmitInstrWithCustomInserter(), llvm::XCoreTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), llvm::MSP430FrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::SystemZFrameLowering::emitPrologue(), llvm::MSP430TargetLowering::EmitShiftInstr(), EmitXBegin(), llvm::SplitEditor::enterIntvAfter(), llvm::ScheduleDAGMI::enterRegion(), llvm::MachineBasicBlock::erase(), llvm::iplist< Argument >::erase(), llvm::iplist< Argument >::erase_if(), expandPseudoDIV(), finalizeBundle(), findInsertLocation(), FindPotentialTailCall(), FixTail(), llvm::RegScavenger::forward(), llvm::MachineLoop::getBottomBlock(), llvm::MachineRegisterInfo::getUniqueVRegDef(), llvm::MachineRegisterInfo::getVRegDef(), llvm::SDNode::hasOneUse(), llvm::object::content_iterator< content_type >::increment(), llvm::TinyPtrVector< EltTy >::insert(), llvm::HexagonInstrInfo::InsertBranch(), llvm::SlotIndexes::insertMachineInstrInMaps(), llvm::SlotIndexes::insertMBBInMaps(), llvm::ConstantExpr::isGEPWithNoNotionalOverIndexing(), isKilled(), llvm::MachineBasicBlock::isLayoutSuccessor(), isSimpleEnoughPointerToCommit(), isSuitableForMask(), llvm::SpillPlacement::iterate(), llvm::LiveRange::join(), llvm::SplitEditor::leaveIntvAfter(), llvm::Mips16InstrInfo::loadImmediate(), llvm::iplist< Argument >::merge(), mergeSPUpdates(), mergeSPUpdatesDown(), llvm::PPCInstrInfo::optimizeCompareInstr(), llvm::LatencyPriorityQueue::pop(), llvm::ResourcePriorityQueue::pop(), llvm::SCEV::print(), llvm::MachineFunction::print(), llvm::MachineInstr::print(), llvm::SDNode::print_details(), llvm::StackMaps::recordPatchPoint(), llvm::StackMaps::recordStackMap(), llvm::LiveRange::removeSegment(), llvm::Thumb1RegisterInfo::rewriteFrameIndex(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::MachineBasicBlock::splice(), llvm::BasicBlock::splitBasicBlock(), splitBlockAfter(), llvm::MachineBasicBlock::SplitCriticalEdge(), and llvm::LiveRange::verify().
|
inline |
Definition at line 161 of file STLExtras.h.
|
inline |
NextPowerOf2 - Returns the next power of two (in 64-bits) that is strictly greater than A. Returns zero on overflow.
Definition at line 546 of file MathExtras.h.
Referenced by llvm::DenseMap< unsigned, unsigned >::DenseMap(), llvm::MemoryDependenceAnalysis::getLoadLoadClobberFullWidthSize(), GetLoadValueForLoad(), getShiftAmount(), llvm::TargetLoweringBase::getTypeConversion(), llvm::TargetLoweringBase::getVectorTypeBreakdown(), getVectorTypeBreakdownMVT(), llvm::SmallVectorTemplateBase< T, isPodLike >::grow(), llvm::DenseMap< unsigned, unsigned >::grow(), llvm::SmallDenseMap< llvm::SDValue, llvm::SDValue, 8 >::grow(), operator new(), llvm::APFloat::roundToIntegral(), llvm::TargetLowering::TargetLoweringOpt::ShrinkDemandedOp(), and llvm::SmallDenseMap< llvm::SDValue, llvm::SDValue, 8 >::SmallDenseMap().
|
inlinestatic |
Normalize the spill weight of a live interval.
The spill weight of a live interval is computed as:
(sum(use freq) + sum(def freq)) / (K + size)
UseDefFreq | Expected number of executed use and def instructions per function call. Derived from block frequencies. |
Size | Size of live interval as returnexd by getSize() |
Definition at line 34 of file CalcSpillWeights.h.
References llvm::SlotIndex::InstrDist.
raw_ostream & llvm::nulls | ( | ) |
nulls() - This returns a reference to a raw_ostream which discards output.
nulls() - This returns a reference to a raw_ostream which simply discards output.
Definition at line 671 of file raw_ostream.cpp.
Referenced by llvm::MCStreamer::GetCommentOS(), llvm::X86Disassembler::X86GenericDisassembler::getInstruction(), LLVMDisasmInstruction(), llvm::MCDisassembler::tryAddingPcLoadReferenceComment(), and llvm::MCDisassembler::tryAddingSymbolicOperand().
|
inlinestatic |
Definition at line 44 of file NVPTX.h.
References llvm::NVPTXCC::EQ, llvm::NVPTXCC::GE, llvm::NVPTXCC::GT, llvm::NVPTXCC::LE, llvm_unreachable, llvm::NVPTXCC::LT, and llvm::NVPTXCC::NE.
void* llvm::object_creator | ( | ) |
object_creator - Helper method for ManagedStatic.
Definition at line 25 of file ManagedStatic.h.
References llvm::CallingConv::C.
|
inline |
Returns the offset to the next integer (mod 2**64) that is greater than or equal to Value
and is a multiple of Align
. Align
must be non-zero.
Definition at line 572 of file MathExtras.h.
References RoundUpToAlignment().
Referenced by llvm::MCAssembler::computeFragmentSize(), llvm::RuntimeDyldImpl::emitCommonSymbols(), llvm::MachObjectWriter::getPaddingSize(), llvm::MachObjectWriter::WriteLinkerOptionsLoadCommand(), and llvm::MachObjectWriter::WriteObject().
onlyUsedByLifetimeMarkers - Return true if the only users of this pointer are lifetime markers.
Definition at line 1961 of file ValueTracking.cpp.
References dyn_cast(), llvm::IntrinsicInst::getIntrinsicID(), llvm::Intrinsic::lifetime_end, llvm::Intrinsic::lifetime_start, llvm::Value::use_begin(), and llvm::Value::use_end().
Referenced by isAllocaPromotable(), and tryToMakeAllocaBePromotable().
bool llvm::operator!= | ( | const polymorphic_ptr< T > & | lhs, |
const polymorphic_ptr< U > & | rhs | ||
) |
Definition at line 91 of file polymorphic_ptr.h.
References llvm::polymorphic_ptr< T >::get().
bool llvm::operator!= | ( | const polymorphic_ptr< T > & | lhs, |
U * | rhs | ||
) |
Definition at line 101 of file polymorphic_ptr.h.
References llvm::polymorphic_ptr< T >::get().
bool llvm::operator!= | ( | T * | lhs, |
const polymorphic_ptr< U > & | rhs | ||
) |
Definition at line 111 of file polymorphic_ptr.h.
References llvm::polymorphic_ptr< T >::get().
void llvm::operator!= | ( | const Optional< T > & | X, |
const Optional< U > & | Y | ||
) |
|
static |
Definition at line 186 of file PointerUnion.h.
References llvm::PointerUnion< PT1, PT2 >::getOpaqueValue().
|
inline |
Definition at line 189 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 203 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 217 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 222 of file TargetOptions.h.
Definition at line 260 of file ilist.h.
References llvm::ilist_iterator< NodeTy >::getNodePtrUnchecked().
|
inline |
Definition at line 311 of file ArrayRef.h.
|
inline |
Definition at line 524 of file StringRef.h.
|
inline |
Definition at line 808 of file system_error.h.
|
inline |
Definition at line 812 of file system_error.h.
|
inline |
Definition at line 816 of file system_error.h.
|
inline |
Definition at line 820 of file system_error.h.
|
inline |
|
inline |
Definition at line 578 of file SmallBitVector.h.
|
inline |
Definition at line 861 of file SparseBitVector.h.
|
inline |
Definition at line 837 of file SparseBitVector.h.
|
inline |
Definition at line 843 of file SparseBitVector.h.
|
inline |
Definition at line 130 of file STLExtras.h.
References llvm::mapped_iterator< RootIt, UnaryFunc >::getCurrent(), llvm::mapped_iterator< RootIt, UnaryFunc >::getFunc(), and N.
void llvm::operator+ | ( | int | , |
ilist_iterator< T > | |||
) |
void llvm::operator+ | ( | ilist_iterator< T > | , |
int | |||
) |
|
inline |
Definition at line 498 of file Twine.h.
References llvm::Twine::concat().
|
inline |
|
inline |
|
inline |
Definition at line 544 of file StringRef.h.
void llvm::operator- | ( | int | , |
ilist_iterator< T > | |||
) |
void llvm::operator- | ( | ilist_iterator< T > | , |
int | |||
) |
|
inline |
Definition at line 870 of file SparseBitVector.h.
References llvm::SparseBitVector< ElementSize >::intersectWithComplement().
void llvm::operator< | ( | const Optional< T > & | X, |
const Optional< U > & | Y | ||
) |
|
inline |
Definition at line 317 of file SlotIndexes.h.
|
inline |
Definition at line 321 of file SlotIndexes.h.
|
inline |
Definition at line 528 of file StringRef.h.
References llvm::StringRef::compare().
|
inline |
Definition at line 574 of file LiveInterval.h.
References llvm::LiveRange::Segment::start.
|
inline |
Definition at line 578 of file LiveInterval.h.
References llvm::LiveRange::Segment::start.
|
inline |
Definition at line 719 of file system_error.h.
References llvm::error_condition::category(), and llvm::error_condition::value().
|
inline |
Definition at line 786 of file system_error.h.
References llvm::error_code::category(), and llvm::error_code::value().
|
inline |
Definition at line 52 of file MCLabel.h.
References llvm::MCLabel::print().
|
inline |
Definition at line 64 of file MachineConstantPool.h.
References llvm::MachineConstantPoolValue::print().
|
inline |
Definition at line 69 of file MCDwarf.h.
References llvm::MCDwarfFile::print().
raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
const BranchProbability & | Prob | ||
) |
Definition at line 31 of file BranchProbability.cpp.
References llvm::BranchProbability::print().
|
inline |
Definition at line 80 of file MCParsedAsmOperand.h.
References llvm::MCParsedAsmOperand::print().
raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
const BlockFrequency & | Freq | ||
) |
Definition at line 167 of file BlockFrequency.cpp.
References llvm::BlockFrequency::print().
|
inline |
Definition at line 104 of file MCExpr.h.
References llvm::MCExpr::print().
|
inline |
Print a RegionNode.
Definition at line 731 of file RegionInfo.h.
References llvm::Intrinsic::getName(), llvm::Region::getNameStr(), llvm::RegionNode::getNodeAs(), and llvm::RegionNode::isSubRegion().
|
inline |
Definition at line 128 of file ARMConstantPoolValue.h.
References llvm::ARMConstantPoolValue::print().
|
inline |
Definition at line 135 of file Record.h.
References llvm::RecTy::print().
|
inline |
Definition at line 151 of file ScalarEvolution.h.
References llvm::SCEV::print().
|
inline |
Definition at line 155 of file Dominators.h.
References llvm::DomTreeNodeBase< NodeT >::getBlock(), llvm::DomTreeNodeBase< NodeT >::getDFSNumIn(), llvm::DomTreeNodeBase< NodeT >::getDFSNumOut(), and WriteAsOperand().
|
inline |
Definition at line 159 of file MCSymbol.h.
References llvm::MCSymbol::print().
|
inline |
Definition at line 184 of file VirtRegMap.h.
References llvm::VirtRegMap::print().
raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
const MachineMemOperand & | MRO | ||
) |
Definition at line 464 of file MachineInstr.cpp.
|
inline |
Definition at line 192 of file MCInst.h.
References llvm::MCOperand::print().
raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
const ILPValue & | Val | ||
) |
Definition at line 1335 of file ScheduleDAGInstrs.cpp.
References llvm::ILPValue::print().
|
inline |
Definition at line 197 of file MCInst.h.
References llvm::MCInst::print().
|
inline |
Definition at line 270 of file ConstantRange.h.
References llvm::ConstantRange::print().
|
inline |
Definition at line 274 of file AliasSetTracker.h.
References llvm::AliasSet::print().
raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
const LVILatticeVal & | Val | ||
) |
Definition at line 277 of file LazyValueInfo.cpp.
|
inline |
Definition at line 305 of file APSInt.h.
References llvm::APSInt::isSigned(), and llvm::APInt::print().
|
inline |
Definition at line 310 of file SlotIndexes.h.
References llvm::SlotIndex::print().
raw_ostream& llvm::operator<< | ( | raw_ostream & | OS, |
const LoopBase< BlockT, LoopT > & | Loop | ||
) |
Definition at line 328 of file LoopInfo.h.
References llvm::LoopBase< N, M >::print().
|
inline |
Definition at line 351 of file Value.h.
References llvm::Value::print().
|
inline |
Definition at line 378 of file MachineTraceMetrics.h.
References llvm::MachineTraceMetrics::Trace::print().
|
inline |
Definition at line 384 of file MachineTraceMetrics.h.
References llvm::MachineTraceMetrics::Ensemble::print().
|
inline |
Definition at line 430 of file AliasSetTracker.h.
References llvm::AliasSetTracker::print().
|
inlinestatic |
Definition at line 436 of file Type.h.
References llvm::Type::print().
|
inline |
Definition at line 516 of file Twine.h.
References llvm::Twine::print().
|
inline |
Definition at line 521 of file LiveInterval.h.
References llvm::LiveRange::print().
|
inline |
Definition at line 549 of file Record.h.
References llvm::Init::print().
|
inline |
Definition at line 567 of file LiveInterval.h.
References llvm::LiveInterval::print().
raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
const LiveRange::Segment & | S | ||
) |
Definition at line 580 of file LiveInterval.cpp.
References llvm::LiveRange::Segment::end, llvm::VNInfo::id, llvm::LiveRange::Segment::start, and llvm::LiveRange::Segment::valno.
|
inline |
An raw_ostream inserter for modules.
Definition at line 590 of file Module.h.
References llvm::Module::print().
|
inline |
Definition at line 636 of file LiveInterval.h.
References llvm::LiveRangeUpdater::print().
raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
const MachineBasicBlock & | MBB | ||
) |
Definition at line 65 of file MachineBasicBlock.cpp.
References llvm::MachineBasicBlock::print().
|
inline |
Definition at line 688 of file MachineOperand.h.
References llvm::MachineOperand::print().
|
inlinestatic |
Definition at line 889 of file TargetRegisterInfo.h.
References llvm::PrintReg::print().
|
inlinestatic |
Definition at line 913 of file TargetRegisterInfo.h.
References llvm::PrintRegUnit::print().
|
inlinestatic |
Definition at line 927 of file TargetRegisterInfo.h.
References llvm::PrintVRegOrUnit::print().
raw_ostream& llvm::operator<< | ( | raw_ostream & | OS, |
const MCFixup & | AF | ||
) |
Definition at line 1006 of file MCAssembler.cpp.
References llvm::MCFixup::getKind(), llvm::MCFixup::getOffset(), and llvm::MCFixup::getValue().
|
inline |
Definition at line 1070 of file MachineInstr.h.
References llvm::MachineInstr::print().
|
inline |
Definition at line 1371 of file Record.h.
References llvm::RecordVal::print().
raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
const Record & | R | ||
) |
Definition at line 1747 of file Record.cpp.
References llvm::Intrinsic::getName(), llvm::Record::getNameInitAsString(), llvm::Record::getSuperClasses(), llvm::Record::getTemplateArgs(), llvm::Record::getValue(), llvm::Record::getValues(), llvm::Record::isTemplateArg(), llvm::RecordVal::print(), and llvm::PPCISD::SC.
|
inline |
Definition at line 1688 of file APInt.h.
References llvm::APInt::print().
raw_ostream & llvm::operator<< | ( | raw_ostream & | OS, |
const RecordKeeper & | RK | ||
) |
Definition at line 1997 of file Record.cpp.
References llvm::RecordKeeper::getClasses(), llvm::RecordKeeper::getDefs(), and I.
void llvm::operator<= | ( | const Optional< T > & | X, |
const Optional< U > & | Y | ||
) |
|
inline |
Definition at line 532 of file StringRef.h.
References llvm::StringRef::compare().
bool llvm::operator== | ( | const polymorphic_ptr< T > & | lhs, |
const polymorphic_ptr< U > & | rhs | ||
) |
Definition at line 86 of file polymorphic_ptr.h.
References llvm::polymorphic_ptr< T >::get().
bool llvm::operator== | ( | const polymorphic_ptr< T > & | lhs, |
U * | rhs | ||
) |
Definition at line 96 of file polymorphic_ptr.h.
References llvm::polymorphic_ptr< T >::get().
bool llvm::operator== | ( | T * | lhs, |
const polymorphic_ptr< U > & | rhs | ||
) |
Definition at line 106 of file polymorphic_ptr.h.
References llvm::polymorphic_ptr< T >::get().
void llvm::operator== | ( | const Optional< T > & | X, |
const Optional< U > & | Y | ||
) |
|
static |
Definition at line 180 of file PointerUnion.h.
References llvm::PointerUnion< PT1, PT2 >::getOpaqueValue().
|
inline |
Definition at line 182 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 196 of file IntrusiveRefCntPtr.h.
|
inline |
Definition at line 197 of file TargetOptions.h.
References ARE_EQUAL, DisableTailCalls(), TrapFuncName(), and UseInitArray().
|
inline |
Definition at line 210 of file IntrusiveRefCntPtr.h.
bool llvm::operator== | ( | const T * | LHS, |
const ilist_iterator< const T > & | RHS | ||
) |
Definition at line 256 of file ilist.h.
References llvm::ilist_iterator< NodeTy >::getNodePtrUnchecked().
Definition at line 264 of file ilist.h.
References llvm::ilist_iterator< NodeTy >::getNodePtrUnchecked().
enable_if_c<is_error_code_enum<E>::value || is_error_condition_enum<E>::value, bool>::type llvm::operator== | ( | ErrorOr< T > & | Err, |
E | Code | ||
) |
Definition at line 289 of file ErrorOr.h.
References llvm::tgtok::Code.
|
inline |
Definition at line 306 of file ArrayRef.h.
References llvm::ArrayRef< T >::equals().
|
inline |
Definition at line 520 of file StringRef.h.
References llvm::StringRef::equals().
|
inline |
Definition at line 791 of file system_error.h.
References llvm::error_code::category(), and llvm::error_code::value().
|
inline |
Definition at line 795 of file system_error.h.
References llvm::error_condition::category(), llvm::error_code::category(), llvm::error_category::equivalent(), llvm::error_condition::value(), and llvm::error_code::value().
|
inline |
Definition at line 800 of file system_error.h.
|
inline |
Definition at line 804 of file system_error.h.
References llvm::error_condition::category(), and llvm::error_condition::value().
|
inline |
Definition at line 1684 of file APInt.h.
Referenced by llvm::SSAUpdaterTraits< SSAUpdater >::PHI_iterator::operator!=(), llvm::SSAUpdaterTraits< MachineSSAUpdater >::PHI_iterator::operator!=(), llvm::IntervalMapImpl::NodeRef::operator!=(), and llvm::IntervalMap< KeyT, ValT, N, Traits >::const_iterator::operator!=().
void llvm::operator> | ( | const Optional< T > & | X, |
const Optional< U > & | Y | ||
) |
|
inline |
Definition at line 536 of file StringRef.h.
References llvm::StringRef::compare().
void llvm::operator>= | ( | const Optional< T > & | X, |
const Optional< U > & | Y | ||
) |
|
inline |
Definition at line 540 of file StringRef.h.
References llvm::StringRef::compare().
|
inline |
Definition at line 592 of file SmallBitVector.h.
|
inlinestatic |
Definition at line 65 of file ValueMapper.h.
|
inline |
Definition at line 585 of file SmallBitVector.h.
|
inline |
Definition at line 852 of file SparseBitVector.h.
|
inline |
Definition at line 825 of file SparseBitVector.h.
|
inline |
Definition at line 831 of file SparseBitVector.h.
raw_ostream & llvm::outs | ( | ) |
outs() - This returns a reference to a raw_ostream for standard output. Use it like: outs() << "foo" << "bar";
Definition at line 654 of file raw_ostream.cpp.
Referenced by fouts(), lle_X_printf(), llvm::cl::generic_parser_base::printGenericOptionDiff(), printHelpStr(), llvm::cl::generic_parser_base::printOptionInfo(), llvm::cl::basic_parser_impl::printOptionInfo(), llvm::cl::basic_parser_impl::printOptionName(), llvm::cl::basic_parser_impl::printOptionNoValue(), and llvm::TargetRegistry::printRegisteredTargetsForVersion().
|
inline |
Compare a live virtual register segment to a LiveIntervalUnion segment.
Definition at line 35 of file LiveIntervalUnion.h.
References llvm::LiveRange::Segment::end, llvm::LiveRange::Segment::start, llvm::IntervalMap< KeyT, ValT, N, Traits >::start(), and llvm::IntervalMap< KeyT, ValT, N, Traits >::stop().
Module * llvm::ParseAssembly | ( | MemoryBuffer * | F, |
Module * | M, | ||
SMDiagnostic & | Err, | ||
LLVMContext & | Context | ||
) |
Parse LLVM Assembly from a MemoryBuffer. This function always takes ownership of the MemoryBuffer.
This function is the low-level interface to the LLVM Assembly Parser. ParseAssemblyFile and ParseAssemblyString are wrappers around this function.
F | The MemoryBuffer containing assembly |
M | A module to add the assembly too. |
Err | Error result info. |
Definition at line 25 of file Parser.cpp.
References llvm::SourceMgr::AddNewSourceBuffer(), llvm::OwningPtr< T >::get(), llvm::MemoryBuffer::getBufferIdentifier(), llvm::LLParser::Run(), and llvm::OwningPtr< T >::take().
Referenced by getLazyIRModule(), ParseAssemblyFile(), ParseAssemblyString(), and ParseIR().
Module * llvm::ParseAssemblyFile | ( | const std::string & | Filename, |
SMDiagnostic & | Error, | ||
LLVMContext & | Context | ||
) |
Parse LLVM Assembly from a file.
This function is the main interface to the LLVM Assembly Parser. It parses an ASCII file that (presumably) contains LLVM Assembly code. It returns a Module (intermediate representation) with the corresponding features. Note that this does not verify that the generated Module is valid, so you should run the verifier after parsing the file to check that it is okay.
Filename | The name of the file to parse |
Error | Error result info. |
Context | Context in which to allocate globals info. |
Definition at line 43 of file Parser.cpp.
References llvm::SourceMgr::DK_Error, llvm::ARMBuildAttrs::File, llvm::MemoryBuffer::getFileOrSTDIN(), ParseAssembly(), and llvm::OwningPtr< T >::take().
Module * llvm::ParseAssemblyString | ( | const char * | AsmString, |
Module * | M, | ||
SMDiagnostic & | Error, | ||
LLVMContext & | Context | ||
) |
Parse LLVM Assembly from a string.
The function is a secondary interface to the LLVM Assembly Parser. It parses an ASCII string that (presumably) contains LLVM Assembly code. It returns a Module (intermediate representation) with the corresponding features. Note that this does not verify that the generated Module is valid, so you should run the verifier after parsing the file to check that it is okay.
AsmString | The string containing assembly |
M | A module to add the assembly too. |
Error | Error result info. |
Definition at line 55 of file Parser.cpp.
References F(), llvm::MemoryBuffer::getMemBuffer(), ParseAssembly(), and llvm::LibFunc::strlen.
Module * llvm::ParseBitcodeFile | ( | MemoryBuffer * | Buffer, |
LLVMContext & | Context, | ||
std::string * | ErrMsg = 0 |
||
) |
ParseBitcodeFile - Read the specified bitcode file, returning the module. If an error occurs, this returns null and fills in ErrMsg if it is non-null. This method *never takes ownership of Buffer.
ParseBitcodeFile - Read the specified bitcode file, returning the module. If an error occurs, return null and fill in *ErrMsg if non-null.
Definition at line 3315 of file BitcodeReader.cpp.
References getLazyBitcodeModule(), llvm::Module::getMaterializer(), and llvm::Module::MaterializeAllPermanently().
Referenced by LLVMParseBitcodeInContext(), and ParseIR().
Module * llvm::ParseIR | ( | MemoryBuffer * | Buffer, |
SMDiagnostic & | Err, | ||
LLVMContext & | Context | ||
) |
If the given MemoryBuffer holds a bitcode image, return a Module for it. Otherwise, attempt to parse it as LLVM Assembly and return a Module for it. This function always takes ownership of the given MemoryBuffer.
Definition at line 65 of file IRReader.cpp.
References llvm::SourceMgr::DK_Error, llvm::MemoryBuffer::getBufferEnd(), llvm::MemoryBuffer::getBufferIdentifier(), llvm::MemoryBuffer::getBufferStart(), isBitcode(), ParseAssembly(), ParseBitcodeFile(), T, TimeIRParsingGroupName, TimeIRParsingName, and TimePassesIsEnabled.
Referenced by LLVMParseIRInContext(), and ParseIRFile().
Module * llvm::ParseIRFile | ( | const std::string & | Filename, |
SMDiagnostic & | Err, | ||
LLVMContext & | Context | ||
) |
If the given file holds a bitcode image, return a Module for it. Otherwise, attempt to parse it as LLVM Assembly and return a Module for it.
Definition at line 84 of file IRReader.cpp.
References llvm::SourceMgr::DK_Error, llvm::ARMBuildAttrs::File, llvm::MemoryBuffer::getFileOrSTDIN(), ParseIR(), and llvm::OwningPtr< T >::take().
po_iterator<T> llvm::po_begin | ( | T | G | ) |
Definition at line 175 of file PostOrderIterator.h.
References llvm::po_iterator< GraphT, SetType, ExtStorage, GT >::begin().
Referenced by llvm::LoopInfoBase< N, M >::Analyze(), ComputeUsesVAFloatArgument(), and llvm::BranchProbabilityInfo::runOnFunction().
po_iterator<T> llvm::po_end | ( | T | G | ) |
Definition at line 177 of file PostOrderIterator.h.
References llvm::po_iterator< GraphT, SetType, ExtStorage, GT >::end().
Referenced by llvm::LoopInfoBase< N, M >::Analyze(), ComputeUsesVAFloatArgument(), and llvm::BranchProbabilityInfo::runOnFunction().
po_ext_iterator<T, SetType> llvm::po_ext_begin | ( | T | G, |
SetType & | S | ||
) |
Definition at line 187 of file PostOrderIterator.h.
References llvm::po_iterator< T, SetType, true >::begin().
Referenced by llvm::LoopBlocksTraversal::begin().
po_ext_iterator<T, SetType> llvm::po_ext_end | ( | T | G, |
SetType & | S | ||
) |
Definition at line 192 of file PostOrderIterator.h.
References llvm::po_iterator< T, SetType, true >::end().
Referenced by llvm::LoopBlocksTraversal::end().
PointerMayBeCaptured - Return true if this pointer value may be captured by the enclosing function (which is required to exist). This routine can be expensive, so consider caching the results. The boolean ReturnCaptures specifies whether returning the value (or part of it) from the function counts as capturing it or not. The boolean StoreCaptures specified whether storing the value (or part of it) into memory anywhere automatically counts as capturing it or not.
Definition at line 61 of file CaptureTracking.cpp.
Referenced by llvm::AliasAnalysis::callCapturesBefore(), and isNonEscapingLocalObject().
void llvm::PointerMayBeCaptured | ( | const Value * | V, |
CaptureTracker * | Tracker | ||
) |
PointerMayBeCaptured - Visit the value and the values derived from it and find values which appear to be capturing the pointer value. This feeds results into and is controlled by the CaptureTracker object.
Definition at line 82 of file CaptureTracking.cpp.
References llvm::ARM_PROC::A, llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_begin(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_end(), Call, llvm::CaptureTracker::captured(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotCapture(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::doesNotThrow(), llvm::Instruction::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), I, llvm::SmallSet< T, N, C >::insert(), isNoAliasCall(), llvm::Type::isPointerTy(), llvm::Type::isVoidTy(), llvm::SPII::Load, llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::onlyReadsMemory(), llvm::TargetOpcode::PHI, llvm::MCID::Select, llvm::CaptureTracker::shouldExplore(), llvm::SPII::Store, Threshold, llvm::CaptureTracker::tooManyUses(), llvm::Value::use_begin(), and llvm::Value::use_end().
const error_category & llvm::posix_category | ( | ) |
Get the error_category used for errno values from POSIX functions. This is the same as the system_category on POSIX systems, but is the same as the generic_category on Windows.
Definition at line 100 of file system_error.cpp.
References generic_category(), and system_category().
Referenced by getMemoryBufferForStream(), and getOpenFileImpl().
|
inline |
Definition at line 88 of file Support/CFG.h.
|
inline |
Definition at line 89 of file Support/CFG.h.
|
inline |
pred_begin/pred_end - define methods so that Intervals may be used just like BasicBlocks can with the pred_* functions, and *pred_iterator.
Definition at line 117 of file Interval.h.
Referenced by AddBlockAndPredsToSet(), buildExtractionBlockSet(), CanPropagatePredecessorsForPHIs(), llvm::GraphTraits< Inverse< Interval * > >::child_begin(), llvm::GraphTraits< Inverse< BasicBlock * > >::child_begin(), llvm::GraphTraits< Inverse< const BasicBlock * > >::child_begin(), CloneAndPruneFunctionInto(), ComputePostOrders(), ConnectProlog(), DeleteDeadBlock(), llvm::DominatorTree::dominates(), llvm::SSAUpdaterTraits< SSAUpdater >::FindPredecessorBlocks(), FindUnconditionalPreds(), FoldBranchToCommonDest(), FoldTwoEntryPHINode(), GetBestDestForJumpOnUndef(), llvm::Loop::getCanonicalInductionVariable(), llvm::Region::getEnteringBlock(), llvm::Region::getExitingBlock(), llvm::Region::getExpandedRegion(), GetIfCondition(), llvm::RegionInfo::getMaxRegionExit(), llvm::PredIteratorCache::GetPreds(), llvm::BasicBlock::getSinglePredecessor(), llvm::Loop::getUniqueExitBlocks(), llvm::BasicBlock::getUniquePredecessor(), llvm::SSAUpdater::GetValueInMiddleOfBlock(), llvm::Loop::hasDedicatedExits(), InsertPreheaderForLoop(), isCriticalEdge(), llvm::Interval::isLoop(), IsValueFullyAvailableInBlock(), MarkBlocksLiveIn(), mergeEmptyReturnBlocks(), llvm::AssemblyWriter::printBasicBlock(), llvm::BasicBlock::removePredecessor(), SimplifyCondBranchToCondBranch(), SinkThenElseCodeToEnd(), SplitCriticalEdge(), SplitLandingPadPredecessors(), and TryToSimplifyUncondBranchFromEmptyBlock().
|
inline |
Definition at line 92 of file Support/CFG.h.
|
inline |
Definition at line 93 of file Support/CFG.h.
|
inline |
Definition at line 120 of file Interval.h.
Referenced by AddBlockAndPredsToSet(), buildExtractionBlockSet(), CanPropagatePredecessorsForPHIs(), llvm::GraphTraits< Inverse< Interval * > >::child_end(), llvm::GraphTraits< Inverse< BasicBlock * > >::child_end(), llvm::GraphTraits< Inverse< const BasicBlock * > >::child_end(), CloneAndPruneFunctionInto(), ConnectProlog(), DeleteDeadBlock(), llvm::DominatorTree::dominates(), llvm::SSAUpdaterTraits< SSAUpdater >::FindPredecessorBlocks(), FindUnconditionalPreds(), FoldBranchToCommonDest(), GetBestDestForJumpOnUndef(), llvm::Loop::getCanonicalInductionVariable(), llvm::Region::getEnteringBlock(), llvm::Region::getExitingBlock(), llvm::Region::getExpandedRegion(), GetIfCondition(), llvm::RegionInfo::getMaxRegionExit(), llvm::PredIteratorCache::GetPreds(), llvm::BasicBlock::getSinglePredecessor(), llvm::BasicBlock::getUniquePredecessor(), llvm::SSAUpdater::GetValueInMiddleOfBlock(), llvm::Loop::hasDedicatedExits(), InsertPreheaderForLoop(), isCriticalEdge(), llvm::Interval::isLoop(), IsValueFullyAvailableInBlock(), MarkBlocksLiveIn(), mergeEmptyReturnBlocks(), llvm::AssemblyWriter::printBasicBlock(), llvm::BasicBlock::removePredecessor(), SimplifyCondBranchToCondBranch(), SinkThenElseCodeToEnd(), SplitCriticalEdge(), SplitLandingPadPredecessors(), and TryToSimplifyUncondBranchFromEmptyBlock().
bool llvm::PredicatesFoldable | ( | CmpInst::Predicate | p1, |
CmpInst::Predicate | p2 | ||
) |
PredicatesFoldable - Return true if both predicates match sign or if at least one of them is an equality comparison (which is signless).
Definition at line 92 of file CmpInstAnalysis.cpp.
References llvm::ICmpInst::isEquality(), and llvm::CmpInst::isSigned().
Referenced by llvm::InstCombiner::FoldAndOfICmps(), llvm::InstCombiner::FoldOrOfICmps(), and llvm::InstCombiner::visitXor().
|
inline |
Definition at line 168 of file Dominators.h.
References I, llvm::raw_ostream::indent(), and N.
void llvm::PrintError | ( | ArrayRef< SMLoc > | ErrorLoc, |
const Twine & | Msg | ||
) |
Definition at line 53 of file TableGen/Error.cpp.
References llvm::SourceMgr::DK_Error, and PrintMessage().
Referenced by llvm::TGParser::Error(), and PrintFatalError().
void llvm::PrintError | ( | const char * | Loc, |
const Twine & | Msg | ||
) |
Definition at line 57 of file TableGen/Error.cpp.
References llvm::SourceMgr::DK_Error, llvm::SMLoc::getFromPointer(), llvm::SourceMgr::PrintMessage(), and SrcMgr.
void llvm::PrintError | ( | const Twine & | Msg | ) |
Definition at line 61 of file TableGen/Error.cpp.
References errs().
void llvm::PrintFatalError | ( | const std::string & | Msg | ) |
Definition at line 65 of file TableGen/Error.cpp.
References PrintError().
Referenced by llvm::UnOpInit::Fold(), llvm::BinOpInit::Fold(), ForeachHelper(), llvm::RecordKeeper::getAllDerivedDefinitions(), llvm::ListInit::getElementAsRecord(), llvm::Record::getValueAsBit(), llvm::Record::getValueAsBitOrUnset(), llvm::Record::getValueAsBitsInit(), llvm::Record::getValueAsDag(), llvm::Record::getValueAsDef(), llvm::Record::getValueAsInt(), llvm::Record::getValueAsListInit(), llvm::Record::getValueAsListOfDefs(), llvm::Record::getValueAsListOfInts(), llvm::Record::getValueAsListOfStrings(), llvm::Record::getValueAsString(), llvm::Record::getValueInit(), and llvm::Record::resolveReferencesTo().
void llvm::PrintFatalError | ( | ArrayRef< SMLoc > | ErrorLoc, |
const std::string & | Msg | ||
) |
Definition at line 70 of file TableGen/Error.cpp.
References PrintError().
|
static |
Definition at line 1387 of file AsmWriter.cpp.
References llvm::GlobalValue::AppendingLinkage, llvm::GlobalValue::AvailableExternallyLinkage, llvm::GlobalValue::CommonLinkage, llvm::GlobalValue::DLLExportLinkage, llvm::GlobalValue::DLLImportLinkage, llvm::GlobalValue::ExternalLinkage, llvm::GlobalValue::ExternalWeakLinkage, llvm::GlobalValue::InternalLinkage, llvm::GlobalValue::LinkerPrivateLinkage, llvm::GlobalValue::LinkerPrivateWeakLinkage, llvm::GlobalValue::LinkOnceAnyLinkage, llvm::GlobalValue::LinkOnceODRLinkage, llvm::GlobalValue::PrivateLinkage, llvm::GlobalValue::WeakAnyLinkage, and llvm::GlobalValue::WeakODRLinkage.
Referenced by llvm::AssemblyWriter::printAlias(), llvm::AssemblyWriter::printFunction(), and llvm::AssemblyWriter::printGlobal().
|
static |
Definition at line 25 of file TableGen/Error.cpp.
References llvm::SourceMgr::DK_Error, llvm::SourceMgr::DK_Note, llvm::ArrayRef< T >::empty(), ErrorsPrinted, llvm::ArrayRef< T >::front(), llvm::SourceMgr::PrintMessage(), llvm::ArrayRef< T >::size(), and SrcMgr.
Referenced by PrintError(), and PrintWarning().
void llvm::PrintRecyclerStats | ( | size_t | Size, |
size_t | Align, | ||
size_t | FreeListSize | ||
) |
PrintRecyclingAllocatorStats - Helper for RecyclingAllocator for printing statistics.
Definition at line 189 of file Allocator.cpp.
References errs().
Referenced by llvm::Recycler< llvm::MachineInstr >::PrintStats().
void llvm::PrintStatistics | ( | ) |
Print statistics to the file returned by CreateInfoOutputFile().
Definition at line 146 of file Statistic.cpp.
References CreateInfoOutputFile(), Enabled, llvm::raw_ostream::flush(), StatInfo, and Stats.
void llvm::PrintStatistics | ( | raw_ostream & | OS | ) |
Print statistics to the given output stream.
Definition at line 114 of file Statistic.cpp.
References llvm::raw_ostream::flush(), format(), StatInfo, Stats, llvm::LibFunc::strlen, and utostr().
|
static |
Definition at line 1422 of file AsmWriter.cpp.
References llvm::GlobalVariable::GeneralDynamicTLSModel, llvm::GlobalVariable::InitialExecTLSModel, llvm::GlobalVariable::LocalDynamicTLSModel, llvm::GlobalVariable::LocalExecTLSModel, and llvm::GlobalVariable::NotThreadLocal.
Referenced by llvm::AssemblyWriter::printGlobal().
|
static |
Definition at line 1413 of file AsmWriter.cpp.
References llvm::GlobalValue::DefaultVisibility, llvm::GlobalValue::HiddenVisibility, and llvm::GlobalValue::ProtectedVisibility.
Referenced by llvm::AssemblyWriter::printAlias(), llvm::AssemblyWriter::printFunction(), and llvm::AssemblyWriter::printGlobal().
void llvm::PrintWarning | ( | ArrayRef< SMLoc > | WarningLoc, |
const Twine & | Msg | ||
) |
Definition at line 41 of file TableGen/Error.cpp.
References llvm::SourceMgr::DK_Warning, and PrintMessage().
void llvm::PrintWarning | ( | const char * | Loc, |
const Twine & | Msg | ||
) |
Definition at line 45 of file TableGen/Error.cpp.
References llvm::SourceMgr::DK_Warning, llvm::SMLoc::getFromPointer(), llvm::SourceMgr::PrintMessage(), and SrcMgr.
void llvm::PrintWarning | ( | const Twine & | Msg | ) |
Definition at line 49 of file TableGen/Error.cpp.
References errs().
|
inline |
Definition at line 167 of file STLExtras.h.
References llvm::object::advance().
Referenced by llvm::ScheduleDAGInstrs::buildSchedGraph(), llvm::X86FrameLowering::eliminateCallFramePseudoInstr(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), llvm::HexagonFrameLowering::emitEpilogue(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::MSP430FrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitEpilogue(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::Thumb1FrameLowering::emitPrologue(), finalizeBundles(), FindLastAluClause(), GenerateARCBBTerminatorAnnotation(), llvm::MachineLoop::getBottomBlock(), getBundledDefMI(), llvm::MCObjectStreamer::getCurrentFragment(), llvm::ARMHazardRecognizer::getHazardType(), llvm::SlotIndexes::getMBBCoveringRange(), llvm::MemoryDependenceAnalysis::getNonLocalCallDependency(), llvm::MachineLoop::getTopBlock(), llvm::MapVector< KeyT, ValueT, MapType, VectorType >::insert(), llvm::TinyPtrVector< EltTy >::insert(), llvm::SlotIndexes::insertMachineInstrInMaps(), isInTailCallPosition(), llvm::FastISel::leaveLocalValueArea(), mergeSPUpdates(), mergeSPUpdatesUp(), llvm::ScheduleDAGMI::placeDebugValues(), llvm::LatencyPriorityQueue::pop(), llvm::ResourcePriorityQueue::pop(), ProcessSourceNode(), promoteSingleBlockAlloca(), llvm::X86InstrInfo::reMaterialize(), llvm::LatencyPriorityQueue::remove(), llvm::ResourcePriorityQueue::remove(), llvm::MachineFunction::RenumberBlocks(), llvm::LiveIntervals::repairIntervalsInRange(), llvm::RegScavenger::scavengeRegister(), SpeculativelyExecuteBB(), and llvm::LoopInfo::updateUnloop().
|
inline |
Definition at line 174 of file STLExtras.h.
|
static |
Definition at line 24 of file RuntimeDyldMachO.cpp.
References P, and llvm::AArch64ISD::Ret.
Referenced by llvm::RuntimeDyldMachO::registerEHFrames().
void llvm::PromoteMemToReg | ( | ArrayRef< AllocaInst * > | Allocas, |
DominatorTree & | DT, | ||
AliasSetTracker * | AST = 0 |
||
) |
Promote the specified list of alloca instructions into scalar registers, inserting PHI nodes as appropriate.
This function makes use of DominanceFrontier information. This function does not modify the CFG of the function at all. All allocas must be from the same function.
If AST is specified, the specified tracker is updated to reflect changes made to the IR.
Definition at line 1072 of file PromoteMemoryToRegister.cpp.
References llvm::ArrayRef< T >::empty().
|
inline |
Definition at line 49 of file GenericValue.h.
Referenced by llvm::ExecutionEngine::getConstantValue(), lle_X_fprintf(), lle_X_printf(), llvm::JIT::runFunction(), llvm::MCJIT::runFunction(), llvm::ExecutionEngine::runFunctionAsMain(), and llvm::Interpreter::visitAllocaInst().
Init * llvm::QualifyName | ( | Record & | CurRec, |
MultiClass * | CurMultiClass, | ||
Init * | Name, | ||
const std::string & | Scoper | ||
) |
QualifyName - Return an Init with a qualifier prefix referring to CurRec's name.
Definition at line 2033 of file Record.cpp.
References dyn_cast(), llvm::BinOpInit::Fold(), llvm::StringInit::get(), llvm::BinOpInit::get(), llvm::Record::getNameInit(), llvm::Intrinsic::getType(), llvm::MultiClass::Rec, llvm::BinOpInit::STRCONCAT, and Type.
Referenced by llvm::UnOpInit::Fold(), and QualifyName().
Init * llvm::QualifyName | ( | Record & | CurRec, |
MultiClass * | CurMultiClass, | ||
const std::string & | Name, | ||
const std::string & | Scoper | ||
) |
QualifyName - Return an Init with a qualifier prefix referring to CurRec's name.
Definition at line 2062 of file Record.cpp.
References llvm::StringInit::get(), and QualifyName().
bool llvm::RecursivelyDeleteDeadPHINode | ( | PHINode * | PN, |
const TargetLibraryInfo * | TLI = 0 |
||
) |
RecursivelyDeleteDeadPHINode - If the specified value is an effectively dead PHI node, due to being a def-use chain of single-use nodes that either forms a cycle or is terminated by a trivially dead instruction, delete it. If that makes any of its operands trivially dead, delete them too, recursively. Return true if a change was made.
Definition at line 373 of file Local.cpp.
References areAllUsesEqual(), llvm::UndefValue::get(), I, llvm::SmallPtrSet< PtrType, SmallSize >::insert(), and RecursivelyDeleteTriviallyDeadInstructions().
Referenced by DeleteDeadPHIs().
bool llvm::RecursivelyDeleteTriviallyDeadInstructions | ( | Value * | V, |
const TargetLibraryInfo * | TLI = 0 |
||
) |
RecursivelyDeleteTriviallyDeadInstructions - If the specified value is a trivially dead instruction, delete it. If that makes any of its operands trivially dead, delete them too, recursively. Return true if any instructions were deleted.
Definition at line 316 of file Local.cpp.
References dyn_cast(), llvm::SmallVectorBase::empty(), llvm::Instruction::eraseFromParent(), llvm::User::getNumOperands(), llvm::User::getOperand(), I, isInstructionTriviallyDead(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::User::setOperand(), and llvm::Value::use_empty().
Referenced by ConstantFoldTerminator(), llvm::objcarc::EraseInstruction(), EraseTerminatorInstAndDCECond(), RecursivelyDeleteDeadPHINode(), SimplifyInstructionsInBlock(), and UnrollLoop().
bool llvm::recursivelySimplifyInstruction | ( | Instruction * | I, |
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
Recursively attempt to simplify an instruction.
This routine uses SimplifyInstruction to simplify 'I', and if successful replaces uses of 'I' with the simplified value. It then recurses on each of the users impacted. It returns true if any simplifications were performed.
Definition at line 3225 of file InstructionSimplify.cpp.
References replaceAndRecursivelySimplifyImpl().
Referenced by CloneAndPruneFunctionInto(), RemovePredecessorAndSimplify(), and SimplifyInstructionsInBlock().
llvm::RegionGraphTraits | ( | Region | , |
RegionNode | |||
) |
llvm::RegionNodeGraphTraits | ( | RegionNode | ) |
void llvm::RemapInstruction | ( | Instruction * | I, |
ValueToValueMapTy & | VMap, | ||
RemapFlags | Flags = RF_None , |
||
ValueMapTypeRemapper * | TypeMapper = 0 , |
||
ValueMaterializer * | Materializer = 0 |
||
) |
RemapInstruction - Convert the instruction operands from referencing the current values into those specified by VMap.
Definition at line 183 of file ValueMapper.cpp.
References llvm::SmallVectorTemplateCommon< T >::begin(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::Instruction::getAllMetadata(), llvm::Value::getType(), MapValue(), llvm::A64CC::MI, llvm::Value::mutateType(), llvm::User::op_begin(), llvm::User::op_end(), llvm::ValueMapTypeRemapper::remapType(), RF_IgnoreMissingEntries, and llvm::Instruction::setMetadata().
Referenced by CloneAndPruneFunctionInto(), CloneFunctionInto(), UnrollLoop(), and UnrollRuntimeLoopProlog().
void llvm::remove_fatal_error_handler | ( | ) |
Restores default error handling behaviour. This must not be called between llvm_start_multithreaded() and llvm_stop_multithreaded().
Definition at line 49 of file ErrorHandling.cpp.
References ErrorHandler.
Referenced by LLVMResetFatalErrorHandler(), and llvm::ScopedFatalErrorHandler::~ScopedFatalErrorHandler().
Definition at line 44 of file LoopInfo.h.
Referenced by llvm::LoopBase< BasicBlock, Loop >::removeBlockFromLoop().
void llvm::RemovePredecessorAndSimplify | ( | BasicBlock * | BB, |
BasicBlock * | Pred, | ||
DataLayout * | TD = 0 |
||
) |
RemovePredecessorAndSimplify - Like BasicBlock::removePredecessor, this method is called when we're about to delete Pred as a predecessor of BB. If BB contains any PHI nodes, this drops the entries in the PHI nodes for Pred.
Unlike the removePredecessor method, this attempts to simplify uses of PHI nodes that collapse into identity values. For example, if we have: x = phi(1, 0, 0, 0) y = and x, z
.. and delete the predecessor corresponding to the '1', this will attempt to recursively fold the 'and' to 0.
RemovePredecessorAndSimplify - Like BasicBlock::removePredecessor, this method is called when we're about to delete Pred as a predecessor of BB. If BB contains any PHI nodes, this drops the entries in the PHI nodes for Pred.
Unlike the removePredecessor method, this attempts to simplify uses of PHI nodes that collapse into identity values. For example, if we have: x = phi(1, 0, 0, 0) y = and x, z
.. and delete the predecessor corresponding to the '1', this will attempt to recursively fold the and to 0.
Definition at line 445 of file Local.cpp.
References llvm::BasicBlock::begin(), llvm::BasicBlock::front(), recursivelySimplifyInstruction(), and llvm::BasicBlock::removePredecessor().
Remove all blocks that can not be reached from the function's entry.
Returns true if any basic block was removed.
removeUnreachableBlocksFromFn - Remove blocks that are not reachable, even if they are in a dead cycle. Return true if a change was made, false otherwise.
Definition at line 1243 of file Local.cpp.
References llvm::Function::begin(), llvm::SmallPtrSet< PtrType, SmallSize >::count(), llvm::Function::end(), llvm::iplist< NodeTy, Traits >::erase(), llvm::Function::getBasicBlockList(), I, markAliveBlocks(), llvm::SmallPtrSetImpl::size(), llvm::Function::size(), succ_begin(), and succ_end().
bool llvm::replaceAndRecursivelySimplify | ( | Instruction * | I, |
Value * | SimpleV, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
Replace all uses of 'I' with 'SimpleV' and simplify the uses recursively.
This first performs a normal RAUW of I with SimpleV. It then recursively attempts to simplify those users updated by the operation. The 'I' instruction must not be equal to the simplified value 'SimpleV'.
The function returns true if any simplifications were performed.
Definition at line 3232 of file InstructionSimplify.cpp.
References replaceAndRecursivelySimplifyImpl().
bool llvm::replaceDbgDeclareForAlloca | ( | AllocaInst * | AI, |
Value * | NewAllocaAddress, | ||
DIBuilder & | Builder | ||
) |
replaceDbgDeclareForAlloca - Replaces llvm.dbg.declare instruction when alloca is replaced with a new value.
Definition at line 1083 of file Local.cpp.
References llvm::DIBuilder::createComplexVariable(), llvm::Instruction::eraseFromParent(), FindAllocaDbgDeclare(), llvm::ConstantInt::get(), llvm::Value::getContext(), llvm::Type::getInt64Ty(), llvm::Instruction::getParent(), llvm::DbgDeclareInst::getVariable(), llvm::DIBuilder::insertDeclare(), llvm::DIBuilder::OpDeref, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
void llvm::ReplaceInstWithInst | ( | BasicBlock::InstListType & | BIL, |
BasicBlock::iterator & | BI, | ||
Instruction * | I | ||
) |
ReplaceInstWithInst - Replace the instruction specified by BI with the instruction specified by I. The original instruction is deleted and BI is updated to point to the new instruction.
Definition at line 216 of file BasicBlockUtils.cpp.
References llvm::Instruction::getParent(), llvm::iplist< NodeTy, Traits >::insert(), and ReplaceInstWithValue().
Referenced by ReplaceInstWithInst(), and SplitBlockAndInsertIfThen().
void llvm::ReplaceInstWithInst | ( | Instruction * | From, |
Instruction * | To | ||
) |
ReplaceInstWithInst - Replace the instruction specified by From with the instruction specified by To.
Definition at line 234 of file BasicBlockUtils.cpp.
References llvm::BasicBlock::getInstList(), llvm::Instruction::getParent(), and ReplaceInstWithInst().
void llvm::ReplaceInstWithValue | ( | BasicBlock::InstListType & | BIL, |
BasicBlock::iterator & | BI, | ||
Value * | V | ||
) |
ReplaceInstWithValue - Replace all uses of an instruction (specified by BI) with a value, then remove and delete the original instruction.
Definition at line 197 of file BasicBlockUtils.cpp.
References llvm::iplist< NodeTy, Traits >::erase(), llvm::Value::hasName(), I, llvm::Value::replaceAllUsesWith(), and llvm::Value::takeName().
Referenced by ReplaceInstWithInst().
Reports a serious error, calling any installed error handler. These functions are intended to be used for error conditions which are outside the control of the compiler (I/O errors, invalid user input, etc.)
If no error handler is installed the default is to print the message to standard error, followed by a newline. After the error handler is called this function will call exit(1), it does not return.
Definition at line 53 of file ErrorHandling.cpp.
Referenced by llvm::JIT::addModule(), llvm::TargetPassConfig::addPass(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::object::advanceTo(), llvm::RegAllocBase::allocatePhysRegs(), applyOverride(), llvm::ARMTargetMachine::ARMTargetMachine(), llvm::yaml::Stream::begin(), llvm::object::MachOObjectFile::begin_dynamic_symbols(), llvm::object::COFFObjectFile::begin_dynamic_symbols(), llvm::object::MachOObjectFile::begin_libraries_needed(), llvm::object::COFFObjectFile::begin_libraries_needed(), llvm::MachObjectWriter::BindIndirectSymbols(), llvm::Interpreter::callExternalFunction(), llvm::MCELFStreamer::ChangeSection(), llvm::MCObjectStreamer::ChangeSection(), checkInterfaceFunction(), llvm::TargetInstrInfo::commuteInstruction(), llvm::MCAssembler::computeFragmentSize(), llvm::TargetSchedModel::computeOperandLatency(), llvm::NVPTXInstrInfo::copyPhysReg(), llvm::object::ObjectFile::createELFObjectFile(), llvm::SpecialCaseList::createOrDie(), llvm::DataLayout::DataLayout(), llvm::AsmPrinter::doFinalization(), llvm::object::ELFFile< ELFT >::ELFFile(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::MCStreamer::EmitCFIStartProc(), llvm::RuntimeDyldImpl::emitCommonSymbols(), llvm::XCoreFrameLowering::emitEpilogue(), llvm::MachineInstr::emitError(), llvm::AsmPrinter::EmitFunctionEntryLabel(), EmitGCCInlineAsmStr(), llvm::ExecutionEngine::emitGlobals(), llvm::MCStreamer::EmitGPRel32Value(), llvm::MCStreamer::EmitGPRel64Value(), llvm::TargetLoweringObjectFileMachO::emitModuleFlags(), EmitMSInlineAsmStr(), llvm::MCJIT::emitObject(), llvm::XCoreFrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::RuntimeDyldImpl::emitSection(), llvm::MCELFStreamer::EmitValueImpl(), llvm::MCELFStreamer::EmitValueToAlignment(), llvm::MCObjectStreamer::EmitWeakReference(), llvm::MCStreamer::EmitWin64EHAllocStack(), llvm::MCStreamer::EmitWin64EHEndChained(), llvm::MCStreamer::EmitWin64EHEndProc(), llvm::MCStreamer::EmitWin64EHHandler(), llvm::MCStreamer::EmitWin64EHHandlerData(), llvm::MCStreamer::EmitWin64EHPushFrame(), llvm::MCStreamer::EmitWin64EHSaveReg(), llvm::MCStreamer::EmitWin64EHSaveXMM(), llvm::MCStreamer::EmitWin64EHSetFrame(), llvm::MCStreamer::EmitWin64EHStartProc(), llvm::object::MachOObjectFile::end_dynamic_symbols(), llvm::object::COFFObjectFile::end_dynamic_symbols(), llvm::object::MachOObjectFile::end_libraries_needed(), llvm::object::COFFObjectFile::end_libraries_needed(), llvm::CodeExtractor::extractCodeRegion(), llvm::MCContext::FatalError(), llvm::RuntimeDyldELF::finalizeLoad(), llvm::MCStreamer::Finish(), foldPatchpoint(), llvm::MCJIT::freeMachineCodeForFunction(), llvm::MCJIT::generateCodeForModule(), llvm::TargetLoweringObjectFileELF::getCFIPersonalitySymbol(), llvm::ExecutionEngine::getConstantValue(), llvm::GCOVOptions::getDefault(), llvm::TargetLoweringObjectFileMachO::getExplicitSectionGlobal(), llvm::object::ELFObjectFile< ELFT >::getFileFormatName(), getFixupKindLog2Size(), llvm::object::MachOObjectFile::getLibraryNext(), llvm::object::COFFObjectFile::getLibraryNext(), llvm::object::MachOObjectFile::getLibraryPath(), llvm::object::COFFObjectFile::getLibraryPath(), llvm::object::MachOObjectFile::getLoadName(), llvm::JIT::getMemoryForGV(), llvm::MCStreamer::getOrCreateSymbolData(), llvm::JIT::getOrEmitGlobalVariable(), llvm::MCJIT::getPointerToBasicBlock(), llvm::JIT::getPointerToFunction(), llvm::RTDyldMemoryManager::getPointerToNamedFunction(), llvm::JIT::getPointerToNamedFunction(), llvm::MCJIT::getPointerToNamedFunction(), llvm::object::ELFObjectFile< ELFT >::getRelocationAddend(), llvm::object::MachOObjectFile::getRelocationAddress(), llvm::object::COFFObjectFile::getRelocationAddress(), llvm::object::ELFObjectFile< ELFT >::getRelocationSymbol(), llvm::object::ELFObjectFile< ELFT >::getRelocationType(), llvm::object::MachOObjectFile::getRelocationValueString(), getRelocType(), llvm::X86RegisterInfo::getReservedRegs(), llvm::object::ELFObjectFile< ELFT >::getROffset(), GetScratchRegister(), llvm::object::ELFFile< ELFT >::getSection(), llvm::object::ELFFile< ELFT >::getString(), llvm::MachObjectWriter::getSymbolAddress(), llvm::object::COFFObjectFile::getSymbolAuxData(), llvm::MCAsmLayout::getSymbolOffset(), llvm::object::MachOObjectFile::getSymbolValue(), llvm::object::COFFObjectFile::getSymbolValue(), llvm::TargetLoweringObjectFile::getTTypeReference(), llvm::MCAsmLayout::layoutFragment(), LLVMGetRelocationAddress(), LLVMGetRelocationOffset(), LLVMGetRelocationType(), LLVMGetRelocationTypeName(), LLVMGetRelocationValueString(), LLVMGetSectionAddress(), LLVMGetSectionContainsSymbol(), LLVMGetSectionContents(), LLVMGetSectionName(), LLVMGetSectionSize(), LLVMGetSymbolAddress(), LLVMGetSymbolFileOffset(), LLVMGetSymbolName(), LLVMGetSymbolSize(), LLVMMoveToContainingSection(), LLVMMoveToNextRelocation(), LLVMMoveToNextSection(), LLVMMoveToNextSymbol(), loadFromStack(), llvm::RuntimeDyld::loadObject(), llvm::RuntimeDyldImpl::loadObject(), llvm::ExecutionEngine::LoadValueFromMemory(), nvptx::LowerConstant(), lowerConstant(), LowerInterruptReturn(), llvm::IntrinsicLowering::LowerIntrinsicCall(), llvm::MipsSubtarget::MipsSubtarget(), llvm::DWARFDebugFrame::parse(), llvm::TargetLowering::ParseConstraints(), llvm::FrameEntry::parseInstructions(), llvm::sys::fs::recursive_directory_iterator::pop(), llvm::NVPTXInstPrinter::printRegName(), llvm::object::printRelocationTargetName(), llvm::AsmPrinter::PrintSpecial(), llvm::MCJIT::recompileAndRelinkFunction(), llvm::JIT::removeModule(), llvm::MipsJITInfo::replaceMachineCodeForFunction(), llvm::ARMJITInfo::replaceMachineCodeForFunction(), report_fatal_error(), llvm::RuntimeDyldImpl::resolveExternalSymbols(), llvm::legacy::FunctionPassManager::run(), llvm::ExecutionEngine::runFunctionAsMain(), llvm::LiveVariables::runOnMachineFunction(), llvm::DebugIR::runOnModule(), llvm::SelectionDAGISel::SelectInlineAsmMemoryOperands(), storeToStack(), llvm::object::ELFFile< ELFT >::VerifyStrTab(), llvm::Interpreter::visitUnreachableInst(), writeFragment(), llvm::MachObjectWriter::WriteNlist(), and llvm::raw_fd_ostream::~raw_fd_ostream().
Definition at line 57 of file ErrorHandling.cpp.
References report_fatal_error().
Definition at line 61 of file ErrorHandling.cpp.
References report_fatal_error().
Definition at line 65 of file ErrorHandling.cpp.
References llvm::StringRef::data(), ErrorHandler, ErrorHandlerUserData, llvm::sys::RunInterruptHandlers(), llvm::StringRef::size(), llvm::Twine::str(), llvm::raw_svector_ostream::str(), and llvm::LibFunc::write.
resolveTypes - Find a common type that T1 and T2 convert to. Return 0 if no such type exists.
Definition at line 377 of file Record.cpp.
References llvm::RecordRecTy::get(), and llvm::RecTy::typeIsConvertibleTo().
|
static |
Definition at line 155 of file ARMCallingConv.h.
References RetCC_ARM_APCS_Custom_f64().
|
static |
Definition at line 144 of file ARMCallingConv.h.
References f64RetAssign(), and llvm::MVT::v2f64.
Referenced by RetCC_ARM_AAPCS_Custom_f64().
bool llvm::returnTypeIsEligibleForTailCall | ( | const Function * | F, |
const Instruction * | I, | ||
const ReturnInst * | Ret, | ||
const TargetLoweringBase & | TLI | ||
) |
Test if given that the input instruction is in the tail call position if the return type or any attributes of the function will inhibit tail call optimization.
Definition at line 516 of file CodeGen/Analysis.cpp.
References llvm::SmallVectorTemplateCommon< T >::back(), llvm::SmallVectorTemplateCommon< T, typename >::back(), llvm::NVPTXISD::CallVal, firstRealType(), llvm::UndefValue::get(), llvm::Intrinsic::getAttributes(), llvm::Function::getAttributes(), llvm::User::getNumOperands(), llvm::User::getOperand(), llvm::Value::getType(), llvm::CompositeType::getTypeAtIndex(), I, nextRealType(), llvm::Attribute::NoAlias, llvm::SmallVectorTemplateCommon< T, typename >::rbegin(), llvm::SmallVectorTemplateCommon< T, typename >::rend(), llvm::Attribute::SExt, slotOnlyDiscardsData(), and llvm::Attribute::ZExt.
Referenced by FindPotentialTailCall(), and isInTailCallPosition().
Reverse the bits in Val
.
Definition at line 237 of file MathExtras.h.
References BitReverseTable256, and llvm::Intrinsic::memcpy.
bool llvm::rewriteA64FrameIndex | ( | MachineInstr & | MI, |
unsigned | FrameRegIdx, | ||
unsigned | FrameReg, | ||
int & | Offset, | ||
const AArch64InstrInfo & | TII | ||
) |
Definition at line 620 of file AArch64InstrInfo.cpp.
References llvm::MachineFunction::getFrameInfo(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), and llvm_unreachable.
bool llvm::rewriteARMFrameIndex | ( | MachineInstr & | MI, |
unsigned | FrameRegIdx, | ||
unsigned | FrameReg, | ||
int & | Offset, | ||
const ARMBaseInstrInfo & | TII | ||
) |
rewriteARMFrameIndex / rewriteT2FrameIndex - Rewrite MI to access 'Offset' bytes from the FP. Return false if the offset could not be handled directly in MI, and return the left-over portion by reference.
Definition at line 1957 of file ARMBaseInstrInfo.cpp.
References llvm::ARMII::AddrMode2, llvm::ARMII::AddrMode3, llvm::ARMII::AddrMode4, llvm::ARMII::AddrMode5, llvm::ARMII::AddrMode6, llvm::ARMII::AddrMode_i12, llvm::ARMII::AddrModeMask, llvm::MachineOperand::ChangeToImmediate(), llvm::MachineOperand::ChangeToRegister(), llvm::ARM_AM::getAM2Offset(), llvm::ARM_AM::getAM2Op(), llvm::ARM_AM::getAM3Offset(), llvm::ARM_AM::getAM3Op(), llvm::ARM_AM::getAM5Offset(), llvm::ARM_AM::getAM5Op(), llvm::MachineInstr::getDesc(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::ARM_AM::getSOImmVal(), llvm::ARM_AM::getSOImmValRotate(), llvm::ISD::INLINEASM, llvm_unreachable, llvm::MachineInstr::RemoveOperand(), llvm::ARM_AM::rotr32(), llvm::MachineInstr::setDesc(), llvm::ARM_AM::sub, and llvm::MCInstrDesc::TSFlags.
Referenced by llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), and llvm::ARMBaseRegisterInfo::resolveFrameIndex().
bool llvm::rewriteT2FrameIndex | ( | MachineInstr & | MI, |
unsigned | FrameRegIdx, | ||
unsigned | FrameReg, | ||
int & | Offset, | ||
const ARMBaseInstrInfo & | TII | ||
) |
Definition at line 438 of file Thumb2InstrInfo.cpp.
References AddDefaultPred(), llvm::MachineInstr::addOperand(), llvm::ARMII::AddrMode4, llvm::ARMII::AddrMode5, llvm::ARMII::AddrMode6, llvm::ARMII::AddrModeMask, llvm::ARMII::AddrModeT2_i12, llvm::ARMII::AddrModeT2_i8, llvm::ARMII::AddrModeT2_i8s4, llvm::ARMII::AddrModeT2_so, llvm::ARMCC::AL, llvm::MachineOperand::ChangeToImmediate(), llvm::MachineOperand::ChangeToRegister(), llvm::MachineOperand::CreateReg(), llvm::ARM_AM::getAM5Offset(), llvm::ARM_AM::getAM5Op(), llvm::MachineInstr::getDesc(), llvm::MachineOperand::getImm(), getInstrPredicate(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), getReg(), llvm::ARM_AM::getT2SOImmVal(), immediateOffsetOpcode(), llvm::ISD::INLINEASM, llvm_unreachable, llvm::A64CC::MI, negativeOffsetOpcode(), positiveOffsetOpcode(), llvm::MachineInstr::RemoveOperand(), llvm::ARM_AM::rotr32(), llvm::MachineInstr::setDesc(), llvm::ARM_AM::sub, and llvm::MCInstrDesc::TSFlags.
Referenced by llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), and llvm::ARMBaseRegisterInfo::resolveFrameIndex().
|
inline |
Returns the next integer (mod 2**64) that is greater than or equal to Value
and is a multiple of Align
. Align
must be non-zero.
Examples:
Definition at line 565 of file MathExtras.h.
References Align().
Referenced by ComputeLinkerOptionsLoadCommandSize(), llvm::MachObjectWriter::computeSectionAddresses(), llvm::AArch64FrameLowering::eliminateCallFramePseudoInstr(), llvm::JITCodeEmitter::emitAlignment(), llvm::JITCodeEmitter::emitAlignmentWithFill(), llvm::AMDGPUAsmPrinter::EmitProgramInfoR600(), llvm::AMDGPUAsmPrinter::EmitProgramInfoSI(), llvm::MipsFrameLowering::estimateStackSize(), llvm::SparcSubtarget::getAdjustedFrameSize(), llvm::MemoryBuffer::getNewUninitMemBuffer(), llvm::AArch64TargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_64(), llvm::AArch64TargetLowering::LowerFormalArguments(), OffsetToAlignment(), llvm::BitVector::reset(), and llvm::BitVector::set().
SDValue llvm::ScanBUILD_VECTOR | ( | SDValue | Op, |
bool & | isOnlyLowElement, | ||
bool & | usesOnlyOneValue, | ||
bool & | hasDominantValue, | ||
bool & | isConstant, | ||
bool & | isUNDEF | ||
) |
scc_iterator<T> llvm::scc_begin | ( | const T & | G | ) |
Definition at line 199 of file SCCIterator.h.
References llvm::scc_iterator< GraphT, GT >::begin().
scc_iterator<Inverse<T> > llvm::scc_begin | ( | const Inverse< T > & | G | ) |
Definition at line 209 of file SCCIterator.h.
References llvm::sys::path::begin().
scc_iterator<T> llvm::scc_end | ( | const T & | G | ) |
Definition at line 204 of file SCCIterator.h.
References llvm::scc_iterator< GraphT, GT >::end().
scc_iterator<Inverse<T> > llvm::scc_end | ( | const Inverse< T > & | G | ) |
Definition at line 214 of file SCCIterator.h.
References llvm::sys::path::end().
void * llvm::SearchForAddressOfSpecialSymbol | ( | const char * | symbolName | ) |
Definition at line 55 of file SearchForAddressOfSpecialSymbol.cpp.
References DoSearch().
Referenced by llvm::sys::DynamicLibrary::SearchForAddressOfSymbol().
S1Ty llvm::set_difference | ( | const S1Ty & | S1, |
const S2Ty & | S2 | ||
) |
set_difference(A, B) - Return A - B
Definition at line 51 of file SetOperations.h.
void llvm::set_fixed_execution_hash_seed | ( | size_t | fixed_value | ) |
Override the execution seed with a fixed value.
This hashing library uses a per-execution seed designed to change on each run with high probability in order to ensure that the hash codes are not attackable and to ensure that output which is intended to be stable does not rely on the particulars of the hash codes produced.
That said, there are use cases where it is important to be able to reproduce exactly a specific behavior. To that end, we provide a function which will forcibly set the seed to a fixed value. This must be done at the start of the program, before any hashes are computed. Also, it cannot be undone. This makes it thread-hostile and very hard to use outside of immediately on start of a simple program designed for reproducible behavior.
Definition at line 27 of file Hashing.cpp.
References llvm::hashing::detail::fixed_seed_override.
void llvm::set_intersect | ( | S1Ty & | S1, |
const S2Ty & | S2 | ||
) |
set_intersect(A, B) - Compute A := A ^ B Identical to set_intersection, except that it works on set<>'s and is nicer to use. Functionally, this iterates through S1, removing elements that are not contained in S2.
Definition at line 40 of file SetOperations.h.
References I.
void llvm::set_subtract | ( | S1Ty & | S1, |
const S2Ty & | S2 | ||
) |
set_subtract(A, B) - Compute A := A - B
Definition at line 63 of file SetOperations.h.
bool llvm::set_union | ( | S1Ty & | S1, |
const S2Ty & | S2 | ||
) |
set_union(A, B) - Compute A := A u B, return whether A changed.
Definition at line 23 of file SetOperations.h.
void llvm::setCurrentDebugType | ( | const char * | Type | ) |
setCurrentDebugType - Set the current debug type, as if the -debug-only=X option were specified. Note that DebugFlag also needs to be set to true for debug output to be produced.
Definition at line 96 of file Debug.cpp.
References CurrentDebugType, and Type.
|
inline |
SignExtend32 - Sign extend B-bit number x to 32-bit int. Usage int32_t r = SignExtend32<5>(x);
Definition at line 585 of file MathExtras.h.
Referenced by llvm::PPC::get_VSPLTI_elt().
|
inline |
Sign extend number in the bottom B bits of X to a 32-bit int. Requires 0 < B <= 32.
Definition at line 591 of file MathExtras.h.
|
inline |
SignExtend64 - Sign extend B-bit number x to 64-bit int. Usage int64_t r = SignExtend64<5>(x);
Definition at line 597 of file MathExtras.h.
Referenced by llvm::SelectionDAG::getGlobalAddress().
|
inline |
Sign extend number in the bottom B bits of X to a 64-bit int. Requires 0 < B <= 64.
Definition at line 603 of file MathExtras.h.
Value * llvm::SimplifyAddInst | ( | Value * | LHS, |
Value * | RHS, | ||
bool | isNSW, | ||
bool | isNUW, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyAddInst - Given operands for an Add, see if we can fold the result. If not, this returns null.
Definition at line 653 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyAddInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitAdd().
Value * llvm::SimplifyAndInst | ( | Value * | LHS, |
Value * | RHS, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyAndInst - Given operands for an And, see if we can fold the result. If not, this returns null.
Definition at line 1521 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyAndInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), SimplifyMulInst(), ThreadCmpOverSelect(), and llvm::InstCombiner::visitAnd().
Value * llvm::SimplifyAShrInst | ( | Value * | Op0, |
Value * | Op1, | ||
bool | isExact, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyAShrInst - Given operands for a AShr, see if we can fold the result. If not, this returns null.
Definition at line 1420 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyAShrInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitAShr().
Value * llvm::SimplifyBinOp | ( | unsigned | Opcode, |
Value * | LHS, | ||
Value * | RHS, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyBinOp - Given operands for a BinaryOperator, see if we can fold the result. If not, this returns null.
Definition at line 2929 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyBinOp().
Referenced by ExpandBinOp(), FactorizeBinOp(), SimplifyAssociativeBinOp(), SimplifySubInst(), SimplifyWithOpReplaced(), ThreadBinOpOverPHI(), and ThreadBinOpOverSelect().
Value * llvm::SimplifyCall | ( | Value * | V, |
User::op_iterator | ArgBegin, | ||
User::op_iterator | ArgEnd, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
Given a function and iterators over arguments, see if we can fold the result.
If this call could not be simplified returns null.
Definition at line 3019 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyCall().
Referenced by SimplifyInstruction().
Value * llvm::SimplifyCall | ( | Value * | V, |
ArrayRef< Value * > | Args, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
Given a function and set of arguments, see if we can fold the result.
If this call could not be simplified returns null.
Definition at line 3027 of file InstructionSimplify.cpp.
References llvm::ArrayRef< T >::begin(), llvm::ArrayRef< T >::end(), RecursionLimit, and SimplifyCall().
bool llvm::SimplifyCFG | ( | BasicBlock * | BB, |
const TargetTransformInfo & | TTI, | ||
const DataLayout * | TD = 0 |
||
) |
SimplifyCFG - This function is used to do simplification of a CFG. For example, it adjusts branches to branches to eliminate the extra hop, it eliminates unreachable basic blocks, and does other "peephole" optimization of the CFG. It returns true if a modification was made, possibly deleting the basic block that was pointed to.
SimplifyCFG - This function is used to do simplification of a CFG. For example, it adjusts branches to branches to eliminate the extra hop, it eliminates unreachable basic blocks, and does other "peephole" optimization of the CFG. It returns true if a modification was made.
Definition at line 4153 of file SimplifyCFG.cpp.
Referenced by iterativelySimplifyCFG(), and TryToSimplifyUncondBranchWithICmpInIt().
Value * llvm::SimplifyCmpInst | ( | unsigned | Predicate, |
Value * | LHS, | ||
Value * | RHS, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyCmpInst - Given operands for a CmpInst, see if we can fold the result. If not, this returns null.
Definition at line 2944 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyCmpInst().
Referenced by SimplifyWithOpReplaced(), ThreadCmpOverPHI(), and ThreadCmpOverSelect().
Value * llvm::SimplifyFAddInst | ( | Value * | LHS, |
Value * | RHS, | ||
FastMathFlags | FMF, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
Given operands for an FAdd, see if we can fold the result. If not, this returns null.
Definition at line 1037 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyFAddInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitFAdd().
Value * llvm::SimplifyFCmpInst | ( | unsigned | Predicate, |
Value * | LHS, | ||
Value * | RHS, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyFCmpInst - Given operands for an FCmpInst, see if we can fold the result. If not, this returns null.
Definition at line 2687 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyFCmpInst().
Referenced by SimplifyCmpInst(), SimplifyInstruction(), and llvm::InstCombiner::visitFCmpInst().
Value * llvm::SimplifyFDivInst | ( | Value * | LHS, |
Value * | RHS, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyFDivInst - Given operands for an FDiv, see if we can fold the result. If not, this returns null.
Definition at line 1180 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyFDivInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitFDiv().
Value * llvm::SimplifyFMulInst | ( | Value * | LHS, |
Value * | RHS, | ||
FastMathFlags | FMF, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
Given operands for an FMul, see if we can fold the result. If not, this returns null.
Definition at line 1049 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyFMulInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitFMul().
Value * llvm::SimplifyFRemInst | ( | Value * | LHS, |
Value * | RHS, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyFRemInst - Given operands for an FRem, see if we can fold the result. If not, this returns null.
Definition at line 1285 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyFRemInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitFRem().
Value * llvm::SimplifyFSubInst | ( | Value * | LHS, |
Value * | RHS, | ||
FastMathFlags | FMF, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
Given operands for an FSub, see if we can fold the result. If not, this returns null.
Definition at line 1043 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyFSubInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitFSub().
Value * llvm::SimplifyGEPInst | ( | ArrayRef< Value * > | Ops, |
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyGEPInst - Given operands for an GetElementPtrInst, see if we can fold the result. If not, this returns null.
Definition at line 2771 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyGEPInst().
Referenced by SimplifyInstruction(), and llvm::InstCombiner::visitGetElementPtrInst().
Value * llvm::SimplifyICmpInst | ( | unsigned | Predicate, |
Value * | LHS, | ||
Value * | RHS, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyICmpInst - Given operands for an ICmpInst, see if we can fold the result. If not, this returns null.
Definition at line 2590 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyICmpInst().
Referenced by SimplifyCmpInst(), SimplifyICmpInst(), SimplifyInstruction(), and llvm::InstCombiner::visitICmpInst().
Value * llvm::SimplifyInsertValueInst | ( | Value * | Agg, |
Value * | Val, | ||
ArrayRef< unsigned > | Idxs, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyInsertValueInst - Given operands for an InsertValueInst, see if we can fold the result. If not, this returns null.
Definition at line 2806 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyInsertValueInst().
Referenced by SimplifyInstruction().
Value * llvm::SimplifyInstruction | ( | Instruction * | I, |
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyInstruction - See if we can compute a simplified version of this instruction. If not, this returns null.
If called on unreachable code, the above logic may report that the instruction simplified to itself. Make life easier for users by detecting that case here, returning a safe value instead.
Definition at line 3036 of file InstructionSimplify.cpp.
References llvm::APIntOps::And(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_begin(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::arg_end(), Call, ConstantFoldInstruction(), llvm::UndefValue::get(), llvm::InsertValueInst::getAggregateOperand(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::getCalledValue(), llvm::Instruction::getFastMathFlags(), llvm::InsertValueInst::getIndices(), llvm::InsertValueInst::getInsertedValueOperand(), llvm::Instruction::getOpcode(), llvm::User::getOperand(), llvm::Value::getType(), I, llvm::User::op_begin(), llvm::User::op_end(), llvm::APIntOps::Or(), llvm::TargetOpcode::PHI, llvm::MCID::Select, SimplifyAddInst(), SimplifyAndInst(), SimplifyAShrInst(), SimplifyCall(), SimplifyFAddInst(), SimplifyFCmpInst(), SimplifyFDivInst(), SimplifyFMulInst(), SimplifyFRemInst(), SimplifyFSubInst(), SimplifyGEPInst(), SimplifyICmpInst(), SimplifyInsertValueInst(), SimplifyLShrInst(), SimplifyMulInst(), SimplifyOrInst(), SimplifyPHINode(), SimplifySDivInst(), SimplifySelectInst(), SimplifyShlInst(), SimplifySRemInst(), SimplifySubInst(), SimplifyTruncInst(), SimplifyUDivInst(), SimplifyURemInst(), SimplifyXorInst(), TD, and llvm::APIntOps::Xor().
Referenced by DecomposeGEPExpression(), FindPHIToPartitionLoops(), FoldCondBranchOnPHI(), FoldTwoEntryPHINode(), GetUnderlyingObject(), llvm::SSAUpdater::GetValueInMiddleOfBlock(), InlineFunction(), replaceAndRecursivelySimplifyImpl(), TryToSimplifyUncondBranchWithICmpInIt(), UnrollLoop(), and llvm::InstCombiner::visitPHINode().
bool llvm::SimplifyInstructionsInBlock | ( | BasicBlock * | BB, |
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 |
||
) |
SimplifyInstructionsInBlock - Scan the specified basic block and try to simplify any instructions in it and recursively delete dead instructions.
This returns true if it changed the code, note that it can delete instructions in other blocks as well in this block.
Definition at line 398 of file Local.cpp.
References llvm::BasicBlock::begin(), llvm::BasicBlock::end(), RecursivelyDeleteTriviallyDeadInstructions(), and recursivelySimplifyInstruction().
bool llvm::simplifyLoopIVs | ( | Loop * | L, |
ScalarEvolution * | SE, | ||
LPPassManager * | LPM, | ||
SmallVectorImpl< WeakVH > & | Dead | ||
) |
SimplifyLoopIVs - Simplify users of induction variables within this loop. This does not actually change or add IVs.
simplifyLoopIVs - Simplify users of induction variables within this loop. This does not actually change or add IVs.
Definition at line 384 of file SimplifyIndVar.cpp.
References llvm::LoopBase< N, M >::getHeader(), I, and simplifyUsersOfIV().
Referenced by UnrollLoop().
Value * llvm::SimplifyLShrInst | ( | Value * | Op0, |
Value * | Op1, | ||
bool | isExact, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyLShrInst - Given operands for a LShr, see if we can fold the result. If not, this returns null.
Definition at line 1384 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyLShrInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitLShr().
Value * llvm::SimplifyMulInst | ( | Value * | LHS, |
Value * | RHS, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyMulInst - Given operands for a Mul, see if we can fold the result. If not, this returns null.
Definition at line 1057 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyMulInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitMul().
Value * llvm::SimplifyOrInst | ( | Value * | LHS, |
Value * | RHS, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyOrInst - Given operands for an Or, see if we can fold the result. If not, this returns null.
Definition at line 1615 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyOrInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), ThreadCmpOverSelect(), and llvm::InstCombiner::visitOr().
Value * llvm::SimplifySDivInst | ( | Value * | LHS, |
Value * | RHS, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifySDivInst - Given operands for an SDiv, see if we can fold the result. If not, this returns null.
Definition at line 1145 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifySDivInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitSDiv().
Value * llvm::SimplifySelectInst | ( | Value * | Cond, |
Value * | TrueVal, | ||
Value * | FalseVal, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifySelectInst - Given operands for a SelectInst, see if we can fold the result. If not, this returns null.
Definition at line 2722 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifySelectInst().
Referenced by SimplifyInstruction(), and llvm::InstCombiner::visitSelectInst().
Value * llvm::SimplifyShlInst | ( | Value * | Op0, |
Value * | Op1, | ||
bool | isNSW, | ||
bool | isNUW, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyShlInst - Given operands for a Shl, see if we can fold the result. If not, this returns null.
Definition at line 1353 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyShlInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitShl().
Value * llvm::SimplifySRemInst | ( | Value * | LHS, |
Value * | RHS, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifySRemInst - Given operands for an SRem, see if we can fold the result. If not, this returns null.
Definition at line 1250 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifySRemInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitSRem().
Value * llvm::SimplifySubInst | ( | Value * | LHS, |
Value * | RHS, | ||
bool | isNSW, | ||
bool | isNUW, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifySubInst - Given operands for a Sub, see if we can fold the result. If not, this returns null.
Definition at line 859 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifySubInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitSub().
Value * llvm::SimplifyTruncInst | ( | Value * | Op, |
Type * | Ty, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyTruncInst - Given operands for an TruncInst, see if we can fold the result. If not, this returns null.
Definition at line 2856 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyTruncInst().
Referenced by SimplifyInstruction(), and SimplifySubInst().
Value * llvm::SimplifyUDivInst | ( | Value * | LHS, |
Value * | RHS, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyUDivInst - Given operands for a UDiv, see if we can fold the result. If not, this returns null.
Definition at line 1161 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyUDivInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitUDiv().
Value * llvm::SimplifyURemInst | ( | Value * | LHS, |
Value * | RHS, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyURemInst - Given operands for a URem, see if we can fold the result. If not, this returns null.
Definition at line 1266 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyURemInst().
Referenced by SimplifyBinOp(), SimplifyInstruction(), and llvm::InstCombiner::visitURem().
bool llvm::simplifyUsersOfIV | ( | PHINode * | CurrIV, |
ScalarEvolution * | SE, | ||
LPPassManager * | LPM, | ||
SmallVectorImpl< WeakVH > & | Dead, | ||
IVVisitor * | V = NULL |
||
) |
simplifyUsersOfIV - Simplify instructions that use this induction variable by using ScalarEvolution to analyze the IV's recurrence.
Definition at line 373 of file SimplifyIndVar.cpp.
References llvm::Pass::getAnalysis(), llvm::LoopInfo::getLoopFor(), llvm::Instruction::getParent(), and LI.
Referenced by simplifyLoopIVs().
Value * llvm::SimplifyXorInst | ( | Value * | LHS, |
Value * | RHS, | ||
const DataLayout * | TD = 0 , |
||
const TargetLibraryInfo * | TLI = 0 , |
||
const DominatorTree * | DT = 0 |
||
) |
SimplifyXorInst - Given operands for a Xor, see if we can fold the result. If not, this returns null.
Definition at line 1675 of file InstructionSimplify.cpp.
References RecursionLimit, and SimplifyXorInst().
Referenced by SimplifyAddInst(), SimplifyBinOp(), SimplifyInstruction(), SimplifySubInst(), ThreadCmpOverSelect(), and llvm::InstCombiner::visitXor().
|
inline |
SkipBitcodeWrapperHeader - Some systems wrap bc files with a special header for padding or other reasons. The format of this header is:
struct bc_header { uint32_t Magic; // 0x0B17C0DE uint32_t Version; // Version, currently always 0. uint32_t BitcodeOffset; // Offset to traditional bitcode file. uint32_t BitcodeSize; // Size of traditional bitcode file. ... potentially other gunk ... };
This function is called when we find a file with a matching magic number. In this case, skip down to the subsection of the file that is actually a BC file. If 'VerifyBufferSize' is true, check that the buffer is large enough to contain the whole bitcode file.
Definition at line 124 of file ReaderWriter.h.
Definition at line 332 of file NVPTXUtilities.cpp.
References isMemorySpaceTransferIntrinsic(), and llvm::Value::stripPointerCasts().
Referenced by skipPointerTransfer().
Definition at line 355 of file NVPTXUtilities.cpp.
References isMemorySpaceTransferIntrinsic(), skipPointerTransfer(), llvm::Value::stripPointerCasts(), and llvm::NVPTX::PTXLdStInstCode::V2.
|
inlinestatic |
Definition at line 75 of file Sparc.h.
References llvm::SPCC::FCC_E, llvm::SPCC::FCC_G, llvm::SPCC::FCC_GE, llvm::SPCC::FCC_L, llvm::SPCC::FCC_LE, llvm::SPCC::FCC_LG, llvm::SPCC::FCC_NE, llvm::SPCC::FCC_O, llvm::SPCC::FCC_U, llvm::SPCC::FCC_UE, llvm::SPCC::FCC_UG, llvm::SPCC::FCC_UGE, llvm::SPCC::FCC_UL, llvm::SPCC::FCC_ULE, llvm::SPCC::ICC_CC, llvm::SPCC::ICC_CS, llvm::SPCC::ICC_E, llvm::SPCC::ICC_G, llvm::SPCC::ICC_GE, llvm::SPCC::ICC_GU, llvm::SPCC::ICC_L, llvm::SPCC::ICC_LE, llvm::SPCC::ICC_LEU, llvm::SPCC::ICC_NE, llvm::SPCC::ICC_NEG, llvm::SPCC::ICC_POS, llvm::SPCC::ICC_VC, llvm::SPCC::ICC_VS, and llvm_unreachable.
BasicBlock * llvm::SplitBlock | ( | BasicBlock * | Old, |
Instruction * | SplitPt, | ||
Pass * | P | ||
) |
SplitBlock - Split the specified block at the specified instruction - every thing before SplitPt stays in Old and everything starting with SplitPt moves to a new block. The two blocks are joined by an unconditional branch and the loop info is updated.
Definition at line 271 of file BasicBlockUtils.cpp.
References llvm::Pass::getAnalysisIfAvailable(), llvm::Value::getName(), I, LI, and llvm::BasicBlock::splitBasicBlock().
Referenced by SplitEdge(), and UnrollRuntimeLoopProlog().
TerminatorInst * llvm::SplitBlockAndInsertIfThen | ( | Instruction * | Cmp, |
bool | Unreachable, | ||
MDNode * | BranchWeights = 0 |
||
) |
SplitBlockAndInsertIfThen - Split the containing block at the specified instruction - everything before and including Cmp stays in the old basic block, and everything after Cmp is moved to a new block. The two blocks are connected by a conditional branch (with value of Cmp being the condition). Before: Head Cmp Tail After: Head Cmp if (Cmp) ThenBlock Tail
If Unreachable is true, then ThenBlock ends with UnreachableInst, otherwise it branches to Tail. Returns the NewBasicBlock's terminator.
Definition at line 652 of file BasicBlockUtils.cpp.
References llvm::CallingConv::C, llvm::BasicBlock::Create(), llvm::BranchInst::Create(), llvm::BasicBlock::getContext(), llvm::ilist_node< NodeTy >::getNextNode(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), llvm::LLVMContext::MD_prof, ReplaceInstWithInst(), llvm::Instruction::setMetadata(), and llvm::BasicBlock::splitBasicBlock().
BasicBlock * llvm::SplitBlockPredecessors | ( | BasicBlock * | BB, |
ArrayRef< BasicBlock * > | Preds, | ||
const char * | Suffix, | ||
Pass * | P = 0 |
||
) |
SplitBlockPredecessors - This method transforms BB by introducing a new basic block into the function, and moving some of the predecessors of BB to be predecessors of the new block. The new predecessors are indicated by the Preds array, which has NumPreds elements in it. The new block is given a suffix of 'Suffix'. This function returns the new block.
This currently updates the LLVM IR, AliasAnalysis, DominatorTree, DominanceFrontier, LoopInfo, and LCCSA but no other analyses. In particular, it does not preserve LoopSimplify (because it's complicated to handle the case where one of the edges being split is an exit of a loop with other exits).
SplitBlockPredecessors - This method transforms BB by introducing a new basic block into the function, and moving some of the predecessors of BB to be predecessors of the new block. The new predecessors are indicated by the Preds array, which has NumPreds elements in it. The new block is given a suffix of 'Suffix'.
This currently updates the LLVM IR, AliasAnalysis, DominatorTree, LoopInfo, and LCCSA but no other analyses. In particular, it does not preserve LoopSimplify (because it's complicated to handle the case where one of the edges being split is an exit of a loop with other exits).
Definition at line 442 of file BasicBlockUtils.cpp.
References llvm::BasicBlock::begin(), llvm::BasicBlock::Create(), llvm::BranchInst::Create(), llvm::UndefValue::get(), llvm::BasicBlock::getContext(), llvm::Value::getName(), llvm::BasicBlock::getParent(), I, llvm::ArrayRef< T >::size(), UpdateAnalysisInformation(), and UpdatePHINodes().
Referenced by ConnectProlog(), InsertPreheaderForLoop(), and SplitCriticalEdge().
BasicBlock * llvm::SplitCriticalEdge | ( | TerminatorInst * | TI, |
unsigned | SuccNum, | ||
Pass * | P = 0 , |
||
bool | MergeIdenticalEdges = false , |
||
bool | DontDeleteUselessPhis = false , |
||
bool | SplitLandingPads = false |
||
) |
SplitCriticalEdge - If this edge is a critical edge, insert a new node to split the critical edge. This will update DominatorTree and DominatorFrontier information if it is available, thus calling this pass will not invalidate either of them. This returns the new block if the edge was split, null otherwise.
If MergeIdenticalEdges is true (not the default), all edges from TI to the specified successor will be merged into the same critical edge block. This is most commonly interesting with switch instructions, which may have many edges to any one destination. This ensures that all edges to that dest go to one block instead of each going to a different block, but isn't the standard definition of a "critical edge".
It is invalid to call this function on a critical edge that starts at an IndirectBrInst. Splitting these edges will almost always create an invalid program because the address of the new block won't be the one that is jumped to.
SplitCriticalEdge - If this edge is a critical edge, insert a new node to split the critical edge. This will update DominatorTree information if it is available, thus calling this pass will not invalidate either of them. This returns the new block if the edge was split, null otherwise.
If MergeIdenticalEdges is true (not the default), all edges from TI to the specified successor will be merged into the same critical edge block. This is most commonly interesting with switch instructions, which may have many edges to any one destination. This ensures that all edges to that dest go to one block instead of each going to a different block, but isn't the standard definition of a "critical edge".
It is invalid to call this function on a critical edge that starts at an IndirectBrInst. Splitting these edges will almost always create an invalid program because the address of the new block won't be the one that is jumped to.
Definition at line 140 of file BreakCriticalEdges.cpp.
References llvm::DominatorTree::addNewBlock(), llvm::SmallVectorTemplateCommon< T >::back(), llvm::BasicBlock::begin(), llvm::DominatorTree::changeImmediateDominator(), llvm::SmallVectorImpl< T >::clear(), llvm::BasicBlock::Create(), llvm::BranchInst::Create(), createPHIsForSplitLoopExit(), llvm::DominatorTree::dominates(), llvm::SmallVectorBase::empty(), llvm::Pass::getAnalysisIfAvailable(), llvm::PHINode::getBasicBlockIndex(), llvm::Function::getBasicBlockList(), llvm::Value::getContext(), llvm::Instruction::getDebugLoc(), llvm::PHINode::getIncomingBlock(), llvm::Value::getName(), llvm::DominatorTree::getNode(), llvm::TerminatorInst::getNumSuccessors(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::TerminatorInst::getSuccessor(), llvm::BasicBlock::getTerminator(), I, llvm::iplist< NodeTy, Traits >::insert(), isCriticalEdge(), llvm::BasicBlock::isLandingPad(), LCSSAID, LI, LoopSimplifyID, llvm::Pass::mustPreserveAnalysisID(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::pop_back(), pred_begin(), pred_end(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::BasicBlock::removePredecessor(), llvm::PHINode::setIncomingBlock(), llvm::TerminatorInst::setSuccessor(), llvm::SmallVectorTemplateCommon< T >::size(), SplitBlockPredecessors(), and SplitLandingPadPredecessors().
Referenced by DemoteRegToStack(), SplitCriticalEdge(), SplitCriticalSideEffectEdges(), and SplitEdge().
|
inline |
Definition at line 96 of file BasicBlockUtils.h.
References llvm::SuccIterator< Term_, BB_ >::getSuccessorIndex(), llvm::BasicBlock::getTerminator(), P, and SplitCriticalEdge().
|
inline |
SplitCriticalEdge - If the edge from *PI to BB is not critical, return false. Otherwise, split all edges between the two blocks and return true. This updates all of the same analyses as the other SplitCriticalEdge function. If P is specified, it updates the analyses described above.
Definition at line 106 of file BasicBlockUtils.h.
References llvm::TerminatorInst::getNumSuccessors(), llvm::TerminatorInst::getSuccessor(), P, and SplitCriticalEdge().
|
inline |
SplitCriticalEdge - If an edge from Src to Dst is critical, split the edge and return true, otherwise return false. This method requires that there be an edge between the two blocks. If P is specified, it updates the analyses described above.
Definition at line 119 of file BasicBlockUtils.h.
References llvm::TerminatorInst::getNumSuccessors(), llvm::TerminatorInst::getSuccessor(), llvm::BasicBlock::getTerminator(), P, and SplitCriticalEdge().
BasicBlock * llvm::SplitEdge | ( | BasicBlock * | BB, |
BasicBlock * | Succ, | ||
Pass * | P | ||
) |
SplitEdge - Split the edge connecting specified block. Pass P must not be NULL.
Definition at line 241 of file BasicBlockUtils.cpp.
References llvm::BasicBlock::begin(), llvm::TerminatorInst::getNumSuccessors(), llvm::BasicBlock::getSinglePredecessor(), llvm::TerminatorInst::getSuccessor(), GetSuccessorNumber(), llvm::BasicBlock::getTerminator(), P, SplitBlock(), and SplitCriticalEdge().
Referenced by replaceConstantExprOp(), and UnrollRuntimeLoopProlog().
void llvm::SplitLandingPadPredecessors | ( | BasicBlock * | OrigBB, |
ArrayRef< BasicBlock * > | Preds, | ||
const char * | Suffix1, | ||
const char * | Suffix2, | ||
Pass * | P, | ||
SmallVectorImpl< BasicBlock * > & | NewBBs | ||
) |
SplitLandingPadPredecessors - This method transforms the landing pad, OrigBB, by introducing two new basic blocks into the function. One of those new basic blocks gets the predecessors listed in Preds. The other basic block gets the remaining predecessors of OrigBB. The landingpad instruction OrigBB is clone into both of the new basic blocks. The new blocks are given the suffixes 'Suffix1' and 'Suffix2', and are returned in the NewBBs vector.
This currently updates the LLVM IR, AliasAnalysis, DominatorTree, DominanceFrontier, LoopInfo, and LCCSA but no other analyses. In particular, it does not preserve LoopSimplify (because it's complicated to handle the case where one of the edges being split is an exit of a loop with other exits).
Definition at line 495 of file BasicBlockUtils.cpp.
References llvm::PHINode::addIncoming(), llvm::SmallVectorTemplateCommon< T >::begin(), llvm::Instruction::clone(), llvm::BasicBlock::Create(), llvm::PHINode::Create(), llvm::BranchInst::Create(), llvm::SmallVectorBase::empty(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::Instruction::eraseFromParent(), llvm::BasicBlock::getContext(), llvm::BasicBlock::getFirstInsertionPt(), llvm::BasicBlock::getInstList(), llvm::BasicBlock::getLandingPadInst(), llvm::Value::getName(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), llvm::iplist< NodeTy, Traits >::insert(), llvm::BasicBlock::isLandingPad(), pred_begin(), pred_end(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::Value::replaceAllUsesWith(), llvm::Value::setName(), llvm::ArrayRef< T >::size(), UpdateAnalysisInformation(), and UpdatePHINodes().
Referenced by ConnectProlog(), InsertPreheaderForLoop(), and SplitCriticalEdge().
void llvm::SplitString | ( | StringRef | Source, |
SmallVectorImpl< StringRef > & | OutFragments, | ||
StringRef | Delimiters = " \t\n\v\f\r" |
||
) |
SplitString - Split up the specified string according to the specified delimiters, appending the result fragments to the output list.
Definition at line 51 of file StringExtras.cpp.
References getToken(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by llvm::ARMTargetLowering::ExpandInlineAsm(), and llvm::X86TargetLowering::ExpandInlineAsm().
StringRef::size_type llvm::StrInStrNoCase | ( | StringRef | s1, |
StringRef | s2 | ||
) |
StrInStrNoCase - Portable version of strcasestr. Locates the first occurrence of string 's1' in string 's2', ignoring case. Returns the offset of s2 in s1 or npos if s2 cannot be found.
Definition at line 22 of file StringExtras.cpp.
References llvm::StringRef::equals_lower(), N, llvm::StringRef::npos, llvm::StringRef::size(), and llvm::StringRef::substr().
|
inline |
succ_begin/succ_end - define methods so that Intervals may be used just like BasicBlocks can with the succ_* functions, and *succ_iterator.
Definition at line 107 of file Interval.h.
Referenced by llvm::SSAUpdaterTraits< SSAUpdater >::BlkSucc_begin(), llvm::DominanceFrontier::calculate(), CanPropagatePredecessorsForPHIs(), changeToUnreachable(), llvm::GraphTraits< BlockFrequencyInfo * >::child_begin(), llvm::GraphTraits< Interval * >::child_begin(), llvm::GraphTraits< BasicBlock * >::child_begin(), llvm::GraphTraits< const BasicBlock * >::child_begin(), ConnectProlog(), DFSPass(), llvm::InstCombiner::DoOneIteration(), llvm::CodeExtractor::extractCodeRegion(), FindFunctionBackedges(), llvm::DOTGraphTraits< const Function * >::getEdgeSourceLabel(), llvm::BranchProbabilityInfo::getEdgeWeight(), llvm::Region::getExpandedRegion(), llvm::BranchProbabilityInfo::getHotSucc(), llvm::RegionInfo::getMaxRegionExit(), llvm::Loop::getUniqueExitBlocks(), HoistThenElseCodeToIf(), isPotentiallyReachable(), isPotentiallyReachableInner(), isProfitableToFoldUnconditional(), isSafeToHoistInvoke(), isTrivialLoopExitBlockHelper(), IsValueFullyAvailableInBlock(), markAliveBlocks(), MergeBlockIntoPredecessor(), llvm::BranchProbabilityInfo::print(), removeUnreachableBlocks(), SafeToMergeTerminators(), llvm::BasicBlock::splitBasicBlock(), and UnrollLoop().
|
inline |
Definition at line 230 of file Support/CFG.h.
References llvm::BasicBlock::getTerminator().
|
inline |
Definition at line 233 of file Support/CFG.h.
References llvm::BasicBlock::getTerminator().
|
inline |
Definition at line 249 of file RegionIterator.h.
|
inline |
Definition at line 110 of file Interval.h.
Referenced by llvm::SSAUpdaterTraits< SSAUpdater >::BlkSucc_end(), llvm::DominanceFrontier::calculate(), changeToUnreachable(), llvm::GraphTraits< BlockFrequencyInfo * >::child_end(), llvm::GraphTraits< Interval * >::child_end(), llvm::GraphTraits< BasicBlock * >::child_end(), llvm::GraphTraits< const BasicBlock * >::child_end(), ConnectProlog(), DFSPass(), llvm::InstCombiner::DoOneIteration(), llvm::CodeExtractor::extractCodeRegion(), FindFunctionBackedges(), llvm::BranchProbabilityInfo::getEdgeWeight(), llvm::BranchProbabilityInfo::getHotSucc(), llvm::RegionInfo::getMaxRegionExit(), llvm::Loop::getUniqueExitBlocks(), HoistThenElseCodeToIf(), isPotentiallyReachable(), isPotentiallyReachableInner(), isProfitableToFoldUnconditional(), isSafeToHoistInvoke(), isTrivialLoopExitBlockHelper(), IsValueFullyAvailableInBlock(), markAliveBlocks(), MergeBlockIntoPredecessor(), llvm::RNSuccIterator< NodeType >::operator++(), llvm::IntervalIterator< NodeTy, OrigContainer_t, GT, IGT >::operator++(), llvm::RNSuccIterator< FlatIt< NodeType > >::operator++(), llvm::BranchProbabilityInfo::print(), removeUnreachableBlocks(), llvm::RNSuccIterator< NodeType >::RNSuccIterator(), llvm::RNSuccIterator< FlatIt< NodeType > >::RNSuccIterator(), SafeToMergeTerminators(), llvm::BasicBlock::splitBasicBlock(), and UnrollLoop().
|
inline |
Definition at line 236 of file Support/CFG.h.
References llvm::BasicBlock::getTerminator().
|
inline |
Definition at line 239 of file Support/CFG.h.
References llvm::BasicBlock::getTerminator().
|
inline |
Definition at line 254 of file RegionIterator.h.
Definition at line 81 of file polymorphic_ptr.h.
References llvm::polymorphic_ptr< T >::swap().
Definition at line 85 of file OwningPtr.h.
References llvm::OwningPtr< T >::swap().
Referenced by Calculate(), llvm::BitcodeReader::FreeState(), llvm::BitcodeReader::MaterializeModule(), llvm::BinaryOperator::swapOperands(), llvm::ICmpInst::swapOperands(), llvm::FCmpInst::swapOperands(), and llvm::BranchInst::swapSuccessors().
Definition at line 147 of file OwningPtr.h.
References llvm::OwningArrayPtr< T >::swap().
const error_category & llvm::system_category | ( | ) |
Definition at line 94 of file system_error.cpp.
Referenced by llvm::error_code::clear(), make_error_code(), and posix_category().
int llvm::TableGenMain | ( | char * | argv0, |
TableGenMainFn * | MainFn | ||
) |
Definition at line 80 of file Main.cpp.
References llvm::SourceMgr::AddNewSourceBuffer(), createDependencyFile(), llvm::lltok::Error, ErrorsPrinted, errs(), F(), llvm::ARMBuildAttrs::File, llvm::MemoryBuffer::getFileOrSTDIN(), llvm::TGParser::ParseFile(), llvm::AArch64ISD::Ret, llvm::SourceMgr::setIncludeDirs(), SrcMgr, and llvm::OwningPtr< T >::take().
llvm::TEMPLATE_INSTANTIATION | ( | class DomTreeNodeBase< MachineBasicBlock > | ) |
llvm::TEMPLATE_INSTANTIATION | ( | class DominatorTreeBase< MachineBasicBlock > | ) |
Definition at line 216 of file STLExtras.h.
Referenced by llvm::VirtRegAuxInfo::calculateSpillWeightAndHint(), llvm::TargetLoweringBase::computeRegisterProperties(), matchVectorSplittingReduction(), llvm::LiveIntervals::pruneValue(), pushDepHeight(), llvm::SplitEditor::splitLiveThroughBlock(), llvm::SplitEditor::splitRegInBlock(), llvm::SplitEditor::splitRegOutBlock(), llvm::SelectionDAG::SplitVector(), and SplitVSETCC().
Construct a string ref from a boolean.
Definition at line 558 of file StringRef.h.
const SCEV * llvm::TransformForPostIncUse | ( | TransformKind | Kind, |
const SCEV * | S, | ||
Instruction * | User, | ||
Value * | OperandValToReplace, | ||
PostIncLoopSet & | Loops, | ||
ScalarEvolution & | SE, | ||
DominatorTree & | DT | ||
) |
TransformForPostIncUse - Transform the given expression according to the given transformation kind.
Top level driver for transforming an expression DAG into its requested post-inc form (either "Normalized" or "Denormalized".
Definition at line 222 of file ScalarEvolutionNormalization.cpp.
Referenced by llvm::IVUsers::AddUsersImpl(), and llvm::IVUsers::getExpr().
bool llvm::tryFoldSPUpdateIntoPushPop | ( | MachineFunction & | MF, |
MachineInstr * | MI, | ||
unsigned | NumBytes | ||
) |
Tries to add registers to the reglist of a given base-updating push/pop instruction to adjust the stack by an additional NumBytes. This can save a few bytes per function in code-size, but obviously generates more memory traffic. As such, it only takes effect in functions being optimised for size.
Definition at line 1860 of file ARMBaseInstrInfo.cpp.
References llvm::MachineInstrBuilder::addOperand(), llvm::MachineBasicBlock::computeRegisterLiveness(), llvm::MachineOperand::CreateReg(), llvm::MachineFunction::getFunction(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineOperand::getReg(), llvm::MachineFunction::getRegInfo(), llvm::MachineRegisterInfo::getTargetRegisterInfo(), llvm::Function::hasFnAttribute(), isPopOpcode(), isPushOpcode(), llvm::MachineBasicBlock::LQR_Dead, llvm::Attribute::MinSize, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::MachineInstr::RemoveOperand(), and llvm::SmallVectorTemplateCommon< T >::size().
Referenced by llvm::Thumb1FrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::Thumb1FrameLowering::emitPrologue(), and llvm::ARMFrameLowering::emitPrologue().
bool llvm::TryToSimplifyUncondBranchFromEmptyBlock | ( | BasicBlock * | BB | ) |
TryToSimplifyUncondBranchFromEmptyBlock - BB is known to contain an unconditional branch, and contains no instructions other than PHI nodes, potential debug intrinsics and the branch. If possible, eliminate BB by rewriting all the predecessors to branch to the successor block and return true. If we can't transform, return false.
TryToSimplifyUncondBranchFromEmptyBlock - BB is known to contain an unconditional branch, and contains no instructions other than PHI nodes, potential side-effect free intrinsics and the branch. If possible, eliminate BB by rewriting all the predecessors to branch to the successor block and return true. If we can't transform, return false.
Definition at line 725 of file Local.cpp.
References llvm::BasicBlock::begin(), CanPropagatePredecessorsForPHIs(), dbgs(), DEBUG, llvm::Instruction::eraseFromParent(), llvm::BasicBlock::eraseFromParent(), llvm::BasicBlock::front(), llvm::Function::getEntryBlock(), llvm::BasicBlock::getInstList(), llvm::BasicBlock::getParent(), llvm::BasicBlock::getTerminator(), I, pred_begin(), pred_end(), redirectValuesFromPredecessorsToPhi(), and llvm::Value::replaceAllUsesWith().
|
static |
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
bool llvm::UnrollLoop | ( | Loop * | L, |
unsigned | Count, | ||
unsigned | TripCount, | ||
bool | AllowRuntime, | ||
unsigned | TripMultiple, | ||
LoopInfo * | LI, | ||
LPPassManager * | LPM | ||
) |
Unroll the given loop by Count. The loop must be in LCSSA form. Returns true if unrolling was successful, or false if the loop was unmodified. Unrolling can only fail when the loop's latch block is not terminated by a conditional branch instruction. However, if the trip count (and multiple) are not known, loop unrolling will mostly produce more code that is no faster.
TripCount is generally defined as the number of times the loop header executes. UnrollLoop relaxes the definition to permit early exits: here TripCount is the iteration on which control exits LatchBlock if no early exits were taken. Note that UnrollLoop assumes that the loop counter test terminates LatchBlock in order to remove unnecesssary instances of the test. In other words, control may exit the loop prior to TripCount iterations via an early branch, but control may not exit the loop from the LatchBlock's terminator prior to TripCount iterations.
Similarly, TripMultiple divides the number of times that the LatchBlock may execute without exiting the loop.
The LoopInfo Analysis that is passed will be kept consistent.
If a LoopPassManager is passed in, and the loop is fully removed, it will be removed from the LoopPassManager as well. LPM can also be NULL.
This utility preserves LoopInfo. If DominatorTree or ScalarEvolution are available it must also preserve those analyses.
Definition at line 141 of file LoopUnroll.cpp.
References llvm::LoopBase< N, M >::addBasicBlockToLoop(), llvm::PHINode::addIncoming(), llvm::sys::path::begin(), llvm::ValueMap< KeyT, ValueT, Config >::begin(), llvm::BasicBlock::begin(), llvm::LoopBlocksDFS::beginRPO(), CloneBasicBlock(), llvm::LoopBase< N, M >::contains(), llvm::BranchInst::Create(), dbgs(), DEBUG, llvm::LPPassManager::deleteLoopFromQueue(), dyn_cast(), llvm::SmallVectorBase::empty(), llvm::StringRef::end(), llvm::ValueMap< KeyT, ValueT, Config >::end(), llvm::LoopBlocksDFS::endRPO(), llvm::iplist< NodeTy, Traits >::erase(), llvm::Instruction::eraseFromParent(), llvm::ValueMap< KeyT, ValueT, Config >::find(), FoldBlockIntoPredecessor(), llvm::ScalarEvolution::forgetLoop(), llvm::Pass::getAnalysisIfAvailable(), llvm::LoopInfo::getBase(), llvm::Function::getBasicBlockList(), llvm::LoopBase< N, M >::getBlocks(), llvm::LoopBase< N, M >::getHeader(), llvm::PHINode::getIncomingValueForBlock(), llvm::BasicBlock::getInstList(), llvm::LoopBase< N, M >::getLoopLatch(), llvm::LoopBase< N, M >::getLoopPreheader(), llvm::Value::getName(), llvm::BasicBlock::getParent(), llvm::BranchInst::getSuccessor(), llvm::BasicBlock::getTerminator(), GreatestCommonDivisor64(), llvm::BasicBlock::hasAddressTaken(), I, isInstructionTriviallyDead(), llvm::Loop::isSafeToClone(), llvm::BranchInst::isUnconditional(), llvm::LoopBlocksDFS::perform(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::iplist< NodeTy, Traits >::push_back(), RecursivelyDeleteTriviallyDeadInstructions(), RemapInstruction(), llvm::PHINode::removeIncomingValue(), llvm::Value::replaceAllUsesWith(), llvm::LoopInfo::replacementPreservesLCSSAForm(), llvm::ValueMapIterator< DenseMapT, KeyT >::ValueTypeProxy::second, llvm::BranchInst::setSuccessor(), SimplifyInstruction(), simplifyLoopIVs(), succ_begin(), succ_end(), and UnrollRuntimeLoopProlog().
bool llvm::UnrollRuntimeLoopProlog | ( | Loop * | L, |
unsigned | Count, | ||
LoopInfo * | LI, | ||
LPPassManager * | LPM | ||
) |
Insert code in the prolog code when unrolling a loop with a run-time trip-count.
This method assumes that the loop unroll factor is total number of loop bodes in the loop after unrolling. (Some folks refer to the unroll factor as the number of extra copies added). We assume also that the loop unroll factor is a power-of-two. So, after unrolling the loop, the number of loop bodies executed is 2, 4, 8, etc. Note - LLVM converts the if-then-sequence to a switch instruction in SimplifyCFG.cpp. Then, the backend decides how code for the switch instruction is generated.
extraiters = tripcount % loopfactor if (extraiters == 0) jump Loop: if (extraiters == loopfactor) jump L1 if (extraiters == loopfactor-1) jump L2 ... L1: LoopBody; L2: LoopBody; ... if tripcount < loopfactor jump End Loop: ... End:
Definition at line 227 of file LoopUnrollRuntime.cpp.
References llvm::sys::path::begin(), CloneLoopBlocks(), ConnectProlog(), llvm::BasicBlock::Create(), llvm::BranchInst::Create(), llvm::StringRef::end(), llvm::Function::end(), F(), llvm::ScalarEvolution::forgetLoop(), llvm::ConstantInt::get(), llvm::ScalarEvolution::getAddExpr(), llvm::Pass::getAnalysisIfAvailable(), llvm::LPPassManager::getAsPass(), llvm::ScalarEvolution::getBackedgeTakenCount(), llvm::LoopInfo::getBase(), llvm::Function::getBasicBlockList(), llvm::ScalarEvolution::getConstant(), llvm::BasicBlock::getContext(), llvm::LoopBase< N, M >::getExitingBlock(), llvm::LoopBase< N, M >::getHeader(), llvm::LoopBase< N, M >::getLoopLatch(), llvm::LoopBase< N, M >::getLoopPreheader(), llvm::BasicBlock::getParent(), llvm::LoopBase< N, M >::getParentLoop(), llvm::BasicBlock::getTerminator(), llvm::SCEV::getType(), llvm::Value::getType(), llvm::Loop::getUniqueExitBlock(), I, llvm::CmpInst::ICMP_EQ, llvm::CmpInst::ICMP_NE, llvm::Instruction::insertBefore(), llvm::Type::isIntegerTy(), llvm::Loop::isLoopSimplifyForm(), llvm::LoopBlocksDFS::perform(), RemapInstruction(), RF_IgnoreMissingEntries, RF_NoModuleLevelChanges, llvm::TerminatorInst::setSuccessor(), llvm::iplist< NodeTy, Traits >::splice(), SplitBlock(), and SplitEdge().
Referenced by UnrollLoop().
|
static |
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
inline |
Definition at line 54 of file CodeGen.h.
References llvm::CodeModel::Default, llvm::CodeModel::JITDefault, llvm::CodeModel::Kernel, llvm::CodeModel::Large, LLVMCodeModelDefault, LLVMCodeModelJITDefault, LLVMCodeModelKernel, LLVMCodeModelLarge, LLVMCodeModelMedium, LLVMCodeModelSmall, llvm::CodeModel::Medium, and llvm::CodeModel::Small.
|
inline |
Definition at line 119 of file LLVMContext.h.
Referenced by LLVMABIAlignmentOfType(), LLVMABISizeOfType(), LLVMAddAggressiveDCEPass(), LLVMAddAlias(), LLVMAddAlwaysInlinerPass(), LLVMAddArgumentPromotionPass(), LLVMAddBasicAliasAnalysisPass(), LLVMAddBBVectorizePass(), LLVMAddCase(), LLVMAddCFGSimplificationPass(), LLVMAddClause(), LLVMAddConstantMergePass(), LLVMAddConstantPropagationPass(), LLVMAddCorrelatedValuePropagationPass(), LLVMAddDeadArgEliminationPass(), LLVMAddDeadStoreEliminationPass(), LLVMAddDemoteMemoryToRegisterPass(), LLVMAddDestination(), LLVMAddEarlyCSEPass(), LLVMAddFunction(), LLVMAddFunctionAttrsPass(), LLVMAddFunctionInliningPass(), LLVMAddGlobal(), LLVMAddGlobalDCEPass(), LLVMAddGlobalInAddressSpace(), LLVMAddGlobalMapping(), LLVMAddGlobalOptimizerPass(), LLVMAddGVNPass(), LLVMAddIncoming(), LLVMAddIndVarSimplifyPass(), LLVMAddInstructionCombiningPass(), LLVMAddInternalizePass(), LLVMAddIPConstantPropagationPass(), LLVMAddIPSCCPPass(), LLVMAddJumpThreadingPass(), LLVMAddLICMPass(), LLVMAddLoopDeletionPass(), LLVMAddLoopIdiomPass(), LLVMAddLoopRerollPass(), LLVMAddLoopRotatePass(), LLVMAddLoopUnrollPass(), LLVMAddLoopUnswitchPass(), LLVMAddLoopVectorizePass(), LLVMAddLowerExpectIntrinsicPass(), LLVMAddMemCpyOptPass(), LLVMAddModule(), LLVMAddNamedMetadataOperand(), LLVMAddPartiallyInlineLibCallsPass(), LLVMAddPromoteMemoryToRegisterPass(), LLVMAddPruneEHPass(), LLVMAddReassociatePass(), LLVMAddScalarReplAggregatesPass(), LLVMAddScalarReplAggregatesPassSSA(), LLVMAddScalarReplAggregatesPassWithThreshold(), LLVMAddSCCPPass(), LLVMAddSLPVectorizePass(), LLVMAddStripDeadPrototypesPass(), LLVMAddStripSymbolsPass(), LLVMAddTailCallEliminationPass(), LLVMAddTargetData(), LLVMAddTargetLibraryInfo(), LLVMAddTypeBasedAliasAnalysisPass(), LLVMAddVerifierPass(), LLVMAlignOf(), LLVMAppendBasicBlockInContext(), LLVMArrayType(), LLVMBasicBlockAsValue(), LLVMBlockAddress(), LLVMBuildAdd(), LLVMBuildAddrSpaceCast(), LLVMBuildAggregateRet(), LLVMBuildAlloca(), LLVMBuildAnd(), LLVMBuildArrayAlloca(), LLVMBuildArrayMalloc(), LLVMBuildAShr(), LLVMBuildAtomicRMW(), LLVMBuildBinOp(), LLVMBuildBitCast(), LLVMBuildBr(), LLVMBuildCall(), LLVMBuildCast(), LLVMBuildCondBr(), LLVMBuildExactSDiv(), LLVMBuildExtractElement(), LLVMBuildExtractValue(), LLVMBuildFAdd(), LLVMBuildFCmp(), LLVMBuildFDiv(), LLVMBuildFMul(), LLVMBuildFNeg(), LLVMBuildFPCast(), LLVMBuildFPExt(), LLVMBuildFPToSI(), LLVMBuildFPToUI(), LLVMBuildFPTrunc(), LLVMBuildFree(), LLVMBuildFRem(), LLVMBuildFSub(), LLVMBuildGEP(), LLVMBuildGlobalString(), LLVMBuildGlobalStringPtr(), LLVMBuildICmp(), LLVMBuildInBoundsGEP(), LLVMBuildIndirectBr(), LLVMBuildInsertElement(), LLVMBuildInsertValue(), LLVMBuildIntCast(), LLVMBuildIntToPtr(), LLVMBuildInvoke(), LLVMBuildIsNotNull(), LLVMBuildIsNull(), LLVMBuildLandingPad(), LLVMBuildLoad(), LLVMBuildLShr(), LLVMBuildMalloc(), LLVMBuildMul(), LLVMBuildNeg(), LLVMBuildNot(), LLVMBuildNSWAdd(), LLVMBuildNSWMul(), LLVMBuildNSWNeg(), LLVMBuildNSWSub(), LLVMBuildNUWAdd(), LLVMBuildNUWMul(), LLVMBuildNUWNeg(), LLVMBuildNUWSub(), LLVMBuildOr(), LLVMBuildPhi(), LLVMBuildPointerCast(), LLVMBuildPtrDiff(), LLVMBuildPtrToInt(), LLVMBuildResume(), LLVMBuildRet(), LLVMBuildRetVoid(), LLVMBuildSDiv(), LLVMBuildSelect(), LLVMBuildSExt(), LLVMBuildSExtOrBitCast(), LLVMBuildShl(), LLVMBuildShuffleVector(), LLVMBuildSIToFP(), LLVMBuildSRem(), LLVMBuildStore(), LLVMBuildStructGEP(), LLVMBuildSub(), LLVMBuildSwitch(), LLVMBuildTrunc(), LLVMBuildTruncOrBitCast(), LLVMBuildUDiv(), LLVMBuildUIToFP(), LLVMBuildUnreachable(), LLVMBuildURem(), LLVMBuildVAArg(), LLVMBuildXor(), LLVMBuildZExt(), LLVMBuildZExtOrBitCast(), LLVMByteOrder(), LLVMCallFrameAlignmentOfType(), LLVMClearInsertionPosition(), LLVMConstAddrSpaceCast(), LLVMConstAllOnes(), LLVMConstArray(), LLVMConstBitCast(), LLVMConstFPCast(), LLVMConstFPExt(), LLVMConstFPToSI(), LLVMConstFPToUI(), LLVMConstFPTrunc(), LLVMConstInlineAsm(), LLVMConstIntCast(), LLVMConstIntToPtr(), LLVMConstNamedStruct(), LLVMConstNull(), LLVMConstPointerCast(), LLVMConstPtrToInt(), LLVMConstReal(), LLVMConstRealOfString(), LLVMConstRealOfStringAndSize(), LLVMConstSExt(), LLVMConstSExtOrBitCast(), LLVMConstSIToFP(), LLVMConstStringInContext(), LLVMConstStructInContext(), LLVMConstTrunc(), LLVMConstTruncOrBitCast(), LLVMConstUIToFP(), LLVMConstZExt(), LLVMConstZExtOrBitCast(), LLVMContextDispose(), LLVMCopyStringRepOfTargetData(), LLVMCreateBuilderInContext(), LLVMCreateExecutionEngineForModule(), LLVMCreateFunctionPassManagerForModule(), LLVMCreateGenericValueOfFloat(), LLVMCreateInterpreterForModule(), LLVMCreateJITCompilerForModule(), LLVMCreateMCJITCompilerForModule(), LLVMCreateObjectFile(), LLVMCreateTargetMachine(), LLVMDeleteBasicBlock(), LLVMDisposeBuilder(), LLVMDisposeExecutionEngine(), LLVMDisposeGenericValue(), LLVMDisposeMemoryBuffer(), LLVMDisposeModule(), LLVMDisposeModuleProvider(), LLVMDisposeObjectFile(), LLVMDisposePassManager(), LLVMDisposeRelocationIterator(), LLVMDisposeSectionIterator(), LLVMDisposeSymbolIterator(), LLVMDisposeTargetData(), LLVMDisposeTargetMachine(), LLVMDoubleTypeInContext(), LLVMDumpModule(), LLVMDumpType(), LLVMDumpValue(), LLVMElementAtOffset(), LLVMFindFunction(), LLVMFloatTypeInContext(), LLVMFP128TypeInContext(), LLVMFreeMachineCodeForFunction(), LLVMFunctionType(), LLVMGenericValueIntWidth(), LLVMGenericValueToFloat(), LLVMGenericValueToInt(), LLVMGenericValueToPointer(), LLVMGetBasicBlockParent(), LLVMGetBasicBlockTerminator(), LLVMGetBitcodeModuleInContext(), LLVMGetBufferSize(), LLVMGetBufferStart(), LLVMGetCurrentDebugLocation(), LLVMGetDataLayout(), LLVMGetExecutionEngineTargetData(), LLVMGetFirstFunction(), LLVMGetFirstGlobal(), LLVMGetFirstInstruction(), LLVMGetFirstUse(), LLVMGetICmpPredicate(), LLVMGetInsertBlock(), LLVMGetInstructionCallConv(), LLVMGetInstructionOpcode(), LLVMGetIntrinsicID(), LLVMGetLastFunction(), LLVMGetLastGlobal(), LLVMGetLastInstruction(), LLVMGetMDKindIDInContext(), LLVMGetMDNodeNumOperands(), LLVMGetMDNodeOperands(), LLVMGetMDString(), LLVMGetModuleContext(), LLVMGetNamedFunction(), LLVMGetNamedGlobal(), LLVMGetNamedMetadataNumOperands(), LLVMGetNamedMetadataOperands(), LLVMGetNextBasicBlock(), LLVMGetNextTarget(), LLVMGetNextUse(), LLVMGetNumOperands(), LLVMGetOperand(), LLVMGetPointerToGlobal(), LLVMGetPreviousBasicBlock(), LLVMGetRelocationAddress(), LLVMGetRelocationOffset(), LLVMGetRelocations(), LLVMGetRelocationSymbol(), LLVMGetRelocationType(), LLVMGetRelocationTypeName(), LLVMGetRelocationValueString(), LLVMGetSectionAddress(), LLVMGetSectionContainsSymbol(), LLVMGetSectionContents(), LLVMGetSectionName(), LLVMGetSections(), LLVMGetSectionSize(), LLVMGetSymbolAddress(), LLVMGetSymbolFileOffset(), LLVMGetSymbolName(), LLVMGetSymbols(), LLVMGetSymbolSize(), LLVMGetTarget(), LLVMGetTargetDescription(), LLVMGetTargetMachineCPU(), LLVMGetTargetMachineData(), LLVMGetTargetMachineFeatureString(), LLVMGetTargetMachineTarget(), LLVMGetTargetMachineTriple(), LLVMGetTargetName(), LLVMGetTypeByName(), LLVMGetTypeContext(), LLVMGetTypeKind(), LLVMGetUndef(), LLVMGetUsedValue(), LLVMGetUser(), LLVMGetValueName(), LLVMHalfTypeInContext(), LLVMInitializeAnalysis(), LLVMInitializeCodeGen(), LLVMInitializeCore(), LLVMInitializeInstCombine(), LLVMInitializeInstrumentation(), LLVMInitializeIPA(), LLVMInitializeIPO(), LLVMInitializeObjCARCOpts(), LLVMInitializeScalarOpts(), LLVMInitializeTarget(), LLVMInitializeTransformUtils(), LLVMInitializeVectorization(), LLVMInsertBasicBlockInContext(), LLVMInsertIntoBuilder(), LLVMInsertIntoBuilderWithName(), LLVMInt16TypeInContext(), LLVMInt1TypeInContext(), LLVMInt32TypeInContext(), LLVMInt64TypeInContext(), LLVMInt8TypeInContext(), LLVMIntPtrType(), LLVMIntPtrTypeForAS(), LLVMIntPtrTypeForASInContext(), LLVMIntPtrTypeInContext(), LLVMIntTypeInContext(), LLVMIsConstant(), LLVMIsNull(), LLVMIsRelocationIteratorAtEnd(), LLVMIsSectionIteratorAtEnd(), LLVMIsSymbolIteratorAtEnd(), LLVMIsUndef(), LLVMLabelTypeInContext(), LLVMLinkModules(), LLVMMDNodeInContext(), LLVMMDStringInContext(), LLVMModuleCreateWithNameInContext(), LLVMMoveBasicBlockAfter(), LLVMMoveBasicBlockBefore(), LLVMMoveToContainingSection(), LLVMMoveToNextRelocation(), LLVMMoveToNextSection(), LLVMMoveToNextSymbol(), LLVMOffsetOfElement(), LLVMParseBitcodeInContext(), LLVMParseIRInContext(), LLVMPassManagerBuilderDispose(), LLVMPassManagerBuilderPopulateFunctionPassManager(), LLVMPassManagerBuilderPopulateLTOPassManager(), LLVMPassManagerBuilderPopulateModulePassManager(), LLVMPassManagerBuilderSetDisableUnitAtATime(), LLVMPassManagerBuilderSetDisableUnrollLoops(), LLVMPassManagerBuilderSetOptLevel(), LLVMPassManagerBuilderSetSizeLevel(), LLVMPassManagerBuilderUseInlinerWithThreshold(), LLVMPointerSize(), LLVMPointerSizeForAS(), LLVMPointerType(), LLVMPositionBuilder(), LLVMPositionBuilderAtEnd(), LLVMPositionBuilderBefore(), LLVMPPCFP128TypeInContext(), LLVMPreferredAlignmentOfGlobal(), LLVMPreferredAlignmentOfType(), LLVMPrintModuleToFile(), LLVMPrintModuleToString(), LLVMPrintTypeToString(), LLVMPrintValueToString(), LLVMRecompileAndRelinkFunction(), LLVMRemoveBasicBlockFromParent(), LLVMRemoveModule(), LLVMReplaceAllUsesWith(), LLVMRunFunction(), LLVMRunFunctionAsMain(), LLVMRunPassManager(), LLVMRunStaticConstructors(), LLVMRunStaticDestructors(), LLVMSetCurrentDebugLocation(), LLVMSetDataLayout(), LLVMSetInstDebugLocation(), LLVMSetInstructionCallConv(), LLVMSetModuleInlineAsm(), LLVMSetOperand(), LLVMSetTarget(), LLVMSetTargetMachineAsmVerbosity(), LLVMSetValueName(), LLVMSizeOf(), LLVMSizeOfTypeInBits(), LLVMStoreSizeOfType(), LLVMStructCreateNamed(), LLVMStructSetBody(), LLVMStructTypeInContext(), LLVMTargetHasAsmBackend(), LLVMTargetHasJIT(), LLVMTargetHasTargetMachine(), LLVMTargetMachineEmit(), LLVMTypeIsSized(), LLVMTypeOf(), LLVMValueIsBasicBlock(), LLVMVectorType(), LLVMVerifyModule(), LLVMVoidTypeInContext(), LLVMWriteBitcodeToFD(), LLVMWriteBitcodeToFile(), LLVMX86FP80TypeInContext(), and LLVMX86MMXTypeInContext().
|
inline |
|
inline |
|
inline |
|
inline |
This is an auto-upgrade for bitcast constant expression between pointers with different address spaces: the instruction is replaced by a pair ptrtoint+inttoptr.
Definition at line 473 of file AutoUpgrade.cpp.
References llvm::Value::getContext(), llvm::Type::getInt64Ty(), llvm::ConstantExpr::getIntToPtr(), llvm::Type::getPointerAddressSpace(), llvm::ConstantExpr::getPtrToInt(), llvm::Value::getType(), and llvm::Type::isPtrOrPtrVectorTy().
Instruction * llvm::UpgradeBitCastInst | ( | unsigned | Opc, |
Value * | V, | ||
Type * | DestTy, | ||
Instruction *& | Temp | ||
) |
This is an auto-upgrade for bitcast between pointers with different address spaces: the instruction is replaced by a pair ptrtoint+inttoptr.
Definition at line 451 of file AutoUpgrade.cpp.
References llvm::CastInst::Create(), llvm::Value::getContext(), llvm::Type::getInt64Ty(), llvm::Type::getPointerAddressSpace(), llvm::Value::getType(), and llvm::Type::isPtrOrPtrVectorTy().
void llvm::UpgradeCallsToIntrinsic | ( | Function * | F | ) |
This is an auto-upgrade hook for any old intrinsic function syntaxes which need to have both the function updated as well as all calls updated to the new function. This should only be run in a post-processing fashion so that it can update all calls to the old function.
Definition at line 404 of file AutoUpgrade.cpp.
References llvm::Function::eraseFromParent(), UpgradeIntrinsicCall(), UpgradeIntrinsicFunction(), llvm::Value::use_begin(), and llvm::Value::use_end().
bool llvm::UpgradeGlobalVariable | ( | GlobalVariable * | GV | ) |
This checks for global variables which should be upgraded. It returns true if it requires upgrading.
Definition at line 171 of file AutoUpgrade.cpp.
void llvm::UpgradeInstWithTBAATag | ( | Instruction * | I | ) |
If the TBAA tag for the given instruction uses the scalar TBAA format, we upgrade it to the struct-path aware TBAA format.
Definition at line 423 of file AutoUpgrade.cpp.
References llvm::MDNode::get(), llvm::Value::getContext(), llvm::Type::getInt64Ty(), llvm::Instruction::getMetadata(), llvm::Constant::getNullValue(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), llvm::LLVMContext::MD_tbaa, and llvm::Instruction::setMetadata().
Referenced by llvm::BitcodeReader::MaterializeModule().
This is the complement to the above, replacing a specific call to an intrinsic function with a call to the specified new function.
Definition at line 179 of file AutoUpgrade.cpp.
References llvm::Intrinsic::arm_neon_vclz, llvm::CallingConv::C, llvm::IRBuilder< preserveNames, T, Inserter >::CreateBitCast(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall2(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateCall3(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpEQ(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpSGT(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateSExt(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateShuffleVector(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateStore(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateTrunc(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateZExt(), llvm::Intrinsic::ctlz, llvm::Intrinsic::ctpop, llvm::Intrinsic::cttz, llvm::StringRef::endswith(), llvm::Instruction::eraseFromParent(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::VectorType::get(), llvm::ConstantVector::get(), llvm::CallInst::getArgOperand(), llvm::CallInst::getCalledFunction(), llvm::Value::getContext(), llvm::Intrinsic::getDeclaration(), llvm::IRBuilderBase::getFalse(), llvm::Type::getFloatTy(), llvm::IRBuilderBase::getInt32(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), llvm::IRBuilderBase::getInt8(), llvm::Function::getIntrinsicID(), llvm::Module::getMDKindID(), llvm::Value::getName(), llvm::CallInst::getNumArgOperands(), llvm::Instruction::getParent(), llvm::GlobalValue::getParent(), llvm::Value::getType(), llvm::PointerType::getUnqual(), llvm_unreachable, llvm::Intrinsic::objectsize, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::Value::replaceAllUsesWith(), llvm::StoreInst::setAlignment(), llvm::IRBuilderBase::SetInsertPoint(), llvm::Instruction::setMetadata(), llvm::Value::setName(), llvm::StringRef::startswith(), llvm::StringRef::str(), llvm::StringRef::substr(), llvm::Intrinsic::x86_sse41_ptestc, llvm::Intrinsic::x86_sse41_ptestnzc, llvm::Intrinsic::x86_sse41_ptestz, llvm::Intrinsic::x86_sse42_crc32_32_8, llvm::Intrinsic::x86_xop_vfrcz_sd, llvm::Intrinsic::x86_xop_vfrcz_ss, llvm::Intrinsic::x86_xop_vpcomb, llvm::Intrinsic::x86_xop_vpcomd, llvm::Intrinsic::x86_xop_vpcomq, llvm::Intrinsic::x86_xop_vpcomub, llvm::Intrinsic::x86_xop_vpcomud, llvm::Intrinsic::x86_xop_vpcomuq, llvm::Intrinsic::x86_xop_vpcomuw, and llvm::Intrinsic::x86_xop_vpcomw.
Referenced by llvm::BitcodeReader::Materialize(), llvm::BitcodeReader::MaterializeModule(), and UpgradeCallsToIntrinsic().
This is a more granular function that simply checks an intrinsic function for upgrading, and returns true if it requires upgrading. It may return null in NewFn if the all calls to the original intrinsic function should be transformed to non-function-call instructions.
Definition at line 158 of file AutoUpgrade.cpp.
References llvm::Intrinsic::getAttributes(), llvm::Function::getContext(), llvm::Function::getIntrinsicID(), llvm::Function::setAttributes(), and UpgradeIntrinsicFunction1().
Referenced by UpgradeCallsToIntrinsic().
|
inlinestatic |
utohex_buffer - Emit the specified number into the buffer specified by BufferEnd, returning a pointer to the start of the string. This can be used like this: (note that the buffer must be large enough to handle any number): char Buffer[40]; printf("0x%s", utohex_buffer(X, Buffer+40));
This should only be used with unsigned types.
Definition at line 51 of file StringExtras.h.
References hexdigit(), and X.
Referenced by utohexstr(), and WriteConstantInternal().
|
inlinestatic |
Definition at line 67 of file StringExtras.h.
References utohex_buffer().
Referenced by llvm::yaml::escape(), llvm::MipsAsmPrinter::PrintAsmOperand(), and llvm::NVPTXFloatMCExpr::PrintImpl().
Definition at line 88 of file StringExtras.h.
Referenced by llvm::Attribute::getAsString(), llvm::BitsRecTy::getAsString(), llvm::VarBitInit::getAsString(), llvm::VarListElementInit::getAsString(), llvm::EVT::getEVTString(), llvm::Intrinsic::getName(), GetNewAnonymousName(), llvm::SDNode::getOperationName(), llvm::DwarfDebug::getOrCreateSourceID(), llvm::TargetLoweringObjectFileELF::getStaticCtorSection(), llvm::TargetLoweringObjectFileELF::getStaticDtorSection(), getTypePrefix(), itostr(), PrintStatistics(), llvm::TargetLoweringObjectFileELF::SelectSectionForGlobal(), and llvm::A64SysReg::SysRegMapper::toString().
Definition at line 72 of file StringExtras.h.
bool llvm::vectorizeBasicBlock | ( | Pass * | P, |
BasicBlock & | BB, | ||
const VectorizeConfig & | C = VectorizeConfig() |
||
) |
Vectorize the BasicBlock.
BB | The BasicBlock to be vectorized |
P | The current running pass, should require AliasAnalysis and ScalarEvolution. After the vectorization, AliasAnalysis, ScalarEvolution and CFG are preserved. |
Definition at line 3153 of file BBVectorize.cpp.
bool llvm::verifyFunction | ( | const Function & | f, |
VerifierFailureAction | action = AbortProcessAction |
||
) |
verifyFunction - Check a function for errors, printing messages on stderr. Return true if the function is corrupt.
f | The function to be verified |
action | Action to take |
Definition at line 2417 of file Verifier.cpp.
References llvm::GlobalValue::getParent(), and llvm::GlobalValue::isDeclaration().
Referenced by llvm::CodeExtractor::extractCodeRegion(), and LLVMVerifyFunction().
bool llvm::verifyModule | ( | const Module & | M, |
VerifierFailureAction | action = AbortProcessAction , |
||
std::string * | ErrorInfo = 0 |
||
) |
Check a module for errors.
If there are no errors, the function returns false. If an error is found, the action taken depends on the action
parameter. This should only be used for debugging, because it plays games with PassManagers and stuff.
verifyModule - Check a module for errors, printing messages on stderr. Return true if the module is corrupt.
M | The module to be verified |
action | Action to take |
ErrorInfo | Information about failures. |
Definition at line 2432 of file Verifier.cpp.
Referenced by LLVMVerifyModule().
void llvm::ViewGraph | ( | const GraphType & | G, |
const Twine & | Name, | ||
bool | ShortNames = false , |
||
const Twine & | Title = "" , |
||
GraphProgram::Name | Program = GraphProgram::DOT |
||
) |
ViewGraph - Emit a dot graph, run 'dot', run gv on the postscript file, then cleanup. For use from the debugger.
Definition at line 346 of file GraphWriter.h.
References DisplayGraph(), and WriteGraph().
Referenced by llvm::DOTGraphTraitsViewer< Analysis, Simple >::runOnFunction(), llvm::DOTGraphTraitsModuleViewer< Analysis, Simple >::runOnModule(), llvm::BlockFrequencyInfo::view(), llvm::EdgeBundles::view(), llvm::MachineFunction::viewCFG(), llvm::MachineFunction::viewCFGOnly(), llvm::SelectionDAG::viewGraph(), llvm::ScheduleDAGMI::viewGraph(), and llvm::ScheduleDAG::viewGraph().
void llvm::visitAll | ( | const SCEV * | Root, |
SV & | Visitor | ||
) |
Use SCEVTraversal to visit all nodes in the givien expression tree.
Definition at line 553 of file ScalarEvolutionExpressions.h.
References T, and llvm::SCEVTraversal< SV >::visitAll().
Referenced by llvm::ScalarEvolution::hasOperand(), and isSafeToExpand().
|
inline |
Definition at line 72 of file CodeGen.h.
References llvm::CodeModel::Default, llvm::CodeModel::JITDefault, llvm::CodeModel::Kernel, llvm::CodeModel::Large, llvm_unreachable, LLVMCodeModelDefault, LLVMCodeModelJITDefault, LLVMCodeModelKernel, LLVMCodeModelLarge, LLVMCodeModelMedium, LLVMCodeModelSmall, llvm::CodeModel::Medium, and llvm::CodeModel::Small.
|
inline |
Definition at line 123 of file LLVMContext.h.
Referenced by LLVMAddAlias(), LLVMAddFunction(), LLVMAddGlobal(), LLVMAddGlobalInAddressSpace(), LLVMAlignOf(), LLVMAppendBasicBlockInContext(), LLVMArrayType(), LLVMBasicBlockAsValue(), LLVMBlockAddress(), LLVMBuildAdd(), LLVMBuildAddrSpaceCast(), LLVMBuildAggregateRet(), LLVMBuildAlloca(), LLVMBuildAnd(), LLVMBuildArrayAlloca(), LLVMBuildArrayMalloc(), LLVMBuildAShr(), LLVMBuildAtomicRMW(), LLVMBuildBinOp(), LLVMBuildBitCast(), LLVMBuildBr(), LLVMBuildCall(), LLVMBuildCast(), LLVMBuildCondBr(), LLVMBuildExactSDiv(), LLVMBuildExtractElement(), LLVMBuildExtractValue(), LLVMBuildFAdd(), LLVMBuildFCmp(), LLVMBuildFDiv(), LLVMBuildFMul(), LLVMBuildFNeg(), LLVMBuildFPCast(), LLVMBuildFPExt(), LLVMBuildFPToSI(), LLVMBuildFPToUI(), LLVMBuildFPTrunc(), LLVMBuildFree(), LLVMBuildFRem(), LLVMBuildFSub(), LLVMBuildGEP(), LLVMBuildGlobalString(), LLVMBuildGlobalStringPtr(), LLVMBuildICmp(), LLVMBuildInBoundsGEP(), LLVMBuildIndirectBr(), LLVMBuildInsertElement(), LLVMBuildInsertValue(), LLVMBuildIntCast(), LLVMBuildIntToPtr(), LLVMBuildInvoke(), LLVMBuildIsNotNull(), LLVMBuildIsNull(), LLVMBuildLandingPad(), LLVMBuildLoad(), LLVMBuildLShr(), LLVMBuildMalloc(), LLVMBuildMul(), LLVMBuildNeg(), LLVMBuildNot(), LLVMBuildNSWAdd(), LLVMBuildNSWMul(), LLVMBuildNSWNeg(), LLVMBuildNSWSub(), LLVMBuildNUWAdd(), LLVMBuildNUWMul(), LLVMBuildNUWNeg(), LLVMBuildNUWSub(), LLVMBuildOr(), LLVMBuildPhi(), LLVMBuildPointerCast(), LLVMBuildPtrDiff(), LLVMBuildPtrToInt(), LLVMBuildResume(), LLVMBuildRet(), LLVMBuildRetVoid(), LLVMBuildSDiv(), LLVMBuildSelect(), LLVMBuildSExt(), LLVMBuildSExtOrBitCast(), LLVMBuildShl(), LLVMBuildShuffleVector(), LLVMBuildSIToFP(), LLVMBuildSRem(), LLVMBuildStore(), LLVMBuildStructGEP(), LLVMBuildSub(), LLVMBuildSwitch(), LLVMBuildTrunc(), LLVMBuildTruncOrBitCast(), LLVMBuildUDiv(), LLVMBuildUIToFP(), LLVMBuildUnreachable(), LLVMBuildURem(), LLVMBuildVAArg(), LLVMBuildXor(), LLVMBuildZExt(), LLVMBuildZExtOrBitCast(), LLVMConstAdd(), LLVMConstAddrSpaceCast(), LLVMConstAllOnes(), LLVMConstAnd(), LLVMConstArray(), LLVMConstAShr(), LLVMConstBitCast(), LLVMConstExactSDiv(), LLVMConstExtractElement(), LLVMConstExtractValue(), LLVMConstFAdd(), LLVMConstFCmp(), LLVMConstFDiv(), LLVMConstFMul(), LLVMConstFNeg(), LLVMConstFPCast(), LLVMConstFPExt(), LLVMConstFPToSI(), LLVMConstFPToUI(), LLVMConstFPTrunc(), LLVMConstFRem(), LLVMConstFSub(), LLVMConstGEP(), LLVMConstICmp(), LLVMConstInBoundsGEP(), LLVMConstInlineAsm(), LLVMConstInsertElement(), LLVMConstInsertValue(), LLVMConstInt(), LLVMConstIntCast(), LLVMConstIntOfArbitraryPrecision(), LLVMConstIntOfString(), LLVMConstIntOfStringAndSize(), LLVMConstIntToPtr(), LLVMConstLShr(), LLVMConstMul(), LLVMConstNamedStruct(), LLVMConstNeg(), LLVMConstNot(), LLVMConstNSWAdd(), LLVMConstNSWMul(), LLVMConstNSWNeg(), LLVMConstNSWSub(), LLVMConstNull(), LLVMConstNUWAdd(), LLVMConstNUWMul(), LLVMConstNUWNeg(), LLVMConstNUWSub(), LLVMConstOr(), LLVMConstPointerCast(), LLVMConstPointerNull(), LLVMConstPtrToInt(), LLVMConstReal(), LLVMConstRealOfString(), LLVMConstRealOfStringAndSize(), LLVMConstSDiv(), LLVMConstSelect(), LLVMConstSExt(), LLVMConstSExtOrBitCast(), LLVMConstShl(), LLVMConstShuffleVector(), LLVMConstSIToFP(), LLVMConstSRem(), LLVMConstStringInContext(), LLVMConstStructInContext(), LLVMConstSub(), LLVMConstTrunc(), LLVMConstTruncOrBitCast(), LLVMConstUDiv(), LLVMConstUIToFP(), LLVMConstURem(), LLVMConstVector(), LLVMConstXor(), LLVMConstZExt(), LLVMConstZExtOrBitCast(), LLVMContextCreate(), LLVMCreateBuilderInContext(), LLVMCreateExecutionEngineForModule(), LLVMCreateFunctionPassManagerForModule(), LLVMCreateGenericValueOfFloat(), LLVMCreateGenericValueOfInt(), LLVMCreateGenericValueOfPointer(), LLVMCreateInterpreterForModule(), LLVMCreateJITCompilerForModule(), LLVMCreateMCJITCompilerForModule(), LLVMCreateMemoryBufferWithContentsOfFile(), LLVMCreateMemoryBufferWithMemoryRange(), LLVMCreateMemoryBufferWithMemoryRangeCopy(), LLVMCreateMemoryBufferWithSTDIN(), LLVMCreateObjectFile(), LLVMCreatePassManager(), LLVMCreateTargetData(), LLVMCreateTargetMachine(), LLVMFindFunction(), LLVMFunctionType(), LLVMGetBasicBlockParent(), LLVMGetBasicBlocks(), LLVMGetBasicBlockTerminator(), LLVMGetBitcodeModuleInContext(), LLVMGetCurrentDebugLocation(), LLVMGetElementType(), LLVMGetEntryBasicBlock(), LLVMGetExecutionEngineTargetData(), LLVMGetFirstBasicBlock(), LLVMGetFirstFunction(), LLVMGetFirstGlobal(), LLVMGetFirstInstruction(), LLVMGetFirstParam(), LLVMGetFirstTarget(), LLVMGetFirstUse(), LLVMGetGlobalContext(), LLVMGetGlobalParent(), LLVMGetGlobalPassRegistry(), LLVMGetIncomingBlock(), LLVMGetIncomingValue(), LLVMGetInitializer(), LLVMGetInsertBlock(), LLVMGetInstructionParent(), LLVMGetLastBasicBlock(), LLVMGetLastFunction(), LLVMGetLastGlobal(), LLVMGetLastInstruction(), LLVMGetLastParam(), LLVMGetMDNodeOperands(), LLVMGetMetadata(), LLVMGetModuleContext(), LLVMGetNamedFunction(), LLVMGetNamedGlobal(), LLVMGetNamedMetadataOperands(), LLVMGetNextBasicBlock(), LLVMGetNextFunction(), LLVMGetNextGlobal(), LLVMGetNextInstruction(), LLVMGetNextParam(), LLVMGetNextTarget(), LLVMGetNextUse(), LLVMGetOperand(), LLVMGetParam(), LLVMGetParamParent(), LLVMGetParams(), LLVMGetParamTypes(), LLVMGetPreviousBasicBlock(), LLVMGetPreviousFunction(), LLVMGetPreviousGlobal(), LLVMGetPreviousInstruction(), LLVMGetPreviousParam(), LLVMGetRelocations(), LLVMGetRelocationSymbol(), LLVMGetReturnType(), LLVMGetSections(), LLVMGetStructElementTypes(), LLVMGetSwitchDefaultDest(), LLVMGetSymbols(), LLVMGetTargetFromName(), LLVMGetTargetFromTriple(), LLVMGetTargetMachineData(), LLVMGetTargetMachineTarget(), LLVMGetTypeByName(), LLVMGetTypeContext(), LLVMGetUndef(), LLVMGetUsedValue(), LLVMGetUser(), LLVMInsertBasicBlockInContext(), LLVMIntPtrType(), LLVMIntPtrTypeForAS(), LLVMIntPtrTypeForASInContext(), LLVMIntPtrTypeInContext(), LLVMIntTypeInContext(), LLVMLabelTypeInContext(), LLVMMDNodeInContext(), LLVMMDStringInContext(), LLVMModuleCreateWithName(), LLVMModuleCreateWithNameInContext(), LLVMParseBitcode(), LLVMParseBitcodeInContext(), LLVMParseIRInContext(), LLVMPassManagerBuilderCreate(), LLVMPointerType(), LLVMRemoveModule(), LLVMRunFunction(), LLVMSizeOf(), LLVMStructCreateNamed(), LLVMStructTypeInContext(), LLVMTypeOf(), LLVMValueAsBasicBlock(), LLVMVectorType(), and LLVMVoidTypeInContext().
|
inline |
|
inline |
void llvm::WriteAsOperand | ( | raw_ostream & | Out, |
const Value * | V, | ||
bool | PrintTy = true , |
||
const Module * | Context = 0 |
||
) |
Definition at line 1179 of file AsmWriter.cpp.
References getModuleFromVal(), llvm::Value::getType(), llvm::Value::hasName(), llvm::TypePrinting::incorporateTypes(), llvm::TypePrinting::print(), and WriteAsOperandInternal().
Referenced by llvm::AsmPrinter::EmitFunctionHeader(), llvm::AsmPrinter::EmitGlobalVariable(), llvm::DOTGraphTraits< const Function * >::getCompleteNodeLabel(), llvm::Region::getNameStr(), llvm::DOTGraphTraits< const Function * >::getSimpleNodeLabel(), nvptx::LowerConstant(), lowerConstant(), operator<<(), llvm::Value::print(), llvm::Trace::print(), llvm::SCEV::print(), llvm::PassManagerPrettyStackEntry::print(), llvm::DominanceFrontierBase::print(), llvm::MachineConstantPool::print(), llvm::IVUsers::print(), llvm::AliasSet::print(), llvm::LoopBase< N, M >::print(), llvm::MachineBasicBlock::print(), llvm::ScalarEvolution::print(), llvm::SDNode::print_details(), PrintLoopInfo(), PrintModRefResults(), PrintOps(), and PrintResults().
void llvm::WriteAsOperand | ( | raw_ostream & | OS, |
const MachineBasicBlock * | MBB, | ||
bool | t | ||
) |
Definition at line 1214 of file MachineBasicBlock.cpp.
References llvm::MachineBasicBlock::getNumber().
|
static |
WriteAsOperand - Write the name of the specified value out to the specified ostream. This can be useful when you just want to print int reg126, not the whole instruction that generated it.
Definition at line 1073 of file AsmWriter.cpp.
Referenced by llvm::AssemblyWriter::printFunction(), llvm::AssemblyWriter::printGlobal(), llvm::AssemblyWriter::printInstruction(), WriteAsOperand(), WriteConstantInternal(), llvm::AssemblyWriter::writeOperand(), and llvm::AssemblyWriter::writeParamOperand().
|
static |
Definition at line 715 of file AsmWriter.cpp.
References llvm::AtomicRMWInst::Add, llvm::AtomicRMWInst::And, llvm::AtomicRMWInst::Max, llvm::AtomicRMWInst::Min, llvm::AtomicRMWInst::Nand, llvm::AtomicRMWInst::Or, llvm::AtomicRMWInst::Sub, llvm::AtomicRMWInst::UMax, llvm::AtomicRMWInst::UMin, llvm::AtomicRMWInst::Xchg, and llvm::AtomicRMWInst::Xor.
Referenced by llvm::AssemblyWriter::printInstruction().
void llvm::WriteBitcodeToFile | ( | const Module * | M, |
raw_ostream & | Out | ||
) |
WriteBitcodeToFile - Write the specified module to the specified raw output stream. For streams where it matters, the given stream should be in "binary" mode.
WriteBitcodeToFile - Write the specified module to the specified output stream.
Definition at line 2009 of file BitcodeWriter.cpp.
References llvm::SmallVectorTemplateCommon< T >::begin(), DarwinBCHeaderSize, llvm::BitstreamWriter::Emit(), EmitDarwinBCHeaderAndTrailer(), llvm::SmallVectorTemplateCommon< T >::front(), llvm::Module::getTargetTriple(), llvm::SmallVectorImpl< T >::insert(), llvm::SmallVectorImpl< T >::reserve(), llvm::SmallVectorTemplateCommon< T >::size(), llvm::raw_ostream::write(), and WriteModule().
Referenced by LLVMWriteBitcodeToFD(), LLVMWriteBitcodeToFile(), and LTOCodeGenerator::writeMergedModules().
|
static |
Definition at line 766 of file AsmWriter.cpp.
References llvm::lltok::APFloat, llvm::APFloat::bitcastToAPInt(), llvm::APFloat::convert(), llvm::Constant::getAggregateElement(), llvm::APInt::getBitWidth(), llvm::MDNode::getNumOperands(), llvm::APInt::getRawData(), llvm::Value::getType(), llvm::Type::getVectorElementType(), llvm::Type::getVectorNumElements(), llvm::APInt::getZExtValue(), llvm::APFloat::IEEEdouble, llvm::APFloat::IEEEhalf, llvm::APFloat::IEEEquad, llvm::APFloat::IEEEsingle, llvm_unreachable, Machine, N, llvm::APFloat::PPCDoubleDouble, llvm::TypePrinting::print(), PrintEscapedString(), llvm::APFloat::rmNearestTiesToEven, llvm::SmallString< InternalLen >::str(), llvm::tgtok::StrVal, utohex_buffer(), WriteAsOperandInternal(), and llvm::APFloat::x87DoubleExtended.
Referenced by llvm::Value::print().
raw_ostream & llvm::WriteGraph | ( | raw_ostream & | O, |
const EdgeBundles & | G, | ||
bool | ShortNames = false , |
||
const Twine & | Title = "" |
||
) |
Specialize WriteGraph, the standard implementation won't work.
Definition at line 78 of file EdgeBundles.cpp.
References llvm::MachineFunction::begin(), llvm::MachineFunction::end(), llvm::EdgeBundles::getBundle(), llvm::EdgeBundles::getMachineFunction(), and I.
Referenced by INITIALIZE_PASS(), llvm::DOTGraphTraitsPrinter< Analysis, Simple >::runOnFunction(), llvm::DOTGraphTraitsModulePrinter< Analysis, Simple >::runOnModule(), ViewGraph(), and WriteGraph().
raw_ostream& llvm::WriteGraph | ( | raw_ostream & | O, |
const GraphType & | G, | ||
bool | ShortNames = false , |
||
const Twine & | Title = "" |
||
) |
Definition at line 310 of file GraphWriter.h.
std::string llvm::WriteGraph | ( | const GraphType & | G, |
const Twine & | Name, | ||
bool | ShortNames = false , |
||
const Twine & | Title = "" |
||
) |
Definition at line 325 of file GraphWriter.h.
References createGraphFilename(), errs(), and WriteGraph().
|
static |
Definition at line 1046 of file AsmWriter.cpp.
Referenced by llvm::AssemblyWriter::printMDNodeBody().
|
static |
Definition at line 2066 of file AsmWriter.cpp.
References getBitWidth(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), llvm::DIDescriptor::getTag(), llvm::formatted_raw_ostream::PadToColumn(), llvm::DIDescriptor::print(), llvm::dwarf::TagString(), and llvm::DIDescriptor::Verify().
Referenced by llvm::AssemblyWriter::printMDNodeBody().
|
static |
Definition at line 733 of file AsmWriter.cpp.
Referenced by llvm::AssemblyWriter::printInstruction().
StringRef llvm::yaml2mcmodule | ( | OwningPtr< MCModule > & | MCM, |
StringRef | YamlContent, | ||
const MCInstrInfo & | MII, | ||
const MCRegisterInfo & | MRI | ||
) |
Creates a new module and returns it in MCM
.
Definition at line 445 of file MCModuleYAML.cpp.
References llvm::StringRef::empty(), llvm::yaml::Input::error(), llvm::OwningPtr< T >::reset(), and YAMLModule.
|
static |
Definition at line 1983 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
const unsigned llvm::AnnotationNameLen = 8 |
Definition at line 53 of file NVPTXBaseInfo.h.
const MCInstrDesc llvm::ARMInsts[] |
Referenced by AddThumb1SBit().
const char llvm::AsmRewritePrecedence[] |
Definition at line 39 of file MCTargetAsmParser.h.
Referenced by rewritesSort().
|
static |
Macro compressed bit reversal table for 256 bits.
http://graphics.stanford.edu/~seander/bithacks.html#BitReverseTable
Definition at line 228 of file MathExtras.h.
Referenced by reverseBits().
char & llvm::BranchFolderPassID = BranchFolderPass::ID |
BranchFolding - This pass performs machine code CFG based optimizations to delete branches to branches, eliminate branches to successor blocks (creating fall throughs), and eliminating branches over branches.
Definition at line 79 of file BranchFolding.cpp.
Referenced by llvm::TargetPassConfig::addMachineLateOptimization(), and overridePass().
char& llvm::BreakCriticalEdgesID |
Referenced by llvm::UnifyFunctionExitNodes::getAnalysisUsage().
char & llvm::DeadMachineInstructionElimID = DeadMachineInstructionElim::ID |
DeadMachineInstructionElim - This pass removes dead machine instructions.
Definition at line 48 of file DeadMachineInstructionElim.cpp.
Referenced by llvm::TargetPassConfig::addMachineSSAOptimization(), and overridePass().
bool llvm::DebugFlag |
char & llvm::DemoteRegisterToMemoryID = RegToMem::ID |
Definition at line 130 of file Reg2Mem.cpp.
char & llvm::EarlyIfConverterID = EarlyIfConverter::ID |
EarlyIfConverter - This pass performs if-conversion on SSA form by inserting cmov instructions.
Definition at line 607 of file EarlyIfConversion.cpp.
Referenced by overridePass().
char& llvm::EdgeBundlesID |
EdgeBundles analysis - Bundle machine CFG edges.
EnableDebugBuffering - This defaults to false. If true, the debug stream will install signal handlers to dump any buffered debug output. It allows clients to selectively allow the debug stream to install signal handlers if they are certain there will be no conflict.
EnableDebugBuffering - Turn on signal handler installation.
Definition at line 134 of file Debug.cpp.
Referenced by dbgs().
|
static |
Definition at line 1989 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
unsigned llvm::ErrorsPrinted = 0 |
Definition at line 23 of file TableGen/Error.cpp.
Referenced by PrintMessage(), and TableGenMain().
char & llvm::ExpandISelPseudosID = ExpandISelPseudos::ID |
ExpandISelPseudos - This pass expands pseudo-instructions.
Definition at line 42 of file ExpandISelPseudos.cpp.
Referenced by llvm::TargetPassConfig::addMachinePasses().
char & llvm::ExpandPostRAPseudosID = ExpandPostRA::ID |
ExpandPostRAPseudos - This pass expands pseudo instructions after register allocation.
Definition at line 57 of file ExpandPostRAPseudos.cpp.
Referenced by llvm::TargetPassConfig::addMachinePasses().
|
static |
Definition at line 1982 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
char & llvm::FinalizeMachineBundlesID = FinalizeMachineBundles::ID |
FinalizeMachineBundles - This pass finalize machine instruction bundles (created earlier, e.g. during pre-RA scheduling).
Definition at line 85 of file MachineInstrBundle.cpp.
bool llvm::flag_aligned_memcpy |
Definition at line 18 of file HexagonSelectionDAGInfo.cpp.
Referenced by llvm::HexagonSelectionDAGInfo::EmitTargetCodeForMemcpy(), and llvm::HexagonTargetLowering::LowerCall().
|
static |
Definition at line 1994 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1996 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1995 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
char & llvm::GCMachineCodeAnalysisID = GCMachineCodeAnalysis::ID |
GCMachineCodeAnalysis - Target-independent pass to mark safe points in machine code. Must be added very late during code generation, just prior to output, and importantly after all CFG transformations (such as branch folding).
Definition at line 338 of file GCStrategy.cpp.
Referenced by llvm::TargetPassConfig::addGCPasses().
|
inline |
get_array_pod_sort_comparator - This is an internal helper function used to get type deduction of T right.
Definition at line 268 of file STLExtras.h.
Referenced by array_pod_sort().
bool llvm::HasDivModLibcall |
Definition at line 30 of file TargetMachine.cpp.
const float llvm::huge_valf = HUGE_VALF |
Definition at line 612 of file MathExtras.h.
Referenced by llvm::LiveInterval::isSpillable(), and llvm::LiveInterval::markNotSpillable().
char & llvm::IfConverterID = IfConverter::ID |
IfConverter - This pass performs machine code if conversion.
Definition at line 263 of file IfConversion.cpp.
char& llvm::InstructionNamerID |
Remove redundant false char & llvm::InstructionSimplifierID = InstSimplifier::ID |
Definition at line 95 of file SimplifyInstructions.cpp.
const unsigned int llvm::integerPartWidth |
Definition at line 42 of file APInt.h.
Referenced by llvm::APFloat::convertFromSignExtendedInteger(), llvm::SelectionDAG::getNode(), lostFractionThroughTruncation(), llvm::APFloat::mod(), partAsHex(), partCountForBits(), llvm::APFloat::remainder(), llvm::APInt::tcClearBit(), llvm::APInt::tcDivide(), llvm::APInt::tcExtract(), llvm::APInt::tcExtractBit(), llvm::APInt::tcLSB(), llvm::APInt::tcMSB(), llvm::APInt::tcMultiplyPart(), llvm::APInt::tcSetBit(), llvm::APInt::tcSetLeastSignificantBits(), llvm::APInt::tcShiftLeft(), llvm::APInt::tcShiftRight(), and ulpsFromBoundary().
|
static |
Definition at line 1985 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1984 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
char & llvm::LCSSAID = LCSSA::ID |
Definition at line 94 of file LCSSA.cpp.
Referenced by SplitCriticalEdge(), and UpdateAnalysisInformation().
char & llvm::LiveIntervalsID = LiveIntervals::ID |
LiveIntervals - This analysis keeps track of the live ranges of virtual and physical registers.
Definition at line 45 of file LiveIntervalAnalysis.cpp.
Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc().
Live Stack Slot false char & llvm::LiveStacksID = LiveStacks::ID |
LiveStacks pass. An analysis keeping track of the liveness of stack slots.
Definition at line 34 of file LiveStackAnalysis.cpp.
char & llvm::LiveVariablesID = LiveVariables::ID |
LiveVariables pass - This pass computes the set of blocks in which each variable is life and sets machine operand kill flags.
Definition at line 45 of file LiveVariables.cpp.
Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc().
char & llvm::LocalStackSlotAllocationID = LocalStackSlotPass::ID |
LocalStackSlotAllocation - This pass assigns local frame indices to stack slots relative to one another and allocates base registers to access them when it is estimated by the target to be out of range of normal frame pointer or stack pointer index addressing.
Definition at line 83 of file LocalStackSlotAllocation.cpp.
Referenced by llvm::TargetPassConfig::addMachinePasses(), and llvm::TargetPassConfig::addMachineSSAOptimization().
loop Canonicalize natural false char & llvm::LoopSimplifyID = LoopSimplify::ID |
Definition at line 123 of file LoopSimplify.cpp.
Referenced by SplitCriticalEdge().
char& llvm::LowerInvokePassID |
char& llvm::LowerSwitchID |
Referenced by llvm::UnifyFunctionExitNodes::getAnalysisUsage().
char & llvm::MachineBlockPlacementID = MachineBlockPlacement::ID |
MachineBlockPlacement - This pass places basic blocks based on branch probabilities.
Definition at line 245 of file MachineBlockPlacement.cpp.
Referenced by llvm::TargetPassConfig::addBlockPlacement(), and overridePass().
char & llvm::MachineBlockPlacementStatsID = MachineBlockPlacementStats::ID |
MachineBlockPlacementStats - This pass collects statistics about the basic block placement using branch probabilities and block frequency information.
Definition at line 1164 of file MachineBlockPlacement.cpp.
Referenced by llvm::TargetPassConfig::addBlockPlacement().
char & llvm::MachineCopyPropagationID = MachineCopyPropagation::ID |
MachineCopyPropagation - This pass performs copy propagation on machine instructions.
Definition at line 59 of file MachineCopyPropagation.cpp.
Referenced by llvm::TargetPassConfig::addMachineLateOptimization(), and overridePass().
char & llvm::MachineCSEID = MachineCSE::ID |
MachineCSE - This pass performs global CSE on machine instructions.
Definition at line 106 of file MachineCSE.cpp.
Referenced by llvm::TargetPassConfig::addMachineSSAOptimization(), and overridePass().
char& llvm::MachineDominatorsID |
MachineDominators - This pass is a machine dominators analysis pass.
Referenced by llvm::LiveIntervals::getAnalysisUsage().
char & llvm::MachineFunctionPrinterPassID = MachineFunctionPrinterPass::ID |
MachineFunctionPrinterPass - This pass prints out MachineInstr's.
Definition at line 54 of file MachineFunctionPrinterPass.cpp.
char & llvm::MachineLICMID = MachineLICM::ID |
MachineLICM - This pass performs LICM on machine instructions.
Definition at line 298 of file MachineLICM.cpp.
Referenced by llvm::TargetPassConfig::addMachineSSAOptimization(), overridePass(), and llvm::TargetPassConfig::TargetPassConfig().
machine Machine Natural Loop true char & llvm::MachineLoopInfoID = MachineLoopInfo::ID |
MachineLoopInfo - This pass is a loop analysis pass.
Definition at line 35 of file MachineLoopInfo.cpp.
Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc(), and llvm::LiveIntervals::getAnalysisUsage().
char & llvm::MachineSchedulerID = MachineScheduler::ID |
MachineScheduler - This pass schedules machine instructions.
Definition at line 116 of file MachineScheduler.cpp.
Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc(), overridePass(), and llvm::TargetPassConfig::TargetPassConfig().
char & llvm::MachineSinkingID = MachineSinking::ID |
MachineSinking - This pass performs sinking on machine instructions.
Definition at line 114 of file MachineSink.cpp.
Referenced by llvm::TargetPassConfig::addMachineSSAOptimization(), and overridePass().
char & llvm::MachineTraceMetricsID = MachineTraceMetrics::ID |
MachineTraceMetrics - This pass computes critical path and CPU resource usage in an ensemble of traces.
Definition at line 30 of file MachineTraceMetrics.cpp.
const unsigned int llvm::maxExponent = 16383 |
Definition at line 89 of file APFloat.cpp.
Referenced by powerOf5().
const unsigned int llvm::maxPowerOfFiveExponent = maxExponent + maxPrecision - 1 |
Definition at line 91 of file APFloat.cpp.
const unsigned int llvm::maxPowerOfFiveParts |
Definition at line 92 of file APFloat.cpp.
Referenced by powerOf5().
const unsigned int llvm::maxPrecision = 113 |
Definition at line 90 of file APFloat.cpp.
|
static |
Definition at line 1971 of file SimplifyLibCalls.cpp.
Referenced by EmitMemCmp(), and llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1972 of file SimplifyLibCalls.cpp.
Referenced by EmitMemCpyChk(), and llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1946 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1973 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1947 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1974 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1948 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
const MCInstrDesc llvm::MipsInsts[] |
Referenced by getInstDesc().
|
static |
Definition at line 81 of file NVPTXBaseInfo.h.
Referenced by cacheAnnotationFromMD().
char & llvm::OptimizePHIsID = OptimizePHIs::ID |
OptimizePHIs - This pass optimizes machine instruction PHIs to take advantage of opportunities created during DAG legalization.
Definition at line 59 of file OptimizePHIs.cpp.
Referenced by llvm::TargetPassConfig::addMachineSSAOptimization().
char & llvm::PeepholeOptimizerID = PeepholeOptimizer::ID |
PeepholeOptimizer - This pass performs peephole optimizations - like extension and comparison eliminations.
Definition at line 141 of file PeepholeOptimizer.cpp.
Referenced by llvm::TargetPassConfig::addMachineSSAOptimization().
char & llvm::PHIEliminationID = PHIElimination::ID |
PHIElimination - This pass eliminates machine instruction PHI nodes by inserting copy instructions. This destroys SSA information, but is the desired input for some register allocators. This pass is "required" by these register allocator like this: AU.addRequiredID(PHIEliminationID);
Definition at line 108 of file PHIElimination.cpp.
Referenced by llvm::TargetPassConfig::addFastRegAlloc(), and llvm::TargetPassConfig::addOptimizedRegAlloc().
char & llvm::PostRASchedulerID = PostRAScheduler::ID |
createPostRAScheduler - This pass performs post register allocation scheduling.
Definition at line 198 of file PostRASchedulerList.cpp.
Referenced by llvm::TargetPassConfig::addMachinePasses(), and overridePass().
|
static |
Definition at line 1992 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
char & llvm::ProcessImplicitDefsID = ProcessImplicitDefs::ID |
ProcessImpicitDefs pass - This pass removes IMPLICIT_DEFs.
Definition at line 51 of file ProcessImplicitDefs.cpp.
Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc().
char & llvm::PrologEpilogCodeInserterID = PEI::ID |
PrologEpilogCodeInserter - This pass inserts prolog and epilog code, and eliminates abstract frame references.
Definition at line 46 of file PrologEpilogInserter.cpp.
Referenced by llvm::TargetPassConfig::addMachinePasses().
const char llvm::PropertyAnnotationNames[PROPERTY_LAST+1][AnnotationNameLen+1] |
Definition at line 54 of file NVPTXBaseInfo.h.
Referenced by getAlign(), getMaxNTIDx(), getMaxNTIDy(), getMaxNTIDz(), getMinCTASm(), getReqNTIDx(), getReqNTIDy(), getReqNTIDz(), isImageReadOnly(), isImageWriteOnly(), isKernelFunction(), isSampler(), isSurface(), and isTexture().
|
static |
Definition at line 1997 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
char & llvm::RegisterCoalescerID = RegisterCoalescer::ID |
RegisterCoalescer - This pass merges live ranges to eliminate copies.
end anonymous namespace
Definition at line 203 of file RegisterCoalescer.cpp.
Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc().
|
static |
Definition at line 1979 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
spill code Spill Code Placement true char & llvm::SpillPlacementID = SpillPlacement::ID |
SpillPlacement analysis. Suggest optimal placement of spill code between basic blocks.
Definition at line 52 of file SpillPlacement.cpp.
|
static |
Definition at line 1993 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
SourceMgr llvm::SrcMgr |
Definition at line 22 of file TableGen/Error.cpp.
Referenced by PrintError(), PrintMessage(), PrintWarning(), and TableGenMain().
char & llvm::StackColoringID = StackColoring::ID |
StackSlotColoring - This pass performs stack coloring and merging. It merges disjoint allocas to reduce the stack size.
Definition at line 188 of file StackColoring.cpp.
Referenced by llvm::TargetPassConfig::addMachineSSAOptimization().
char & llvm::StackSlotColoringID = StackSlotColoring::ID |
StackSlotColoring - This pass performs stack slot coloring.
Definition at line 116 of file StackSlotColoring.cpp.
Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc(), and overridePass().
|
static |
Definition at line 1961 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1950 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1954 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1956 of file SimplifyLibCalls.cpp.
Referenced by EmitStrChr(), and llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1958 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1960 of file SimplifyLibCalls.cpp.
Referenced by EmitStrCpy(), and llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1949 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1967 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1963 of file SimplifyLibCalls.cpp.
Referenced by ConstantFoldLoadFromConstPtr(), EmitStrLen(), and llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1955 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1959 of file SimplifyLibCalls.cpp.
Referenced by EmitStrNCmp(), and llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1962 of file SimplifyLibCalls.cpp.
Referenced by EmitStrNCpy(), and llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1951 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1964 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1957 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1966 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1968 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
|
static |
Definition at line 1965 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
char & llvm::TailDuplicateID = TailDuplicatePass::ID |
TailDuplicate - Duplicate blocks with unconditional branches into tails of their predecessors.
Definition at line 125 of file TailDuplication.cpp.
Referenced by llvm::TargetPassConfig::addMachineLateOptimization(), overridePass(), and llvm::TargetPassConfig::TargetPassConfig().
Target llvm::TheAArch64Target |
Definition at line 19 of file AArch64TargetInfo.cpp.
Referenced by LLVMInitializeAArch64AsmPrinter(), LLVMInitializeAArch64Disassembler(), LLVMInitializeAArch64Target(), LLVMInitializeAArch64TargetInfo(), and LLVMInitializeAArch64TargetMC().
Target llvm::TheAMDGPUTarget |
The target for the AMDGPU backend.
Definition at line 30 of file AMDGPUMCTargetDesc.h.
Referenced by LLVMInitializeR600AsmPrinter(), LLVMInitializeR600Target(), LLVMInitializeR600TargetInfo(), and LLVMInitializeR600TargetMC().
Target llvm::TheARMTarget |
Definition at line 15 of file ARMTargetInfo.cpp.
Referenced by LLVMInitializeARMAsmParser(), LLVMInitializeARMAsmPrinter(), LLVMInitializeARMDisassembler(), LLVMInitializeARMTarget(), LLVMInitializeARMTargetInfo(), and LLVMInitializeARMTargetMC().
Target llvm::TheCppBackendTarget |
Definition at line 15 of file CppBackendTargetInfo.cpp.
Referenced by LLVMInitializeCppBackendTarget(), and LLVMInitializeCppBackendTargetInfo().
Target llvm::TheHexagonTarget |
Definition at line 15 of file HexagonTargetInfo.cpp.
Referenced by LLVMInitializeHexagonAsmPrinter(), LLVMInitializeHexagonTarget(), LLVMInitializeHexagonTargetInfo(), and LLVMInitializeHexagonTargetMC().
Target llvm::TheMips64elTarget |
Definition at line 34 of file MipsMCTargetDesc.h.
Referenced by LLVMInitializeMipsAsmParser(), LLVMInitializeMipsAsmPrinter(), LLVMInitializeMipsDisassembler(), LLVMInitializeMipsTarget(), LLVMInitializeMipsTargetInfo(), and LLVMInitializeMipsTargetMC().
Target llvm::TheMips64Target |
Definition at line 33 of file MipsMCTargetDesc.h.
Referenced by LLVMInitializeMipsAsmParser(), LLVMInitializeMipsAsmPrinter(), LLVMInitializeMipsDisassembler(), LLVMInitializeMipsTarget(), LLVMInitializeMipsTargetInfo(), and LLVMInitializeMipsTargetMC().
Target llvm::TheMipselTarget |
Definition at line 32 of file MipsMCTargetDesc.h.
Referenced by LLVMInitializeMipsAsmParser(), LLVMInitializeMipsAsmPrinter(), LLVMInitializeMipsDisassembler(), LLVMInitializeMipsTarget(), LLVMInitializeMipsTargetInfo(), and LLVMInitializeMipsTargetMC().
Target llvm::TheMipsTarget |
Definition at line 29 of file MipsMCTargetDesc.h.
Referenced by LLVMInitializeMipsAsmParser(), LLVMInitializeMipsAsmPrinter(), LLVMInitializeMipsDisassembler(), LLVMInitializeMipsTarget(), LLVMInitializeMipsTargetInfo(), and LLVMInitializeMipsTargetMC().
Target llvm::TheMSP430Target |
Definition at line 15 of file MSP430TargetInfo.cpp.
Referenced by LLVMInitializeMSP430AsmPrinter(), LLVMInitializeMSP430Target(), LLVMInitializeMSP430TargetInfo(), and LLVMInitializeMSP430TargetMC().
Target llvm::TheNVPTXTarget32 |
Definition at line 71 of file NVPTX.h.
Referenced by LLVMInitializeNVPTXAsmPrinter(), LLVMInitializeNVPTXBackendAsmPrinter(), LLVMInitializeNVPTXTarget(), LLVMInitializeNVPTXTargetInfo(), and LLVMInitializeNVPTXTargetMC().
Target llvm::TheNVPTXTarget64 |
Definition at line 72 of file NVPTX.h.
Referenced by LLVMInitializeNVPTXAsmPrinter(), LLVMInitializeNVPTXBackendAsmPrinter(), LLVMInitializeNVPTXTarget(), LLVMInitializeNVPTXTargetInfo(), and LLVMInitializeNVPTXTargetMC().
Target llvm::ThePPC32Target |
Definition at line 15 of file PowerPCTargetInfo.cpp.
Referenced by LLVMInitializePowerPCAsmParser(), LLVMInitializePowerPCAsmPrinter(), LLVMInitializePowerPCTarget(), LLVMInitializePowerPCTargetInfo(), and LLVMInitializePowerPCTargetMC().
Target llvm::ThePPC64LETarget |
Definition at line 15 of file PowerPCTargetInfo.cpp.
Referenced by LLVMInitializePowerPCAsmParser(), LLVMInitializePowerPCTarget(), LLVMInitializePowerPCTargetInfo(), and LLVMInitializePowerPCTargetMC().
Target llvm::ThePPC64Target |
Definition at line 15 of file PowerPCTargetInfo.cpp.
Referenced by LLVMInitializePowerPCAsmParser(), LLVMInitializePowerPCAsmPrinter(), LLVMInitializePowerPCTarget(), LLVMInitializePowerPCTargetInfo(), and LLVMInitializePowerPCTargetMC().
Target llvm::TheSparcTarget |
Definition at line 15 of file SparcTargetInfo.cpp.
Referenced by LLVMInitializeSparcAsmPrinter(), LLVMInitializeSparcTarget(), LLVMInitializeSparcTargetInfo(), and LLVMInitializeSparcTargetMC().
Target llvm::TheSparcV9Target |
Definition at line 16 of file SparcTargetInfo.cpp.
Referenced by LLVMInitializeSparcAsmPrinter(), LLVMInitializeSparcTarget(), LLVMInitializeSparcTargetInfo(), and LLVMInitializeSparcTargetMC().
Target llvm::TheSystemZTarget |
Definition at line 15 of file SystemZTargetInfo.cpp.
Referenced by LLVMInitializeSystemZAsmParser(), LLVMInitializeSystemZAsmPrinter(), LLVMInitializeSystemZDisassembler(), LLVMInitializeSystemZTarget(), LLVMInitializeSystemZTargetInfo(), and LLVMInitializeSystemZTargetMC().
Target llvm::TheThumbTarget |
Definition at line 15 of file ARMTargetInfo.cpp.
Referenced by LLVMInitializeARMAsmParser(), LLVMInitializeARMAsmPrinter(), LLVMInitializeARMDisassembler(), LLVMInitializeARMTarget(), LLVMInitializeARMTargetInfo(), and LLVMInitializeARMTargetMC().
Target llvm::TheX86_32Target |
Definition at line 31 of file X86MCTargetDesc.h.
Referenced by LLVMInitializeX86AsmParser(), LLVMInitializeX86AsmPrinter(), LLVMInitializeX86Disassembler(), LLVMInitializeX86Target(), LLVMInitializeX86TargetInfo(), and LLVMInitializeX86TargetMC().
Target llvm::TheX86_64Target |
Definition at line 31 of file X86MCTargetDesc.h.
Referenced by LLVMInitializeX86AsmParser(), LLVMInitializeX86AsmPrinter(), LLVMInitializeX86Disassembler(), LLVMInitializeX86Target(), LLVMInitializeX86TargetInfo(), and LLVMInitializeX86TargetMC().
Target llvm::TheXCoreTarget |
Definition at line 18 of file XCoreMCTargetDesc.h.
Referenced by LLVMInitializeXCoreAsmPrinter(), LLVMInitializeXCoreDisassembler(), LLVMInitializeXCoreTarget(), LLVMInitializeXCoreTargetInfo(), and LLVMInitializeXCoreTargetMC().
This is the storage for the -time-passes option.
If the user specifies the -time-passes argument on an LLVM tool command line then the value of this boolean will be true, otherwise false.
Definition at line 27 of file IRReader.cpp.
Referenced by llvm::AsmPrinter::doFinalization(), llvm::DwarfDebug::DwarfDebug(), llvm::AsmPrinter::EmitFunctionBody(), llvm::AsmPrinter::EmitFunctionHeader(), and ParseIR().
|
static |
Definition at line 1986 of file SimplifyLibCalls.cpp.
Referenced by llvm::LibCallSimplifierImpl::lookupOptimization().
Two Address instruction false char & llvm::TwoAddressInstructionPassID = TwoAddressInstructionPass::ID |
TwoAddressInstruction - This pass reduces two-address instructions to use two operands. This destroys SSA information but it is desired by register allocators.
Definition at line 170 of file TwoAddressInstructionPass.cpp.
Referenced by llvm::TargetPassConfig::addFastRegAlloc(), and llvm::TargetPassConfig::addOptimizedRegAlloc().
char & llvm::UnpackMachineBundlesID = UnpackMachineBundles::ID |
UnpackMachineBundles - This pass unpack machine instruction bundles.
Definition at line 34 of file MachineInstrBundle.cpp.
char& llvm::UnreachableMachineBlockElimID |
UnreachableMachineBlockElimination - This pass removes unreachable machine basic blocks.
Referenced by llvm::LiveVariables::getAnalysisUsage().
char & llvm::VirtRegRewriterID = VirtRegRewriter::ID |
VirtRegRewriter pass. Rewrite virtual registers to physical registers as assigned in VirtRegMap.
Definition at line 176 of file VirtRegMap.cpp.
Referenced by llvm::TargetPassConfig::addOptimizedRegAlloc().
|
static |
Referenced by llvm::ConstantRange::add(), llvm::AliasSetTracker::add(), llvm::cl::parser< const PassInfo * >::addLiteralOption(), cast(), llvm::InstCombiner::commonIDivTransforms(), createAArch64MCCodeGenInfo(), createAArch64MCInstrInfo(), createAArch64MCRegisterInfo(), llvm::AArch64_MC::createAArch64MCSubtargetInfo(), createAMDGPUMCCodeGenInfo(), createAMDGPUMCInstrInfo(), createAMDGPUMCRegisterInfo(), createAMDGPUMCSubtargetInfo(), createARMMCCodeGenInfo(), createARMMCInstrInfo(), createARMMCRegisterInfo(), llvm::ARM_MC::createARMMCSubtargetInfo(), createHexagonMCCodeGenInfo(), createHexagonMCInstrInfo(), createHexagonMCRegisterInfo(), createHexagonMCSubtargetInfo(), createMipsMCCodeGenInfo(), createMipsMCInstrInfo(), createMipsMCRegisterInfo(), createMipsMCSubtargetInfo(), createMSP430MCCodeGenInfo(), createMSP430MCInstrInfo(), createMSP430MCRegisterInfo(), createMSP430MCSubtargetInfo(), createNVPTXMCCodeGenInfo(), createNVPTXMCInstrInfo(), createNVPTXMCRegisterInfo(), createNVPTXMCSubtargetInfo(), createPPCMCCodeGenInfo(), createPPCMCInstrInfo(), createPPCMCRegisterInfo(), createPPCMCSubtargetInfo(), createSparcMCCodeGenInfo(), createSparcMCInstrInfo(), createSparcMCRegisterInfo(), createSparcMCSubtargetInfo(), createSparcV9MCCodeGenInfo(), createSystemZMCCodeGenInfo(), createSystemZMCInstrInfo(), createSystemZMCRegisterInfo(), createSystemZMCSubtargetInfo(), createX86MCCodeGenInfo(), createX86MCInstrInfo(), createX86MCRegisterInfo(), llvm::X86_MC::createX86MCSubtargetInfo(), createXCoreMCCodeGenInfo(), createXCoreMCInstrInfo(), createXCoreMCRegisterInfo(), createXCoreMCSubtargetInfo(), expandExp(), expandExp2(), expandLog(), expandLog10(), expandLog2(), expandPow(), llvm::InstCombiner::FoldICmpDivCst(), foldSelectICmpAndOr(), llvm::InstCombiner::FoldShiftByConstant(), llvm::PMDataManager::freePass(), genConstMult(), llvm::SDNode::getVTList(), isa(), isKnownNonZero(), isKnownToBeAPowerOfTwo(), LLVMInitializeAArch64AsmPrinter(), LLVMInitializeAArch64Target(), LLVMInitializeAArch64TargetInfo(), LLVMInitializeARMAsmParser(), LLVMInitializeARMAsmPrinter(), LLVMInitializeARMTarget(), LLVMInitializeARMTargetInfo(), LLVMInitializeCppBackendTarget(), LLVMInitializeHexagonAsmPrinter(), LLVMInitializeHexagonTarget(), LLVMInitializeHexagonTargetInfo(), LLVMInitializeHexagonTargetMC(), LLVMInitializeMipsAsmParser(), LLVMInitializeMipsAsmPrinter(), LLVMInitializeMipsTarget(), LLVMInitializeMipsTargetInfo(), LLVMInitializeMipsTargetMC(), LLVMInitializeMSP430AsmPrinter(), LLVMInitializeMSP430Target(), LLVMInitializeMSP430TargetInfo(), LLVMInitializeMSP430TargetMC(), LLVMInitializeNVPTXAsmPrinter(), LLVMInitializeNVPTXBackendAsmPrinter(), LLVMInitializeNVPTXTarget(), LLVMInitializeNVPTXTargetInfo(), LLVMInitializeNVPTXTargetMC(), LLVMInitializePowerPCTargetInfo(), LLVMInitializeR600Target(), LLVMInitializeSparcAsmPrinter(), LLVMInitializeSparcTarget(), LLVMInitializeSparcTargetInfo(), LLVMInitializeSparcTargetMC(), LLVMInitializeSystemZAsmParser(), LLVMInitializeSystemZAsmPrinter(), LLVMInitializeSystemZTarget(), LLVMInitializeSystemZTargetInfo(), LLVMInitializeX86AsmParser(), LLVMInitializeX86AsmPrinter(), LLVMInitializeX86Target(), LLVMInitializeX86TargetInfo(), LLVMInitializeXCoreAsmPrinter(), LLVMInitializeXCoreTarget(), LLVMInitializeXCoreTargetInfo(), LLVMInitializeXCoreTargetMC(), lowerFABS32(), lowerFABS64(), lowerFCOPYSIGN32(), lowerFCOPYSIGN64(), LowerSDIV_v4i8(), OptimizeAndOrXor(), PerformOrCombine(), llvm::SetVector< llvm::BasicBlock * >::remove(), llvm::LPPassManager::runOnFunction(), llvm::RGPassManager::runOnFunction(), llvm::FPPassManager::runOnFunction(), llvm::TargetLowering::TargetLoweringOpt::ShrinkDemandedOp(), SimplifyAShrInst(), SimplifyDiv(), SimplifyFSubInst(), SimplifyLShrInst(), SimplifyMulInst(), SimplifyShlInst(), SimplifySubInst(), llvm::opt::StrCmpOptionNameIgnoreCase(), llvm::ConstantRange::sub(), sub_1(), utohex_buffer(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitAShr(), llvm::InstCombiner::visitBranchInst(), llvm::InstCombiner::visitCallInst(), llvm::InstCombiner::visitFCmpInst(), llvm::InstCombiner::visitFDiv(), llvm::InstCombiner::visitICmpInst(), llvm::InstCombiner::visitICmpInstWithInstAndIntCst(), llvm::InstCombiner::visitMul(), llvm::InstCombiner::visitSub(), llvm::InstCombiner::visitUDiv(), llvm::InstCombiner::visitZExt(), and wrap().