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] | |
On Wed, Jun 16, 2010 at 5:58 PM, Maxim Kuvyrkov<maxim@codesourcery.com> wrote:Technically true, but we only care about the dominance tree here, not the entire CFG. The change which made code hoisting only look at the immediate dominators was a mistake. It's unfortunate that get_dominated_by only returns immediate dominators -- based on the name, one could reasonably expect to get the full set of dominators which I suspect happened back in 2002 when that change was made.
And makes the algorithm quadratic in the size of the CFG. You shouldCurrently, code hoisting only checks immediately-dominated blocks for expressions to hoist. I wonder if limiting the search for expressions is intentional.
This patch makes code hoisting search through all dominated blocks for
expressions to hoist.
limit the depth not only to avoid excessive live range lengths but
also for corner cases of strangely-formed CFGs.
Thanks, Jeff
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |