reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
 1164   if (!I) return nullptr;        // Only analyze instructions.
 1182   switch (I->getOpcode()) {
 1195     if (mayIndexStructType(cast<GetElementPtrInst>(*I)))
 1203     for (unsigned i = 0; i < I->getNumOperands(); i++) {
 1204       if (isa<UndefValue>(I->getOperand(i))) {
 1209       if (I->getOperand(i)->getType()->isVectorTy()) {
 1211         simplifyAndSetOp(I, i, DemandedElts, UndefEltsOp);
 1221     ConstantInt *Idx = dyn_cast<ConstantInt>(I->getOperand(2));
 1225       simplifyAndSetOp(I, 0, DemandedElts, UndefElts2);
 1236     simplifyAndSetOp(I, 0, PreInsertDemandedElts, UndefElts);
 1241       Worklist.Add(I);
 1242       return I->getOperand(0);
 1250     ShuffleVectorInst *Shuffle = cast<ShuffleVectorInst>(I);
 1269     simplifyAndSetOp(I, 0, LeftDemanded, LHSUndefElts);
 1272     simplifyAndSetOp(I, 1, RightDemanded, RHSUndefElts);
 1334             Op, Value, ConstantInt::get(Type::getInt32Ty(I->getContext()), Idx),
 1345           Elts.push_back(UndefValue::get(Type::getInt32Ty(I->getContext())));
 1347           Elts.push_back(ConstantInt::get(Type::getInt32Ty(I->getContext()),
 1350       I->setOperand(2, ConstantVector::get(Elts));
 1358     SelectInst *Sel = cast<SelectInst>(I);
 1365       simplifyAndSetOp(I, 0, DemandedElts, UndefElts);
 1387     simplifyAndSetOp(I, 1, DemandedLHS, UndefElts2);
 1388     simplifyAndSetOp(I, 2, DemandedRHS, UndefElts3);
 1397     VectorType *VTy = dyn_cast<VectorType>(I->getOperand(0)->getType());
 1430     simplifyAndSetOp(I, 0, InputDemandedElts, UndefElts2);
 1457     simplifyAndSetOp(I, 0, DemandedElts, UndefElts);
 1461     IntrinsicInst *II = dyn_cast<IntrinsicInst>(I);
 1712   if (match(I, m_BinOp(BO)) && !BO->isIntDivRem() && !BO->isShift()) {
 1713     simplifyAndSetOp(I, 0, DemandedElts, UndefElts);
 1714     simplifyAndSetOp(I, 1, DemandedElts, UndefElts2);
 1730     return UndefValue::get(I->getType());;
 1732   return MadeChange ? I : nullptr;