public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM)
@ 2012-10-29 16:01 christophe.lyon at st dot com
  2012-10-29 16:03 ` [Bug gcov-profile/55121] " christophe.lyon at st dot com
                   ` (15 more replies)
  0 siblings, 16 replies; 17+ messages in thread
From: christophe.lyon at st dot com @ 2012-10-29 16:01 UTC (permalink / raw)
  To: gcc-bugs


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

             Bug #: 55121
           Summary: ICE in if-convertion with PGO (ARM)
    Classification: Unclassified
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: gcov-profile
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: christophe.lyon@st.com


Created attachment 28555
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28555
patch 1

Hi,
 As discussed in 
http://gcc.gnu.org/ml/gcc/2012-10/msg00330.html
 then
http://gcc.gnu.org/ml/gcc/2012-10/msg00341.html
 there is an ICE when compiling SPEC2k's GAP bench with GCC for ARM using
profiling data.

My tests are based upon SVN rev #191819, with 4 patches (attached)
submitted by Matthew Gretton-Dann.

You can reproduce the ICE with:

$ XXXX/cc1 -fpreprocessed eval.i -quiet -dumpbase eval.c -march=armv7-a
-mtune=cortex-a9 -mthumb -mfpu=neon -mvectorize-with-neon-quad
-mfloat-abi=softfp -mtls-dialect=gnu -auxbase-strip eval.o -g -O3 -version
-fprofile-use=YYY -fno-common -o eval.s
eval.c: In function 'Ge':
eval.c:792:1: internal compiler error: in df_compact_blocks, at df-core.c:1570
 0x6917c1 df_compact_blocks()
        
/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf-hot-cold-pgo/gcc/df-core.c:1570
 0x62c3f6 compact_blocks()
         /work1/lyon/Work/ARM/Linaro/sources/gcc-fsf-hot-cold-pgo/gcc/cfg.c:165
 0x659b89 relink_block_chain(bool)
        
/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf-hot-cold-pgo/gcc/cfgrtl.c:3112
 0xeb7061 reorder_basic_blocks
        
/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf-hot-cold-pgo/gcc/bb-reorder.c:2172
 0xeb71b8 rest_of_handle_reorder_blocks
       
/work1/lyon/Work/ARM/Linaro/sources/gcc-fsf-hot-cold-pgo/gcc/bb-reorder.c:2237


It could be that calls to merge_blocks() in merge_if_block() should be
guarded by e.g. can_merge_blocks_p (combo_bb, join_bb).

Adding this line before calling
       merge_blocks (combo_bb, join_bb);
makes the compilation succeed.

However, the resulting code is still not functional but that problem
may come from another module of the bench.

Also attached: eval.i and eval.gcda


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)
  2012-10-29 16:01 [Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM) christophe.lyon at st dot com
@ 2012-10-29 16:03 ` christophe.lyon at st dot com
  2012-10-29 16:04 ` christophe.lyon at st dot com
                   ` (14 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: christophe.lyon at st dot com @ 2012-10-29 16:03 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #1 from christophe.lyon at st dot com 2012-10-29 16:03:16 UTC ---
Created attachment 28556
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28556
patch2


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)
  2012-10-29 16:01 [Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM) christophe.lyon at st dot com
  2012-10-29 16:03 ` [Bug gcov-profile/55121] " christophe.lyon at st dot com
@ 2012-10-29 16:04 ` christophe.lyon at st dot com
  2012-10-29 16:04 ` christophe.lyon at st dot com
                   ` (13 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: christophe.lyon at st dot com @ 2012-10-29 16:04 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #3 from christophe.lyon at st dot com 2012-10-29 16:04:42 UTC ---
Created attachment 28558
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28558
patch4


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)
  2012-10-29 16:01 [Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM) christophe.lyon at st dot com
  2012-10-29 16:03 ` [Bug gcov-profile/55121] " christophe.lyon at st dot com
  2012-10-29 16:04 ` christophe.lyon at st dot com
@ 2012-10-29 16:04 ` christophe.lyon at st dot com
  2012-10-29 16:05 ` christophe.lyon at st dot com
                   ` (12 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: christophe.lyon at st dot com @ 2012-10-29 16:04 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #2 from christophe.lyon at st dot com 2012-10-29 16:03:56 UTC ---
Created attachment 28557
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28557
patch3


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)
  2012-10-29 16:01 [Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM) christophe.lyon at st dot com
                   ` (2 preceding siblings ...)
  2012-10-29 16:04 ` christophe.lyon at st dot com
