[llvm-commits] [llvm] r118923 - /llvm/trunk/lib/Transforms/Scalar/GVN.cpp
Chris Lattner
clattner at apple.com
Fri Nov 12 16:27:59 PST 2010
On Nov 12, 2010, at 1:10 PM, Duncan Sands wrote:
> Author: baldrick
> Date: Fri Nov 12 15:10:24 2010
> New Revision: 118923
>
> URL: http://llvm.org/viewvc/llvm-project?rev=118923&view=rev
> Log:
> Have GVN simplify instructions as it goes. For example, consider
> "%z = %x and %y". If GVN can prove that %y equals %x, then it turns
> this into "%z = %x and %x". With the new code, %z will be replaced
> with %x everywhere (and then deleted). Previously %z would be value
> numbered too, which is a waste of time. Also, while a clever value
> numbering algorithm would give %z the same value number as %x, our
> current one doesn't do so (at least I don't think it does). The new
> logic has an essentially equivalent effect to what you would get if
> %z was given the same value number as %x, i.e. it should make value
> numbering smarter. While there, get hold of target data once at the
> start rather than a gazillion times all over the place.
Awesome! Please add a testcase though,
-Chris
More information about the llvm-commits
mailing list