@@ -3756,17 +3756,17 @@ static bool isKnownNonEqual(const Value *V1, const Value *V2,
3756
3756
for (BranchInst *BI : Q.DC ->conditionsFor (V1)) {
3757
3757
Value *Cond = BI->getCondition ();
3758
3758
BasicBlockEdge Edge0 (BI->getParent (), BI->getSuccessor (0 ));
3759
- if (isImpliedCondition (Cond, ICmpInst::ICMP_NE, V1, V2, Q.DL ,
3759
+ if (Q.DT ->dominates (Edge0, Q.CxtI ->getParent ()) &&
3760
+ isImpliedCondition (Cond, ICmpInst::ICMP_NE, V1, V2, Q.DL ,
3760
3761
/* LHSIsTrue=*/ true , Depth)
3761
- .value_or (false ) &&
3762
- Q.DT ->dominates (Edge0, Q.CxtI ->getParent ()))
3762
+ .value_or (false ))
3763
3763
return true ;
3764
3764
3765
3765
BasicBlockEdge Edge1 (BI->getParent (), BI->getSuccessor (1 ));
3766
- if (isImpliedCondition (Cond, ICmpInst::ICMP_NE, V1, V2, Q.DL ,
3766
+ if (Q.DT ->dominates (Edge1, Q.CxtI ->getParent ()) &&
3767
+ isImpliedCondition (Cond, ICmpInst::ICMP_NE, V1, V2, Q.DL ,
3767
3768
/* LHSIsTrue=*/ false , Depth)
3768
- .value_or (false ) &&
3769
- Q.DT ->dominates (Edge1, Q.CxtI ->getParent ()))
3769
+ .value_or (false ))
3770
3770
return true ;
3771
3771
}
3772
3772
}
0 commit comments