[llvm-commits] PATCH: Teach LLVM to form minimal multiply DAGs

Jakob Stoklund Olesen stoklund at 2pi.dk
Fri Apr 20 08:16:45 PDT 2012


On Apr 20, 2012, at 2:23 AM, Chandler Carruth wrote:

> The reassociate pass does a really nice job of canonicalizing chains of operations into left-linear trees that fully expose each intermediate operation for CSE and combining with other operations. This is a really nice property that seems a shame to loose. If we form the minimal multiply DAG in reassociate  eagerly, we may miss chances to combine non-minimal intermediate steps with other operations.

It also tries to form loop invariant sub-expressions for hoisting by LICM. That seems important to preserve.

/jakob

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120420/2bc4cffa/attachment.html>


More information about the llvm-commits mailing list