This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix ACATS failures in GCC 3.4
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: ebotcazou at act-europe dot fr
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 25 Feb 04 17:29:30 EST
- Subject: Re: [PATCH] Fix ACATS failures in GCC 3.4
Before your patch, this tree is kept untouched by fold
MAX_EXPR
/ \
NOP_EXPR (long) MINUS_EXPR
| / \
NOP_EXPR (integer) NOP_EXPR (long) 1
| |
VAR_DECL (R18b) NOP_EXPR (integer)
|
VAR_DECL (R17b)
After your patch (because of the changes in tree_swap_operands_p), it is
turned into
MAX_EXPR
/ \
MINUS_EXPR VAR_DECL (R18b)
/ \
NOP_EXPR (long) 1
|
NOP_EXPR (integer)
|
VAR_DECL (R17b)
and R18b is unsigned.
But the question is what is the type of the MAX_EXPR? Did it change
type? Is it the same type as both of its operands in both cases?
Maybe the real problem comes from the RTL expander for MAX_EXPR. I'll
investigate this.
I don't think so.