1.) decides rather or not to inline a function,
2.) decides rather or not to make a .constprop version of a function,
3.) a good pass (when all constant propagation is done) to search for
fn parameters and variables (marked with an attribute) that were not
constproped away, and finally
4.) what mechanism should I use for that search? (iterate through the
tree to find them and then see if they have rtl? I haven't worked in
this area yet.
I've got 3 & 4 worked out as well as most of 1 & 2. I'm learning the
CFG which is quite complex and fascinating. It would appear that it is
already performing some of the constant propagation that I wanted it to
do (without the new attribute), and yet many constancy tests fail unless
the function is "always_inline"ed from the caller "flatten". I'll have
to dig more to figure out why.
Daniel