@ 2012-10-29 16:05 ` christophe.lyon at st dot com
  2012-10-29 16:06 ` christophe.lyon at st dot com
                   ` (11 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: christophe.lyon at st dot com @ 2012-10-29 16:05 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #4 from christophe.lyon at st dot com 2012-10-29 16:05:30 UTC ---
Created attachment 28559
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28559
pre-processed source


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)
  2012-10-29 16:01 [Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM) christophe.lyon at st dot com
                   ` (3 preceding siblings ...)
  2012-10-29 16:05 ` christophe.lyon at st dot com
@ 2012-10-29 16:06 ` christophe.lyon at st dot com
  2012-10-29 23:08 ` steven at gcc dot gnu.org
                   ` (10 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: christophe.lyon at st dot com @ 2012-10-29 16:06 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #5 from christophe.lyon at st dot com 2012-10-29 16:06:24 UTC ---
Created attachment 28560
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28560
profiling data


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)
  2012-10-29 16:01 [Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM) christophe.lyon at st dot com
                   ` (4 preceding siblings ...)
  2012-10-29 16:06 ` christophe.lyon at st dot com
@ 2012-10-29 23:08 ` steven at gcc dot gnu.org
  2012-10-29 23:22 ` steven at gcc dot gnu.org
                   ` (9 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: steven at gcc dot gnu.org @ 2012-10-29 23:08 UTC (permalink / raw)
  To: gcc-bugs


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

Steven Bosscher <steven at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-10-29
                 CC|                            |steven at gcc dot gnu.org
         AssignedTo|unassigned at gcc dot       |steven at gcc dot gnu.org
                   |gnu.org                     |
     Ever Confirmed|0                           |1


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)
  2012-10-29 16:01 [Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM) christophe.lyon at st dot com
                   ` (5 preceding siblings ...)
  2012-10-29 23:08 ` steven at gcc dot gnu.org
@ 2012-10-29 23:22 ` steven at gcc dot gnu.org
  2012-10-29 23:26 ` steven at gcc dot gnu.org
                   ` (8 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: steven at gcc dot gnu.org @ 2012-10-29 23:22 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #6 from Steven Bosscher <steven at gcc dot gnu.org> 2012-10-29 23:22:00 UTC ---
Can you please also add your configuration (cat gcc/configargs.h from your
build directory)?


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)
  2012-10-29 16:01 [Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM) christophe.lyon at st dot com
                   ` (6 preceding siblings ...)
  2012-10-29 23:22 ` steven at gcc dot gnu.org
@ 2012-10-29 23:26 ` steven at gcc dot gnu.org
  2012-10-29 23:41 ` steven at gcc dot gnu.org
                   ` (7 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: steven at gcc dot gnu.org @ 2012-10-29 23:26 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #7 from Steven Bosscher <steven at gcc dot gnu.org> 2012-10-29 23:25:48 UTC ---
(In reply to comment #0)
> eval.c: In function 'Ge':
> eval.c:792:1: internal compiler error: in df_compact_blocks, at df-core.c:1570
>  0x6917c1 df_compact_blocks()

This is not at r191819 or you're not sharing all your patches. Line
df-core.c:1570 at r191819 is a comment.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)
  2012-10-29 16:01 [Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM) christophe.lyon at st dot com
                   ` (7 preceding siblings ...)
  2012-10-29 23:26 ` steven at gcc dot gnu.org
@ 2012-10-29 23:41 ` steven at gcc dot gnu.org
  2012-10-29 23:54 ` steven at gcc dot gnu.org
                   ` (6 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: steven at gcc dot gnu.org @ 2012-10-29 23:41 UTC (permalink / raw)
  To: gcc-bugs


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

Steven Bosscher <steven at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |WAITING

--- Comment #8 from Steven Bosscher <steven at gcc dot gnu.org> 2012-10-29 23:41:33 UTC ---
I cannot reproduce the problem with a cross-compiler from
powerpc64-unknown-linux-gnu to arm-eabi at r191819 with the
patches and flags from comment #0.

I verified that the profile is read back in correctly.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)
  2012-10-29 16:01 [Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM) christophe.lyon at st dot com
                   ` (8 preceding siblings ...)
  2012-10-29 23:41 ` steven at gcc dot gnu.org
