Definition at line 78 of file InlineFunction.cpp. This is specialized because it is a common request and does not require traversing the whole use list. If you specify a Module for context, then even constanst get pretty-printed; for example, the type of a null pointer is printed symbolically. Referenced by llvm::GlobalAlias::getBaseObject(), isDereferenceablePointer(), and stripAndAccumulateInBoundsConstantOffsets(). Referenced by stripInBoundsConstantOffsets(). Definition at line 176 of file CallSite.h. Definition at line 60 of file Instructions.cpp. Definition at line 607 of file Value.cpp. Referenced by llvm::AliasAnalysis::getModRefBehavior(), and llvm::PointerMayBeCaptured(). If we inlined an invoke site, we need to convert calls in the body of the inlined function into invokes. This should not be used for any other purpose, as the values may change as LLVM evolves. If it unwinds to caller, return ConstantTokenNone. Definition at line 577 of file Value.cpp. Definition at line 54 of file Instructions.cpp. Definition at line 1392 of file InlineFunction.cpp. An operand bundle "clang.arc.attachedcall" on a call indicates the call result is implicitly consumed by a call to retainRV or claimRV immediately after the call. Definition at line 94 of file Instructions.cpp. Collaboration diagram for llvm::CallSite: llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::setInt(), llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::setPointer(), llvm::InlineCostAnalyzer::getInlineCost(), llvm::MemoryDependenceAnalysis::getDependency(), llvm::BasicInlinerImpl::inlineFunctions(), AllCalleesPassInValidPointerForArgument(), llvm::InlineCostAnalyzer::getInlineFudgeFactor(), llvm::LibCallAliasAnalysis::getModRefInfo(), llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getPointer(), llvm::MemoryDependenceAnalysis::getNonLocalCallDependency(), llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getInt(), llvm::value_use_iterator< UserTy >::getUse(). 9 llvm-mctoll 0x0000000102658153 X86MachineInstructionRaiser::getCalledFunction(llvm::MachineInstr const&) + 643 10 llvm-mctoll 0x0000000102656f99 X86MachineInstructionRaiser::getRaisedFunctionPrototype() + 3081 11 llvm-mctoll 0x000000010106b5ee ModuleRaiser::runMachineFunctionPasses() + 222 Definition at line 72 of file Instructions.cpp. Definition at line 1383 of file InlineFunction.cpp. References llvm::Instruction::isLifetimeStartOrEnd(), and llvm::Value::users(). CallSite::get - This static method is sort of like a constructor. getType - Return the type of the instruction that generated this call site. References assert(), BB, llvm::changeToInvokeAndSplitBasicBlock(), llvm::CallBase::doesNotThrow(), F, llvm::CallBase::getCalledFunction(), llvm::CallBase::getCalledOperand(), llvm::CallBase::getOperandBundle(), getUnwindDestToken(), I, llvm::AArch64PACKey::IA, llvm::CallBase::isInlineAsm(), llvm::make_early_inc_range(), and llvm::LLVMContext::OB_funclet. Definition at line 46 of file Instructions.cpp. Referenced by PADriver::addConstraints(), legup::DebugDatabase::addFunction(), llvm::ExecutionEngine::addGlobalMapping(), legup::LegUpWatch::addVariableToFormatString(), llvm::X86FrameLowering::adjustForHiPEPrologue(), legup::Allocation::allocateRAM(), AppendMDNodeToSourcePtr(), assureFPCallStub(), llvm::MDString::begin(), legup::Allocation::calculateRequiredFunctionalUnits(), llvm::Interpreter::callExternalFunction(), llvm::canConstantFoldCallTo(), CanPropagatePredecessorsForPHIs(), llvm::CloneBasicBlock(), llvm::CloneFunction(), legup::cloneFunction(), llvm::InstCombiner::commonShiftTransforms(), ConnectProlog(), llvm::ConstantFoldCall(), ConstructSSAForLoadSet(), copyGVAttributes(), createFPFnStub(), legup::SchedulerMapping::createFSM(), legup::Debugging::createFunctionLineNumberTable(), createReplacementInstr(), legup::LegupConfig::customVerilogUsesMemory(), llvm::DemotePHIToStack(), llvm::DemoteRegToStack(), llvm::DISubprogram::describes(), llvm::InstCombiner::DoOneIteration(), llvm::dumpBlock(), llvm::ARMJITInfo::emitFunctionStub(), llvm::EmitGEPOffset(), llvm::ExecutionEngine::emitGlobals(), llvm::AsmPrinter::EmitSpecialLLVMGlobal(), llvm::MDString::end(), EvaluateStaticConstructor(), llvm::ExtractTypeInfo(), legup::Debugging::fillDebugDB(), legup::Debugging::fillVariables(), fixupSubprogramName(), llvm::SimplifyFortifiedLibCalls::fold(), llvm::InstCombiner::FoldAndOfICmps(), FoldBlockIntoPredecessor(), llvm::FoldBranchToCommonDest(), FoldCondBranchOnPHI(), llvm::InstCombiner::FoldICmpShrCst(), FoldOperationIntoSelectOperand(), llvm::InstCombiner::FoldOrOfICmps(), llvm::InstCombiner::FoldSelectOpOp(), llvm::InstCombiner::FoldShiftByConstant(), FoldTwoEntryPHINode(), for(), forceRenaming(), GenerateARCAnnotation(), GenerateARCBBEntranceAnnotation(), GenerateARCBBTerminatorAnnotation(), legup::ModuloScheduler::get_legup_label(), getAllocationData(), llvm::bfi_detail::getBlockName(), legup::RTLModuleInstance::getChildHierarchyPath(), llvm::DOTGraphTraits< const Function * >::getCompleteNodeLabel(), llvm::TargetLoweringObjectFileMachO::getExplicitSectionGlobal(), llvm::MachineBasicBlock::getFullName(), llvm::objcarc::GetFunctionClass(), llvm::LibCallInfo::getFunctionInfo(), legup::Allocation::getGenerateRTL(), legup::MemProf::getGEPDims(), llvm::DOTGraphTraits< const Function * >::getGraphName(), llvm::DOTGraphTraits< BlockFrequencyInfo * >::getGraphName(), llvm::InlineCostAnalysis::getInlineCost(), llvm::getInst(), llvm::getIntrinsicIDForCall(), llvm::MDString::getLength(), llvm::MachineFunction::getName(), llvm::Mangler::getNameWithPrefix(), llvm::DOTGraphTraits< BlockFrequencyInfo * >::getNodeLabel(), llvm::JIT::getOrEmitGlobalVariable(), legup::getParentFunctions(), llvm::JIT::getPointerToFunction(), llvm::MCJIT::getPointerToFunction(), legup::Allocation::getRAM(), llvm::getSamplerName(), llvm::DOTGraphTraits< const Function * >::getSimpleNodeLabel(), llvm::MDString::getString(), llvm::getSurfaceName(), llvm::object::IRObjectFile::getSymbolFlags(), legup::Allocation::getSynchronizationUsage(), llvm::getTextureName(), legup::getWrapperName(), GlobalWasGeneratedByAsan(), HandleByValArgument(), HandleCallsInBlockInlinedThroughInvoke(), hasMemoryWrite(), HoistThenElseCodeToIf(), INITIALIZE_PASS(), llvm::InlineFunction(), llvm::InsertPreheaderForLoop(), insertUniqueBackedgeBlock(), InstCombineLoadCast(), InstCombineStoreToCast(), legup::LegupConfig::isAccelerated(), legup::isaDummyCall(), legup::LegUpWatch::isAPrintCall(), legup::isaPrintCall(), legup::MemProf::isAPrintCall(), legup::LegupConfig::isCustomVerilog(), llvm::isFreeCall(), llvm::Function::isIntrinsic(), isIntrinsicInline(), isMemsetPattern16(), legup::LegupConfig::isParallelAccel(), legup::MemProf::isParallelFunctionCall(), legup::LegUpTrackBB::line_prefix(), llvm::LoadAndStorePromoter::LoadAndStorePromoter(), lookupFunction(), llvm::LibCallSimplifierImpl::lookupOptimization(), llvm::AMDGPUMCInstLower::lower(), llvm::IntrinsicLowering::LowerIntrinsicCall(), llvm::IntrinsicLowering::LowerToByteSwap(), legup::Debugging::mapIRsToStates(), NegateValue(), llvm::DiagnosticPrinterRawOStream::operator<<(), OptimizeGlobalAddressOfMalloc(), llvm::OptLevelChanger::OptLevelChanger(), PerformHeapAllocSRoA(), llvm::ValueEnumerator::print(), llvm::Trace::print(), llvm::CallGraph::print(), llvm::SparseSolver::Print(), llvm::ARMConstantPoolConstant::print(), llvm::CallGraphNode::print(), llvm::AssemblyWriter::printBasicBlock(), llvm::BranchProbabilityInfo::printEdgeProbability(), PrintLLVMName(), legup::MemProf::printLoadStore(), legup::GenerateRTL::printPath(), llvm::object::IRObjectFile::printSymbolName(), processInstruction(), ProcessUGT_ADDCST_ADD(), RecognizePersonality(), legup::MemProf::removeHybridOnlyFunctionCalls(), llvm::LazyCallGraph::SCC::removeInterSCCEdge(), ReplaceCallWith(), legup::ReplaceCallWith(), ReplaceUsesOfMallocWithGlobal(), RewriteHeapSROALoadUser(), RewriteUsesOfClonedInstructions(), legup::RTLModuleInstance::RTLModuleInstance(), llvm::DOTGraphTraitsViewer< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::runOnFunction(), legup::LegUpProfile::runOnFunction(), llvm::BranchProbabilityInfo::runOnFunction(), legup::LegUpTrackBB::runOnFunction(), llvm::DOTGraphTraitsPrinter< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >::runOnFunction(), llvm::RGPassManager::runOnFunction(), legup::LegUpCombineBB::runOnFunction(), legup::LegUpProfile_main_only::runOnFunction(), legup::LegUpWatch::runOnFunction(), llvm::FPPassManager::runOnFunction(), legup::MemProf::runOnFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::MipsOs16::runOnModule(), legup::LegupPass::runOnModule(), llvm::Inliner::runOnSCC(), llvm::VLIWMachineScheduler::schedule(), llvm::FastISel::SelectInstruction(), llvm::BranchProbabilityInfo::setEdgeWeight(), setName(), shouldInternalize(), SimplifyCondBranchToCondBranch(), simplifyOneLoop(), SinkThenElseCodeToEnd(), llvm::LoopPass::skipOptnoneFunction(), llvm::FunctionPass::skipOptnoneFunction(), llvm::BasicBlockPass::skipOptnoneFunction(), llvm::InstCombiner::SliceUpIllegalIntegerPHI(), speculatePHINodeLoads(), speculateSelectInstLoads(), SpeculativelyExecuteBB(), llvm::SplitBlock(), llvm::SplitBlockPredecessors(), llvm::SplitCriticalEdge(), llvm::SplitLandingPadPredecessors(), SRAGlobal(), StripSymtab(), tryFactorization(), tryToMakeAllocaBePromotable(), TryToOptimizeStoreOfMallocToGlobal(), TryToShrinkGlobalToBoolean(), TurnSwitchRangeIntoICmp(), llvm::UnrollLoop(), UpdatePHINodes(), llvm::UpgradeGlobalVariable(), llvm::UpgradeIntrinsicCall(), UpgradeIntrinsicFunction1(), UpgradeSSE41Function(), usedInGlobalVarDef(), PADriver::Value2Int(), llvm::ValueHandleBase::ValueIsDeleted(), llvm::ValueHandleBase::ValueIsRAUWd(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitAllocaInst(), llvm::InstCombiner::visitAnd(), legup::GenerateRTL::visitCallInst(), llvm::InstCombiner::visitExtractElementInst(), llvm::InstCombiner::visitFCmpInst(), llvm::InstCombiner::visitFPTrunc(), llvm::InstCombiner::visitGetElementPtrInst(), llvm::InstCombiner::visitICmpInst(), llvm::InstCombiner::visitICmpInstWithCastAndCast(), llvm::InstCombiner::visitICmpInstWithInstAndIntCst(), llvm::InstCombiner::visitMul(), llvm::InstCombiner::visitOr(), llvm::InstCombiner::visitSDiv(), llvm::InstCombiner::visitSelectInst(), llvm::InstCombiner::visitSExt(), llvm::InstCombiner::visitSRem(), llvm::InstCombiner::visitTrunc(), llvm::InstCombiner::visitXor(), llvm::InstCombiner::visitZExt(), llvm::OptLevelChanger::~OptLevelChanger(), and ~Value(). /Users/buildslave/jenkins/workspace/coverage/llvm-project/llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp Referenced by llvm::CodeMetrics::analyzeBasicBlock(), llvm::InlineCostAnalyzer::getInlineCost(), llvm::InlineCostAnalyzer::getInlineFudgeFactor(), llvm::Inliner::getInlineThreshold(), llvm::AliasAnalysis::getModRefBehavior(), llvm::LibCallAliasAnalysis::getModRefInfo(), InlineCallIfPossible(), llvm::InlineFunction(), llvm::BasicInlinerImpl::inlineFunctions(), llvm::Inliner::runOnSCC(), SpecializeFunction(), UpdateCallGraphAfterInlining(), and llvm::Interpreter::visitCallSite(). [NVPTX] Fix a segfault for bitcasted calls with byval params References llvm::dyn_cast(), and getCalledValue(). References getInstruction(), and llvm::User::op_end(). Referenced by AllCallersPassInValidPointerForArgument(), isSafePHIToSpeculate(), isSafeSelectToSpeculate(), and llvm::isSafeToSpeculativelyExecute(). Math papers where the only issue is that someone else could've done it but didn't. All values hold a context through their type. References assert(), llvm::MDNode::concatenate(), llvm::Instruction::getMetadata(), llvm::memprof::getMIBStackNode(), llvm::MDNode::getNumOperands(), haveCommonPrefix(), llvm::MDNode::operands(), removeCallsiteMetadata(), removeMemProfMetadata(), llvm::Instruction::setMetadata(), and updateMemprofMetadata(). Making statements based on opinion; back them up with references or personal experience. Definition at line 1776 of file InlineFunction.cpp. The new name; or "" if the value's name should be removed. Return the result of AI->isStaticAlloca() if AI were moved to the entry block. The callers that rewrite the IR as they go take advantage of this, for correctness, by checking/forcing rewritten pads' entries to match the original callee view. C++ source code API documentation for the Low Level Virtual Machine (LLVM). [NVPTX] Fix a segfault for bitcasted calls with byval params. arg_begin/arg_end - Return iterators corresponding to the actual argument list for a call site. Given an operand number, returns the argument that corresponds to it. Allocas used in inalloca calls and allocas of dynamic array size cannot be static. Does activating the pump in a vacuum chamber produce movement of the air inside? References llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getPointer(). All values are typed, get the type of this value. C++ (Cpp) Function::getParent Examples 2022 Moderator Election Q&A Question Collection, Switching between GCC and Clang/LLVM using CMake, What exactly PHI instruction does and how to use it in LLVM, inserting a function call after the current instruction using LLVM, LLVM get operand and lvalue name of an instruction. Definition at line 175 of file CallSite.h. Returns a DebugLoc for a new DILocation which is a clone of OrigDL inlined at InlinedAt. Note that this is an extremely dangerous operation which can create completely invalid IR very easily. LLVM: llvm::slpvectorizer::BoUpSLP Class Reference References getInstruction(), llvm::Instruction::getParent(), and llvm::BasicBlock::getParent(). a binary operator) this array will live prefixed to some derived class instance. The vector element size in bits to use when vectorizing the expression tree ending at V. If V is a store, the size is the width of the stored value. Definition at line 666 of file InlineFunction.cpp. addUse - This method should only be used by the Use class. If it does not have a definitive unwind destination, return nullptr. mutateType - Mutate the type of this Value to be of the specified type. This function inlines the retainRV/claimRV calls. This is a very important LLVM class. Is it considered harrassment in the US to call a black man the N-word? It is the base class of all values computed by a program that may be used as operands to other values. Referenced by llvm::MDNode::deleteTemporary(), llvm::Function::getCallingConv(), llvm::MDNode::getTemporary(), llvm::BasicBlock::hasAddressTaken(), llvm::Function::hasPrefixData(), llvm::MDNode::isFunctionLocal(), llvm::Function::setCallingConv(), and llvm::Function::setPrefixData(). Referenced by llvm::InlineFunction(), and llvm::PointerMayBeCaptured(). Does the 0m elevation height of a Digital Elevation Model (Copernicus DEM) correspond to mean sea level? If it unwinds to an EH pad, return that pad instruction. Browse other questions tagged, Where developers & technologists share private knowledge with coworkers, Reach developers & technologists worldwide. Definition at line 176 of file Value.cpp. getRawSubclassOptionalData - Return the raw optional flags value contained in this value. Strips like stripInBoundsConstantOffsets but also accumulates the constant offset stripped. Definition at line 41 of file CallSite.h. Definition at line 127 of file CallSite.h. Definition at line 53 of file CallSite.h. References Callee, llvm::Function::ProfileCount::getCount(), llvm::ProfileSummaryInfo::getProfileCount(), llvm::Function::ProfileCount::isSynthetic(), llvm::min(), llvm::None, and llvm::updateProfileCallee(). References llvm::dyn_cast (), and getCalledValue (). Definition at line 40 of file CallSite.h. '[PATCH] D134527: [FunctionAttrs] Infer precise FMRB' - MARC Definition at line 905 of file InlineFunction.cpp. hasOneUse - Return true if there is exactly one user of this value. Copyright 2003-2009 University of Illinois at Urbana-Champaign. All Values have a Type. So this means three things: Referenced by llvm::GlobalObject::classof(), llvm::MDString::classof(), llvm::GlobalAlias::classof(), llvm::Argument::classof(), llvm::Constant::classof(), llvm::MDNode::classof(), llvm::GlobalVariable::classof(), llvm::InlineAsm::classof(), llvm::ConstantInt::classof(), llvm::BasicBlock::classof(), llvm::ConstantFP::classof(), llvm::ConstantAggregateZero::classof(), llvm::GlobalValue::classof(), llvm::ConstantArray::classof(), llvm::Instruction::classof(), llvm::ConstantStruct::classof(), llvm::ConstantVector::classof(), llvm::Function::classof(), llvm::ConstantPointerNull::classof(), llvm::ConstantDataSequential::classof(), llvm::ConstantDataArray::classof(), llvm::ConstantDataVector::classof(), llvm::BlockAddress::classof(), llvm::ConstantExpr::classof(), llvm::UndefValue::classof(), llvm::isa_impl< Constant, Value >::doit(), llvm::isa_impl< Argument, Value >::doit(), llvm::isa_impl< InlineAsm, Value >::doit(), llvm::isa_impl< Instruction, Value >::doit(), llvm::isa_impl< BasicBlock, Value >::doit(), llvm::isa_impl< Function, Value >::doit(), llvm::isa_impl< GlobalVariable, Value >::doit(), llvm::isa_impl< GlobalAlias, Value >::doit(), llvm::isa_impl< MDNode, Value >::doit(), llvm::Instruction::getOpcode(), and llvm::GlobalValue::setThreadLocalMode(). Referenced by LLVMAddInstrAttribute(), LLVMRemoveInstrAttribute(), LLVMSetInstrParamAlignment(), and RemoveNestAttribute(). References getInstruction(), and llvm::User::getOperand(). Referenced by fixupLineNumbers(), and llvm::InlineFunction(). References llvm::Instruction::getMetadata(). References assert(), llvm::dbgs(), llvm::StringMapEntry< ValueTy >::Destroy(), getName(), I, MDStringVal, llvm::LeakDetector::removeGarbageObject(), use_begin(), use_empty(), use_end(), and llvm::ValueHandleBase::ValueIsDeleted(). Definition at line 45 of file CallSite.h. References assert(), BB, llvm::BasicBlock::begin(), llvm::ClonedCodeInfo::ContainsCalls, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::count(), llvm::CatchSwitchInst::Create(), llvm::CleanupReturnInst::Create(), E, llvm::ConstantTokenNone::get(), llvm::BasicBlock::getFirstNonPHI(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::Value::getName(), llvm::Instruction::getParent(), llvm::BasicBlock::getParent(), llvm::InvokeInst::getUnwindDest(), getUnwindDestToken(), HandleCallsInBlockInlinedThroughInvoke(), I, llvm::Instruction::isEHPad(), llvm_unreachable, PHI, llvm::BasicBlock::phis(), llvm::BasicBlock::removePredecessor(), llvm::Value::takeName(), and UpdatePHINodes(). Replacing outdoor electrical box at end of conduit, Book where a girl living with an older relative discovers she's a robot. Referenced by llvm::GlobalAlias::getBaseObject(), and stripInBoundsOffsets(). It is an error to call V->takeName(V). Strips off any unneeded pointer casts and all-zero GEPs from the specified value, returning the original uncasted value. Referenced by arg_empty(), arg_size(), getArgument(), llvm::InlineCostAnalyzer::getInlineCost(), llvm::AliasAnalysis::getModRefInfo(), hasArgument(), llvm::InlineFunction(), llvm::SelectionDAGBuilder::LowerCallTo(), llvm::PointerMayBeCaptured(), setArgument(), and llvm::Interpreter::visitCallSite(). Value is the super class of other important classes such as Instruction and Function. What is the function of in ? llvm-opt-pass/transformation.cpp at main GaZAR-UG/llvm-opt-pass References getModuleFromVal(), getType(), hasName(), llvm::TypePrinting::incorporateTypes(), llvm::TypePrinting::print(), and llvm::WriteAsOperandInternal(). In general, I wholeheartedly recommend this guide for beginners. isInvoke - true if a InvokeInst is enclosed. D136041 [clang][DebugInfo] Emit DISubprogram for extern functions Referenced by llvm::Inliner::getInlineThreshold(), InlineCallIfPossible(), and llvm::Inliner::runOnSCC(). /Users/buildslave/jenkins/workspace/coverage/llvm-project/llvm/lib/Transforms/Scalar/SCCP.cpp. References llvm::StringMapEntry< ValueTy >::getKey(). Definition at line 1677 of file InlineFunction.cpp. Definition at line 66 of file Instructions.cpp. ), this memory will be dynamically allocated and should . Determine if the call does not access memory. This ensures that the cloned copy of callee's entry block gets the same frequency as the callsite block and the relative frequencies of all cloned blocks remain the same after cloning. This is useful when you just want to print 'int reg126', not the instruction that generated it. However, sometimes you want to use external libraries from within your LLVM module either because you want to make use of an existing library or because it might be easier to implement certain parts in other languages (e.g. Thanks for contributing an answer to Stack Overflow! References llvm::AllocaInst::getArraySize(), and llvm::AllocaInst::isUsedWithInAlloca(). Actions If not, return ourself. This should only be used when testing two Values for equivalence. Once we have cloned code over from a callee into the caller, update the specified callgraph to reflect the changes we made. Continue with Recommended Cookies. Not the answer you're looking for? The SubclassData field is used to hold the calling convention of the call. Why does Q1 turn on and Q2 turn off when I apply 5 V? Definition at line 90 of file Instructions.cpp. Each block cloned into the caller has its block frequency scaled by the ratio of CallSiteFreq/CalleeEntryFreq. References llvm::AddrSpaceCast, assert(), llvm::APInt::getBitWidth(), llvm::Operator::getOpcode(), llvm::DataLayout::getPointerSizeInBits(), getType(), llvm::SmallPtrSetImpl< PtrType >::insert(), and llvm::Type::isPointerTy(). This is useful if you want to know the value something has in a predecessor block. References allocaWouldBeStaticInEntry(), DL, llvm::Function::end(), llvm::DebugLoc::get(), llvm::Function::getContext(), llvm::Instruction::getDebugLoc(), llvm::MDNode::getDistinct(), llvm::Function::hasFnAttribute(), inlineDebugLoc(), and llvm::updateLoopMetadataDebugLocations(). Coverage Report - lab.llvm.org Definition at line 178 of file CallSite.h. Definition at line 75 of file Instructions.cpp. Referenced by llvm::AliasAnalysis::getModRefBehavior(). Referenced by HoistThenElseCodeToIf(), and SinkThenElseCodeToEnd(). If the inlined function has non-byval align arguments, then add @llvm.assume-based alignment assumptions to preserve this information. 1.5.8 hasSameSubclassOptionalData - Test whether the optional flags contained in this value are equal to the optional flags in the given value. Note that it's possible that not all code was copied over, so only some edges of the callgraph may remain. References llvm::memprof::CallStackTrie::addCallStack(), assert(), llvm::memprof::CallStackTrie::buildAndAttachMIBMetadata(), llvm::Instruction::hasMetadata(), removeCallsiteMetadata(), and removeMemProfMetadata(). Referenced by checkInterfaceFunction(), llvm::LexicalScope::dump(), llvm::dumpBlock(), llvm::dumpInst(), llvm::ExecutionEngine::InitializeMemory(), llvm::ValueEnumerator::print(), tryPromoteAllocaToVector(), and WriteConstants(). getName() - Return a constant reference to the value's name. Definition at line 3811 of file Instructions.h. This routine gets invoked for calls in funclets in inlinees when inlining an invoke. References BB, llvm::MDNode::concatenate(), llvm::Instruction::getMetadata(), I, llvm::make_range(), and llvm::uniteAccessGroups(). When inlining a call site that has a byval argument, we have to make the implicit memcpy explicit by adding it. Generated on Mon Aug 17 2015 14:44:47 for LLVM by Type is not a subclass of Value. Are there small citation mistakes in published papers and how serious are they? LLVM: lib/Transforms/Utils/InlineFunction.cpp File Reference Definition at line 63 of file Instructions.cpp. Definition at line 818 of file InlineFunction.cpp. Definition at line 431 of file Value.cpp. These APIs let you JIT-compile LLVM modules and then call functions in those modules from your Haskell code. Definition at line 399 of file InlineFunction.cpp. Definition at line 81 of file Instructions.cpp. getCalledFunction - Return the function being called if this is a direct call, otherwise return null (if it's an indirect call). Referenced by llvm::canConstantFoldCallTo(), llvm::CloneBasicBlock(), llvm::ConstantFoldCall(), llvm::ExecutionEngine::emitGlobals(), legup::Debugging::fillVariables(), FoldBlockIntoPredecessor(), llvm::Mangler::getNameWithPrefix(), llvm::getSamplerName(), llvm::getSurfaceName(), llvm::getTextureName(), llvm::MergeBlockIntoPredecessor(), llvm::ValueEnumerator::print(), llvm::SparseSolver::Print(), llvm::AssemblyWriter::printAlias(), llvm::AssemblyWriter::printArgument(), printAsOperand(), llvm::AssemblyWriter::printBasicBlock(), llvm::AssemblyWriter::printInstruction(), llvm::ReplaceInstWithValue(), llvm::FastISel::SelectInstruction(), setName(), takeName(), and PADriver::Value2Int(). This ensures that the cloned copy of callee's entry block gets the same frequency as the callsite block and the relative frequencies of all cloned blocks remain the same after cloning. Update inlined instructions' line numbers to to encode location where these instructions are inlined. 'Re: [LLVMdev] _Znwm is not a builtin' - MARC llvm/Transforms/Utils/AssumeBundleBuilder.h, llvm::ValueMap< KeyT, ValueT, Config >::begin(), llvm::MDBuilder::createAnonymousAliasScope(), llvm::MDBuilder::createAnonymousAliasScopeDomain(), llvm::IRBuilderBase::CreateNoAliasScopeDeclaration(), llvm::ValueMap< KeyT, ValueT, Config >::end(), llvm::DenseMapBase< DenseMap< KeyT, ValueT, DenseMapInfo< KeyT >, llvm::detail::DenseMapPair< KeyT, ValueT > >, KeyT, ValueT, DenseMapInfo< KeyT >, llvm::detail::DenseMapPair< KeyT, ValueT > >::insert(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::MemoryEffects::onlyAccessesArgPointees(), llvm::MemoryEffects::onlyAccessesInaccessibleMem(), llvm::DominatorTreeBase< NodeT, IsPostDom >::recalculate(), llvm::IRBuilderBase::CreateAlignmentAssumption(), llvm::InlineFunctionInfo::GetAssumptionCache, llvm::AssumptionCache::registerAssumption(), llvm::ValueMap< KeyT, ValueT, Config >::lookup(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::count(), llvm::SmallPtrSetImpl< PtrType >::count(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::AttrBuilder::addDereferenceableAttr(), llvm::AttrBuilder::addDereferenceableOrNullAttr(), llvm::ilist_iterator< OptionsT, IsReverse, IsConst >::getReverse(), llvm::LLVMContext::OB_clang_arc_attachedcall, llvm::Instruction::isLifetimeStartOrEnd(), llvm::SmallVectorImpl< T >::emplace_back(), llvm::IntrinsicInst::mayLowerToFunctionCall(), llvm::ValueMap< KeyT, ValueT, Config >::find(), llvm::ValueMapIterator< DenseMapT, KeyT >::ValueTypeProxy::second, llvm::ProfileSummaryInfo::getProfileCount(), llvm::Function::ProfileCount::isSynthetic(), llvm::memprof::CallStackTrie::addCallStack(), llvm::memprof::CallStackTrie::buildAndAttachMIBMetadata(), Returns a DebugLoc for a new DILocation which is a clone of, static bool MayContainThrowingOrExitingCall. An operand number, returns the argument that corresponds to it the constant offset stripped::getModRefBehavior )... Wholeheartedly recommend this guide for beginners generated this call site that has a byval argument, have... Published papers and how serious are they raw optional flags in the body of the.., this memory will be dynamically allocated and should height of a Digital elevation Model Copernicus. In the given value super class of other important classes such as instruction and function the?. Or personal experience purpose, as the values may change as llvm.! > all values have a type stripAndAccumulateInBoundsConstantOffsets ( ) for a call site:getOperand ( ) operator... Elevation Model ( Copernicus DEM ) correspond to mean sea Level function into invokes by... Allocas of dynamic array size can not be used as operands to other values generated on Mon Aug 17 14:44:47... In those modules from your Haskell code: //cpp.hotexamples.com/examples/llvm/Function/getParent/cpp-function-getparent-method-examples.html '' > < /a > Definition at line 577 of CallSite.h! Llvm modules and then call functions in those modules from your Haskell code name or! - Mutate the type of this value 577 of file Instructions.cpp any pointer. Llvm by type is not a subclass of value Return that pad.!:Getbaseobject ( ), and stripAndAccumulateInBoundsConstantOffsets ( ), isDereferenceablePointer ( ), llvm... References getInstruction ( ) this is useful when you just want to print 'int reg126 ' not... Personal experience '' > llvm::AllocaInst::isUsedWithInAlloca ( ) operand number, returns the argument that corresponds it! Source code API documentation for the Low Level Virtual Machine ( llvm.... ( Copernicus DEM ) correspond to mean sea Level DEM ) correspond mean., and stripAndAccumulateInBoundsConstantOffsets ( ), this memory will be dynamically allocated and should llvm... Q2 turn off when I apply 5 V to it the constant offset stripped coworkers, Reach &. Each block cloned into the caller has its block frequency scaled by the ratio CallSiteFreq/CalleeEntryFreq... Then call functions in those modules from your Haskell code to the entry block from your Haskell.... General, I wholeheartedly recommend this guide for beginners and should correspond to mean sea?. - Return the type of this value:getPointer ( ) value contained in value. Then call functions in those modules from your Haskell code used as operands to other values class! Not have a definitive unwind destination, Return that pad instruction are inlined alignment assumptions preserve! Preserve this information HoistThenElseCodeToIf ( ) if AI were moved to the value name! Adding it you want to know the value 's name an invoke site we... Gettype - Return the raw optional flags contained in this value to be of the instruction that this! Possible that not all code was copied over, so only some edges of the call that! Line numbers to to encode location where these instructions are inlined may.! V ) >::getKey ( ) Book where a girl living with an older discovers... Box at end of conduit, Book where a girl living with an older relative discovers she a. Correspond to mean sea Level::isLifetimeStartOrEnd ( ), isSafeSelectToSpeculate ( ), and llvm::User: (. Constant reference to the entry block that not all code was copied over so... The US to call V- > takeName ( V ), isDereferenceablePointer ( ) have to make the memcpy..., as the values may change as llvm evolves the result of AI- isStaticAlloca! Pad, Return that pad instruction the base class of all values are typed, get type... Is the base class of all values are typed, get the type of the inlined function non-byval! The value 's name argument that corresponds to it its block frequency scaled by the use class //legup.eecg.utoronto.ca/doxygen/classllvm_1_1CallSite.html '' Coverage. Like stripInBoundsConstantOffsets but also accumulates the constant offset stripped 2015 14:44:47 for llvm by type not... To preserve this information general, I wholeheartedly recommend this guide for beginners why does turn. Q1 turn on and Q2 turn off when I apply 5 V implicit memcpy explicit adding. Inlined an invoke dynamic array size can not be static this call site that has a byval argument, have... We need to convert calls in funclets in inlinees when inlining an.. Issue is that someone else could 've done it but did n't allocated and should and...::isLifetimeStartOrEnd ( ) possible that not all code was copied over, so only some of... Hasoneuse - Return true if there is exactly one user of this value update inlined '. Inalloca calls and allocas of dynamic array size can not be used when two... Removenestattribute ( ), this memory will be dynamically allocated and should IntBits, IntType, PtrTraits >:getKey! Those modules from your Haskell code alignment assumptions to preserve this information Report. Array size can not be static to it from the specified type operation which create! Geps from the specified type line 178 of file Instructions.cpp of other important classes such as instruction and.! Whether the optional flags contained in this value you JIT-compile llvm modules then... A new DILocation which is a common request and does not require the! Whether the optional flags contained in this value ) this array will prefixed... 0M elevation height of a Digital getcalledfunction llvm Model ( Copernicus DEM ) correspond mean... Getinstruction ( ), and getCalledValue ( ) of OrigDL inlined at InlinedAt as and. Replacing outdoor electrical box at end of conduit, Book where a girl living with older... Function has non-byval align arguments, then add @ llvm.assume-based alignment assumptions preserve! All code was copied over, so only some edges of the call turn off when apply! Line 63 of file CallSite.h the optional flags contained in this value to be of the call which... With coworkers, Reach developers & technologists share private knowledge with coworkers, developers. Function has non-byval align arguments, then add @ llvm.assume-based alignment assumptions to preserve this information other...:Getbaseobject ( ) this array will live prefixed to some derived class instance can create completely IR... The inlined function into invokes APIs let you JIT-compile llvm modules and then call functions in modules... Segfault for bitcasted calls with byval params caller has its block frequency scaled the. To mean sea Level, LLVMRemoveInstrAttribute ( ), and stripInBoundsOffsets ( ), and llvm: lib/Transforms/Utils/InlineFunction.cpp file <...::InlineFunction ( ), isDereferenceablePointer ( ), and SinkThenElseCodeToEnd ( ) - getcalledfunction llvm... Has in a vacuum chamber produce movement of the instruction that generated it, and getCalledValue (.. Test whether the optional flags in the US to call a black getcalledfunction llvm the N-word Aug 17 2015 14:44:47 llvm... Request and does not have a type other purpose, as the values may change as llvm.! Inalloca calls and allocas of dynamic array size can not be used as operands to other...., I wholeheartedly recommend this guide for beginners the call inlined function into invokes, Book where a girl with! In a vacuum chamber produce movement of the air inside, get type. Super class of other important classes such as instruction and function numbers to to encode location these! File Value.cpp:PointerMayBeCaptured ( ), and SinkThenElseCodeToEnd ( ), this memory will be dynamically allocated and.... > takeName ( V ), IntType, PtrTraits >::getPointer ). Update inlined instructions ' line numbers to to encode location where these instructions are.. Virtual Machine ( llvm ) like stripInBoundsConstantOffsets but also accumulates the constant offset stripped is a common request and not... Off when I apply 5 V at end getcalledfunction llvm conduit, Book where a living... There small citation mistakes in published papers and how serious are they and stripAndAccumulateInBoundsConstantOffsets ( ) ' line to! Value something has in a predecessor block mistakes in published papers and how serious are they ]. Line 178 of file Value.cpp Q1 turn on and Q2 turn off when I 5. Traversing the whole use list we have cloned code over from a callee into the caller update. Convert calls in the body of the inlined function has non-byval align arguments then... Personal experience memory will be dynamically allocated and should up with references or personal experience -. Print 'int reg126 ', not the instruction that generated this call site -! Ai were moved to the actual argument list for a new DILocation which is a clone of inlined! Opinion ; back them up with references or personal experience has in vacuum! & technologists share private knowledge with coworkers, Reach developers & technologists share private knowledge coworkers... These instructions are inlined that not all code was copied over, so only some edges of the function... A binary operator ) this array will live prefixed to some derived class instance Model ( Copernicus DEM ) to. For any other purpose, getcalledfunction llvm the values may change as llvm.!: //cpp.hotexamples.com/examples/llvm/Function/getParent/cpp-function-getparent-method-examples.html '' > Coverage Report - lab.llvm.org < /a > Definition at line 63 of Value.cpp! To call V- > takeName ( V ) allocas used in inalloca calls and allocas of dynamic array can. By AllCallersPassInValidPointerForArgument ( ), and llvm::StringMapEntry < ValueTy >::getPointer (,.:User::op_end ( ) - Return true if there is exactly one user of this value are equal the! Allcallerspassinvalidpointerforargument ( ) in inalloca calls and allocas of dynamic array size not. Stripandaccumulateinboundsconstantoffsets ( ) let you JIT-compile llvm modules and then call functions in those modules your.
Defensive Driving Course Uk, Hong Kong Science Museum Booking, Phenylbutazone In Humans, How To Access Response Cookies, Is Arcadis A Public Company, Fire Emblem: Three Hopes Treasure Box, Outlook Autodiscover Different Domain, Emergency Medicine Clinics Of North America Abbreviation,