<div dir="ltr">Oh I see, that's insanely smart. <div><br></div><div>I still have to make some specific things for ICMP_EQ (adding things to ReplaceWithConstMap), so I can also do the same thing for fcmp.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 10, 2015 at 3:50 PM, Daniel Berlin <span dir="ltr"><<a href="mailto:dberlin@dberlin.org" target="_blank">dberlin@dberlin.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Not just that.<br>
llvm.assume asserts whatever the condition is, is true.<br>
PropagateEquality will propagate equalities like (A < B) == true as<br>
well, by replacing all dominated instances of A>= B == false.<br>
<br>
So you should be able to "propagate" basically all the ICMP variants.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On Mon, Aug 10, 2015 at 3:43 PM, Piotr Padlewski <<a href="mailto:prazek@google.com">prazek@google.com</a>> wrote:<br>
> Prazek marked an inline comment as done.<br>
><br>
> ================<br>
> Comment at: lib/Transforms/Scalar/GVN.cpp:2231<br>
> @@ +2230,3 @@<br>
> +      if (ICmpInst *ICmpI = dyn_cast<ICmpInst>(V)) {<br>
> +        if (ICmpI->getSignedPredicate() == ICmpInst::Predicate::ICMP_EQ) {<br>
> +<br>
> ----------------<br>
> dberlin wrote:<br>
>> Why only ICMP_EQ?<br>
> You mean to add fcmp also?<br>
><br>
><br>
> <a href="http://reviews.llvm.org/D11918" rel="noreferrer" target="_blank">http://reviews.llvm.org/D11918</a><br>
><br>
><br>
><br>
</div></div></blockquote></div><br></div>