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] |
On Wed, 22 Sep 2004 12:17:16 +0200 , Dorit Naishlos wrote: > > ! else > > ! { > > ! /* We need only one loop entry for unknown loop bound support. */ > > ! if (loop->num_entries != 1 || !loop->pre_header) > > ! { > > ! if (vect_debug_stats (loop) || vect_debug_details (loop)) > > ! fprintf (dump_file, > > ! "not vectorized: more than one loop entry."); > > ! return NULL; > > ! } > > ! } > don't we want to check for this always? I think we rely on there being a single entry even when the loop bound is > simple. > Also applies to: > > ! if (LOOP_VINFO_NITERS_KNOWN_P (loop_vinfo) > > ! && LOOP_VINFO_INT_NITERS (loop_vinfo) % vectorization_factor != 0) > > { > > ! /* In this case we have to generate epilog loop, that > > ! can be done only for loops with one entry edge. */ > > ! if (LOOP_VINFO_LOOP (loop_vinfo)->num_entries != 1 > > ! || !(LOOP_VINFO_LOOP (loop_vinfo)->pre_header)) > > ! { > > ! if (vect_debug_stats (loop) || vect_debug_details (loop)) > > ! fprintf (dump_file, "not vectorized: More than one loop preheader."); > > ! return false; > > ! } > > } When developing this transformation, I considered only checks the transformation requires. I preserved the vectorizer checks as they were. All other comments are considered in the patch below. New vectoried loops in the vectorizer testcases: testcase 64: 3 loops instead of 1 loop. testcase 66: 3 loops instead of 2 loop. testcase 68: 4 loops instead of 2 loop. testcase 69: 4 loops instead of 2 loop. (in addition to testcases already mentioned: http://gcc.gnu.org/ml/gcc-patches/2004-09/msg01104.html http://gcc.gnu.org/ml/gcc-patches/2004-09/msg01894.html) (See attached file: ulb_and_peeling.txt) OK for mainline? thanks, olga
Attachment:
ulb_and_peeling.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |