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]

Re: Delete dead jump tables in cfglayout mode


On Sun, Nov 24, 2013 at 12:26 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Wed, Nov 20, 2013 at 12:59 PM, Steven Bosscher <stevenb.gcc@gmail.com> wrote:
>> Hello,
>>
>> With the attached patch, dead jump tables are deleted if a
>> CLEANUP_EXPENSIVE is performed in cfglayout mode. This helps remove
>> labels and merge basic blocks, and brings the CFG out of cfglayout
>> mode more cleanly. It also fixes bugs in LABEL_NUSES updating, which
>> was broken for cfglayout, and which was done in the wrong place for
>> IRA.
>>
>> Bootstrapped&tested on powerpc64-unknown-linux-gnu. The patch needs
>> patching for the EXIT_BLOCK_PTR/ENTRY_BLOCK_PTR changes but what's
>> attached is what I tested. If the patch is OK, I'll make the necessary
>> changes and re-test before committing.
>>
>> OK for trunk?
>
> It breaks bootstrap on x86 with java enabled:
>
> /export/gnu/import/git/gcc-test-intel64/src-trunk/libjava/classpath/gnu/xml/aelfred2/XmlParser.java:
> In class 'gnu.xml.aelfred2.XmlParser':
> /export/gnu/import/git/gcc-test-intel64/src-trunk/libjava/classpath/gnu/xml/aelfred2/XmlParser.java:
> In method 'gnu.xml.aelfred2.XmlParser.parseXMLDecl(boolean)':
> In file included from
> /export/gnu/import/git/gcc-test-intel64/src-trunk/libjava/classpath/gnu/xml/aelfred2/XmlParser.java:5804:0,
>                  from
> /export/gnu/import/git/gcc-test-intel64/src-trunk/libjava/classpath/gnu/xml/aelfred2/SAXDriver.java:1509,
>                  from
> /export/gnu/import/git/gcc-test-intel64/src-trunk/libjava/classpath/gnu/xml/aelfred2/XmlParser.java:5793,
>                  from
> /export/gnu/import/git/gcc-test-intel64/src-trunk/libjava/classpath/gnu/xml/aelfred2/SAXDriver.java:1605,
>                  from
> /export/gnu/import/git/gcc-test-intel64/src-trunk/libjava/classpath/gnu/xml/aelfred2/XmlParser.java:5813,
>                  from <built-in>:14:
> /export/gnu/import/git/gcc-test-intel64/src-trunk/libjava/classpath/gnu/xml/aelfred2/XmlParser.java:844:0:
> internal compiler error: in remove_insn, at emit-rtl.c:3981
>      return encodingName;
>  ^
> 0x66b1f3 remove_insn(rtx_def*)
>     ../../src-trunk/gcc/emit-rtl.c:3981
> 0x5cf31b delete_insn(rtx_def*)
>     ../../src-trunk/gcc/cfgrtl.c:170
> 0xd5d7ae delete_dead_jump_tables_between
>     ../../src-trunk/gcc/cfgcleanup.c:2971
> 0xd60511 delete_dead_jumptables()
>     ../../src-trunk/gcc/cfgcleanup.c:2997
> 0xd617a2 cleanup_cfg(int)
>     ../../src-trunk/gcc/cfgcleanup.c:3084
> 0xdbd15a rest_of_handle_if_conversion
>     ../../src-trunk/gcc/ifcvt.c:4482
> 0xdbd15a execute
>     ../../src-trunk/gcc/ifcvt.c:4516
> Please submit a full bug report,
> with preprocessed source if appropriate.
> Please include the complete backtrace with any bug report.
> See <http://gcc.gnu.org/bugs.html> for instructions.
> make[8]: *** [gnu-xml-aelfred2.lo] Error 1
>

I opened:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59279


-- 
H.J.


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