This merge brings the branch up to rev 172662. There are some LTO failures which are ICEs induced by a new assertion I added in bp_pack_value. We discussed this in http://gcc.gnu.org/ml/gcc-patches/2011-04/msg01115.html.
The failure happens when we try to pack DECL_OFFSET_ALIGN. We only try to pack 8 bits, but in the case of testsuite/gcc.c-torture/execute/20010904-1.c, DECL_OFFSET_ALIGN is a very large 64 bit quantity: typedef struct x { int a; int b; } __attribute__((aligned(32))) X; #define DECL_OFFSET_ALIGN(NODE) \ (((unsigned HOST_WIDE_INT)1) << FIELD_DECL_CHECK (NODE)->decl_common.off_align) Whether correctly or incorrectly, for field 'a', decl_common.off_align is 0xff. So, DECL_OFFSET_ALIGN is 1 << 0xff this triggers the assert I added. Now, this happens during WPA, so I'm suspecting some bad values being streamed. Richi, I think it's better if we ICE than if we silently cut these values short. Diego.