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] Extend dse


Hello,

This patch enhance dse pass to delete dead stores when the previous
implementation failed due to alias uncertainty.  For example:

S[5].x = 0;
S[5].y = 0;

S[5].x = x;
S[5].y = y;

Previously S[5].y = 0; failed to be eliminated.  This patch fixes this
problem by walking the virtual def-use chain to find the stmt that
uses S[5].y.

Bootstrap and tested on PPC. OK for autovect branch?

Thanks,
Revital

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

        * tree-ssa-dse.c (get_use_of_stmt_lhs): New function
          which walks virtual def-use chains to find redundant stores.
          (dse_optimize_stmt): Call it.
        * testsuite/gcc.dg/store_dse_test.c: New test.
        * testsuite/gcc.dg/dse_test.c: New test.

(See attached file: dse_patch_19_3.txt)(See attached file:
store_dse_test.txt)(See attached file: dse_test.txt)

Attachment: dse_patch_19_3.txt
Description: Text document

Attachment: store_dse_test.txt
Description: Text document

Attachment: dse_test.txt
Description: Text document


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