[Bug middle-end/34483] wo_prof_two_strs.c:56: internal compiler error: in find_new_var_of_type, at ipa-struct-reorg.c:605
dominiq at lps dot ens dot fr
gcc-bugzilla@gcc.gnu.org
Sun Jan 20 21:33:00 GMT 2008
------- Comment #38 from dominiq at lps dot ens dot fr 2008-01-20 20:47 -------
With patch form comments #11 and #31, the executable for
gcc.dg/struct/wo_prof_mult_field_peeling.c segfault with -m64. I have used the
32 bit mode for -fprofile-generate, run the executable, and use -m64 for
-fprofile-use. wo_prof_mult_field_peeling_db.c is the code from comment #34.
The assembly follows with the options I have used:
[ibook-dhum] bug/tmp_dir% /opt/gcc/gcc4.3w/bin/gcc -S -m64 -O3 -fdump-ipa-all
-fwhole-program -combine -fipa-type-escape wo_prof_mult_field_peeling_db.c
[ibook-dhum] bug/tmp_dir% cat wo_prof_mult_field_peeling_db.s
.text
.align 4,0x90
.globl _main
_main:
LFB6:
pushq %rbp
LCFI0:
movl $400, %edi
movq %rsp, %rbp
LCFI1:
pushq %rbx
LCFI2:
subq $8, %rsp
LCFI3:
call _malloc
movl $400, %edi
movq %rax, %rbx
call _malloc
movl $400, %edi
call _malloc
movl $400, %edi
call _malloc
xorl %eax, %eax
.align 4,0x90
L2:
movl $5, (%rbx,%rax,4)
addq $1, %rax
cmpq $100, %rax
jne L2
xorb %al, %al
jmp L4
.align 4,0x90
L3:
addq $1, %rax
cmpq $100, %rax
je L9
L4:
cmpl $5, (%rbx,%rax,4)
je L3
call _abort
L9:
addq $8, %rsp
xorb %al, %al
popq %rbx
leave
ret
LFE6:
.section
__TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
EH_frame1:
.set L$set$0,LECIE1-LSCIE1
.long L$set$0
LSCIE1:
.long 0x0
.byte 0x1
.ascii "zR\0"
.byte 0x1
.byte 0x78
.byte 0x10
.byte 0x1
.byte 0x10
.byte 0xc
.byte 0x7
.byte 0x8
.byte 0x90
.byte 0x1
.align 3
LECIE1:
.globl _main.eh
_main.eh:
LSFDE1:
.set L$set$1,LEFDE1-LASFDE1
.long L$set$1
LASFDE1:
.long LASFDE1-EH_frame1
.quad LFB6-.
.set L$set$2,LFE6-LFB6
.quad L$set$2
.byte 0x0
.byte 0x4
.set L$set$3,LCFI0-LFB6
.long L$set$3
.byte 0xe
.byte 0x10
.byte 0x86
.byte 0x2
.byte 0x4
.set L$set$4,LCFI1-LCFI0
.long L$set$4
.byte 0xd
.byte 0x6
.byte 0x4
.set L$set$5,LCFI3-LCFI1
.long L$set$5
.byte 0x83
.byte 0x3
.align 3
LEFDE1:
.subsections_via_symbols
[ibook-dhum] bug/tmp_dir% /opt/gcc/gcc4.3w/bin/gcc -S -m64
/opt/gcc/_gcc_clean/gcc/testsuite/gcc.dg/struct/wo_prof_mult_field_peeling.c
-O3 -fwhole-program -combine -fipa-type-escape -fprofile-use -fipa-struct-reorg
-fdump-ipa-all
[ibook-dhum] bug/tmp_dir% cat wo_prof_mult_field_peeling.s
.section __TEXT,__text,regular,pure_instructions
.align 4
.globl _main
_main:
LFB5:
pushq %rbp
LCFI0:
movl $1600, %edi
movq %rsp, %rbp
LCFI1:
call _malloc
movl $400, %edi
call _malloc
movl $400, %edi
call _malloc
movl $400, %edi
call _malloc
movl $400, %edi
call _malloc
xorl %edx, %edx
cltq
.align 4
L2:
movl $5, (%rax,%rdx,4)
movl $5, 4(%rax,%rdx,4)
movl $5, 8(%rax,%rdx,4)
movl $5, 12(%rax,%rdx,4)
movl $5, 16(%rax,%rdx,4)
movl $5, 20(%rax,%rdx,4)
movl $5, 24(%rax,%rdx,4)
movl $5, 28(%rax,%rdx,4)
movl $5, 32(%rax,%rdx,4)
movl $5, 36(%rax,%rdx,4)
addq $10, %rdx
cmpq $100, %rdx
jne L2
xorb %dl, %dl
.align 4
L4:
cmpl $5, (%rax,%rdx,4)
jne L35
leaq 1(%rdx), %rcx
cmpl $5, (%rax,%rcx,4)
jne L35
cmpl $5, 8(%rax,%rdx,4)
jne L35
cmpl $5, 12(%rax,%rdx,4)
jne L35
cmpl $5, 16(%rax,%rdx,4)
jne L35
cmpl $5, 20(%rax,%rdx,4)
jne L35
cmpl $5, 24(%rax,%rdx,4)
jne L35
cmpl $5, 28(%rax,%rdx,4)
jne L35
cmpl $5, 32(%rax,%rdx,4)
jne L35
cmpl $5, 36(%rax,%rdx,4)
jne L35
leaq 9(%rcx), %rdx
cmpq $100, %rdx
jne L4
xorl %eax, %eax
leave
ret
L35:
call _abort
LFE5:
.section
__TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
EH_frame1:
.set L$set$0,LECIE1-LSCIE1
.long L$set$0
LSCIE1:
.long 0x0
.byte 0x1
.ascii "zR\0"
.byte 0x1
.byte 0x78
.byte 0x10
.byte 0x1
.byte 0x10
.byte 0xc
.byte 0x7
.byte 0x8
.byte 0x90
.byte 0x1
.align 3
LECIE1:
.globl _main.eh
_main.eh:
LSFDE1:
.set L$set$1,LEFDE1-LASFDE1
.long L$set$1
LASFDE1:
.long LASFDE1-EH_frame1
.quad LFB5-.
.set L$set$2,LFE5-LFB5
.quad L$set$2
.byte 0x0
.byte 0x4
.set L$set$3,LCFI0-LFB5
.long L$set$3
.byte 0xe
.byte 0x10
.byte 0x86
.byte 0x2
.byte 0x4
.set L$set$4,LCFI1-LCFI0
.long L$set$4
.byte 0xd
.byte 0x6
.align 3
LEFDE1:
.subsections_via_symbols
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34483
More information about the Gcc-bugs
mailing list