I'm using gcc initially to do some static analysis with the resuts being
sent somewhere else for the time being. I basically just need to gather
the variables with visibility outside of the current function. In addition
I need as little tree transformation prior to this collection as
possible-ie introduction of new temporaries etc. I scheduled a new pass
before pass_all_optimizations that simply has pass_referenced_vars and
pass_foo as subpasses where pass_foo does the analysis (simply calls
debug_referenced_vars() for the moment). Things seem to work for the most
part but I'm getting crashes for non-trivial code-mostly templates-that
otherwise compiles fine. Am I missing something? Does something else need
to be scheduled before pass_reference_vars? I'm using the release version
of gcc-4 because I didn't feel like chasing a moving target but is this a
known issue where I should be building against the snapshot?
Thanks again,
Mike Tegtmeyer
BTW Diego, I spent about a year doing OpenMP work using your CSSAME
library. Small world eh?
Thanks-intraprocedural is all I need.
Sorry, bit new to gcc internals (coming from SUIF), is anything missing
from referenced_vars list or is it complete? docs in tree-dfa.c state
that it doesn't look in statement operands. Does it just collect this
from
the symbol tables?
No. It collects only the variables that are actually referenced
in the function body.
If you give us a few details of what you're looking for, we can
probably help you better.
Diego.