Home
last modified time | relevance | path

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

123456

/llvm-project-15.0.7/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.td365 def Mul: pf2<mul>; def Xor: pf2<xor>; def Shl: pf2<shl>;
1075 def: OpR_RI_pat<S2_asl_i_r, Shl, i32, I32, u5_0ImmPred>;
1078 def: OpR_RI_pat<S2_asl_i_p, Shl, i64, I64, u6_0ImmPred>;
1081 def: OpR_RI_pat<S2_asl_i_vh, Shl, v4i16, V4I16, u4_0ImmPred>;
1084 def: OpR_RI_pat<S2_asl_i_vh, Shl, v2i32, V2I32, u5_0ImmPred>;
1088 def: OpR_RR_pat<S2_asl_r_r, Shl, i32, I32, I32>;
1091 def: OpR_RR_pat<S2_asl_r_p, Shl, i64, I64, I32>;
1261 def: AccRRR_pat<S2_asl_r_r_acc, Add, Su<Shl>, I32, I32, I32>;
1262 def: AccRRR_pat<S2_asl_r_r_nac, Sub, Su<Shl>, I32, I32, I32>;
1263 def: AccRRR_pat<S2_asl_r_r_and, And, Su<Shl>, I32, I32, I32>;
[all …]
/llvm-project-15.0.7/llvm/lib/Transforms/InstCombine/
H A DInstCombineShifts.cpp148 if (ShiftOpcode == Instruction::BinaryOps::Shl) { in reassociateShiftAmtsOfTwoSameDirectionShifts()
187 assert(OuterShift->getOpcode() == Instruction::BinaryOps::Shl && in dropRedundantMaskingOfLeftShiftInput()
430 case Instruction::Shl: in commonShiftTransforms()
440 Constant *NewC = ConstantInt::get(Ty, I.getOpcode() == Instruction::Shl in commonShiftTransforms()
445 if (I.getOpcode() == Instruction::Shl) { in commonShiftTransforms()
487 bool IsInnerShl = InnerShift->getOpcode() == Instruction::Shl; in canEvaluateShiftedShift()
548 case Instruction::Shl: in canEvaluateShifted()
584 bool IsInnerShl = InnerShift->getOpcode() == Instruction::Shl; in foldShiftedShift()
669 case Instruction::Shl: in getShiftedValue()
712 return Shift.getOpcode() == Instruction::Shl; in canShiftBinOpWithConstantRHS()
[all …]
H A DInstCombineSimplifyDemanded.cpp537 Instruction *Shl = BinaryOperator::CreateShl(I->getOperand(0), ShiftC); in SimplifyDemandedUseBits() local
538 return InsertNewInstWith(Shl, *I); in SimplifyDemandedUseBits()
553 case Instruction::Shl: { in SimplifyDemandedUseBits()
657 Instruction *Shl = BinaryOperator::CreateShl(NewC, X); in SimplifyDemandedUseBits() local
658 return InsertNewInstWith(Shl, *I); in SimplifyDemandedUseBits()
1097 Instruction *Shr, const APInt &ShrOp1, Instruction *Shl, in simplifyShrShlDemandedBits() argument
1141 BinaryOperator *Orig = cast<BinaryOperator>(Shl); in simplifyShrShlDemandedBits()
1152 return InsertNewInstWith(New, *Shl); in simplifyShrShlDemandedBits()
H A DInstCombineMulDivRem.cpp80 if (I->getOpcode() == Instruction::Shl && !I->hasNoUnsignedWrap()) { in simplifyValueKnownNonZero()
179 Constant *Shl = ConstantExpr::getShl(C1, C2); in visitMul() local
181 BinaryOperator *BO = BinaryOperator::CreateMul(NewOp, Shl); in visitMul()
185 Shl->isNotMinSignedValue()) in visitMul()
193 BinaryOperator *Shl = BinaryOperator::CreateShl(NewOp, NewCst); in visitMul() local
196 Shl->setHasNoUnsignedWrap(); in visitMul()
200 Shl->setHasNoSignedWrap(); in visitMul()
203 return Shl; in visitMul()
H A DInstCombineCompares.cpp1683 if (ShiftOpcode == Instruction::Shl) { in foldICmpAndShift()
2064 Type *ShiftType = Shl->getType(); in foldICmpShlOne()
2129 return foldICmpShlOne(Cmp, Shl, C); in foldICmpShlConstant()
2138 Value *X = Shl->getOperand(0); in foldICmpShlConstant()
2139 Type *ShType = Shl->getType(); in foldICmpShlConstant()
2144 if (Shl->hasNoSignedWrap()) { in foldICmpShlConstant()
2174 if (Shl->hasNoUnsignedWrap()) { in foldICmpShlConstant()
2196 if (Cmp.isEquality() && Shl->hasOneUse()) { in foldICmpShlConstant()
2219 if (Cmp.isUnsigned() && Shl->hasOneUse()) { in foldICmpShlConstant()
3418 case Instruction::Shl: in foldICmpBinOpWithConstant()
[all …]
/llvm-project-15.0.7/llvm/lib/Transforms/Scalar/
H A DReassociate.cpp975 case Instruction::Shl: in isLoadCombineCandidate()
1001 Instruction::Shl}) in shouldConvertOrWithNoCommonBitsToAdd()
1090 Constant *MulCst = ConstantInt::get(Shl->getType(), 1); in ConvertShiftToMul()
1091 auto *SA = cast<ConstantInt>(Shl->getOperand(1)); in ConvertShiftToMul()
1095 BinaryOperator::CreateMul(Shl->getOperand(0), MulCst, "", Shl); in ConvertShiftToMul()
1096 Shl->setOperand(0, PoisonValue::get(Shl->getType())); // Drop use of op. in ConvertShiftToMul()
1097 Mul->takeName(Shl); in ConvertShiftToMul()
1100 Shl->replaceAllUsesWith(Mul); in ConvertShiftToMul()
1101 Mul->setDebugLoc(Shl->getDebugLoc()); in ConvertShiftToMul()
1107 bool NSW = cast<BinaryOperator>(Shl)->hasNoSignedWrap(); in ConvertShiftToMul()
[all …]
H A DSpeculativeExecution.cpp222 case Instruction::Shl: in ComputeSpeculationCost()
/llvm-project-15.0.7/llvm/include/llvm/IR/
H A DOperator.h110 I->getOpcode() == Instruction::Shl; in classof()
116 CE->getOpcode() == Instruction::Shl; in classof()
357 : public ConcreteOperator<OverflowingBinaryOperator, Instruction::Shl> {
H A DInstruction.h194 return Opcode >= Shl && Opcode <= AShr;
199 return getOpcode() == Shl || getOpcode() == LShr;
H A DPatternMatch.h1111 inline BinaryOp_match<LHS, RHS, Instruction::Shl> m_Shl(const LHS &L, in m_Shl()
1113 return BinaryOp_match<LHS, RHS, Instruction::Shl>(L, R); in m_Shl()
1178 inline OverflowingBinaryOp_match<LHS, RHS, Instruction::Shl,
1181 return OverflowingBinaryOp_match<LHS, RHS, Instruction::Shl, in m_NSWShl()
1211 inline OverflowingBinaryOp_match<LHS, RHS, Instruction::Shl,
1214 return OverflowingBinaryOp_match<LHS, RHS, Instruction::Shl, in m_NUWShl()
1272 return Opcode == Instruction::LShr || Opcode == Instruction::Shl; in isOpType()
/llvm-project-15.0.7/llvm/unittests/IR/
H A DConstantRangeTest.cpp1334 TEST_F(ConstantRangeTest, Shl) { in TEST_F() argument
1664 Instruction::Shl, UpToBitWidth, OBO::NoUnsignedWrap), in TEST()
1668 Instruction::Shl, UpToBitWidth, OBO::NoSignedWrap), in TEST()
1672 Instruction::Shl, UpToBitWidth, OBO::NoUnsignedWrap), in TEST()
1675 Instruction::Shl, UpToBitWidth, OBO::NoSignedWrap), in TEST()
1687 Instruction::Shl, OneLessThanBitWidth, OBO::NoSignedWrap)); in TEST()
1694 Instruction::Shl, IllegalShAmt, OBO::NoSignedWrap), in TEST()
1713 Instruction::Shl, in TEST()
1718 Instruction::Shl, in TEST()
1800 TestNoWrapRegionExhaustive(Instruction::Shl, in TEST()
[all …]
/llvm-project-15.0.7/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()
/llvm-project-15.0.7/llvm/lib/Target/RISCV/
H A DRISCVGatherScatterLowering.cpp230 BO->getOpcode() != Instruction::Shl) in matchStridedRecurrence()
234 if (BO->getOpcode() == Instruction::Shl && !isa<Constant>(BO->getOperand(1))) in matchStridedRecurrence()
312 case Instruction::Shl: { in matchStridedRecurrence()
/llvm-project-15.0.7/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()
839 Instruction::Shl, Phi->getIncomingValue(1 - IncrementIndex), in tryCreateIncrementingWBGatScat()
955 OpCode == Instruction::Shl || in hasAllGatScatUsers()
977 Offs->getOpcode() != Instruction::Shl) in optimiseOffsets()
1085 case Instruction::Shl: in optimiseOffsets()
H A DMVELaneInterleavingPass.cpp232 case Instruction::Shl: in tryInterleave()
/llvm-project-15.0.7/llvm/lib/Target/WebAssembly/
H A DWebAssemblyTargetTransformInfo.cpp68 case Instruction::Shl: in getArithmeticInstrCost()
/llvm-project-15.0.7/llvm/lib/Target/AVR/
H A DAVRShiftExpand.cpp118 case Instruction::Shl: in expand()
/llvm-project-15.0.7/llvm/include/llvm/MC/
H A DMCExpr.h503 Shl, ///< Shift left. enumerator
597 return create(Shl, LHS, RHS, Ctx); in createShl()
/llvm-project-15.0.7/llvm/lib/FuzzMutate/
H A DOperations.cpp26 Ops.push_back(binOpDescriptor(1, Instruction::Shl)); in describeFuzzerIntOps()
104 case Instruction::Shl: in binOpDescriptor()
H A DIRMutator.cpp220 case Instruction::Shl: in mutate()
/llvm-project-15.0.7/llvm/unittests/FuzzMutate/
H A DStrategiesTest.cpp190 TEST(InstModificationIRStrategyTest, Shl) { in TEST() argument
/llvm-project-15.0.7/llvm/lib/IR/
H A DOperator.cpp26 case Instruction::Shl: { in hasPoisonGeneratingFlags()
/llvm-project-15.0.7/clang/include/clang/AST/
H A DStmtVisitor.h128 BINOP_FALLBACK(Add) BINOP_FALLBACK(Sub) BINOP_FALLBACK(Shl) in BINOP_FALLBACK()
/llvm-project-15.0.7/llvm/lib/Transforms/Instrumentation/
H A DPoisonChecking.cpp167 case Instruction::Shl: { in generateCreationChecksForBinOp()

123456