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]

[DataFlow Resend] Fix ICE with CONCATn's in checked builds.


Hi,

Looks like the other mail server from where I sent this is down .
Sorry for a duplicate post -

-------- Forwarded Message --------
To: gcc-patches@gcc.gnu.org
Cc: zadeck@naturalbridge.com
Subject: [DataFlow] Fix ICE on checked builds.
Date: Fri, 20 Apr 2007 19:42:55 +0530

Hi,

We were wondering why we were hitting a couple of ICE's while
integrating our private port with the df branch.

A co-worker noticed that our builds were checked builds while our ARM
builds were not .

We could reproduce similar issues with the ARM port on the Dataflow
branch by doing a --enable-checking=misc,tree,gc,rtlflag,rtl

/mnt/tools/fsf/build/combined-arm-none-eabi-gcc-dataflow-branch-2007-04-20/libgcc/../gcc/libgcc2.c:
In function '__muldi3':
/mnt/tools/fsf/build/combined-arm-none-eabi-gcc-dataflow-branch-2007-04-20/libgcc/../gcc/libgcc2.c:566:
internal compiler error: RTL check: expected code 'reg', have
'concatn' in rhs_regno, at rtl.h:969

This seems to be with the lower-subregs pass and turning off lower
subregs with -fno-split-wide-types allows the build to continue.

The problem stems from this access of REGNO at:

df_kill_notes

case REG_DEAD:
       (REGNO (XEXP (link, 0))))


And this is the insn that one sees while analyzing in gdb.



(insn:HI 92 55 93 4 /mnt/tools/fsf/build/combined-arm-none-eabi-gcc-dataflow-branch-2007-04-20/libgcc/../gcc/libgcc2.c:566 (set (reg:SI 0 r0 [\

<result> ])
       (reg:SI 152 [ w ])) 162 {*thumb1_movsi_insn} (expr_list:REG_DEAD
(concatn/v:DI [
               (reg:SI 152
[ w ])
               (reg:SI 153 [ w
+4 ])
           ])
       (nil)))


I suspect all that this needs is to handle CONCATns in the df_kill_notes. I have attached a patch (yet to be tested) that allows the build to continue further till it falls over with checking for SCRATCH registers at the same point.

Comments ?


-- cheers Ramana


-- Ramana Radhakrishnan

Attachment: fix-ice-patch
Description: Binary data


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