/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | TypeMetadataUtils.cpp | 122 if (auto EVI = dyn_cast<ExtractValueInst>(CIU)) { in findDevirtualizableCallsForTypeCheckedLoad() local 123 if (EVI->getNumIndices() == 1 && EVI->getIndices()[0] == 0) { in findDevirtualizableCallsForTypeCheckedLoad() 124 LoadedPtrs.push_back(EVI); in findDevirtualizableCallsForTypeCheckedLoad() 127 if (EVI->getNumIndices() == 1 && EVI->getIndices()[0] == 1) { in findDevirtualizableCallsForTypeCheckedLoad() 128 Preds.push_back(EVI); in findDevirtualizableCallsForTypeCheckedLoad()
|
H A D | LazyValueInfo.cpp | 433 solveBlockValueExtractValue(ExtractValueInst *EVI, BasicBlock *BB); 665 if (auto *EVI = dyn_cast<ExtractValueInst>(BBI)) in solveBlockValueImpl() local 666 return solveBlockValueExtractValue(EVI, BB); in solveBlockValueImpl() 1065 LazyValueInfoImpl::solveBlockValueExtractValue(ExtractValueInst *EVI, in solveBlockValueExtractValue() argument 1067 if (auto *WO = dyn_cast<WithOverflowInst>(EVI->getAggregateOperand())) in solveBlockValueExtractValue() 1068 if (EVI->getNumIndices() == 1 && *EVI->idx_begin() == 0) in solveBlockValueExtractValue() 1074 EVI->getAggregateOperand(), EVI->getIndices(), in solveBlockValueExtractValue() 1075 EVI->getDataLayout())) in solveBlockValueExtractValue() 1076 return getBlockValue(V, BB, EVI); in solveBlockValueExtractValue() 1275 if (auto *EVI = dyn_cast<ExtractValueInst>(Cond)) in getValueFromCondition() local [all …]
|
H A D | ValueTracking.cpp | 1952 const ExtractValueInst *EVI = cast<ExtractValueInst>(I); in computeKnownBitsFromOperator() local 1953 if (EVI->getNumIndices() != 1) break; in computeKnownBitsFromOperator() 1954 if (EVI->getIndices()[0] == 0) { in computeKnownBitsFromOperator() 7165 if (const auto *EVI = dyn_cast<ExtractValueInst>(U)) { in isOverflowIntrinsicNoWrap() local 7166 assert(EVI->getNumIndices() == 1 && "Obvious from CI's type"); in isOverflowIntrinsicNoWrap() 7168 if (EVI->getIndices()[0] == 0) in isOverflowIntrinsicNoWrap() 7169 Results.push_back(EVI); in isOverflowIntrinsicNoWrap() 7171 assert(EVI->getIndices()[0] == 1 && "Obvious from CI's type"); in isOverflowIntrinsicNoWrap() 7173 for (const auto *U : EVI->users()) in isOverflowIntrinsicNoWrap()
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | SjLjEHPrepare.cpp | 164 auto *EVI = dyn_cast<ExtractValueInst>(Val); in substituteLPadValues() local 165 if (!EVI) in substituteLPadValues() 167 if (EVI->getNumIndices() != 1) in substituteLPadValues() 169 if (*EVI->idx_begin() == 0) in substituteLPadValues() 170 EVI->replaceAllUsesWith(ExnVal); in substituteLPadValues() 171 else if (*EVI->idx_begin() == 1) in substituteLPadValues() 172 EVI->replaceAllUsesWith(SelVal); in substituteLPadValues() 173 if (EVI->use_empty()) in substituteLPadValues() 174 EVI->eraseFromParent(); in substituteLPadValues()
|
H A D | Analysis.cpp | 357 } else if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(V)) { in getNoopInput() local 361 ArrayRef<unsigned> ExtractLoc = EVI->getIndices(); in getNoopInput()
|
H A D | CodeGenPrepare.cpp | 2635 ExtractValueInst *EVI = nullptr; in dupRetToEnableTailCallOpts() local 2643 EVI = dyn_cast<ExtractValueInst>(V); in dupRetToEnableTailCallOpts() 2644 if (EVI) { in dupRetToEnableTailCallOpts() 2645 V = EVI->getOperand(0); in dupRetToEnableTailCallOpts() 2646 if (!llvm::all_of(EVI->indices(), [](unsigned idx) { return idx == 0; })) in dupRetToEnableTailCallOpts() 2670 while (isa<DbgInfoIntrinsic>(BI) || BI == BCI || BI == EVI || in dupRetToEnableTailCallOpts()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | SCCPSolver.cpp | 634 void handleExtractOfWithOverflow(ExtractValueInst &EVI, 656 void visitExtractValueInst(ExtractValueInst &EVI); 1308 void SCCPInstVisitor::handleExtractOfWithOverflow(ExtractValueInst &EVI, in handleExtractOfWithOverflow() argument 1314 addAdditionalUser(LHS, &EVI); in handleExtractOfWithOverflow() 1315 addAdditionalUser(RHS, &EVI); in handleExtractOfWithOverflow() 1324 mergeInValue(&EVI, ValueLatticeElement::getRange(Res)); in handleExtractOfWithOverflow() 1330 return (void)markConstant(&EVI, ConstantInt::getFalse(EVI.getType())); in handleExtractOfWithOverflow() 1331 markOverdefined(&EVI); in handleExtractOfWithOverflow() 1335 void SCCPInstVisitor::visitExtractValueInst(ExtractValueInst &EVI) { in visitExtractValueInst() argument 1338 if (EVI.getType()->isStructTy()) in visitExtractValueInst() [all …]
|
H A D | SimplifyIndVar.cpp | 435 if (auto *EVI = dyn_cast<ExtractValueInst>(U)) { in eliminateOverflowIntrinsic() local 436 if (EVI->getIndices()[0] == 1) in eliminateOverflowIntrinsic() 437 EVI->replaceAllUsesWith(ConstantInt::getFalse(WO->getContext())); in eliminateOverflowIntrinsic() 439 assert(EVI->getIndices()[0] == 0 && "Only two possibilities!"); in eliminateOverflowIntrinsic() 440 EVI->replaceAllUsesWith(NewResult); in eliminateOverflowIntrinsic() 441 NewResult->setDebugLoc(EVI->getDebugLoc()); in eliminateOverflowIntrinsic() 443 ToDelete.push_back(EVI); in eliminateOverflowIntrinsic() 447 for (auto *EVI : ToDelete) in eliminateOverflowIntrinsic() local 448 EVI->eraseFromParent(); in eliminateOverflowIntrinsic()
|
H A D | FunctionComparator.cpp | 724 if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(L)) { in cmpOperations() local 725 ArrayRef<unsigned> LIndices = EVI->getIndices(); in cmpOperations()
|
H A D | BasicBlockUtils.cpp | 1573 if (ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(V)) { in FoldReturnIntoUncondBranch() local 1574 V = EVI->getOperand(0); in FoldReturnIntoUncondBranch() 1575 NewEV = EVI->clone(); in FoldReturnIntoUncondBranch()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/NVPTX/ |
H A D | NVPTXImageOptimizer.cpp | 169 if (ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(V)) { in cleanupValue() local 170 return cleanupValue(EVI->getAggregateOperand()); in cleanupValue()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | EarlyCSE.cpp | 302 if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(Inst)) in getHashValueImpl() local 303 return hash_combine(EVI->getOpcode(), EVI->getOperand(0), in getHashValueImpl() 304 hash_combine_range(EVI->idx_begin(), EVI->idx_end())); in getHashValueImpl()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Coroutines/ |
H A D | CoroSplit.cpp | 590 auto *EVI = dyn_cast<ExtractValueInst>(U.getUser()); in replaceRetconOrAsyncSuspendUses() local 591 if (!EVI || EVI->getNumIndices() != 1) in replaceRetconOrAsyncSuspendUses() 594 EVI->replaceAllUsesWith(Args[EVI->getIndices().front()]); in replaceRetconOrAsyncSuspendUses() 595 EVI->eraseFromParent(); in replaceRetconOrAsyncSuspendUses()
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
H A D | FastISel.cpp | 1767 const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(U); in selectExtractValue() local 1768 if (!EVI) in selectExtractValue() 1773 EVT RealVT = TLI.getValueType(DL, EVI->getType(), /*AllowUnknown=*/true); in selectExtractValue() 1780 const Value *Op0 = EVI->getOperand(0); in selectExtractValue() 1794 unsigned VTIndex = ComputeLinearIndex(AggTy, EVI->getIndices()); in selectExtractValue() 1802 updateValueMap(EVI, ResultReg); in selectExtractValue()
|
/freebsd/contrib/llvm-project/llvm/lib/IR/ |
H A D | Instruction.cpp | 826 if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(I1)) in hasSameSpecialState() local 827 return EVI->getIndices() == cast<ExtractValueInst>(I2)->getIndices(); in hasSameSpecialState()
|
H A D | Instructions.cpp | 2486 ExtractValueInst::ExtractValueInst(const ExtractValueInst &EVI) in ExtractValueInst() argument 2487 : UnaryInstruction(EVI.getType(), ExtractValue, EVI.getOperand(0)), in ExtractValueInst() 2488 Indices(EVI.Indices) { in ExtractValueInst() 2489 SubclassOptionalData = EVI.SubclassOptionalData; in ExtractValueInst()
|
H A D | Verifier.cpp | 597 void visitExtractValueInst(ExtractValueInst &EVI); 4351 void Verifier::visitExtractValueInst(ExtractValueInst &EVI) { in visitExtractValueInst() argument 4352 Check(ExtractValueInst::getIndexedType(EVI.getAggregateOperand()->getType(), in visitExtractValueInst() 4353 EVI.getIndices()) == EVI.getType(), in visitExtractValueInst() 4354 "Invalid ExtractValueInst operands!", &EVI); in visitExtractValueInst() 4356 visitInstruction(EVI); in visitExtractValueInst()
|
H A D | AsmWriter.cpp | 4326 } else if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(&I)) { in printInstruction() local 4329 for (unsigned i : EVI->indices()) in printInstruction()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombineVectorOps.cpp | 980 auto *EVI = dyn_cast_or_null<ExtractValueInst>(Elt); in foldAggregateConstructionIntoAggregateReuse() local 981 if (!EVI) in foldAggregateConstructionIntoAggregateReuse() 984 Value *SourceAggregate = EVI->getAggregateOperand(); in foldAggregateConstructionIntoAggregateReuse() 990 if (EVI->getNumIndices() != 1 || EltIdx != EVI->getIndices().front()) in foldAggregateConstructionIntoAggregateReuse()
|
H A D | InstCombineCompares.cpp | 7580 if (auto *EVI = dyn_cast<ExtractValueInst>(Op0)) in visitICmpInst() local 7581 if (auto *ACXI = dyn_cast<AtomicCmpXchgInst>(EVI->getAggregateOperand())) in visitICmpInst() 7582 if (EVI->getIndices()[0] == 0 && ACXI->getCompareOperand() == Op1 && in visitICmpInst()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/DirectX/DXILWriter/ |
H A D | DXILBitcodeWriter.cpp | 2273 const ExtractValueInst *EVI = cast<ExtractValueInst>(&I); in writeInstruction() local 2274 Vals.append(EVI->idx_begin(), EVI->idx_end()); in writeInstruction()
|
/freebsd/contrib/llvm-project/llvm/lib/Bitcode/Writer/ |
H A D | BitcodeWriter.cpp | 3015 const ExtractValueInst *EVI = cast<ExtractValueInst>(&I); in writeInstruction() local 3016 Vals.append(EVI->idx_begin(), EVI->idx_end()); in writeInstruction()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
H A D | X86FastISel.cpp | 270 const auto *EVI = cast<ExtractValueInst>(Itr); in foldX86XALUIntrinsic() local 271 if (EVI->getAggregateOperand() != II) in foldX86XALUIntrinsic()
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/ |
H A D | IRTranslator.cpp | 1459 if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(&U)) { in getOffsetFromIndices() local 1460 for (auto Idx : EVI->indices()) in getOffsetFromIndices()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
H A D | AArch64FastISel.cpp | 3431 const auto *EVI = cast<ExtractValueInst>(Itr); in foldXALUIntrinsic() local 3432 if (EVI->getAggregateOperand() != II) in foldXALUIntrinsic()
|