Early exit to avoid redundant computations
commitf1537fda048c4755f5151a0206e9259477645743
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 6 Oct 2015 15:56:09 +0000 (6 15:56 +0000)
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 6 Oct 2015 15:56:09 +0000 (6 15:56 +0000)
tree821a193faee8968c0ce737e35bd1e68ee7355f15
parent3b9ce1aab5205c796390685a4da4c9a75fd87285
Early exit to avoid redundant computations

Analyze only those bbs which are outside the region for uses which might be
defined inside the region. This is intended to improve the compile time. This
algorithm may be further improved by only looking at the successors of region as
these regions are sese. Added FIXMEs to make this improvement in future.

Passes regtest and bootstrap on x86_64.

gcc/ChangeLog:

2015-10-05  Aditya Kumar  <hiraditya@msn.com>

        * graphite-sese-to-poly.c (build_loop_iteration_domains): Only loops
        which are in this region are passed so gcc_assert and remove redundant
        computation.
        * sese.c (sese_build_liveouts): Pass only those bbs which are not in region.
        (sese_bad_liveouts_use): Only BBs which are not in region are passed so
        gcc_assert on that and remove unnecessary computation.
        (sese_build_liveouts_use): Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228529 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/graphite-sese-to-poly.c
gcc/sese.c