Merging Graphite to trunk
Sebastian Pop
sebpop@gmail.com
Tue Aug 4 18:25:00 GMT 2009
On Mon, Aug 3, 2009 at 03:32, Richard Guenther<rguenther@suse.de> wrote:
> You should be able to get edge frequencies from the edges coming into
> the SCoPs and then after going out-of-graphite do what the profile
> estimation does based on that values. Or even more simple - re-run
> the profile estimates on the whole function body.
>
I implemented the second solution: recompute the profile information
after graphite code generation.
* Makefile.in (graphite.o): Depends on PREDICT_H.
* graphite.c: Include predict.h.
(graphite_finalize): Call tree_estimate_probability.
* predict.c (predict_loops): Do not call scev_initialize and
scev_finalize.
(tree_estimate_probability_bb): New.
(tree_estimate_probability): Do not initialize loops: move that
code to the driver. Call tree_estimate_probability_bb.
(tree_estimate_probability_driver): New.
(pass_profile): Use tree_estimate_probability_driver.
* predict.h (tree_estimate_probability): Declared.
I am regstrapping this patch on amd64-linux. Okay for trunk if it passes?
Thanks,
Sebastian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 1670_recompute_profile.diff
Type: text/x-diff
Size: 9794 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20090804/6436b2ca/attachment.bin>
More information about the Gcc-patches
mailing list