Lines Matching refs:ShVal0
89 auto matchFunnelShift = [](Value *V, Value *&ShVal0, Value *&ShVal1, in foldGuardedFunnelShift()
97 m_Shl(m_Value(ShVal0), m_Value(ShAmt)), in foldGuardedFunnelShift()
107 m_OneUse(m_c_Or(m_Shl(m_Value(ShVal0), m_Sub(m_SpecificInt(Width), in foldGuardedFunnelShift()
125 Value *ShVal0, *ShVal1, *ShAmt; in foldGuardedFunnelShift() local
126 Intrinsic::ID IID = matchFunnelShift(P0, ShVal0, ShVal1, ShAmt); in foldGuardedFunnelShift()
128 (IID == Intrinsic::fshl && ShVal0 != P1) || in foldGuardedFunnelShift()
130 IID = matchFunnelShift(P1, ShVal0, ShVal1, ShAmt); in foldGuardedFunnelShift()
132 (IID == Intrinsic::fshl && ShVal0 != P0) || in foldGuardedFunnelShift()
149 if (!DT.dominates(ShVal0, TermI) || !DT.dominates(ShVal1, TermI)) in foldGuardedFunnelShift()
163 if (ShVal0 == ShVal1) in foldGuardedFunnelShift()
171 if (ShVal0 != ShVal1) { in foldGuardedFunnelShift()
174 else if (!IsFshl && !llvm::isGuaranteedNotToBePoison(ShVal0)) in foldGuardedFunnelShift()
175 ShVal0 = Builder.CreateFreeze(ShVal0); in foldGuardedFunnelShift()
193 Phi.replaceAllUsesWith(Builder.CreateCall(F, {ShVal0, ShVal1, ShAmt})); in foldGuardedFunnelShift()