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]

Fix ICE in loop unrolling


Hi,

fixing one of the bugs of the loop distribution, I ended up fixing a
bug in the loop unrolling: try_unroll_loop_completely leaves the exit
edges and does not update correctly the dominators information, so gcc
ends in an ICE just after the modified code in update_ssa that uses
this information.  The proposed patch uses the exact same mechanism to
remove the unused edges as in tree_transform_and_unroll_loop.

I suspect that it is possible to come up with a testcase that triggers
this ICE, without needing loop distribution, but I can't figure out a
testcase just now.

Regstrapped on amd64-linux.  Okay for trunk?


---------- Forwarded message ----------
From:  <spop@gcc13.fsffrance.org>
Date: Nov 7, 2007 5:08 PM
Subject: [regtest] Results for 827_unroll.diff.asc on x86_64-unknown-linux-gnu
To: sebpop@gmail.com


Checker: (2007_11_07_23_08_41): (cat
/home/spop/trunk-tester/state/testing/patched/report
there are no regressions with your patch.
Checker: (2007_11_07_23_08_41): tac)
Checker: (2007_11_07_23_08_41): FAILs with patched version:
Checker: (2007_11_07_23_08_41): (cat
/home/spop/trunk-tester/state/testing/patched/failed
gcc.sum gcc.c-torture/execute/mayalias-2.c
gcc.sum gcc.c-torture/execute/mayalias-3.c
gcc.sum gcc.dg/torture/builtin-pow-mpfr-1.c
libmudflap.sum libmudflap.c++/pass41-frag.cxx
libstdc++.sum abi_check
Checker: (2007_11_07_23_08_41): tac)
Checker: (2007_11_07_23_08_41): FAILs with pristine version:
Checker: (2007_11_07_23_08_41): (cat
/home/spop/trunk-tester/state/trunk/129967/failed
gcc.sum gcc.c-torture/execute/mayalias-2.c
gcc.sum gcc.c-torture/execute/mayalias-3.c
gcc.sum gcc.dg/torture/builtin-pow-mpfr-1.c
libmudflap.sum libmudflap.c++/pass41-frag.cxx
libstdc++.sum abi_check
Checker: (2007_11_07_23_08_41): tac)
Checker: (2007_11_07_23_08_41): The files used for the validation of
your patch are stored in
/home/spop/trunk-tester/state/patched/2007_11_07_23_08_41 on the
tester machine.



-- 
Sebastian
AMD - GNU Tools

Attachment: 827_unroll.diff.asc
Description: Text document


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