tree-ssa: a weird (mis)optimization

Geert Bosch bosch@adacore.com
Tue Nov 30 18:16:00 GMT 2004


On Nov 30, 2004, at 11:07, Andrew Haley wrote:
> The problem here is that the line
>
>   <tmp>_4 = x_3->length;
>
> has disappeared.  This should not have happened, because the operation
> should have may_trap_p() set -- we're deleting a trapping instruction.

Does Java require a trap here, even if the result is not needed
and the entire expression could otherwise be deleted? For other
languages such as C and Ada, it is fine to delete the instruction,
even if it would be trapping.

If Java prevents such removal, we should find a way to express
that so other languages don't lose the optimization.

   -Geert



More information about the Gcc mailing list