Home
last modified time | relevance | path

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

12

/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DTypeMetadataUtils.cpp122 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 DLazyValueInfo.cpp433 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 DValueTracking.cpp1952 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 DSjLjEHPrepare.cpp164 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 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.cpp2635 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 DSCCPSolver.cpp634 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 DSimplifyIndVar.cpp435 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 DFunctionComparator.cpp724 if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(L)) { in cmpOperations() local
725 ArrayRef<unsigned> LIndices = EVI->getIndices(); in cmpOperations()
H A DBasicBlockUtils.cpp1573 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 DNVPTXImageOptimizer.cpp169 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 DEarlyCSE.cpp302 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 DCoroSplit.cpp590 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 DFastISel.cpp1767 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 DInstruction.cpp826 if (const ExtractValueInst *EVI = dyn_cast<ExtractValueInst>(I1)) in hasSameSpecialState() local
827 return EVI->getIndices() == cast<ExtractValueInst>(I2)->getIndices(); in hasSameSpecialState()
H A DInstructions.cpp2486 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 DVerifier.cpp597 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 DAsmWriter.cpp4326 } 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 DInstCombineVectorOps.cpp980 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 DInstCombineCompares.cpp7580 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 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/Bitcode/Writer/
H A DBitcodeWriter.cpp3015 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 DX86FastISel.cpp270 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 DIRTranslator.cpp1459 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 DAArch64FastISel.cpp3431 const auto *EVI = cast<ExtractValueInst>(Itr); in foldXALUIntrinsic() local
3432 if (EVI->getAggregateOperand() != II) in foldXALUIntrinsic()

12