I tried using -fmodulo-sched and managed to get an ICE. The test case is based on some gzip code.
$ ~/toolchain/install/bin/gcc -v Using built-in specs. Target: powerpc-linux Configured with: /home/anton/toolchain/gcc/gcc/configure --build=powerpc-linux --host=powerpc-linux --target=powerpc-linux --enable-targets=powerpc64-linux --enable-languages=c,c++,fortran --prefix=/home/anton/toolchain/install Thread model: posix gcc version 4.2.0 20060219 (experimental) $ cat foo.c unsigned int foo(unsigned int code, int len) { unsigned int res = 0; do { res |= code & 1; } while (--len > 0); return res; } $ ~/toolchain/install/bin/gcc -O3 -fmodulo-sched -c foo.c foo.c: In function 'foo': foo.c:8: internal compiler error: in add_deps_for_def, at ddg.c:243 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. It only ICE's with -m32, -m64 compiles OK. -- Summary: Swing modulo scheduling results in ICE Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: anton at samba dot org GCC target triplet: powerpc64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26375