[tree-ssa/java] remaining null-pointer-check hits

Steven Bosscher stevenb@suse.de
Tue May 4 18:34:00 GMT 2004


On Tuesday 04 May 2004 17:29, law@redhat.com wrote:
> I've got the changes necessary to allow DOM to see through these casts
> (it's only a few lines of code). This picks up most of the cases where
> the RTL null pointer check elimination code was finding something useful
> to do.

Cool.
> I've also made a trivial extension to DOM which allows it to propagate the
> non-null property through PHI nodes. ie, if all arguments to a PHI node
> are known to be nonzero, then the result of the PHI node must also be
> nonzero. That fixed the half-dozen cases we missed in GCC itself.

Isn't this something ccp can do instead? Or did you add this to keep
all the null checks together in one file? It's a bit unintiutive that
DOM would have to look through dominance frontiers ;-)
> The net result is we're left one case we're not handling. Specifically if
> we have multiple paths where a pointer is dereferenced and there is no
> PHI node at their join point. ie
>> BLOCK1 BLOCK 2
> p1->field p1->field
> \ /
> \ /
> \ /
> \ /
> BLOCK 3
> if (p1) ...

How many of these appear in other important software (e.g. kernel, glibc, 
SPEC)?
> Anyway, I'll check these bits in once the merge is complete. Barring
> objections I'll also wipe the RTL null pointer check elimination code.

Whee, one down, NaN to go!
Gr.
Steven


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /