Home
last modified time | relevance | path

Searched refs:EVI (Results 1 – 25 of 34) sorted by relevance

12

/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DTypeMetadataUtils.cpp127 if (auto EVI = dyn_cast<ExtractValueInst>(CIU)) { in findDevirtualizableCallsForTypeCheckedLoad() local
128 if (EVI->getNumIndices() == 1 && EVI->getIndices()[0] == 0) { in findDevirtualizableCallsForTypeCheckedLoad()
129 LoadedPtrs.push_back(EVI); in findDevirtualizableCallsForTypeCheckedLoad()
132 if (EVI->getNumIndices() == 1 && EVI->getIndices()[0] == 1) { in findDevirtualizableCallsForTypeCheckedLoad()
133 Preds.push_back(EVI); in findDevirtualizableCallsForTypeCheckedLoad()
H A DLazyValueInfo.cpp379 solveBlockValueExtractValue(ExtractValueInst *EVI, BasicBlock *BB);
613 if (auto *EVI = dyn_cast<ExtractValueInst>(BBI)) in solveBlockValueImpl() local
614 return solveBlockValueExtractValue(EVI, BB); in solveBlockValueImpl()
1079 LazyValueInfoImpl::solveBlockValueExtractValue(ExtractValueInst *EVI, in solveBlockValueExtractValue() argument
1081 if (auto *WO = dyn_cast<WithOverflowInst>(EVI->getAggregateOperand())) in solveBlockValueExtractValue()
1082 if (EVI->getNumIndices() == 1 && *EVI->idx_begin() == 0) in solveBlockValueExtractValue()
1088 EVI->getAggregateOperand(), EVI->getIndices(), in solveBlockValueExtractValue()
1089 EVI->getDataLayout())) in solveBlockValueExtractValue()
1090 return getBlockValue(V, BB, EVI); in solveBlockValueExtractValue()
1351 if (auto *EVI = dyn_cast<ExtractValueInst>(Cond)) in getValueFromCondition() local
[all …]
H A DValueTracking.cpp2125 const ExtractValueInst *EVI = cast<ExtractValueInst>(I); in computeKnownBitsFromOperator() local
2126 if (EVI->getNumIndices() != 1) break; in computeKnownBitsFromOperator()
2127 if (EVI->getIndices()[0] == 0) { in computeKnownBitsFromOperator()
7275 if (const auto *EVI = dyn_cast<ExtractValueInst>(U)) { in isOverflowIntrinsicNoWrap() local
7276 assert(EVI->getNumIndices() == 1 && "Obvious from CI's type"); in isOverflowIntrinsicNoWrap()
7278 if (EVI->getIndices()[0] == 0) in isOverflowIntrinsicNoWrap()
7279 Results.push_back(EVI); in isOverflowIntrinsicNoWrap()
7281 assert(EVI->getIndices()[0] == 1 && "Obvious from CI's type"); in isOverflowIntrinsicNoWrap()
7283 for (const auto *U : EVI->users()) in isOverflowIntrinsicNoWrap()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DSjLjEHPrepare.cpp163 auto *EVI = dyn_cast<ExtractValueInst>(Val); in substituteLPadValues() local
164 if (!EVI) in substituteLPadValues()
166 if (EVI->getNumIndices() != 1) in substituteLPadValues()
168 if (*EVI->idx_begin() == 0) in substituteLPadValues()
169 EVI->replaceAllUsesWith(ExnVal); in substituteLPadValues()
170 else if (*EVI->idx_begin() == 1) in substituteLPadValues()
171 EVI->replaceAllUsesWith(SelVal); in substituteLPadValues()
172 if (EVI->use_empty()) in substituteLPadValues()
173 EVI->eraseFromParent(); in substituteLPadValues()
H A DAnalysis.cpp357 } else if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(V)) { in getNoopInput() local
361 ArrayRef<unsigned> ExtractLoc = EVI->getIndices(); in getNoopInput()
H A DCodeGenPrepare.cpp2928 ExtractValueInst *EVI = nullptr; in dupRetToEnableTailCallOpts() local
2936 EVI = dyn_cast<ExtractValueInst>(V); in dupRetToEnableTailCallOpts()
2937 if (EVI) { in dupRetToEnableTailCallOpts()
2938 V = EVI->getOperand(0); in dupRetToEnableTailCallOpts()
2939 if (!llvm::all_of(EVI->indices(), [](unsigned idx) { return idx == 0; })) in dupRetToEnableTailCallOpts()
2984 while (&*BI == BCI || &*BI == EVI || isa<PseudoProbeInst>(BI) || in dupRetToEnableTailCallOpts()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DSCCPSolver.cpp675 void handleExtractOfWithOverflow(ExtractValueInst &EVI,
697 void visitExtractValueInst(ExtractValueInst &EVI);
1408 void SCCPInstVisitor::handleExtractOfWithOverflow(ExtractValueInst &EVI, in handleExtractOfWithOverflow() argument
1414 addAdditionalUser(LHS, &EVI); in handleExtractOfWithOverflow()
1415 addAdditionalUser(RHS, &EVI); in handleExtractOfWithOverflow()
1424 mergeInValue(&EVI, ValueLatticeElement::getRange(Res)); in handleExtractOfWithOverflow()
1430 return (void)markConstant(&EVI, ConstantInt::getFalse(EVI.getType())); in handleExtractOfWithOverflow()
1431 markOverdefined(&EVI); in handleExtractOfWithOverflow()
1435 void SCCPInstVisitor::visitExtractValueInst(ExtractValueInst &EVI) { in visitExtractValueInst() argument
1438 if (EVI.getType()->isStructTy()) in visitExtractValueInst()
[all …]
H A DSimplifyIndVar.cpp437 if (auto *EVI = dyn_cast<ExtractValueInst>(U)) { in eliminateOverflowIntrinsic() local
438 if (EVI->getIndices()[0] == 1) in eliminateOverflowIntrinsic()
439 EVI->replaceAllUsesWith(ConstantInt::getFalse(WO->getContext())); in eliminateOverflowIntrinsic()
441 assert(EVI->getIndices()[0] == 0 && "Only two possibilities!"); in eliminateOverflowIntrinsic()
442 EVI->replaceAllUsesWith(NewResult); in eliminateOverflowIntrinsic()
443 NewResult->setDebugLoc(EVI->getDebugLoc()); in eliminateOverflowIntrinsic()
445 ToDelete.push_back(EVI); in eliminateOverflowIntrinsic()
449 for (auto *EVI : ToDelete) in eliminateOverflowIntrinsic() local
450 EVI->eraseFromParent(); in eliminateOverflowIntrinsic()
H A DBasicBlockUtils.cpp1433 if (ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(V)) { in FoldReturnIntoUncondBranch() local
1434 V = EVI->getOperand(0); in FoldReturnIntoUncondBranch()
1435 NewEV = EVI->clone(); in FoldReturnIntoUncondBranch()
H A DFunctionComparator.cpp738 if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(L)) { in cmpOperations() local
739 ArrayRef<unsigned> LIndices = EVI->getIndices(); in cmpOperations()
/freebsd/contrib/llvm-project/llvm/lib/Target/NVPTX/
H A DNVPTXImageOptimizer.cpp168 if (ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(V)) { in cleanupValue() local
169 return cleanupValue(EVI->getAggregateOperand()); in cleanupValue()
/freebsd/contrib/llvm-project/llvm/lib/Target/DirectX/
H A DDXILOpLowering.cpp95 if (auto *EVI = dyn_cast<ExtractValueInst>(U.getUser())) in replaceNamedStructUses() local
96 EVI->setOperand(0, DXILOp); in replaceNamedStructUses()
340 if (auto *EVI = dyn_cast<ExtractValueInst>(U.getUser())) { in replaceResRetUses() local
341 ArrayRef<unsigned> Indices = EVI->getIndices(); in replaceResRetUses()
357 EVI->replaceAllUsesWith(CheckOp); in replaceResRetUses()
358 EVI->eraseFromParent(); in replaceResRetUses()
377 Value *EVI = IRB.CreateExtractValue(Op, 0); in replaceResRetUses() local
378 OldResult->replaceAllUsesWith(EVI); in replaceResRetUses()
H A DDXILIntrinsicExpansion.cpp641 auto *EVI = dyn_cast<ExtractValueInst>(U); in expandBufferLoadIntrinsic() local
642 if (!EVI) in expandBufferLoadIntrinsic()
645 ArrayRef<unsigned> Indices = EVI->getIndices(); in expandBufferLoadIntrinsic()
650 EVI->replaceAllUsesWith(Result); in expandBufferLoadIntrinsic()
662 EVI->replaceAllUsesWith(CheckBit); in expandBufferLoadIntrinsic()
664 EVI->eraseFromParent(); in expandBufferLoadIntrinsic()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DScalarizer.cpp295 bool visitExtractValueInst(ExtractValueInst &EVI);
1064 bool ScalarizerVisitor::visitExtractValueInst(ExtractValueInst &EVI) { in visitExtractValueInst() argument
1065 Value *Op = EVI.getOperand(0); in visitExtractValueInst()
1097 IRBuilder<> Builder(&EVI); in visitExtractValueInst()
1098 Scatterer Op0 = scatter(&EVI, Op, *VS); in visitExtractValueInst()
1099 assert(!EVI.getIndices().empty() && "Make sure an index exists"); in visitExtractValueInst()
1101 unsigned Index = EVI.getIndices()[0]; in visitExtractValueInst()
1104 Op0[OpIdx], Index, EVI.getName() + ".elem" + Twine(Index)); in visitExtractValueInst()
1108 gather(&EVI, Res, *VS); in visitExtractValueInst()
H A DEarlyCSE.cpp301 if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(Inst)) in getHashValueImpl() local
302 return hash_combine(EVI->getOpcode(), EVI->getOperand(0), in getHashValueImpl()
303 hash_combine_range(EVI->indices())); in getHashValueImpl()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Coroutines/
H A DCoroSplit.cpp499 auto *EVI = dyn_cast<ExtractValueInst>(U.getUser()); in replaceRetconOrAsyncSuspendUses() local
500 if (!EVI || EVI->getNumIndices() != 1) in replaceRetconOrAsyncSuspendUses()
503 EVI->replaceAllUsesWith(Args[EVI->getIndices().front()]); in replaceRetconOrAsyncSuspendUses()
504 EVI->eraseFromParent(); in replaceRetconOrAsyncSuspendUses()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DFastISel.cpp1708 const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(U); in selectExtractValue() local
1709 if (!EVI) in selectExtractValue()
1714 EVT RealVT = TLI.getValueType(DL, EVI->getType(), /*AllowUnknown=*/true); in selectExtractValue()
1721 const Value *Op0 = EVI->getOperand(0); in selectExtractValue()
1735 unsigned VTIndex = ComputeLinearIndex(AggTy, EVI->getIndices()); in selectExtractValue()
1744 updateValueMap(EVI, ResultReg); in selectExtractValue()
/freebsd/contrib/llvm-project/llvm/lib/SandboxIR/
H A DContext.cpp498 ExtractValueInst *Context::createExtractValueInst(llvm::ExtractValueInst *EVI) { in createExtractValueInst() argument
500 std::unique_ptr<ExtractValueInst>(new ExtractValueInst(EVI, *this)); in createExtractValueInst()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineVectorOps.cpp998 auto *EVI = dyn_cast_or_null<ExtractValueInst>(Elt); in foldAggregateConstructionIntoAggregateReuse() local
999 if (!EVI) in foldAggregateConstructionIntoAggregateReuse()
1002 Value *SourceAggregate = EVI->getAggregateOperand(); in foldAggregateConstructionIntoAggregateReuse()
1008 if (EVI->getNumIndices() != 1 || EltIdx != EVI->getIndices().front()) in foldAggregateConstructionIntoAggregateReuse()
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DInstruction.cpp898 if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(I1)) in hasSameSpecialState() local
899 return EVI->getIndices() == cast<ExtractValueInst>(I2)->getIndices(); in hasSameSpecialState()
H A DInstructions.cpp2550 ExtractValueInst::ExtractValueInst(const ExtractValueInst &EVI) in ExtractValueInst() argument
2551 : UnaryInstruction(EVI.getType(), ExtractValue, EVI.getOperand(0), in ExtractValueInst()
2553 Indices(EVI.Indices) { in ExtractValueInst()
2554 SubclassOptionalData = EVI.SubclassOptionalData; in ExtractValueInst()
H A DVerifier.cpp606 void visitExtractValueInst(ExtractValueInst &EVI);
4519 void Verifier::visitExtractValueInst(ExtractValueInst &EVI) { in visitExtractValueInst() argument
4520 Check(ExtractValueInst::getIndexedType(EVI.getAggregateOperand()->getType(), in visitExtractValueInst()
4521 EVI.getIndices()) == EVI.getType(), in visitExtractValueInst()
4522 "Invalid ExtractValueInst operands!", &EVI); in visitExtractValueInst()
4524 visitInstruction(EVI); in visitExtractValueInst()
/freebsd/contrib/llvm-project/llvm/lib/Target/DirectX/DXILWriter/
H A DDXILBitcodeWriter.cpp2273 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/Transforms/Vectorize/
H A DLoopVectorize.cpp3298 if (auto *EVI = dyn_cast<ExtractValueInst>(&I)) { in collectLoopUniforms() local
3299 if (IsOutOfScope(EVI->getAggregateOperand())) { in collectLoopUniforms()
3300 AddToWorklistIfAllowed(EVI); in collectLoopUniforms()
3305 assert(isa<CallInst>(EVI->getAggregateOperand()) && in collectLoopUniforms()
7947 auto *EVI = cast<ExtractValueInst>(I); in tryToWiden() local
7948 assert(EVI->getNumIndices() == 1 && "Expected one extractvalue index"); in tryToWiden()
7949 unsigned Idx = EVI->getIndices()[0]; in tryToWiden()
/freebsd/contrib/llvm-project/llvm/include/llvm/SandboxIR/
H A DInstruction.h1109 ExtractValueInst(llvm::ExtractValueInst *EVI, Context &Ctx) in ExtractValueInst() argument
1110 : UnaryInstruction(ClassID::ExtractValue, Opcode::ExtractValue, EVI, in ExtractValueInst()

12