This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] where to fix this?
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: Dale Johannesen <dalej at apple dot com>
- Cc: gcc at gcc dot gnu dot org, Andrew Pinski <pinskia at physics dot uc dot edu>
- Date: Thu, 18 Dec 2003 18:30:29 -0800
- Subject: Re: [tree-ssa] where to fix this?
- References: <978715DA-31C9-11D8-B11A-000A95D7CD40@apple.com>
On Dec 18, 2003, at 18:18, Dale Johannesen wrote:
I have a case where tree-ssa is calling fold() on this:
<plus_expr 0x9c80a0
type <integer_type 0x40d42528 int SI
size <integer_cst 0x8e4780 constant invariant 32>
unit size <integer_cst 0x8e4798 constant invariant 4>...
invariant
arg 0 <integer_cst 0x40d40570 type <boolean_type 0x40d427f8 _Bool>
constant invariant 1>
arg 1 <integer_cst 0x97eed0 type <integer_type 0x40d42528 int>
constant invariant 1>>
which gets into int_const_binop, which thinks the result is _Bool and
truncates it to 0.
Not what we want. Would the preference be to fix this in fold(), or
make tree_ssa
produce trees that incorporate the C promotions?
What does the testcase look like?
Also after what pass is fold being called with this tree?
This should not happen as the promotions should not have been removed.
Thanks,
Andrew Pinski