Lines Matching refs:ShVal0
95 auto matchFunnelShift = [](Value *V, Value *&ShVal0, Value *&ShVal1, in foldGuardedFunnelShift()
103 m_Shl(m_Value(ShVal0), m_Value(ShAmt)), in foldGuardedFunnelShift()
113 m_OneUse(m_c_Or(m_Shl(m_Value(ShVal0), m_Sub(m_SpecificInt(Width), in foldGuardedFunnelShift()
131 Value *ShVal0, *ShVal1, *ShAmt; in foldGuardedFunnelShift() local
132 Intrinsic::ID IID = matchFunnelShift(P0, ShVal0, ShVal1, ShAmt); in foldGuardedFunnelShift()
134 (IID == Intrinsic::fshl && ShVal0 != P1) || in foldGuardedFunnelShift()
136 IID = matchFunnelShift(P1, ShVal0, ShVal1, ShAmt); in foldGuardedFunnelShift()
138 (IID == Intrinsic::fshl && ShVal0 != P0) || in foldGuardedFunnelShift()
155 if (!DT.dominates(ShVal0, TermI) || !DT.dominates(ShVal1, TermI)) in foldGuardedFunnelShift()
169 if (ShVal0 == ShVal1) in foldGuardedFunnelShift()
177 if (ShVal0 != ShVal1) { in foldGuardedFunnelShift()
180 else if (!IsFshl && !llvm::isGuaranteedNotToBePoison(ShVal0)) in foldGuardedFunnelShift()
181 ShVal0 = Builder.CreateFreeze(ShVal0); in foldGuardedFunnelShift()
199 Phi.replaceAllUsesWith(Builder.CreateCall(F, {ShVal0, ShVal1, ShAmt})); in foldGuardedFunnelShift()