| /llvm-project-15.0.7/llvm/unittests/CodeGen/GlobalISel/ |
| H A D | KnownBitsVectorTest.cpp | 964 EXPECT_FALSE(isKnownToBeAPowerOfTwo(CopyZero, *MRI, &KB)); in TEST_F() 965 EXPECT_TRUE(isKnownToBeAPowerOfTwo(CopyOne, *MRI, &KB)); in TEST_F() 966 EXPECT_TRUE(isKnownToBeAPowerOfTwo(CopyTwo, *MRI, &KB)); in TEST_F() 967 EXPECT_FALSE(isKnownToBeAPowerOfTwo(CopyThree, *MRI, &KB)); in TEST_F() 969 EXPECT_FALSE(isKnownToBeAPowerOfTwo(CopyTruncTwo, *MRI, &KB)); in TEST_F() 970 EXPECT_TRUE(isKnownToBeAPowerOfTwo(CopyTruncThree, *MRI, &KB)); in TEST_F() 971 EXPECT_TRUE(isKnownToBeAPowerOfTwo(CopyTruncFive, *MRI, &KB)); in TEST_F() 973 EXPECT_FALSE(isKnownToBeAPowerOfTwo(CopyShl1, *MRI, &KB)); in TEST_F() 974 EXPECT_FALSE(isKnownToBeAPowerOfTwo(CopyShl2, *MRI, &KB)); in TEST_F() 977 EXPECT_FALSE(isKnownToBeAPowerOfTwo(CopyLShrSignMask, *MRI, &KB)); in TEST_F() [all …]
|
| H A D | KnownBitsTest.cpp | 1056 EXPECT_FALSE(isKnownToBeAPowerOfTwo(CopyZero, *MRI, &KB)); in TEST_F() 1057 EXPECT_TRUE(isKnownToBeAPowerOfTwo(CopyOne, *MRI, &KB)); in TEST_F() 1058 EXPECT_TRUE(isKnownToBeAPowerOfTwo(CopyTwo, *MRI, &KB)); in TEST_F() 1059 EXPECT_FALSE(isKnownToBeAPowerOfTwo(CopyThree, *MRI, &KB)); in TEST_F() 1061 EXPECT_FALSE(isKnownToBeAPowerOfTwo(CopyTruncTwo, *MRI, &KB)); in TEST_F() 1062 EXPECT_TRUE(isKnownToBeAPowerOfTwo(CopyTruncThree, *MRI, &KB)); in TEST_F() 1063 EXPECT_TRUE(isKnownToBeAPowerOfTwo(CopyTruncFive, *MRI, &KB)); in TEST_F() 1065 EXPECT_TRUE(isKnownToBeAPowerOfTwo(CopyShl1, *MRI, &KB)); in TEST_F() 1066 EXPECT_FALSE(isKnownToBeAPowerOfTwo(CopyShl2, *MRI, &KB)); in TEST_F() 1069 EXPECT_TRUE(isKnownToBeAPowerOfTwo(CopyLShrSignMask, *MRI, &KB)); in TEST_F() [all …]
|
| /llvm-project-15.0.7/llvm/include/llvm/Transforms/InstCombine/ |
| H A D | InstCombiner.h | 467 bool isKnownToBeAPowerOfTwo(const Value *V, bool OrZero = false, 470 return llvm::isKnownToBeAPowerOfTwo(V, DL, OrZero, Depth, &AC, CxtI, &DT);
|
| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | ValueTracking.cpp | 331 return ::isKnownToBeAPowerOfTwo( in isKnownToBeAPowerOfTwo() 2054 if (!isKnownToBeAPowerOfTwo(Start, OrZero, Depth, Q)) in isPowerOfTwoRecurrence() 2070 isKnownToBeAPowerOfTwo(Step, OrZero, Depth, Q); in isPowerOfTwoRecurrence() 2082 isKnownToBeAPowerOfTwo(Step, false, Depth, Q); in isPowerOfTwoRecurrence() 2140 return isKnownToBeAPowerOfTwo(X, OrZero, Depth, Q) && in isKnownToBeAPowerOfTwo() 2141 isKnownToBeAPowerOfTwo(Y, OrZero, Depth, Q); in isKnownToBeAPowerOfTwo() 2147 isKnownToBeAPowerOfTwo(Y, /*OrZero*/ true, Depth, Q)) in isKnownToBeAPowerOfTwo() 2163 if (isKnownToBeAPowerOfTwo(Y, OrZero, Depth, Q)) in isKnownToBeAPowerOfTwo() 2167 if (isKnownToBeAPowerOfTwo(X, OrZero, Depth, Q)) in isKnownToBeAPowerOfTwo() 2645 isKnownToBeAPowerOfTwo(Y, /*OrZero*/ false, Depth, Q)) in isKnownNonZero() [all …]
|
| H A D | InstructionSimplify.cpp | 2121 if (isKnownToBeAPowerOfTwo(Op0, Q.DL, /*OrZero*/ true, 0, Q.AC, Q.CxtI, in simplifyAndInst() 2124 if (isKnownToBeAPowerOfTwo(Op1, Q.DL, /*OrZero*/ true, 0, Q.AC, Q.CxtI, in simplifyAndInst() 2133 isKnownToBeAPowerOfTwo(Op1, Q.DL, /*OrZero*/ true, 0, Q.AC, Q.CxtI, Q.DT)) in simplifyAndInst() 2136 isKnownToBeAPowerOfTwo(Op0, Q.DL, /*OrZero*/ true, 0, Q.AC, Q.CxtI, Q.DT)) in simplifyAndInst()
|
| /llvm-project-15.0.7/llvm/include/llvm/CodeGen/GlobalISel/ |
| H A D | Utils.h | 291 bool isKnownToBeAPowerOfTwo(Register Val, const MachineRegisterInfo &MRI,
|
| /llvm-project-15.0.7/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineInternal.h | 480 bool isKnownToBeAPowerOfTwo(const Value *V, bool OrZero = false, 483 return llvm::isKnownToBeAPowerOfTwo(V, DL, OrZero, Depth, &AC, CxtI, &DT);
|
| H A D | InstCombineMulDivRem.cpp | 67 IC.isKnownToBeAPowerOfTwo(I->getOperand(0), false, 0, &CxtI)) { in simplifyValueKnownNonZero() 1207 if (isKnownToBeAPowerOfTwo(Op1, /*OrZero*/ true, 0, &I)) { in visitSDiv() 1513 if (isKnownToBeAPowerOfTwo(Op1, /*OrZero*/ true, 0, &I)) { in visitURem()
|
| H A D | InstCombineAndOrXor.cpp | 742 isKnownToBeAPowerOfTwo(L2, false, 0, CxtI) && in foldAndOrOfICmpsOfAndWithPow2() 743 isKnownToBeAPowerOfTwo(R2, false, 0, CxtI)) { in foldAndOrOfICmpsOfAndWithPow2()
|
| H A D | InstCombineCompares.cpp | 1335 if (!isKnownToBeAPowerOfTwo(Y, /*OrZero*/ true, 0, &I)) in foldIRemByPowerOfTwoToBitTest() 6285 isKnownToBeAPowerOfTwo(A, false, 0, &I) && I.isEquality()) in visitICmpInst()
|
| /llvm-project-15.0.7/llvm/include/llvm/Analysis/ |
| H A D | ValueTracking.h | 117 bool isKnownToBeAPowerOfTwo(const Value *V, const DataLayout &DL,
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/GlobalISel/ |
| H A D | Utils.cpp | 806 bool llvm::isKnownToBeAPowerOfTwo(Register Reg, const MachineRegisterInfo &MRI, in isKnownToBeAPowerOfTwo() function in llvm 846 if (!isKnownToBeAPowerOfTwo(MO.getReg(), MRI, KB)) in isKnownToBeAPowerOfTwo()
|
| H A D | CombinerHelper.cpp | 2506 return isKnownToBeAPowerOfTwo(MO.getReg(), MRI, KB); in matchOperandIsKnownToBeAPowerOfTwo()
|
| /llvm-project-15.0.7/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPUCodeGenPrepare.cpp | 1031 if (isKnownToBeAPowerOfTwo(C, *DL, true, 0, AC, &I, DT)) in divHasSpecialOptimization() 1041 isKnownToBeAPowerOfTwo(BinOpDen->getOperand(0), *DL, true, in divHasSpecialOptimization()
|
| /llvm-project-15.0.7/llvm/include/llvm/CodeGen/ |
| H A D | SelectionDAG.h | 1924 bool isKnownToBeAPowerOfTwo(SDValue Val) const;
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | DAGCombiner.cpp | 4004 DAG.isKnownToBeAPowerOfTwo(N1) && in visitMUL() 4510 DAG.isKnownToBeAPowerOfTwo(N1)) { in visitUDIVLike() 4524 DAG.isKnownToBeAPowerOfTwo(N10)) { in visitUDIVLike() 4592 if (DAG.isKnownToBeAPowerOfTwo(N1)) { in visitREM() 4604 DAG.isKnownToBeAPowerOfTwo(N1.getOperand(0))) { in visitREM() 4750 DAG.isKnownToBeAPowerOfTwo(N1) && hasOperation(ISD::SRL, VT)) { in visitMULHU()
|
| H A D | SelectionDAG.cpp | 3861 bool SelectionDAG::isKnownToBeAPowerOfTwo(SDValue Val) const { in isKnownToBeAPowerOfTwo() function in SelectionDAG 3903 isKnownToBeAPowerOfTwo(Val.getOperand(0))) in isKnownToBeAPowerOfTwo()
|
| H A D | TargetLowering.cpp | 3710 if (DAG.isKnownToBeAPowerOfTwo(Y)) { in foldSetCCWithAnd()
|