Lines Matching refs:Instruction

40     if (const Instruction *User = dyn_cast<Instruction>(U)) {  in isUsedAsMemCpySource()
110 Instruction *Inst) { in getIntImmCostInst()
125 case Instruction::GetElementPtr: in getIntImmCostInst()
132 case Instruction::Store: in getIntImmCostInst()
142 case Instruction::ICmp: in getIntImmCostInst()
152 case Instruction::Add: in getIntImmCostInst()
153 case Instruction::Sub: in getIntImmCostInst()
163 case Instruction::Mul: in getIntImmCostInst()
170 case Instruction::Or: in getIntImmCostInst()
171 case Instruction::Xor: in getIntImmCostInst()
181 case Instruction::And: in getIntImmCostInst()
199 case Instruction::Shl: in getIntImmCostInst()
200 case Instruction::LShr: in getIntImmCostInst()
201 case Instruction::AShr: in getIntImmCostInst()
206 case Instruction::UDiv: in getIntImmCostInst()
207 case Instruction::SDiv: in getIntImmCostInst()
208 case Instruction::URem: in getIntImmCostInst()
209 case Instruction::SRem: in getIntImmCostInst()
210 case Instruction::Trunc: in getIntImmCostInst()
211 case Instruction::ZExt: in getIntImmCostInst()
212 case Instruction::SExt: in getIntImmCostInst()
213 case Instruction::IntToPtr: in getIntImmCostInst()
214 case Instruction::PtrToInt: in getIntImmCostInst()
215 case Instruction::BitCast: in getIntImmCostInst()
216 case Instruction::PHI: in getIntImmCostInst()
217 case Instruction::Call: in getIntImmCostInst()
218 case Instruction::Select: in getIntImmCostInst()
219 case Instruction::Ret: in getIntImmCostInst()
220 case Instruction::Load: in getIntImmCostInst()
308 NumStores += getMemoryOpCost(Instruction::Store, MemAccessTy, in getUnrollingPreferences()
429 const Instruction *CxtI) { in getArithmeticInstrCost()
453 Opcode == Instruction::SDiv || Opcode == Instruction::SRem; in getArithmeticInstrCost()
455 Opcode == Instruction::UDiv || Opcode == Instruction::URem; in getArithmeticInstrCost()
478 if (Opcode == Instruction::FAdd || Opcode == Instruction::FSub || in getArithmeticInstrCost()
479 Opcode == Instruction::FMul || Opcode == Instruction::FDiv) in getArithmeticInstrCost()
483 if (Opcode == Instruction::FRem) in getArithmeticInstrCost()
488 if (Opcode == Instruction::Xor) { in getArithmeticInstrCost()
490 if (const Instruction *I = dyn_cast<Instruction>(A)) in getArithmeticInstrCost()
492 (I->getOpcode() == Instruction::Or || in getArithmeticInstrCost()
493 I->getOpcode() == Instruction::And || in getArithmeticInstrCost()
494 I->getOpcode() == Instruction::Xor)) in getArithmeticInstrCost()
497 (I->getOpcode() == Instruction::Or || ST->hasVectorEnhancements1()))) in getArithmeticInstrCost()
501 else if (Opcode == Instruction::And || Opcode == Instruction::Or) { in getArithmeticInstrCost()
503 if (const Instruction *I = dyn_cast<Instruction>(A)) in getArithmeticInstrCost()
504 if ((I->hasOneUse() && I->getOpcode() == Instruction::Xor) && in getArithmeticInstrCost()
507 (Opcode == Instruction::And || ST->hasVectorEnhancements1())))) in getArithmeticInstrCost()
514 if (Opcode == Instruction::Or) in getArithmeticInstrCost()
517 if (Opcode == Instruction::Xor && ScalarBits == 1) { in getArithmeticInstrCost()
537 if (Opcode == Instruction::Shl || Opcode == Instruction::LShr || in getArithmeticInstrCost()
538 Opcode == Instruction::AShr) { in getArithmeticInstrCost()
560 if (Opcode == Instruction::FAdd || Opcode == Instruction::FSub || in getArithmeticInstrCost()
561 Opcode == Instruction::FMul || Opcode == Instruction::FDiv) { in getArithmeticInstrCost()
590 if (Opcode == Instruction::FRem) { in getArithmeticInstrCost()
609 ArrayRef<const Value *> Args, const Instruction *CxtI) { in getShuffleCost()
725 static Type *getCmpOpsType(const Instruction *I, unsigned VF = 1) { in getCmpOpsType()
729 else if (Instruction *LogicI = dyn_cast<Instruction>(I->getOperand(0))) in getCmpOpsType()
753 const Instruction *I) { in getBoolVecToIntConversionCost()
762 if (Opcode == Instruction::ZExt || Opcode == Instruction::UIToFP) in getBoolVecToIntConversionCost()
772 const Instruction *I) { in getCastInstrCost()
785 if (Opcode == Instruction::SIToFP || Opcode == Instruction::UIToFP) { in getCastInstrCost()
794 if ((Opcode == Instruction::FPToSI || Opcode == Instruction::FPToUI) && in getCastInstrCost()
798 if ((Opcode == Instruction::ZExt || Opcode == Instruction::SExt)) { in getCastInstrCost()
809 if (Opcode == Instruction::SExt) in getCastInstrCost()
811 if (Opcode == Instruction::ZExt) in getCastInstrCost()
822 if (Opcode == Instruction::ZExt && I != nullptr) in getCastInstrCost()
830 if (Opcode == Instruction::Trunc && isInt128InVR(Src) && I != nullptr) { in getCastInstrCost()
857 if (Opcode == Instruction::Trunc) { in getCastInstrCost()
863 if (Opcode == Instruction::ZExt || Opcode == Instruction::SExt) { in getCastInstrCost()
866 if (Opcode == Instruction::ZExt) in getCastInstrCost()
884 if (Opcode == Instruction::SIToFP || Opcode == Instruction::UIToFP || in getCastInstrCost()
885 Opcode == Instruction::FPToSI || Opcode == Instruction::FPToUI) { in getCastInstrCost()
907 (Opcode == Instruction::SIToFP || Opcode == Instruction::UIToFP)) in getCastInstrCost()
910 (Opcode == Instruction::FPToSI || Opcode == Instruction::FPToUI)) in getCastInstrCost()
925 if (Opcode == Instruction::FPTrunc) { in getCastInstrCost()
934 if (Opcode == Instruction::FPExt) { in getCastInstrCost()
952 static unsigned getOperandsExtensionCost(const Instruction *I) { in getOperandsExtensionCost()
966 const Instruction *I) { in getCmpSelInstrCost()
972 case Instruction::ICmp: { in getCmpSelInstrCost()
988 case Instruction::Select: in getCmpSelInstrCost()
998 if (Opcode == Instruction::ICmp || Opcode == Instruction::FCmp) { in getCmpSelInstrCost()
1030 assert (Opcode == Instruction::Select); in getCmpSelInstrCost()
1053 if (Opcode == Instruction::InsertElement && Val->isIntOrIntVectorTy(64)) in getVectorInstrCost()
1056 if (Opcode == Instruction::ExtractElement) { in getVectorInstrCost()
1071 isFoldableLoad(const LoadInst *Ld, const Instruction *&FoldedValue) { in isFoldableLoad()
1075 const Instruction *UserI = cast<Instruction>(*Ld->user_begin()); in isFoldableLoad()
1091 UserI = cast<Instruction>(*UserI->user_begin()); in isFoldableLoad()
1094 if ((UserI->getOpcode() == Instruction::Sub || in isFoldableLoad()
1095 UserI->getOpcode() == Instruction::SDiv || in isFoldableLoad()
1096 UserI->getOpcode() == Instruction::UDiv) && in isFoldableLoad()
1104 case Instruction::Add: // SE: 16->32, 16/32->64, z14:16->64. ZE: 32->64 in isFoldableLoad()
1105 case Instruction::Sub: in isFoldableLoad()
1106 case Instruction::ICmp: in isFoldableLoad()
1110 case Instruction::Mul: // SE: 16->32, 32->64, z14:16->64 in isFoldableLoad()
1111 if (UserI->getOpcode() != Instruction::ICmp) { in isFoldableLoad()
1120 case Instruction::SDiv:// SE: 32->64 in isFoldableLoad()
1124 case Instruction::UDiv: in isFoldableLoad()
1125 case Instruction::And: in isFoldableLoad()
1126 case Instruction::Or: in isFoldableLoad()
1127 case Instruction::Xor: in isFoldableLoad()
1139 if (UserI->getOpcode() == Instruction::ICmp) in isFoldableLoad()
1150 if (const Instruction *I = dyn_cast<Instruction>(V)) in isBswapIntrinsicCall()
1163 const Instruction *I) { in getMemoryOpCost()
1170 if (!Src->isVectorTy() && Opcode == Instruction::Load && I != nullptr) { in getMemoryOpCost()
1172 const Instruction *FoldedValue = nullptr; in getMemoryOpCost()
1174 const Instruction *UserI = cast<Instruction>(*FoldedValue->user_begin()); in getMemoryOpCost()
1183 if (Instruction *OtherOp = dyn_cast<Instruction>(UserI->getOperand(i))){ in getMemoryOpCost()
1213 if (Opcode == Instruction::Load && I->hasOneUse()) { in getMemoryOpCost()
1214 const Instruction *LdUser = cast<Instruction>(*I->user_begin()); in getMemoryOpCost()
1253 if (Opcode == Instruction::Load) { in getInterleavedMemoryOpCost()