Simple Value Range Propagation
Zdenek Dvorak
rakdver@atrey.karlin.mff.cuni.cz
Tue Jun 10 05:49:00 GMT 2003
Hello,
> Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz> writes:
>
> > > I would like GCC to have a VRP optimization, but I still do not
> > > understand why the proposals always record such detailed, accurate
> > > information, which requires a slow, heavy-weight implementation. I do not
> > > see it in other production compilers.
> >
> > I do not see why my VRP is heavy-weight, it really is very simple.
> > Is 2% of compile time (measured on combine.c and insn-attrtab.c) too much?
> > It takes as much time as any data-flow problem using fast "hybrid search"
> > algorithm (faster than iterative dataflow).
>
> You're not going to better than 2% if you keep it as a separate pass;
> I expect most of that time is spent getting RTL into cache.
Josef, could you please try whether there is some change in compile-time
performance if you include either my fibheap speedup patch
http://gcc.gnu.org/ml/gcc-patches/2003-06/msg00698.html or use the
simple heaps from
http://gcc.gnu.org/ml/gcc-patches/2003-04/msg01569.html?
You might also consider to precompute the function performed by
compute_ranges_for_insn (it should only either set register range to
range of other one, set it to constant or kill it), which would speed
up things a bit in case you are iterating several times over single
basic block.
Zdenek
More information about the Gcc-patches
mailing list