@ 2012-10-29 23:54 ` steven at gcc dot gnu.org
  2012-10-30  0:00 ` steven at gcc dot gnu.org
                   ` (5 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: steven at gcc dot gnu.org @ 2012-10-29 23:54 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #9 from Steven Bosscher <steven at gcc dot gnu.org> 2012-10-29 23:54:10 UTC ---
Can you please also attach the output of -fdump-ipa-profile-all
which should be eval.c.041i.profile. I have my dump here, it should
be the same as yours.

Are you working on a 32-bit host? The counts are quite high, there
are some places where the count is multiplied by REG_BR_PROB_BASE
which is 10000.  The highest count in my .profile dump is 42974935,
if such high counts are multiplied somewhere for scaling then this
may be an overflow issue that I can't see on powerpc64.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)
  2012-10-29 16:01 [Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM) christophe.lyon at st dot com
                   ` (9 preceding siblings ...)
  2012-10-29 23:54 ` steven at gcc dot gnu.org
@ 2012-10-30  0:00 ` steven at gcc dot gnu.org
  2012-10-30 12:53 ` christophe.lyon at st dot com
                   ` (4 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: steven at gcc dot gnu.org @ 2012-10-30  0:00 UTC (permalink / raw)
  To: gcc-bugs


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

Steven Bosscher <steven at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |ASSIGNED

--- Comment #10 from Steven Bosscher <steven at gcc dot gnu.org> 2012-10-30 00:00:17 UTC ---
(In reply to comment #8)
> I cannot reproduce the problem with a cross-compiler from
> powerpc64-unknown-linux-gnu to arm-eabi at r191819 with the
> patches and flags from comment #0.

Ah, needs -freorder-blocks-and-partition too, of course.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)
  2012-10-29 16:01 [Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM) christophe.lyon at st dot com
                   ` (10 preceding siblings ...)
  2012-10-30  0:00 ` steven at gcc dot gnu.org
@ 2012-10-30 12:53 ` christophe.lyon at st dot com
  2012-10-30 12:55 ` christophe.lyon at st dot com
                   ` (3 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: christophe.lyon at st dot com @ 2012-10-30 12:53 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #11 from christophe.lyon at st dot com 2012-10-30 12:53:23 UTC ---
Created attachment 28574
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28574
configargs.h


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)
  2012-10-29 16:01 [Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM) christophe.lyon at st dot com
                   ` (11 preceding siblings ...)
  2012-10-30 12:53 ` christophe.lyon at st dot com
@ 2012-10-30 12:55 ` christophe.lyon at st dot com
  2012-10-30 12:57 ` christophe.lyon at st dot com
                   ` (2 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: christophe.lyon at st dot com @ 2012-10-30 12:55 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #12 from christophe.lyon at st dot com 2012-10-30 12:55:09 UTC ---
(In reply to comment #7)
> (In reply to comment #0)
> > eval.c: In function 'Ge':
> > eval.c:792:1: internal compiler error: in df_compact_blocks, at df-core.c:1570
> >  0x6917c1 df_compact_blocks()
> 
> This is not at r191819 or you're not sharing all your patches. Line
> df-core.c:1570 at r191819 is a comment.

It is the revision suggested by my git clone; I believe it's OK, as hadn't
removed a couple debugging printf calls.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)
  2012-10-29 16:01 [Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM) christophe.lyon at st dot com
                   ` (12 preceding siblings ...)
  2012-10-30 12:55 ` christophe.lyon at st dot com
@ 2012-10-30 12:57 ` christophe.lyon at st dot com
  2012-10-30 13:18 ` christophe.lyon at st dot com
  2012-10-30 13:23 ` christophe.lyon at st dot com
  15 siblings, 0 replies; 17+ messages in thread
From: christophe.lyon at st dot com @ 2012-10-30 12:57 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #13 from christophe.lyon at st dot com 2012-10-30 12:57:21 UTC ---
(In reply to comment #10)
> (In reply to comment #8)
> > I cannot reproduce the problem with a cross-compiler from
> > powerpc64-unknown-linux-gnu to arm-eabi at r191819 with the
> > patches and flags from comment #0.
> 
> Ah, needs -freorder-blocks-and-partition too, of course.

Yes sorry, I guess I had a cut & paste issue when I copied the options.


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)
  2012-10-29 16:01 [Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM) christophe.lyon at st dot com
                   ` (13 preceding siblings ...)
  2012-10-30 12:57 ` christophe.lyon at st dot com
@ 2012-10-30 13:18 ` christophe.lyon at st dot com
  2012-10-30 13:23 ` christophe.lyon at st dot com
  15 siblings, 0 replies; 17+ messages in thread
From: christophe.lyon at st dot com @ 2012-10-30 13:18 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #14 from christophe.lyon at st dot com 2012-10-30 13:18:15 UTC ---
Created attachment 28576
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28576
eval.c.041i.profile


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)
  2012-10-29 16:01 [Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM) christophe.lyon at st dot com
                   ` (14 preceding siblings ...)
  2012-10-30 13:18 ` christophe.lyon at st dot com
@ 2012-10-30 13:23 ` christophe.lyon at st dot com
  15 siblings, 0 replies; 17+ messages in thread
From: christophe.lyon at st dot com @ 2012-10-30 13:23 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #15 from christophe.lyon at st dot com 2012-10-30 13:23:19 UTC ---
(In reply to comment #9)
> Can you please also attach the output of -fdump-ipa-profile-all
> which should be eval.c.041i.profile. I have my dump here, it should
> be the same as yours.
Done.


> Are you working on a 32-bit host? The counts are quite high, there
> are some places where the count is multiplied by REG_BR_PROB_BASE
> which is 10000.  The highest count in my .profile dump is 42974935,
> if such high counts are multiplied somewhere for scaling then this
> may be an overflow issue that I can't see on powerpc64.

No, I am working on an x86_64 machine, and I expect configure to have auto
detected it (I didn't force --host)


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2012-10-30 13:23 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-29 16:01 [Bug gcov-profile/55121] New: ICE in if-convertion with PGO (ARM) christophe.lyon at st dot com
2012-10-29 16:03 ` [Bug gcov-profile/55121] " christophe.lyon at st dot com
2012-10-29 16:04 ` christophe.lyon at st dot com
2012-10-29 16:04 ` christophe.lyon at st dot com
2012-10-29 16:05 ` christophe.lyon at st dot com
2012-10-29 16:06 ` christophe.lyon at st dot com
2012-10-29 23:08 ` steven at gcc dot gnu.org
2012-10-29 23:22 ` steven at gcc dot gnu.org
2012-10-29 23:26 ` steven at gcc dot gnu.org
2012-10-29 23:41 ` steven at gcc dot gnu.org
2012-10-29 23:54 ` steven at gcc dot gnu.org
2012-10-30  0:00 ` steven at gcc dot gnu.org
2012-10-30 12:53 ` christophe.lyon at st dot com
2012-10-30 12:55 ` christophe.lyon at st dot com
2012-10-30 12:57 ` christophe.lyon at st dot com
2012-10-30 13:18 ` christophe.lyon at st dot com
2012-10-30 13:23 ` christophe.lyon at st dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).