[Bug target/78168] [7 Regression] Second ICE in maybe_record_trace_start, at dwarf2cfi.c:2285
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78168 Sebastian Huberchanged: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #13 from Sebastian Huber --- Thanks, looks good to me.
[Bug target/78168] [7 Regression] Second ICE in maybe_record_trace_start, at dwarf2cfi.c:2285
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78168 --- Comment #12 from Segher Boessenkool --- Author: segher Date: Wed Nov 2 17:06:04 2016 New Revision: 241799 URL: https://gcc.gnu.org/viewcvs?rev=241799=gcc=rev Log: rs6000: Disable shrink-wrap-separate for abi=spe (PR78168) With the SPE ABI, if we wrap GPRs we need to handle the upper half of the extended 64-bit registers as well, which we cannot easily do. So, this patch disables separate shrink-wrapping for the SPE ABI. PR target/78168 * config/r6000/rs6000.c (rs6000_get_separate_components): Return NULL if TARGET_SPE_ABI. Modified: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/rs6000.c
[Bug target/78168] [7 Regression] Second ICE in maybe_record_trace_start, at dwarf2cfi.c:2285
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78168 --- Comment #11 from Sebastian Huber--- (In reply to Segher Boessenkool from comment #10) > Doesn't fail with powerpc-rtems4.12 either. Are you sure you built trunk? > A clean build? I tested again today using: commit 89bcfdabe78607bf83aa58e3d2696a2c71e719e5 Author: tbsaunde Date: Wed Nov 2 03:46:17 2016 + remove cast from prev_nonnote_insn_bb gcc/ChangeLog: 2016-11-01 Trevor Saunders * emit-rtl.c (prev_nonnote_insn_bb): Change argument type to rtx_insn *. * rtl.h (prev_nonnote_insn_bb): Adjust prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241773 138bc75d-0d04-0410-961f-82ee72b054a4 I still get the ICE. The following flags seem to be essential (e.g. no ICE with -mno-spe): -O2 -mcpu=8540 -mspe -mabi=spe -g
[Bug target/78168] [7 Regression] Second ICE in maybe_record_trace_start, at dwarf2cfi.c:2285
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78168 --- Comment #10 from Segher Boessenkool --- Doesn't fail with powerpc-rtems4.12 either. Are you sure you built trunk? A clean build?
[Bug target/78168] [7 Regression] Second ICE in maybe_record_trace_start, at dwarf2cfi.c:2285
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78168 --- Comment #9 from Segher Boessenkool --- Ah, that might be the difference. My powerpc-elf build worked just fine; trying to build powerpc-rtems4.12 now.
[Bug target/78168] [7 Regression] Second ICE in maybe_record_trace_start, at dwarf2cfi.c:2285
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78168 --- Comment #8 from Sebastian Huber--- On RTEMS I think -mspe is enabled for -mcpu=8540.
[Bug target/78168] [7 Regression] Second ICE in maybe_record_trace_start, at dwarf2cfi.c:2285
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78168 --- Comment #7 from Sebastian Huber--- A git bisect indicates this as the bad commit: commit 14fdd09f470dea253089d6a5b27d7a2c3ab7d67a Author: segher Date: Wed Oct 12 15:34:39 2016 + rs6000: Separate shrink-wrapping This implements the hooks for separate shrink-wrapping for rs6000. It handles GPRs and LR. The GPRs get a component number corresponding to their register number; LR gets component number 0. * config/rs6000/rs6000.c (machine_function): Add new fields gpr_is_wrapped_separately and lr_is_wrapped_separately. (TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS, TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB, TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS, TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS, TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS, TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Define. (rs6000_get_separate_components): New function. (rs6000_components_for_bb): New function. (rs6000_disqualify_components): New function. (rs6000_emit_prologue_components): New function. (rs6000_emit_epilogue_components): New function. (rs6000_set_handled_components): New function. (rs6000_emit_prologue): Don't emit LR save if lr_is_wrapped_separately. Don't emit GPR saves if gpr_is_wrapped_separately for that register. (restore_saved_lr): Don't restore LR if lr_is_wrapped_separately. (rs6000_emit_epilogue): Don't emit GPR restores if gpr_is_wrapped_separately for that register. Don't make a REG_CFA_RESTORE note for registers we did not restore, either. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241065 138bc75d-0d04-0410-961f-82ee72b054a4 :04 04 93015f5b1887799cdee7723b46455953bf087911 61a2a5a9e1f078a49af4930e0f62f5269f18ad86 M gcc
[Bug target/78168] [7 Regression] Second ICE in maybe_record_trace_start, at dwarf2cfi.c:2285
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78168 --- Comment #6 from Martin Liška --- (In reply to Segher Boessenkool from comment #5) > Cannot reproduce on 32-bit Linux, will try a plain powerpc-elf build. I did that on a x86_64-linux-gnu with --target=powerpc-rtems4.12
[Bug target/78168] [7 Regression] Second ICE in maybe_record_trace_start, at dwarf2cfi.c:2285
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78168 --- Comment #5 from Segher Boessenkool --- Cannot reproduce on 32-bit Linux, will try a plain powerpc-elf build.
[Bug target/78168] [7 Regression] Second ICE in maybe_record_trace_start, at dwarf2cfi.c:2285
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78168 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2016-10-31 Ever confirmed|0 |1
[Bug target/78168] [7 Regression] Second ICE in maybe_record_trace_start, at dwarf2cfi.c:2285
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78168 Martin Liška changed: What|Removed |Added CC||marxin at gcc dot gnu.org --- Comment #4 from Martin Liška --- Created attachment 39928 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39928=edit Minimized test-case Confirmed, adding minimized test-case.
[Bug target/78168] [7 Regression] Second ICE in maybe_record_trace_start, at dwarf2cfi.c:2285
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78168 --- Comment #3 from Sebastian Huber--- My configure command line: configure --target=powerpc-rtems4.12 --verbose --with-newlib --disable-libstdcxx-pch --disable-nls --disable-lto --disable-plugin --enable-languages=c Should also work with a bare-metal 32-bit ELF powerpc GCC.
[Bug target/78168] [7 Regression] Second ICE in maybe_record_trace_start, at dwarf2cfi.c:2285
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78168 --- Comment #2 from Sebastian Huber--- (In reply to Andrew Pinski from comment #1) > Most likely a dup of bug 78029. I am not sure. I get the ICE with the latest GCC which includes the fix for bug 78029.
[Bug target/78168] [7 Regression] Second ICE in maybe_record_trace_start, at dwarf2cfi.c:2285
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78168 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |7.0 --- Comment #1 from Andrew Pinski --- Most likely a dup of bug 78029.