The problem is that to use the modern approach you need another
description of insns (with one pattern - one machine insn relation)
in tree representation with given cost for the tree. And it is a
huge work to rewrite current machine descriptions even only for this.
This is not really necessary. I have a stripped down version of NONA
working on RTL. It is possible to build the tree using a mechanism
similar to subst in combine, simplify the resulting expression, and
use NONA (which is actually the same algorithms as iburg) to split it.
I tried to do this 7 years ago without a success. I am glad that you
are sucessfull. Thank you for doing this, Paolo. I never thought that
this code created 15 year ago can be used somewhere else besides one
internal production compiler.
I never said I finished. :-) In particular, my code does not do
combine-style simplifications.
Most current machine description only have a one pattern - one machine
insn relation post reload, which can be a problem. However, current
RTX_COSTS are much more precise than 7 years ago to the point that
combine actually uses them, and this somewhat offsets the problem.
Paolo
- Re: Some thoughts and quetsions about the data flow infrast... Paolo Bonzini
-