Lines Matching refs:Instruction

81   case Instruction::GetElementPtr:  in getIntImmCostInst()
88 case Instruction::Store: in getIntImmCostInst()
98 case Instruction::ICmp: in getIntImmCostInst()
108 case Instruction::Add: in getIntImmCostInst()
109 case Instruction::Sub: in getIntImmCostInst()
119 case Instruction::Mul: in getIntImmCostInst()
126 case Instruction::Or: in getIntImmCostInst()
127 case Instruction::Xor: in getIntImmCostInst()
137 case Instruction::And: in getIntImmCostInst()
155 case Instruction::Shl: in getIntImmCostInst()
156 case Instruction::LShr: in getIntImmCostInst()
157 case Instruction::AShr: in getIntImmCostInst()
162 case Instruction::UDiv: in getIntImmCostInst()
163 case Instruction::SDiv: in getIntImmCostInst()
164 case Instruction::URem: in getIntImmCostInst()
165 case Instruction::SRem: in getIntImmCostInst()
166 case Instruction::Trunc: in getIntImmCostInst()
167 case Instruction::ZExt: in getIntImmCostInst()
168 case Instruction::SExt: in getIntImmCostInst()
169 case Instruction::IntToPtr: in getIntImmCostInst()
170 case Instruction::PtrToInt: in getIntImmCostInst()
171 case Instruction::BitCast: in getIntImmCostInst()
172 case Instruction::PHI: in getIntImmCostInst()
173 case Instruction::Call: in getIntImmCostInst()
174 case Instruction::Select: in getIntImmCostInst()
175 case Instruction::Ret: in getIntImmCostInst()
176 case Instruction::Load: in getIntImmCostInst()
262 NumStores += getMemoryOpCost(Instruction::Store, MemAccessTy, None, 0); in getUnrollingPreferences()
354 const Instruction *CxtI) { in getArithmeticInstrCost()
373 Opcode == Instruction::SDiv || Opcode == Instruction::SRem; in getArithmeticInstrCost()
375 Opcode == Instruction::UDiv || Opcode == Instruction::URem; in getArithmeticInstrCost()
402 if (Opcode == Instruction::Shl || Opcode == Instruction::LShr || in getArithmeticInstrCost()
403 Opcode == Instruction::AShr) { in getArithmeticInstrCost()
422 if (Opcode == Instruction::FAdd || Opcode == Instruction::FSub || in getArithmeticInstrCost()
423 Opcode == Instruction::FMul || Opcode == Instruction::FDiv) { in getArithmeticInstrCost()
449 if (Opcode == Instruction::FRem) { in getArithmeticInstrCost()
461 if (Opcode == Instruction::FAdd || Opcode == Instruction::FSub || in getArithmeticInstrCost()
462 Opcode == Instruction::FMul || Opcode == Instruction::FDiv) in getArithmeticInstrCost()
466 if (Opcode == Instruction::FRem) in getArithmeticInstrCost()
471 if (Opcode == Instruction::Xor) { in getArithmeticInstrCost()
473 if (const Instruction *I = dyn_cast<Instruction>(A)) in getArithmeticInstrCost()
475 (I->getOpcode() == Instruction::And || in getArithmeticInstrCost()
476 I->getOpcode() == Instruction::Or || in getArithmeticInstrCost()
477 I->getOpcode() == Instruction::Xor)) in getArithmeticInstrCost()
481 else if (Opcode == Instruction::Or || Opcode == Instruction::And) { in getArithmeticInstrCost()
483 if (const Instruction *I = dyn_cast<Instruction>(A)) in getArithmeticInstrCost()
484 if (I->hasOneUse() && I->getOpcode() == Instruction::Xor) in getArithmeticInstrCost()
491 if (Opcode == Instruction::Or) in getArithmeticInstrCost()
494 if (Opcode == Instruction::Xor && ScalarBits == 1) { in getArithmeticInstrCost()
627 static Type *getCmpOpsType(const Instruction *I, unsigned VF = 1) { in getCmpOpsType()
631 else if (Instruction *LogicI = dyn_cast<Instruction>(I->getOperand(0))) in getCmpOpsType()
655 const Instruction *I) { in getBoolVecToIntConversionCost()
664 if (Opcode == Instruction::ZExt || Opcode == Instruction::UIToFP) in getBoolVecToIntConversionCost()
671 const Instruction *I) { in getCastInstrCost()
682 if (Opcode == Instruction::Trunc) { in getCastInstrCost()
688 if (Opcode == Instruction::ZExt || Opcode == Instruction::SExt) { in getCastInstrCost()
705 if (Opcode == Instruction::SIToFP || Opcode == Instruction::UIToFP || in getCastInstrCost()
706 Opcode == Instruction::FPToSI || Opcode == Instruction::FPToUI) { in getCastInstrCost()
728 (Opcode == Instruction::SIToFP || Opcode == Instruction::UIToFP)) in getCastInstrCost()
731 (Opcode == Instruction::FPToSI || Opcode == Instruction::FPToUI)) in getCastInstrCost()
744 if (Opcode == Instruction::FPTrunc) { in getCastInstrCost()
751 if (Opcode == Instruction::FPExt) { in getCastInstrCost()
765 if (Opcode == Instruction::SIToFP || Opcode == Instruction::UIToFP) { in getCastInstrCost()
772 if ((Opcode == Instruction::ZExt || Opcode == Instruction::SExt) && in getCastInstrCost()
780 if (Opcode == Instruction::SExt) in getCastInstrCost()
782 if (Opcode == Instruction::ZExt) in getCastInstrCost()
797 static unsigned getOperandsExtensionCost(const Instruction *I) { in getOperandsExtensionCost()
808 Type *CondTy, const Instruction *I) { in getCmpSelInstrCost()
814 if (Opcode == Instruction::ICmp || Opcode == Instruction::FCmp) { in getCmpSelInstrCost()
846 assert (Opcode == Instruction::Select); in getCmpSelInstrCost()
861 case Instruction::ICmp: { in getCmpSelInstrCost()
877 case Instruction::Select: in getCmpSelInstrCost()
891 if (Opcode == Instruction::InsertElement && Val->isIntOrIntVectorTy(64)) in getVectorInstrCost()
894 if (Opcode == Instruction::ExtractElement) { in getVectorInstrCost()
909 isFoldableLoad(const LoadInst *Ld, const Instruction *&FoldedValue) { in isFoldableLoad()
913 const Instruction *UserI = cast<Instruction>(*Ld->user_begin()); in isFoldableLoad()
929 UserI = cast<Instruction>(*UserI->user_begin()); in isFoldableLoad()
932 if ((UserI->getOpcode() == Instruction::Sub || in isFoldableLoad()
933 UserI->getOpcode() == Instruction::SDiv || in isFoldableLoad()
934 UserI->getOpcode() == Instruction::UDiv) && in isFoldableLoad()
942 case Instruction::Add: // SE: 16->32, 16/32->64, z14:16->64. ZE: 32->64 in isFoldableLoad()
943 case Instruction::Sub: in isFoldableLoad()
944 case Instruction::ICmp: in isFoldableLoad()
948 case Instruction::Mul: // SE: 16->32, 32->64, z14:16->64 in isFoldableLoad()
949 if (UserI->getOpcode() != Instruction::ICmp) { in isFoldableLoad()
958 case Instruction::SDiv:// SE: 32->64 in isFoldableLoad()
962 case Instruction::UDiv: in isFoldableLoad()
963 case Instruction::And: in isFoldableLoad()
964 case Instruction::Or: in isFoldableLoad()
965 case Instruction::Xor: in isFoldableLoad()
977 if (UserI->getOpcode() == Instruction::ICmp) in isFoldableLoad()
988 if (const Instruction *I = dyn_cast<Instruction>(V)) in isBswapIntrinsicCall()
998 const Instruction *I) { in getMemoryOpCost()
1001 if (!Src->isVectorTy() && Opcode == Instruction::Load && I != nullptr) { in getMemoryOpCost()
1003 const Instruction *FoldedValue = nullptr; in getMemoryOpCost()
1005 const Instruction *UserI = cast<Instruction>(*FoldedValue->user_begin()); in getMemoryOpCost()
1014 if (Instruction *OtherOp = dyn_cast<Instruction>(UserI->getOperand(i))){ in getMemoryOpCost()
1035 if (Opcode == Instruction::Load && I->hasOneUse()) { in getMemoryOpCost()
1036 const Instruction *LdUser = cast<Instruction>(*I->user_begin()); in getMemoryOpCost()
1085 if (Opcode == Instruction::Load) { in getInterleavedMemoryOpCost()