https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66351
Bug ID: 66351
Summary: [6 regression] r223883 miscompiles stage2 compiler on
ia64
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: [email protected]
CC: hubicka at gcc dot gnu.org
Target Milestone: ---
Target: ia64-*-*
Created attachment 35658
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35658&action=edit
Preprocessed source
Function ipa_icf::sem_function::parse is miscompiled, lacking the call to
f->init and the epilogue, falling through to whatever code is following it.
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;;