This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
[tree-ssa] Grammar for GIMPLE condexprs
- From: Diego Novillo <dnovillo at redhat dot com>
- To: Jason Merrill <jason at redhat dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 25 Mar 2003 10:32:41 -0500
- Subject: [tree-ssa] Grammar for GIMPLE condexprs
- Organization: Red Hat Canada
Jason,
The GIMPLE grammar for conditional expressions says:
-----------------------------------------------------------------------------
relop
: '<'
| '<='
| '>'
| '>='
| '=='
| '!='
condexpr
: val
| val relop val
val
: ID
| CONST
-----------------------------------------------------------------------------
And yet, the gimplifier is emitting things like
-----------------------------------------------------------------------------
T.225 = a.224 < 0;
b.226 = (int)b;
T.227 = b.226 >= 0;
if (T.225 ^ T.227)
{
-----------------------------------------------------------------------------
It shouldn't be too hard to change that to
if ((T.225 ^ T.227) != 0)
Right? Do you see any problems if I make that change? A pass
that I'm working on needs to build TRUTH_NOT_EXPR <cond> and it's
failing when I call fold() on the generated tree (because
invert_truthvalue can't deal with VAR_DECLs).
Thanks. Diego.