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]

Re: PRE (sometimes) confuses ivopts/scev?




On Wed, 26 Jan 2005, Richard Guenther wrote:

On Wed, 26 Jan 2005, Richard Guenther wrote:

and the code produced is even better than before with -fno-tree-pre!

For a runtime test of the tramp3d testcase we gain about 2% in
runtime compared to -fno-tree-pre and about 5% compared to -ftree-pre
without your patch.

Btw., we take a compile-time hit of ~0.5% for the tramp3d testcase, but this could well be noise.

Richard.


Note that the patch causes two testsuite failures, both tree if-conversion, due to inserting a bit of dead code in the loop exit block.

However, if i attempt to fix this by adding a DCE pass after PRE, tree if-convert screws up the cfg completely, and fails its tests anyway (verify_ssa failure)

DCE calls cleanup_tree_cfg, which ends up remerging all the critical edges, which is why the cfg is different enough to trigger that bug.

I'm not sure whether to just xfail the two ifc tests (since if-conversion has known cfg problems at this point), or try to make PRE do a little DCE on the expressions it inserts on it's own.


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