The problem is that ipa_icf::sem_function::parse is lacking the f->init call and the function epilog, falling through to the next function that happens to follow.
Revision r223897: Dump of assembler code for function ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*): 0x400000000194c480 <+0>: [MMI] alloc r36=ar.pfs,12,6,0 0x400000000194c481 <+1>: adds r14=16,r32 0x400000000194c482 <+2>: mov r35=b0 0x400000000194c490 <+16>: [MMI] mov r37=r1;; 0x400000000194c491 <+17>: ld8 r38=[r14] 0x400000000194c492 <+18>: nop.i 0x0;; 0x400000000194c4a0 <+32>: [MMI] ld2 r14=[r38];; 0x400000000194c4a1 <+33>: cmp4.eq p6,p7=32,r14 0x400000000194c4a2 <+34>: nop.i 0x0;; 0x400000000194c4b0 <+48>: [MMI] (p07) addl r39=-833288,r1 0x400000000194c4b1 <+49>: (p07) mov r43=r0 0x400000000194c4b2 <+50>: nop.i 0x0 0x400000000194c4c0 <+64>: [MMI] (p07) mov r42=32 0x400000000194c4c1 <+65>: (p07) mov r40=1693 0x400000000194c4c2 <+66>: (p07) addl r41=-628512,r1;; 0x400000000194c4d0 <+80>: [MIB] (p07) ld8 r39=[r39] 0x400000000194c4d1 <+81>: nop.i 0x0 0x400000000194c4d2 <+82>: (p07) br.call.spnt.many b0=0x4000000001530200 <tree_check_failed(tree_node const*, char const*, int, char const*, ...)>;; 0x400000000194c4e0 <+96>: [MMI] adds r14=152,r38;; 0x400000000194c4e1 <+97>: ld8 r14=[r14] 0x400000000194c4e2 <+98>: nop.i 0x0;; 0x400000000194c4f0 <+112>: [MIB] cmp.eq p6,p7=0,r14 0x400000000194c4f1 <+113>: nop.i 0x0 0x400000000194c4f2 <+114>: (p06) br.cond.dpnt.few 0x400000000194c5f0 <ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*)+368>;; 0x400000000194c500 <+128>: [MMI] nop.m 0x0 0x400000000194c501 <+129>: ld8 r14=[r32] 0x400000000194c502 <+130>: nop.i 0x0;; 0x400000000194c510 <+144>: [MIB] nop.m 0x0 0x400000000194c511 <+145>: tbit.z p6,p7=r14,16 0x400000000194c512 <+146>: (p06) br.cond.dptk.few 0x400000000194c610 <ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*)+400> 0x400000000194c520 <+160>: [MMI] adds r15=387,r32;; 0x400000000194c521 <+161>: ld1 r15=[r15] 0x400000000194c522 <+162>: nop.i 0x0;; 0x400000000194c530 <+176>: [MIB] nop.m 0x0 0x400000000194c531 <+177>: cmp4.eq p7,p6=0,r15 0x400000000194c532 <+178>: (p06) br.cond.dptk.few 0x400000000194c550 <ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*)+208>;; 0x400000000194c540 <+192>: [MIB] nop.m 0x0 0x400000000194c541 <+193>: tbit.z p7,p6=r14,17 0x400000000194c542 <+194>: (p06) br.cond.dptk.few 0x400000000194c5f0 <ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*)+368> 0x400000000194c550 <+208>: [MMI] addl r14=-911832,r1;; 0x400000000194c551 <+209>: ld8 r14=[r14] 0x400000000194c552 <+210>: nop.i 0x0;; 0x400000000194c560 <+224>: [MMI] adds r14=2059,r14;; 0x400000000194c561 <+225>: ld1 r14=[r14] 0x400000000194c562 <+226>: nop.i 0x0;; 0x400000000194c570 <+240>: [MII] cmp4.eq p6,p7=1,r14 0x400000000194c571 <+241>: nop.i 0x0;; 0x400000000194c572 <+242>: (p07) addl r40=-833288,r1 0x400000000194c580 <+256>: [MMI] (p07) addl r42=-628512,r1 0x400000000194c581 <+257>: (p07) mov r41=1698 0x400000000194c582 <+258>: (p07) mov r39=11;; 0x400000000194c590 <+272>: [MIB] (p07) ld8 r40=[r40] 0x400000000194c591 <+273>: nop.i 0x0 0x400000000194c592 <+274>: (p07) br.call.spnt.many b0=0x4000000001532200 <tree_contains_struct_check_failed(tree_node const*, tree_node_structure_enum, char const*, int, char const*)>;; 0x400000000194c5a0 <+288>: [MMI] adds r38=88,r38 0x400000000194c5a1 <+289>: nop.m 0x0 0x400000000194c5a2 <+290>: mov r39=4;; 0x400000000194c5b0 <+304>: [MMI] ld8 r40=[r38] 0x400000000194c5b1 <+305>: nop.m 0x0 0x400000000194c5b2 <+306>: addl r38=-832208,r1;; 0x400000000194c5c0 <+320>: [MIB] cmp.eq p7,p6=0,r40 0x400000000194c5c1 <+321>: nop.i 0x0 0x400000000194c5c2 <+322>: (p07) br.cond.dpnt.few 0x400000000194c650 <ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*)+464>;; 0x400000000194c5d0 <+336>: [MIB] ld8 r38=[r38] 0x400000000194c5d1 <+337>: nop.i 0x0 0x400000000194c5d2 <+338>: br.call.sptk.many b0=0x4000000001534f40 <private_lookup_attribute_by_prefix(char const*, unsigned long, tree_node*)>;; 0x400000000194c5e0 <+352>: [MIB] mov r1=r37 0x400000000194c5e1 <+353>: cmp.eq p6,p7=0,r8 0x400000000194c5e2 <+354>: (p06) br.cond.spnt.few 0x400000000194c650 <ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*)+464> 0x400000000194c5f0 <+368>: [MMI] mov r8=r0 0x400000000194c5f1 <+369>: nop.m 0x0 0x400000000194c5f2 <+370>: mov.i ar.pfs=r36;; 0x400000000194c600 <+384>: [MIB] nop.m 0x0 0x400000000194c601 <+385>: mov b0=r35 0x400000000194c602 <+386>: br.ret.sptk.many b0 0x400000000194c610 <+400>: [MMI] adds r14=387,r32;; 0x400000000194c611 <+401>: ld1 r14=[r14] 0x400000000194c612 <+402>: nop.i 0x0;; 0x400000000194c620 <+416>: [MIB] cmp4.eq p7,p6=0,r14 0x400000000194c621 <+417>: nop.i 0x0 0x400000000194c622 <+418>: (p06) br.cond.dpnt.few 0x400000000194c550 <ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*)+208>;; 0x400000000194c630 <+432>: [MMI] mov r8=r0 0x400000000194c631 <+433>: nop.m 0x0 0x400000000194c632 <+434>: mov.i ar.pfs=r36;; 0x400000000194c640 <+448>: [MIB] nop.m 0x0 0x400000000194c641 <+449>: mov b0=r35 0x400000000194c642 <+450>: br.ret.sptk.many b0;; 0x400000000194c650 <+464>: [MIB] mov r38=216 0x400000000194c651 <+465>: nop.i 0x0 0x400000000194c652 <+466>: br.call.sptk.many b0=0x4000000001b83200 <operator new(unsigned long)>;; 0x400000000194c660 <+480>: [MMI] mov r1=r37 0x400000000194c661 <+481>: mov r34=r8 0x400000000194c662 <+482>: mov r38=r8 0x400000000194c670 <+496>: [MMI] mov r42=r33 0x400000000194c671 <+497>: mov r41=r0 0x400000000194c672 <+498>: mov r40=r32;; 0x400000000194c680 <+512>: [MIB] mov r39=r0 0x400000000194c681 <+513>: nop.i 0x0 0x400000000194c682 <+514>: br.call.sptk.many b0=0x400000000194c2c0 <ipa_icf::sem_item::sem_item(ipa_icf::sem_item_type, symtab_node*, unsigned int, bitmap_obstack*)>;; 0x400000000194c690 <+528>: [MMI] mov r1=r37 0x400000000194c691 <+529>: mov r8=r34 0x400000000194c692 <+530>: adds r17=208,r34 0x400000000194c6a0 <+544>: [MMI] adds r16=152,r34 0x400000000194c6a1 <+545>: adds r15=168,r34 0x400000000194c6a2 <+546>: adds r14=192,r34;; 0x400000000194c6b0 <+560>: [MMI] addl r18=-628624,r1 0x400000000194c6b1 <+561>: st8 [r17]=r0 0x400000000194c6b2 <+562>: nop.i 0x0 0x400000000194c6c0 <+576>: [MMI] st8 [r16]=r0;; 0x400000000194c6c1 <+577>: ld8 r18=[r18] 0x400000000194c6c2 <+578>: nop.i 0x0 0x400000000194c6d0 <+592>: [MMI] st8 [r15]=r0 0x400000000194c6d1 <+593>: st8 [r14]=r0 0x400000000194c6d2 <+594>: nop.i 0x0;; 0x400000000194c6e0 <+608>: [MMI] nop.m 0x0 0x400000000194c6e1 <+609>: st8 [r8]=r18,200 0x400000000194c6e2 <+610>: nop.i 0x0;; 0x400000000194c6f0 <+624>: [MMI] st8 [r8]=r0 0x400000000194c6f1 <+625>: nop.m 0x0 0x400000000194c6f2 <+626>: nop.i 0x0;; Revision r223856: Dump of assembler code for function ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*): 0x400000000154fe00 <+0>: [MMI] alloc r36=ar.pfs,11,6,0 0x400000000154fe01 <+1>: adds r14=16,r32 0x400000000154fe02 <+2>: mov r35=b0 0x400000000154fe10 <+16>: [MMI] mov r37=r1;; 0x400000000154fe11 <+17>: ld8 r14=[r14] 0x400000000154fe12 <+18>: nop.i 0x0;; 0x400000000154fe20 <+32>: [MMI] adds r15=152,r14;; 0x400000000154fe21 <+33>: ld8 r15=[r15] 0x400000000154fe22 <+34>: nop.i 0x0;; 0x400000000154fe30 <+48>: [MIB] cmp.eq p7,p6=0,r15 0x400000000154fe31 <+49>: nop.i 0x0 0x400000000154fe32 <+50>: (p07) br.cond.dpnt.few 0x400000000154fee0 <ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*)+224>;; 0x400000000154fe40 <+64>: [MMI] nop.m 0x0 0x400000000154fe41 <+65>: ld8 r15=[r32] 0x400000000154fe42 <+66>: nop.i 0x0;; 0x400000000154fe50 <+80>: [MIB] nop.m 0x0 0x400000000154fe51 <+81>: tbit.z p6,p7=r15,16 0x400000000154fe52 <+82>: (p06) br.cond.dptk.few 0x400000000154ff10 <ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*)+272> 0x400000000154fe60 <+96>: [MMI] adds r16=387,r32;; 0x400000000154fe61 <+97>: ld1 r16=[r16] 0x400000000154fe62 <+98>: nop.i 0x0;; 0x400000000154fe70 <+112>: [MIB] nop.m 0x0 0x400000000154fe71 <+113>: cmp4.eq p7,p6=0,r16 0x400000000154fe72 <+114>: (p06) br.cond.dptk.few 0x400000000154fe90 <ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*)+144>;; 0x400000000154fe80 <+128>: [MIB] nop.m 0x0 0x400000000154fe81 <+129>: tbit.z p7,p6=r15,17 0x400000000154fe82 <+130>: (p06) br.cond.dptk.few 0x400000000154fee0 <ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*)+224> 0x400000000154fe90 <+144>: [MMI] adds r14=88,r14 0x400000000154fe91 <+145>: addl r38=-855468,r1 0x400000000154fe92 <+146>: mov r39=4;; 0x400000000154fea0 <+160>: [MMI] nop.m 0x0 0x400000000154fea1 <+161>: ld8 r40=[r14] 0x400000000154fea2 <+162>: nop.i 0x0;; 0x400000000154feb0 <+176>: [MIB] cmp.eq p7,p6=0,r40 0x400000000154feb1 <+177>: nop.i 0x0 0x400000000154feb2 <+178>: (p07) br.cond.dpnt.few 0x400000000154ff40 <ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*)+320>;; 0x400000000154fec0 <+192>: [MIB] ld8 r38=[r38] 0x400000000154fec1 <+193>: nop.i 0x0 0x400000000154fec2 <+194>: br.call.sptk.many b0=0x40000000011aa700 <private_lookup_attribute_by_prefix(char const*, unsigned long, tree_node*)>;; 0x400000000154fed0 <+208>: [MIB] mov r1=r37 0x400000000154fed1 <+209>: cmp.eq p7,p6=0,r8 0x400000000154fed2 <+210>: (p07) br.cond.dpnt.few 0x400000000154ff40 <ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*)+320> 0x400000000154fee0 <+224>: [MMI] mov r8=r0 0x400000000154fee1 <+225>: nop.m 0x0 0x400000000154fee2 <+226>: nop.i 0x0 0x400000000154fef0 <+240>: [MII] nop.m 0x0 0x400000000154fef1 <+241>: mov.i ar.pfs=r36 0x400000000154fef2 <+242>: nop.i 0x0;; 0x400000000154ff00 <+256>: [MIB] nop.m 0x0 0x400000000154ff01 <+257>: mov b0=r35 0x400000000154ff02 <+258>: br.ret.sptk.many b0 0x400000000154ff10 <+272>: [MMI] adds r15=387,r32 0x400000000154ff11 <+273>: nop.m 0x0 0x400000000154ff12 <+274>: mov r8=r0;; 0x400000000154ff20 <+288>: [MMI] nop.m 0x0 0x400000000154ff21 <+289>: ld1 r15=[r15] 0x400000000154ff22 <+290>: nop.i 0x0;; 0x400000000154ff30 <+304>: [MBB] cmp4.eq p7,p6=0,r15 0x400000000154ff31 <+305>: (p06) br.cond.dpnt.few 0x400000000154fe90 <ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*)+144> 0x400000000154ff32 <+306>: br.few 0x400000000154fef0 <ipa_icf::sem_function::parse(cgraph_node*, bitmap_obstack*)+240> 0x400000000154ff40 <+320>: [MIB] mov r38=216 0x400000000154ff41 <+321>: nop.i 0x0 0x400000000154ff42 <+322>: br.call.sptk.many b0=0x40000000017531c0 <operator new(unsigned long)>;; 0x400000000154ff50 <+336>: [MMI] mov r1=r37 0x400000000154ff51 <+337>: mov r34=r8 0x400000000154ff52 <+338>: mov r38=r8 0x400000000154ff60 <+352>: [MMI] mov r42=r33 0x400000000154ff61 <+353>: mov r41=r0 0x400000000154ff62 <+354>: mov r40=r32;; 0x400000000154ff70 <+368>: [MIB] mov r39=r0 0x400000000154ff71 <+369>: nop.i 0x0 0x400000000154ff72 <+370>: br.call.sptk.many b0=0x400000000154fc40 <ipa_icf::sem_item::sem_item(ipa_icf::sem_item_type, symtab_node*, unsigned int, bitmap_obstack*)>;; 0x400000000154ff80 <+384>: [MMI] mov r1=r37 0x400000000154ff81 <+385>: mov r14=r34 0x400000000154ff82 <+386>: adds r18=208,r34 0x400000000154ff90 <+400>: [MMI] adds r17=152,r34 0x400000000154ff91 <+401>: adds r16=168,r34 0x400000000154ff92 <+402>: adds r15=192,r34;; 0x400000000154ffa0 <+416>: [MMI] addl r19=-672196,r1 0x400000000154ffa1 <+417>: nop.m 0x0 0x400000000154ffa2 <+418>: mov r38=r34 0x400000000154ffb0 <+432>: [MMI] st8 [r18]=r0 0x400000000154ffb1 <+433>: st8 [r17]=r0 0x400000000154ffb2 <+434>: nop.i 0x0;; 0x400000000154ffc0 <+448>: [MMI] ld8 r19=[r19] 0x400000000154ffc1 <+449>: st8 [r16]=r0 0x400000000154ffc2 <+450>: nop.i 0x0 0x400000000154ffd0 <+464>: [MMI] st8 [r15]=r0;; 0x400000000154ffd1 <+465>: st8 [r14]=r19,200 0x400000000154ffd2 <+466>: nop.i 0x0;; 0x400000000154ffe0 <+480>: [MIB] st8 [r14]=r0 0x400000000154ffe1 <+481>: nop.i 0x0 0x400000000154ffe2 <+482>: br.call.sptk.many b0=0x4000000001546f00 <ipa_icf::sem_function::init()>;; 0x400000000154fff0 <+496>: [MMI] mov r8=r34 0x400000000154fff1 <+497>: mov r1=r37 0x400000000154fff2 <+498>: mov.i ar.pfs=r36;; 0x4000000001550000 <+512>: [MIB] nop.m 0x0 0x4000000001550001 <+513>: mov b0=r35 0x4000000001550002 <+514>: br.ret.sptk.many b0;; Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."