------- 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