Home
last modified time | relevance | path

Searched refs:Shl (Results 1 – 25 of 119) sorted by relevance

12345

/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonOptimizeSZextends.cpp113 Instruction *Shl = dyn_cast<Instruction>(Ashr->getOperand(0)); in runOnFunction() local
114 if (!(Shl && Shl->getOpcode() == Instruction::Shl)) in runOnFunction()
116 Value *Intr = Shl->getOperand(0); in runOnFunction()
117 Value *ShlOp1 = Shl->getOperand(1); in runOnFunction()
H A DHexagonPatterns.td374 def Mul: pf2<mul>; def Xor: pf2<xor>; def Shl: pf2<shl>;
1187 def: OpR_RI_pat<S2_asl_i_r, Shl, i32, I32, u5_0ImmPred>;
1190 def: OpR_RI_pat<S2_asl_i_p, Shl, i64, I64, u6_0ImmPred>;
1193 def: OpR_RI_pat<S2_asl_i_vh, Shl, v4i16, V4I16, u4_0ImmPred>;
1196 def: OpR_RI_pat<S2_asl_i_vh, Shl, v2i32, V2I32, u5_0ImmPred>;
1200 def: OpR_RR_pat<S2_asl_r_r, Shl, i32, I32, I32>;
1203 def: OpR_RR_pat<S2_asl_r_p, Shl, i64, I64, I32>;
1323 def: AccRRI_pat<S2_asl_i_r_acc, Add, Su<Shl>, I32, u5_0ImmPred>;
1324 def: AccRRI_pat<S2_asl_i_r_nac, Sub, Su<Shl>, I32, u5_0ImmPred>;
1325 def: AccRRI_pat<S2_asl_i_r_and, And, Su<Shl>, I32, u5_0ImmPred>;
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineShifts.cpp153 if (ShiftOpcode == Instruction::BinaryOps::Shl) { in reassociateShiftAmtsOfTwoSameDirectionShifts()
192 assert(OuterShift->getOpcode() == Instruction::BinaryOps::Shl && in dropRedundantMaskingOfLeftShiftInput()
261 Instruction::Shl, ExtendedAllOnes, ExtendedSumOfShAmts, Q.DL); in dropRedundantMaskingOfLeftShiftInput()
367 ShiftOpcode != Instruction::Shl) in foldShiftOfShiftedBinOp()
446 if (I.getOpcode() == Instruction::Shl) { in commonShiftTransforms()
472 case Instruction::Shl: in commonShiftTransforms()
482 Constant *NewC = ConstantInt::get(Ty, I.getOpcode() == Instruction::Shl in commonShiftTransforms()
487 if (I.getOpcode() == Instruction::Shl) { in commonShiftTransforms()
532 bool IsInnerShl = InnerShift->getOpcode() == Instruction::Shl; in canEvaluateShiftedShift()
593 case Instruction::Shl: in canEvaluateShifted()
[all …]
H A DInstCombineMulDivRem.cpp81 if (I->getOpcode() == Instruction::Shl && !I->hasNoUnsignedWrap()) { in simplifyValueKnownNonZero()
172 Value *Shl = Builder.CreateShl(FrX, Z, "mulshl", HasNUW, PropagateNSW); in foldMulShl1() local
173 return Builder.CreateAdd(Shl, FrX, Mul.getName(), HasNUW, PropagateNSW); in foldMulShl1()
185 Value *Shl = Builder.CreateShl(FrX, Z, "mulshl"); in foldMulShl1() local
186 return Builder.CreateSub(Shl, FrX, Mul.getName()); in foldMulShl1()
234 Constant *Shl = in visitMul() local
235 ConstantFoldBinaryOpOperands(Instruction::Shl, C1, C2, DL); in visitMul()
236 assert(Shl && "Constant folding of immediate constants failed"); in visitMul()
238 BinaryOperator *BO = BinaryOperator::CreateMul(NewOp, Shl); in visitMul()
241 if (HasNSW && Mul->hasNoSignedWrap() && Shl->isNotMinSignedValue()) in visitMul()
[all …]
H A DInstCombineSimplifyDemanded.cpp615 Instruction *Shl = BinaryOperator::CreateShl(I->getOperand(0), ShiftC); in SimplifyDemandedUseBits() local
616 return InsertNewInstWith(Shl, I->getIterator()); in SimplifyDemandedUseBits()
631 case Instruction::Shl: { in SimplifyDemandedUseBits()
676 Constant *NewC = ConstantFoldBinaryOpOperands(Instruction::Shl, C, in SimplifyDemandedUseBits()
759 if (ConstantFoldBinaryOpOperands(Instruction::Shl, NewC, in SimplifyDemandedUseBits()
761 Instruction *Shl = BinaryOperator::CreateShl(NewC, X); in SimplifyDemandedUseBits() local
762 return InsertNewInstWith(Shl, I->getIterator()); in SimplifyDemandedUseBits()
1319 Instruction *Shr, const APInt &ShrOp1, Instruction *Shl, in simplifyShrShlDemandedBits() argument
1363 BinaryOperator *Orig = cast<BinaryOperator>(Shl); in simplifyShrShlDemandedBits()
1374 return InsertNewInstWith(New, Shl->getIterator()); in simplifyShrShlDemandedBits()
H A DInstCombineCompares.cpp1671 bool IsShl = ShiftOpcode == Instruction::Shl; in foldICmpAndShift()
1676 if (ShiftOpcode == Instruction::Shl) { in foldICmpAndShift()
2230 static Instruction *foldICmpShlOne(ICmpInst &Cmp, Instruction *Shl, in foldICmpShlOne() argument
2233 if (!match(Shl, m_Shl(m_One(), m_Value(Y)))) in foldICmpShlOne()
2236 Type *ShiftType = Shl->getType(); in foldICmpShlOne()
2275 BinaryOperator *Shl, in foldICmpShlConstant() argument
2278 if (Cmp.isEquality() && match(Shl->getOperand(0), m_APInt(ShiftVal))) in foldICmpShlConstant()
2279 return foldICmpShlConstConst(Cmp, Shl->getOperand(1), C, *ShiftVal); in foldICmpShlConstant()
2287 if (C.sle(0) && Shl->hasNoUnsignedWrap() && Shl->hasNoSignedWrap()) in foldICmpShlConstant()
2288 return new ICmpInst(Pred, Shl->getOperand(0), Cmp.getOperand(1)); in foldICmpShlConstant()
[all …]
H A DInstCombineVectorOps.cpp1796 case Instruction::Shl: in canEvaluateShuffled()
1865 case Instruction::Shl: in buildNew()
1959 case Instruction::Shl: in evaluateInDifferentElementOrder()
2068 case Instruction::Shl: { in getAlternateBinop()
2073 Instruction::Shl, ConstantInt::get(Ty, 1), C, DL); in getAlternateBinop()
2299 if (Opc0 == Instruction::Shl || Opc1 == Instruction::Shl) in foldSelectShuffle()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DReassociate.cpp916 case Instruction::Shl: in isLoadCombineCandidate()
942 Instruction::Shl}) in shouldConvertOrWithNoCommonBitsToAdd()
1031 static BinaryOperator *ConvertShiftToMul(Instruction *Shl) { in ConvertShiftToMul() argument
1032 Constant *MulCst = ConstantInt::get(Shl->getType(), 1); in ConvertShiftToMul()
1033 auto *SA = cast<ConstantInt>(Shl->getOperand(1)); in ConvertShiftToMul()
1034 MulCst = ConstantFoldBinaryInstruction(Instruction::Shl, MulCst, SA); in ConvertShiftToMul()
1037 BinaryOperator *Mul = BinaryOperator::CreateMul(Shl->getOperand(0), MulCst, in ConvertShiftToMul()
1038 "", Shl->getIterator()); in ConvertShiftToMul()
1039 Shl->setOperand(0, PoisonValue::get(Shl->getType())); // Drop use of op. in ConvertShiftToMul()
1040 Mul->takeName(Shl); in ConvertShiftToMul()
[all …]
H A DSpeculativeExecution.cpp222 case Instruction::Shl: in ComputeSpeculationCost()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
H A DCombinerHelperVectorOps.cpp467 GShl *Shl = cast<GShl>(MRI.getVRegDef(MO.getReg())); in matchShlOfVScale() local
468 GVScale *LHSVScale = cast<GVScale>(MRI.getVRegDef(Shl->getSrcReg())); in matchShlOfVScale()
470 std::optional<APInt> MaybeRHS = getIConstantVRegVal(Shl->getShiftReg(), MRI); in matchShlOfVScale()
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVGatherScatterLowering.cpp140 BO->getOpcode() != Instruction::Shl && in matchStridedStart()
182 case Instruction::Shl: in matchStridedStart()
258 case Instruction::Shl: in matchStridedRecurrence()
319 case Instruction::Shl: { in matchStridedRecurrence()
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DOperator.h130 I->getOpcode() == Instruction::Shl; in classof()
136 CE->getOpcode() == Instruction::Shl; in classof()
390 : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> {
H A DInstruction.h309 return Opcode >= Shl && Opcode <= AShr;
314 return getOpcode() == Shl || getOpcode() == LShr;
/freebsd/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/
H A DTruncInstCombine.cpp63 case Instruction::Shl: in getRelevantOperands()
142 case Instruction::Shl: in buildTruncExpressionGraph()
432 case Instruction::Shl: in ReduceExpressionGraph()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DMVEGatherScatterLowering.cpp348 I->getOpcode() == Instruction::Shl) { in getIfConst()
357 if (I->getOpcode() == Instruction::Shl) in getIfConst()
782 Instruction::Shl, OffsetsIncoming, in tryCreateIncrementingGatScat()
840 Instruction::Shl, Phi->getIncomingValue(1 - IncrementIndex), in tryCreateIncrementingWBGatScat()
961 OpCode == Instruction::Shl || in hasAllGatScatUsers()
983 Offs->getOpcode() != Instruction::Shl) in optimiseOffsets()
1091 case Instruction::Shl: in optimiseOffsets()
H A DMVELaneInterleavingPass.cpp239 case Instruction::Shl: in tryInterleave()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanAnalysis.cpp107 case Instruction::Shl: in inferScalarTypeForRecipe()
173 case Instruction::Shl: in inferScalarTypeForRecipe()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DExpandLargeFpConvert.cpp210 Value *Shl = Builder.CreateShl(Or, Sub15); in expandFPToI() local
211 Value *Mul16 = Builder.CreateMul(Shl, Sign); in expandFPToI()
392 Value *Shl = in expandIToFP() local
421 AAddr0->addIncoming(Shl, SwBB); in expandIToFP()
/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyTargetTransformInfo.cpp67 case Instruction::Shl: in getArithmeticInstrCost()
/freebsd/contrib/llvm-project/llvm/lib/Target/AVR/
H A DAVRShiftExpand.cpp120 case Instruction::Shl: in expand()
/freebsd/contrib/llvm-project/llvm/lib/FuzzMutate/
H A DOperations.cpp26 Ops.push_back(binOpDescriptor(1, Instruction::Shl)); in describeFuzzerIntOps()
129 case Instruction::Shl: in binOpDescriptor()
/freebsd/contrib/llvm-project/llvm/include/llvm/MC/
H A DMCExpr.h510 Shl, ///< Shift left. enumerator
604 return create(Shl, LHS, RHS, Ctx); in createShl()
/freebsd/contrib/llvm-project/clang/include/clang/AST/
H A DStmtVisitor.h129 BINOP_FALLBACK(Add) BINOP_FALLBACK(Sub) BINOP_FALLBACK(Shl) in BINOP_FALLBACK()
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DConstantFold.cpp698 case Instruction::Shl: in ConstantFoldBinaryInstruction()
842 case Instruction::Shl: in ConstantFoldBinaryInstruction()
864 case Instruction::Shl: in ConstantFoldBinaryInstruction()
961 case Instruction::Shl: in ConstantFoldBinaryInstruction()
H A DOperator.cpp26 case Instruction::Shl: { in hasPoisonGeneratingFlags()

12345