|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
include/llvm/Analysis/MemoryBuiltins.h 38 class ExtractValueInst;
include/llvm/IR/Instruction.def 217 HANDLE_OTHER_INST(64, ExtractValue, ExtractValueInst)// extract from aggregate
include/llvm/Transforms/Scalar/GVN.h 43 class ExtractValueInst;
References
include/llvm/Analysis/MemoryBuiltins.h 265 SizeOffsetType visitExtractValueInst(ExtractValueInst &I);
334 SizeOffsetEvalType visitExtractValueInst(ExtractValueInst &I);
include/llvm/Analysis/TargetTransformInfoImpl.h 849 if (isa<ExtractValueInst>(U))
include/llvm/IR/IRBuilder.h 845 InstTy *Insert(InstTy *I, const Twine &Name = "") const {
845 InstTy *Insert(InstTy *I, const Twine &Name = "") const {
2378 return Insert(ExtractValueInst::Create(Agg, Idxs), Name);
include/llvm/IR/InstVisitor.h 196 RetTy visitExtractValueInst(ExtractValueInst &I){ DELEGATE(UnaryInstruction);}
include/llvm/IR/Instructions.h 2295 ExtractValueInst(const ExtractValueInst &EVI);
2315 ExtractValueInst *cloneImpl() const;
2318 static ExtractValueInst *Create(Value *Agg,
2323 ExtractValueInst(Agg, Idxs, NameStr, InsertBefore);
2326 static ExtractValueInst *Create(Value *Agg,
2330 return new ExtractValueInst(Agg, Idxs, NameStr, InsertAtEnd);
include/llvm/IR/NoFolder.h 334 return ExtractValueInst::Create(Agg, IdxList);
include/llvm/Support/Casting.h 58 return To::classof(&Val);
77 return isa_impl<To, From>::doit(Val);
92 return isa_impl<To, From>::doit(*Val);
106 return isa_impl<To, From>::doit(*Val);
122 return isa_impl_wrap<To, SimpleFrom,
132 return isa_impl_cl<To,FromTy>::doit(Val);
142 return isa_impl_wrap<X, const Y,
172 using ret_type = To *; // Pointer arg case, return Ty*
176 using ret_type = const To *; // Constant pointer arg case, return const Ty*
198 using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
204 using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
210 To, From, typename simplify_type<From>::SimpleType>::ret_type;
218 static typename cast_retty<To, From>::ret_type doit(From &Val) {
219 return cast_convert_val<To, SimpleFrom,
227 static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
228 typename cast_retty<To, FromTy>::ret_type Res2
248 typename cast_retty<X, const Y>::ret_type>::type
256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
258 return cast_convert_val<X, Y,
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
265 return cast_convert_val<X, Y*,
331 typename cast_retty<X, const Y>::ret_type>::type
337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
338 return isa<X>(Val) ? cast<X>(Val) : nullptr;
338 return isa<X>(Val) ? cast<X>(Val) : nullptr;
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
368 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
368 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Transforms/Scalar/GVN.h 119 Expression createExtractvalueExpr(ExtractValueInst *EI);
lib/Analysis/CFLGraph.h 497 void visitExtractValueInst(ExtractValueInst &Inst) {
lib/Analysis/ConstantFolding.cpp 1059 Ops[0], cast<ExtractValueInst>(InstOrCE)->getIndices());
1180 if (auto *EVI = dyn_cast<ExtractValueInst>(I)) {
1180 if (auto *EVI = dyn_cast<ExtractValueInst>(I)) {
lib/Analysis/InlineCost.cpp 279 bool visitExtractValue(ExtractValueInst &I);
1173 bool CallAnalyzer::visitExtractValue(ExtractValueInst &I) {
lib/Analysis/InstructionSimplify.cpp 1835 auto *Extract = dyn_cast<ExtractValueInst>(Op1);
1835 auto *Extract = dyn_cast<ExtractValueInst>(Op1);
4119 if (ExtractValueInst *EV = dyn_cast<ExtractValueInst>(Val))
4119 if (ExtractValueInst *EV = dyn_cast<ExtractValueInst>(Val))
5353 auto *EVI = cast<ExtractValueInst>(I);
5353 auto *EVI = cast<ExtractValueInst>(I);
lib/Analysis/LazyValueInfo.cpp 440 ExtractValueInst *EVI, BasicBlock *BB);
654 if (auto *EVI = dyn_cast<ExtractValueInst>(BBI))
654 if (auto *EVI = dyn_cast<ExtractValueInst>(BBI))
1164 ValueLatticeElement &BBLV, ExtractValueInst *EVI, BasicBlock *BB) {
1285 if (auto *EVI = dyn_cast<ExtractValueInst>(Cond))
1285 if (auto *EVI = dyn_cast<ExtractValueInst>(Cond))
lib/Analysis/Lint.cpp 696 } else if (ExtractValueInst *Ex = dyn_cast<ExtractValueInst>(V)) {
696 } else if (ExtractValueInst *Ex = dyn_cast<ExtractValueInst>(V)) {
lib/Analysis/MemoryBuiltins.cpp 742 ObjectSizeOffsetVisitor::visitExtractValueInst(ExtractValueInst&) {
965 ObjectSizeOffsetEvaluator::visitExtractValueInst(ExtractValueInst&) {
lib/Analysis/ScalarEvolution.cpp 4546 auto *EVI = cast<ExtractValueInst>(Op);
4546 auto *EVI = cast<ExtractValueInst>(Op);
7714 isa<LoadInst>(I) || isa<ExtractValueInst>(I))
lib/Analysis/TypeMetadataUtils.cpp 113 if (auto EVI = dyn_cast<ExtractValueInst>(CIU)) {
lib/Analysis/ValueTracking.cpp 1583 const ExtractValueInst *EVI = cast<ExtractValueInst>(I);
1583 const ExtractValueInst *EVI = cast<ExtractValueInst>(I);
3354 Type *IndexedType = ExtractValueInst::getIndexedType(From->getType(),
3427 if (ExtractValueInst *I = dyn_cast<ExtractValueInst>(V)) {
3427 if (ExtractValueInst *I = dyn_cast<ExtractValueInst>(V)) {
4178 SmallVector<const ExtractValueInst *, 2> Results;
4181 if (const auto *EVI = dyn_cast<ExtractValueInst>(U)) {
4181 if (const auto *EVI = dyn_cast<ExtractValueInst>(U)) {
4208 for (const auto *Result : Results) {
lib/AsmParser/LLParser.cpp 3350 if (!ExtractValueInst::getIndexedType(Val->getType(), Indices))
3370 ExtractValueInst::getIndexedType(Val0->getType(), Indices);
7255 if (!ExtractValueInst::getIndexedType(Val->getType(), Indices))
7257 Inst = ExtractValueInst::Create(Val, Indices);
7276 Type *IndexedType = ExtractValueInst::getIndexedType(Val0->getType(), Indices);
lib/Bitcode/Reader/BitcodeReader.cpp 4029 I = ExtractValueInst::Create(Agg, EXTRACTVALIdx);
4941 I = ExtractValueInst::Create(I, 0);
lib/Bitcode/Writer/BitcodeWriter.cpp 2655 const ExtractValueInst *EVI = cast<ExtractValueInst>(&I);
2655 const ExtractValueInst *EVI = cast<ExtractValueInst>(&I);
lib/CodeGen/Analysis.cpp 334 } else if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(V)) {
334 } else if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(V)) {
lib/CodeGen/AtomicExpandPass.cpp 1281 SmallVector<ExtractValueInst *, 2> PrunedInsts;
1283 ExtractValueInst *EV = dyn_cast<ExtractValueInst>(User);
1283 ExtractValueInst *EV = dyn_cast<ExtractValueInst>(User);
lib/CodeGen/DwarfEHPrepare.cpp 123 ExnObj = ExtractValueInst::Create(RI->getOperand(0), 0, "exn.obj", RI);
lib/CodeGen/GlobalISel/IRTranslator.cpp 951 if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(&U)) {
951 if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(&U)) {
lib/CodeGen/SelectionDAG/FastISel.cpp 1752 const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(U);
1752 const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(U);
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp 3796 if (const ExtractValueInst *EV = dyn_cast<ExtractValueInst>(&I))
3796 if (const ExtractValueInst *EV = dyn_cast<ExtractValueInst>(&I))
lib/CodeGen/SjLjEHPrepare.cpp 140 auto *EVI = dyn_cast<ExtractValueInst>(Val);
140 auto *EVI = dyn_cast<ExtractValueInst>(Val);
lib/ExecutionEngine/Interpreter/Execution.cpp 1932 void Interpreter::visitExtractValueInst(ExtractValueInst &I) {
1938 ExtractValueInst::idx_iterator IdxBegin = I.idx_begin();
1947 Type *IndexedType = ExtractValueInst::getIndexedType(Agg->getType(), I.getIndices());
1983 ExtractValueInst::idx_iterator IdxBegin = I.idx_begin();
1993 Type *IndexedType = ExtractValueInst::getIndexedType(Agg->getType(), I.getIndices());
lib/ExecutionEngine/Interpreter/Interpreter.h 167 void visitExtractValueInst(ExtractValueInst &I);
lib/FuzzMutate/Operations.cpp 215 return ExtractValueInst::Create(Srcs[0], {Idx}, "E", Inst);
lib/IR/AsmWriter.cpp 3766 } else if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(&I)) {
3766 } else if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(&I)) {
lib/IR/Constants.cpp 2212 Type *ReqTy = ExtractValueInst::getIndexedType(Agg->getType(), Idxs);
3014 return ExtractValueInst::Create(Ops[0], getIndices());
lib/IR/Core.cpp 2962 if (auto *EV = dyn_cast<ExtractValueInst>(I))
2962 if (auto *EV = dyn_cast<ExtractValueInst>(I))
2974 if (auto *EV = dyn_cast<ExtractValueInst>(I))
2974 if (auto *EV = dyn_cast<ExtractValueInst>(I))
lib/IR/Instruction.cpp 417 if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(I1))
417 if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(I1))
418 return EVI->getIndices() == cast<ExtractValueInst>(I2)->getIndices();
lib/IR/Instructions.cpp 2150 ExtractValueInst::ExtractValueInst(const ExtractValueInst &EVI)
4121 ExtractValueInst *ExtractValueInst::cloneImpl() const {
4122 return new ExtractValueInst(*this);
lib/IR/Verifier.cpp 484 void visitExtractValueInst(ExtractValueInst &EVI);
3562 void Verifier::visitExtractValueInst(ExtractValueInst &EVI) {
lib/Target/AArch64/AArch64FastISel.cpp 3384 if (!isa<ExtractValueInst>(Cond))
3387 const auto *EV = cast<ExtractValueInst>(Cond);
3387 const auto *EV = cast<ExtractValueInst>(Cond);
3457 if (!isa<ExtractValueInst>(Itr))
3461 const auto *EVI = cast<ExtractValueInst>(Itr);
3461 const auto *EVI = cast<ExtractValueInst>(Itr);
lib/Target/AArch64/AArch64PromoteConstant.cpp 265 if (isa<const ExtractValueInst>(Instr) && OpIdx > 0)
lib/Target/AMDGPU/SIAnnotateControlFlow.cpp 214 Term->setCondition(ExtractValueInst::Create(Ret, 0, "", Term));
215 push(Term->getSuccessor(1), ExtractValueInst::Create(Ret, 1, "", Term));
224 Term->setCondition(ExtractValueInst::Create(Ret, 0, "", Term));
225 push(Term->getSuccessor(1), ExtractValueInst::Create(Ret, 1, "", Term));
lib/Target/AMDGPU/SIISelLowering.cpp10999 if (const ExtractValueInst *ExtValue = dyn_cast<ExtractValueInst>(V)) {
10999 if (const ExtractValueInst *ExtValue = dyn_cast<ExtractValueInst>(V)) {
lib/Target/NVPTX/NVPTXImageOptimizer.cpp 170 if (ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(V)) {
170 if (ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(V)) {
lib/Target/X86/X86FastISel.cpp 239 if (!isa<ExtractValueInst>(Cond))
242 const auto *EV = cast<ExtractValueInst>(Cond);
242 const auto *EV = cast<ExtractValueInst>(Cond);
278 if (!isa<ExtractValueInst>(Itr))
282 const auto *EVI = cast<ExtractValueInst>(Itr);
282 const auto *EVI = cast<ExtractValueInst>(Itr);
lib/Transforms/Coroutines/CoroSplit.cpp 437 auto EVI = dyn_cast<ExtractValueInst>((UI++)->getUser());
lib/Transforms/IPO/DeadArgumentElimination.cpp 584 if (ExtractValueInst *Ext = dyn_cast<ExtractValueInst>(U.getUser())) {
584 if (ExtractValueInst *Ext = dyn_cast<ExtractValueInst>(U.getUser())) {
987 V = ExtractValueInst::Create(New, NewRetIdxs[i], "newret",
1051 ExtractValueInst *EV = ExtractValueInst::Create(OldRet, i,
1051 ExtractValueInst *EV = ExtractValueInst::Create(OldRet, i,
lib/Transforms/IPO/IPConstantPropagation.cpp 256 if (ExtractValueInst *EV = dyn_cast<ExtractValueInst>(Ins))
256 if (ExtractValueInst *EV = dyn_cast<ExtractValueInst>(Ins))
lib/Transforms/InstCombine/InstCombineCompares.cpp 1335 return ExtractValueInst::Create(Call, 1, "sadd.overflow");
4751 return ExtractValueInst::Create(Call, 1);
5575 if (auto *EVI = dyn_cast<ExtractValueInst>(Op0))
5575 if (auto *EVI = dyn_cast<ExtractValueInst>(Op0))
5579 return ExtractValueInst::Create(ACXI, 1);
lib/Transforms/InstCombine/InstCombineInternal.h 445 Instruction *visitExtractValueInst(ExtractValueInst &EV);
lib/Transforms/InstCombine/InstCombineSelect.cpp 1934 auto *Extract = dyn_cast<ExtractValueInst>(V);
1934 auto *Extract = dyn_cast<ExtractValueInst>(V);
lib/Transforms/InstCombine/InstructionCombining.cpp 2644 Instruction *InstCombiner::visitExtractValueInst(ExtractValueInst &EV) {
2670 return ExtractValueInst::Create(IV->getAggregateOperand(),
2702 return ExtractValueInst::Create(IV->getInsertedValueOperand(),
2740 for (ExtractValueInst::idx_iterator I = EV.idx_begin(), E = EV.idx_end();
lib/Transforms/Instrumentation/ControlHeightReduction.cpp 499 isa<ShuffleVectorInst>(I) || isa<ExtractValueInst>(I) ||
lib/Transforms/Instrumentation/DataFlowSanitizer.cpp 453 void visitExtractValueInst(ExtractValueInst &I);
1430 void DFSanVisitor::visitExtractValueInst(ExtractValueInst &I) {
1749 ExtractValueInst *ExVal =
1750 ExtractValueInst::Create(NewCS.getInstruction(), 0, "", Next);
1752 ExtractValueInst *ExShadow =
1753 ExtractValueInst::Create(NewCS.getInstruction(), 1, "", Next);
lib/Transforms/Instrumentation/MemorySanitizer.cpp 3578 void visitExtractValueInst(ExtractValueInst &I) {
lib/Transforms/Scalar/EarlyCSE.cpp 115 isa<ShuffleVectorInst>(Inst) || isa<ExtractValueInst>(Inst) ||
233 if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(Inst))
233 if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(Inst))
lib/Transforms/Scalar/GVN.cpp 328 GVN::Expression GVN::ValueTable::createExtractvalueExpr(ExtractValueInst *EI) {
352 for (ExtractValueInst::idx_iterator II = EI->idx_begin(), IE = EI->idx_end();
539 exp = createExtractvalueExpr(cast<ExtractValueInst>(I));
lib/Transforms/Scalar/LICM.cpp 1040 isa<ShuffleVectorInst>(I) || isa<ExtractValueInst>(I) ||
lib/Transforms/Scalar/NewGVN.cpp 1209 } else if (auto *EI = dyn_cast<ExtractValueInst>(I)) {
1209 } else if (auto *EI = dyn_cast<ExtractValueInst>(I)) {
1821 if (auto *EI = dyn_cast<ExtractValueInst>(I)) {
1821 if (auto *EI = dyn_cast<ExtractValueInst>(I)) {
lib/Transforms/Scalar/RewriteStatepointsForGC.cpp 583 if (isa<ExtractValueInst>(I))
lib/Transforms/Scalar/SCCP.cpp 621 void visitExtractValueInst(ExtractValueInst &EVI);
887 void SCCPSolver::visitExtractValueInst(ExtractValueInst &EVI) {
1455 if (isa<ExtractValueInst>(I) || isa<InsertValueInst>(I))
1489 if (isa<ExtractValueInst>(I))
lib/Transforms/Utils/Evaluator.cpp 422 } else if (auto *EVI = dyn_cast<ExtractValueInst>(CurInst)) {
422 } else if (auto *EVI = dyn_cast<ExtractValueInst>(CurInst)) {
lib/Transforms/Utils/FunctionComparator.cpp 598 if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(L)) {
598 if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(L)) {
600 ArrayRef<unsigned> RIndices = cast<ExtractValueInst>(R)->getIndices();
lib/Transforms/Utils/SimplifyIndVar.cpp 458 SmallVector<ExtractValueInst *, 4> ToDelete;
461 if (auto *EVI = dyn_cast<ExtractValueInst>(U)) {
461 if (auto *EVI = dyn_cast<ExtractValueInst>(U)) {
472 for (auto *EVI : ToDelete)
lib/Transforms/Vectorize/SLPVectorizer.cpp 431 ExtractValueInst *EI = cast<ExtractValueInst>(E);
431 ExtractValueInst *EI = cast<ExtractValueInst>(E);