[Bug middle-end/41411] [4.5 Regression] ICE: mem_loc_descriptor, at dwarf2out.c:11616

hubicka at ucw dot cz gcc-bugzilla@gcc.gnu.org
Sat Sep 19 22:20:00 GMT 2009



------- Comment #3 from hubicka at ucw dot cz  2009-09-19 22:20 -------
Subject: Re:  [4.5 Regression] ICE: mem_loc_descriptor, at dwarf2out.c:11616

This is because mem_loc_descriptor gets called on:
(high:SI (symbol_ref/u:SI ("*.LLC6") [flags 0x2]))

Jakub, this is yours code, but it seems to me that mem_loc_descriptor is
OK to be called on pretty much and RTL expression now with VTA so it is
bug it does not know about HIGH.

HIGH can probably be represented via masking out the low order bits, but
I can't find in the docs if the bits are specified in some target
independent way and I am not sure how to important is to handle it.

It seems that we must've confused value tracking to end up with such
an expression in any variable interesting to debugging output?

Index: dwarf2out.c
===================================================================
--- dwarf2out.c (revision 151837)
+++ dwarf2out.c (working copy)
@@ -11566,6 +11624,7 @@ mem_loc_descriptor (rtx rtl, enum machin
     case ROTATE:
     case ROTATERT:
     case TRUNCATE:
+    case HIGH:
       /* In theory, we could implement the above.  */
       /* DWARF cannot represent the unsigned compare operations
         natively.  */


-- 


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



More information about the Gcc-bugs mailing list