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]

[patch] PR 20501fix - move location of a dump print (obvious)





We report that peeling-to-force-alignment will take place before we check
that all accesses in the loop are supported (w.r.t their alignment); if
unsupported-misaligned accesses are still present in the loop (this is the
case in vect-93 on targets that don't support unaligned accesses) we will
end up not vectorizing the loop, and not applying loop peeling. We want to
avoid outputting the message "Alignment of access forced using peeling" in
this case. This patch defers this printing to after the check that the
alignment of all accesses is supported.

Bootstrap and tested on powerpc-darwin and i686-pc-linux-gnu.
Will commit as obvious.

dorit

Changelog:

      * tree-vect-analyze.c (vect_enhance_data_refs_alignment): Debug print
      reporting that peeling for alignment is applied moved to...
      * (vect_analyze_data_refs_alignment): Here.

Patch:

Index: tree-vect-analyze.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-vect-analyze.c,v
retrieving revision 2.13
diff -c -3 -p -r2.13 tree-vect-analyze.c
*** tree-vect-analyze.c 17 Mar 2005 21:08:06 -0000      2.13
--- tree-vect-analyze.c 20 Mar 2005 12:17:39 -0000
*************** vect_enhance_data_refs_alignment (loop_v
*** 1183,1190 ****
        }

        DR_MISALIGNMENT (dr0) = 0;
-       if (vect_print_dump_info (REPORT_ALIGNMENT, LOOP_LOC (loop_vinfo)))
-       fprintf (vect_dump, "Alignment of access forced using peeling.");
      }
  }

--- 1183,1188 ----
*************** vect_analyze_data_refs_alignment (loop_v
*** 1260,1265 ****
--- 1258,1266 ----
          && (vect_print_dump_info (REPORT_ALIGNMENT, LOOP_LOC
(loop_vinfo))))
        fprintf (vect_dump, "Vectorizing an unaligned access.");
      }
+   if (LOOP_VINFO_UNALIGNED_DR (loop_vinfo)
+       && vect_print_dump_info (REPORT_ALIGNMENT, LOOP_LOC (loop_vinfo)))
+     fprintf (vect_dump, "Alignment of access forced using peeling.");

    return true;
  }


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