[Bug target/78168] [7 Regression] Second ICE in maybe_record_trace_start, at dwarf2cfi.c:2285

2016-11-03 Thread sebastian.hu...@embedded-brains.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78168

Sebastian Huber  changed:

   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

2016-11-02 Thread segher at gcc dot gnu.org
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

2016-11-02 Thread sebastian.hu...@embedded-brains.de
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

2016-10-31 Thread segher at gcc dot gnu.org
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

2016-10-31 Thread segher at gcc dot gnu.org
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

2016-10-31 Thread sebastian.hu...@embedded-brains.de
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

2016-10-31 Thread sebastian.hu...@embedded-brains.de
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

2016-10-31 Thread marxin at gcc dot gnu.org
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

2016-10-31 Thread segher at gcc dot gnu.org
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

2016-10-31 Thread marxin at gcc dot gnu.org
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

2016-10-31 Thread marxin at gcc dot gnu.org
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

2016-10-31 Thread sebastian.hu...@embedded-brains.de
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

2016-10-31 Thread sebastian.hu...@embedded-brains.de
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

2016-10-31 Thread pinskia at gcc dot gnu.org
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.