------- Comment #3 from rguenth at gcc dot gnu dot org 2007-09-03 12:04 ------- That is, rtl level DSE removes the dead store:
_ZN3CPU7executeEv: .LFB5: pushq %rbx .LCFI0: movq %rdi, %rbx leaq 8(%rdi), %rdi call _ZN5Clock1fEv .p2align 4,,10 .p2align 3 .L6: movl 2064(%rbx), %eax shrl $8, %eax mov %eax, %eax movq 16(%rbx,%rax,8), %rdx testq %rdx, %rdx je .L2 movzbl 2064(%rbx), %eax addl $4, 8(%rbx) movzbl (%rdx,%rax), %eax .L3: movzbl %al, %eax addl $2, 8(%rbx) salq $4, %rax movq _ZN3CPU3tabE(%rax), %rdx testb $1, %dl jne .L4 movq %rbx, %rdi addq _ZN3CPU3tabE+8(%rax), %rdi call *%rdx jmp .L6 .p2align 4,,10 .p2align 3 .L4: movq %rbx, %rdi addq _ZN3CPU3tabE+8(%rax), %rdi movq (%rdi), %rax movq -1(%rdx,%rax), %rdx call *%rdx jmp .L6 .L2: movq %rbx, %rdi call _ZN3CPU8readSlowEv .p2align 4,,6 .p2align 3 jmp .L3 .LFE5: -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |TREE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33291