This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.

Attachment: patch_fix_ifcvt.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]