This is the mail archive of the
mailing list for the GCC project.
Re: [RFC] Contributing tree-ssa to mainline
- From: law at redhat dot com
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: Diego Novillo <dnovillo at redhat dot com>, "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>, jsm at polyomino dot org dot uk, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, gp at suse dot de
- Date: Sat, 17 Jan 2004 23:59:09 -0700
- Subject: Re: [RFC] Contributing tree-ssa to mainline
- Reply-to: law at redhat dot com
In message <20040117135344.GH26819@atrey.karlin.mff.cuni.cz>, Jan Hubicka write
>There are other easy targets - NULL pointer ellimination for instance
>that I was discussing with Jeff.
We could probably already turn off the RTL NULL pointer check elimination
code. While I am aware of one case where the tree version misses something
the RTL version catches, that case is extremely rare. Last I looked, it
triggered once per stage in a GCC bootstrap.
In contrast I've heard and seen firsthand the tree-ssa NULL pointer check
elimination code eliminating NULL pointer checks that the RTL version misses.
Jump threading/bypassing. Right now we've got about 175 cases where the
RTL jump threader catches something that we should have detected at the
tree-ssa level (contrast this to > 3000 a few months ago). I've got
patches in my local tree which bring that number down to around 40.
And (of course) I'm also seeing the tree-ssa code detect and thread a
number of jumps that the RTL threader is missing.
I haven't yet evaluated where we stand on making the RTL jump bypassing
code useless -- I know we're detecting some of that stuff in the tree-ssa
jump threader, but I really haven't evaluated it yet.
We're also reasonably close to being able to simplify CSE in a major
way -- specifically we're close to having the ability to turn off
the path following code in CSE1.