[autovect] [patch] Make store motion use alias oracle

Revital1 Eres ERES@il.ibm.com
Mon Mar 12 15:25:00 GMT 2007


Hello,

I would like to ask to insert Zdenek Dvorak's make
store motion use alias oracle patch into autovect branch.
http://gcc.gnu.org/ml/gcc-patches/2007-01/msg02605.html (with the fix :
http://gcc.gnu.org/ml/gcc-patches/2007-01/msg02627.html)

This patch should simplify stmts in loops and thus open opportunities
for vectorization.

This patch inserts additional constrain to the movement_possibility
function which causes the ifcvt to not be applied when it contains memory
references (and as a result to some testcases faulires).  This problem
is fixed in the attached patch which was bootstrap and tested on ppc
together with the above lim patch.  (I intend to re-submit this fix once
the above patch will be inserted to the branch)

(See attached file: patch_fix_ifcvt.txt)

OK for autovect?

Thanks,
Revital

2007-03-12  Revital Eres  <eres@il.ibm.com>

        * tree-if-conv.c (if_convertible_gimple_modify_stmt_p):
          Call movement_possibility function with additional argument.
        * tree-flow.h (movement_possibility): Change definition.
        * tree-ssa-loop-im.c (movement_possibility): Add new argument
          to indicates whether this function serves as validity check
          for transformations which do not intend to move STMT.
          (determine_invariantness_stmt): Call function
          movement_possibility with additional argument.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patch_fix_ifcvt.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20070312/910cd5d3/attachment.txt>


More information about the Gcc-patches mailing list