Lines Matching refs:ShVal0
66 auto matchFunnelShift = [](Value *V, Value *&ShVal0, Value *&ShVal1, in foldGuardedFunnelShift()
73 m_Shl(m_Value(ShVal0), m_Value(ShAmt)), in foldGuardedFunnelShift()
82 m_OneUse(m_c_Or(m_Shl(m_Value(ShVal0), m_Sub(m_SpecificInt(Width), in foldGuardedFunnelShift()
99 Value *ShVal0, *ShVal1, *ShAmt; in foldGuardedFunnelShift() local
100 Intrinsic::ID IID = matchFunnelShift(P0, ShVal0, ShVal1, ShAmt); in foldGuardedFunnelShift()
102 (IID == Intrinsic::fshl && ShVal0 != P1) || in foldGuardedFunnelShift()
104 IID = matchFunnelShift(P1, ShVal0, ShVal1, ShAmt); in foldGuardedFunnelShift()
106 (IID == Intrinsic::fshl && ShVal0 != P0) || in foldGuardedFunnelShift()
123 if (!DT.dominates(ShVal0, TermI) || !DT.dominates(ShVal1, TermI)) in foldGuardedFunnelShift()
137 if (ShVal0 == ShVal1) in foldGuardedFunnelShift()
145 if (ShVal0 != ShVal1) { in foldGuardedFunnelShift()
148 else if (!IsFshl && !llvm::isGuaranteedNotToBePoison(ShVal0)) in foldGuardedFunnelShift()
149 ShVal0 = Builder.CreateFreeze(ShVal0); in foldGuardedFunnelShift()
167 Phi.replaceAllUsesWith(Builder.CreateCall(F, {ShVal0, ShVal1, ShAmt})); in foldGuardedFunnelShift()