On 08/14/2015 09:32 AM, Marek Polacek wrote:
On Fri, Aug 14, 2015 at 08:50:22AM -0600, Jeff Law wrote:
On 08/14/2015 07:29 AM, Marek Polacek wrote:
On Fri, Aug 14, 2015 at 03:14:10PM +0200, Richard Biener wrote:
On Fri, Aug 14, 2015 at 1:20 PM, Marek Polacek <pola...@redhat.com> wrote:
As outlined in the PR, this fixes one ICE. The code in question here
tries to determine whether OP can be derived as non-NULL. In case the
function has the nonnull attribute that applies to all the arguments,
we want to see whether OP is in this argument list. But nonnull only
appertains to pointers. Some ssa_names don't have a type so check for
that first instead of segv before looking at its tree code.
Huh? All but released SSA names have a type. So this gets invoked on dead code
I suppose so. It gets
<ssa_name 0x7ffff1890948 nothrow var <var_decl 0x7ffff188df30 c>def_stmt
version 13 in-free-list>
(it didn't ICE before r209891 because the operand_equal_p check came first and
returned false so we didn't check the type).
Let's track this down -- nothing should be referencing anything in the
SSA_NAME freelist.
Ok, I'll investigate and come back to y'all when/if I find something.
Thanks. I still regret using the TREE_TYPE as a way to chain elements
in the free list:( I didn't want to add another pointer field...
jeff