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?