| /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/InstCombine/ |
| H A D | InstCombiner.h | 441 bool isKnownToBeAPowerOfTwo(const Value *V, bool OrZero = false, 444 return llvm::isKnownToBeAPowerOfTwo(V, DL, OrZero, Depth, &AC, CxtI, &DT);
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | ValueTracking.cpp | 269 static bool isKnownToBeAPowerOfTwo(const Value *V, bool OrZero, unsigned Depth, 272 bool llvm::isKnownToBeAPowerOfTwo(const Value *V, const DataLayout &DL, in isKnownToBeAPowerOfTwo() function in llvm 276 return ::isKnownToBeAPowerOfTwo( in isKnownToBeAPowerOfTwo() 2174 if (!isKnownToBeAPowerOfTwo(Start, OrZero, Depth, Q)) in isPowerOfTwoRecurrence() 2190 isKnownToBeAPowerOfTwo(Step, OrZero, Depth, Q); in isPowerOfTwoRecurrence() 2202 isKnownToBeAPowerOfTwo(Step, false, Depth, Q); in isPowerOfTwoRecurrence() 2220 bool isKnownToBeAPowerOfTwo(const Value *V, bool OrZero, unsigned Depth, in isKnownToBeAPowerOfTwo() function 2257 return isKnownToBeAPowerOfTwo(I->getOperand(0), OrZero, Depth, Q); in isKnownToBeAPowerOfTwo() 2259 return OrZero && isKnownToBeAPowerOfTwo(I->getOperand(0), OrZero, Depth, Q); in isKnownToBeAPowerOfTwo() 2262 return isKnownToBeAPowerOfTwo(I->getOperand(0), OrZero, Depth, Q); in isKnownToBeAPowerOfTwo() [all …]
|
| H A D | InstructionSimplify.cpp | 2043 isKnownToBeAPowerOfTwo(Op1, Q.DL, /*OrZero*/ true, 0, Q.AC, Q.CxtI, Q.DT)) in simplifyAndCommutative() 2049 isKnownToBeAPowerOfTwo(Op1, Q.DL, /*OrZero*/ true, 0, Q.AC, Q.CxtI, Q.DT)) in simplifyAndCommutative() 2057 isKnownToBeAPowerOfTwo(X, Q.DL, /*OrZero*/ true, /*Depth*/ 0, Q.AC, in simplifyAndCommutative() 2127 isKnownToBeAPowerOfTwo(Shift, Q.DL, /*OrZero*/ false, 0, Q.AC, Q.CxtI, in simplifyAndInst() 6283 if (isKnownToBeAPowerOfTwo(Op0, Q.DL, /*OrZero*/ false, 0, Q.AC, Q.CxtI, in simplifyUnaryIntrinsic()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/ |
| H A D | Utils.h | 325 bool isKnownToBeAPowerOfTwo(Register Val, const MachineRegisterInfo &MRI,
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | ValueTracking.h | 119 bool isKnownToBeAPowerOfTwo(const Value *V, const DataLayout &DL,
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineMulDivRem.cpp | 68 IC.isKnownToBeAPowerOfTwo(I->getOperand(0), false, 0, &CxtI)) { in simplifyValueKnownNonZero() 1701 if (isKnownToBeAPowerOfTwo(Op1, /*OrZero*/ true, 0, &I)) { in visitSDiv() 2181 if (isKnownToBeAPowerOfTwo(Op1, /*OrZero*/ true, 0, &I)) { in visitURem()
|
| H A D | InstCombineAndOrXor.cpp | 735 !isKnownToBeAPowerOfTwo(Pow2, Q.DL, /*OrZero=*/true, /*Depth=*/0, Q.AC, in foldAndOrOfICmpsWithPow2AndWithZero() 767 isKnownToBeAPowerOfTwo(L2, false, 0, CxtI) && in foldAndOrOfICmpsOfAndWithPow2() 768 isKnownToBeAPowerOfTwo(R2, false, 0, CxtI)) { in foldAndOrOfICmpsOfAndWithPow2() 2372 isKnownToBeAPowerOfTwo(Y, /*OrZero*/ true, /*Depth*/ 0, &I)) in visitAnd() 4752 isKnownToBeAPowerOfTwo(II->getArgOperand(0), /*OrZero */ true)) { in visitXor()
|
| H A D | InstCombineCompares.cpp | 1161 if (!isKnownToBeAPowerOfTwo(Y, /*OrZero*/ true, 0, &I)) in foldIRemByPowerOfTwoToBitTest() 4237 return isKnownToBeAPowerOfTwo(I->getOperand(0), Q.DL, /*OrZero*/ true, in isMaskOrZero() 4243 return isKnownToBeAPowerOfTwo(I->getOperand(1), Q.DL, /*OrZero*/ true, in isMaskOrZero() 5761 isKnownToBeAPowerOfTwo(Op1, /* OrZero */ false, 0, &I)) in foldICmpEquality() 5766 isKnownToBeAPowerOfTwo(Op0, /* OrZero */ false, 0, &I)) in foldICmpEquality() 5807 if (IsZero && isKnownToBeAPowerOfTwo(A, /* OrZero */ true, /*Depth*/ 0, &I)) in foldICmpEquality() 7491 match(Op1, m_Zero()) && isKnownToBeAPowerOfTwo(X, false, 0, &I) && in visitICmpInst()
|
| H A D | InstCombineCalls.cpp | 690 if (IC.isKnownToBeAPowerOfTwo(Op0, /* OrZero */ true)) in foldCtpop() 1794 isKnownToBeAPowerOfTwo(X, /* OrZero */ true)) { in visitCallInst()
|
| H A D | InstCombineSelect.cpp | 2752 IC.isKnownToBeAPowerOfTwo(Remainder, /*OrZero*/ true) && in foldSelectWithSRem()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/ |
| H A D | Utils.cpp | 1089 bool llvm::isKnownToBeAPowerOfTwo(Register Reg, const MachineRegisterInfo &MRI, in isKnownToBeAPowerOfTwo() function in llvm 1129 if (!isKnownToBeAPowerOfTwo(MO.getReg(), MRI, KB)) in isKnownToBeAPowerOfTwo()
|
| H A D | CombinerHelper.cpp | 2981 return isKnownToBeAPowerOfTwo(MO.getReg(), MRI, KB); in matchOperandIsKnownToBeAPowerOfTwo()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPUCodeGenPrepare.cpp | 1343 if (isKnownToBeAPowerOfTwo(C, *DL, true, 0, AC, &I, DT)) in divHasSpecialOptimization() 1353 isKnownToBeAPowerOfTwo(BinOpDen->getOperand(0), *DL, true, in divHasSpecialOptimization()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | SelectionDAG.cpp | 4346 bool SelectionDAG::isKnownToBeAPowerOfTwo(SDValue Val, unsigned Depth) const { in isKnownToBeAPowerOfTwo() function in SelectionDAG 4365 return isKnownToBeAPowerOfTwo(Val.getOperand(0), Depth + 1) && in isKnownToBeAPowerOfTwo() 4375 return isKnownToBeAPowerOfTwo(Val.getOperand(0), Depth + 1) && in isKnownToBeAPowerOfTwo() 4380 return isKnownToBeAPowerOfTwo(Val.getOperand(0), Depth + 1); in isKnownToBeAPowerOfTwo() 4400 isKnownToBeAPowerOfTwo(Val.getOperand(0), Depth + 1)) in isKnownToBeAPowerOfTwo() 4405 return isKnownToBeAPowerOfTwo(Val.getOperand(1), Depth + 1) && in isKnownToBeAPowerOfTwo() 4406 isKnownToBeAPowerOfTwo(Val.getOperand(0), Depth + 1); in isKnownToBeAPowerOfTwo() 4409 return isKnownToBeAPowerOfTwo(Val.getOperand(2), Depth + 1) && in isKnownToBeAPowerOfTwo() 4410 isKnownToBeAPowerOfTwo(Val.getOperand(1), Depth + 1); in isKnownToBeAPowerOfTwo() 4423 return isKnownToBeAPowerOfTwo(Val.getOperand(0), Depth + 1); in isKnownToBeAPowerOfTwo() [all …]
|
| H A D | DAGCombiner.cpp | 4997 if (DAG.isKnownToBeAPowerOfTwo(N1)) { in visitREM() 5009 DAG.isKnownToBeAPowerOfTwo(N1.getOperand(0))) { in visitREM() 28036 if (InexpensiveLogBase2 || InexpensiveOnly || !DAG.isKnownToBeAPowerOfTwo(V)) in BuildLogBase2()
|
| H A D | TargetLowering.cpp | 4038 DAG.isKnownToBeAPowerOfTwo(Y)) { in foldSetCCWithAnd()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
| H A D | SelectionDAG.h | 2024 bool isKnownToBeAPowerOfTwo(SDValue Val, unsigned Depth = 0) const;
|