]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR target/42495 (redundant memory load)
authorMaxim Kuvyrkov <maxim@codesourcery.com>
Tue, 27 Jul 2010 19:48:15 +0000 (19:48 +0000)
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>
Tue, 27 Jul 2010 19:48:15 +0000 (19:48 +0000)
commitcad9aa150ba3ff8c1dc34bf428fc7146dce463b0
treeef6e287dda7baf7be12f1fb62bf64d66c6a8211d
parent9b9ee6d392b6f4f50bacb299e8e1350b1173add8
re PR target/42495 (redundant memory load)

PR target/42495
PR middle-end/42574
* basic-block.h (get_dominated_to_depth): Declare.
* dominance.c (get_dominated_to_depth): New function, use
get_all_dominated_blocks as a base.
(get_all_dominated_blocks): Use get_dominated_to_depth.

* gcse.c (occr_t, VEC (occr_t, heap)): Define.
(hoist_exprs): Remove.
(alloc_code_hoist_mem, free_code_hoist_mem): Update.
(compute_code_hoist_vbeinout): Add debug print outs.
(hoist_code): Partially rewrite, simplify.  Use get_dominated_to_depth.

* params.def (PARAM_MAX_HOIST_DEPTH): New parameter to avoid
quadratic behavior.
* params.h (MAX_HOIST_DEPTH): New macro.
* doc/invoke.texi (max-hoist-depth): Document.

From-SVN: r162597
gcc/ChangeLog
gcc/basic-block.h
gcc/doc/invoke.texi
gcc/dominance.c
gcc/gcse.c
gcc/params.def
gcc/params.h