------- Comment #3 from ramana at gcc dot gnu dot org 2010-08-03 14:14 ------- Created an attachment (id=21375) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21375&action=view) testcase.
The difference is in the case with and without debug info. With the attached pre-processed file and with and without -g you can see differences in code generated between -g and no -g . The command line options I've used to generate this code are in a cross-compiler. -O2 and -O2 -g The difference in code generated in the case of debug info is with cprop deciding to constant propagate a value of 0 into one of the instructions in the case of with debug info and not without debug info. We can see the difference in the case of tree-vect-data-refs.i with a cross compiler to arm-linux-gnueabi with and without the command line options as mentioned above. Sorry about the largish testcase but I've not been able to reduce the testcase further . The difference in code generation happens in vect_analyze_data_ref_accesses - the one on the left is without debug and the one on the right is the case with debug info for the same basic block. .L947: .L947: add ip, sp, #32 add ip, sp, #32 ldmia ip, {fp-ip} ldmia ip, {fp-ip} ldr r4, [sp, #40] ldr r4, [sp, #40] orrs ip, fp, ip orrs ip, fp, ip > moveq r0, #0 ldreq lr, [sp, #80] ldreq lr, [sp, #80] > streq r0, [sp, #36] ldr r0, [r4, #4] ldr r0, [r4, #4] streq lr, [sp, #32] streq lr, [sp, #32] bl vinfo_for_stmt.isra.11 bl vinfo_for_stmt.isra.11 ldr r7, [sp, #32] ldr r7, [sp, #32] str r7, [r0, #76] str r7, [r0, #76] mov r0, #9 mov r0, #9 bl vect_print_dump_info bl vect_print_dump_info cmp r0, #0 cmp r0, #0 bne .L1025 bne .L1025 -- ramana at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #21370|0 |1 is obsolete| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45162