This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/22184] tree vectorizer depends on context
- From: "irar at il dot ibm dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 7 Jul 2005 07:47:48 -0000
- Subject: [Bug tree-optimization/22184] tree vectorizer depends on context
- References: <20050625151316.22184.micis@gmx.de>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From irar at il dot ibm dot com 2005-07-07 07:47 -------
The problem occurs in decision whether the number of loop iterations is greater
than zero. The (single) predecessor edge is checked for being EDGE_TRUE_VALUE
or EDGE_FALSE_VALUE, and the corresponding predicate is used to make the
decision.
In the first case (single loop) BB 0 contains predicate 'len>0', its TRUE
successor is BB 1, and the fallthru successor of BB 1 is BB 2 - the loop. The
condition to check is 'len <= 0', which is therefore simplified to FALSE.
In the second case, however, the control flow is more complicated. The loop is
in BB 6, its predecessor is BB 3, which has 2 predecessors: BB 5 (with
predicate 'len > 0'), and BB 2 - the first loop. The first loop is also guarded
by 'len > 0', but this information is not propagated.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |rakdver at atrey dot karlin
| |dot mff dot cuni dot cz
Last reconfirmed|2005-06-25 18:28:42 |2005-07-07 07:47:46
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22184