This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Do less generous pointer globbing in alias.c


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, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]