It appears that we can now successfully all of spec and libgcj, flow-sensitively. It is horribly slow though.
Fixed a bug in tree-ssa-devirt
Added the tree-ssa-offline-devirt, which provides offline virtualisation analysis. The method calls are not actually devirtualized, but rather used when a the escape analysis pass sees a virtual functions, and needs to find its callees.
We now serialize all functions, as part of an iterative whole-program analysis.
The flag_ipa_stack_allocate flag has been split into many different flags, though not as many as intended.
ADDR_EXPRs and INDIRECT_REFs are now recognized as variables, since it was too complicated to use their inner nodes, which were frequently classes. get_var is used to extract the variable
Interprocedural is extended to virtual functions, using serialized results
Results are printed to the ./results file
In libjava, NOTE_MEMORY_USAGE can be turned on and off at compile time, with the PRINT_ALLOCATION_INFO define
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/escape-analysis@124905 138bc75d-0d04-0410-961f-82ee72b054a4
13 files changed: