AIM for today : 

- find and try alternative to make the analyser return from the function
- if failed to find any worthy alternative then start changing the 
implementation of call_string to track gcalls* instead of return_edges

—

PROGRESS :

- I initially tried to look for some workarounds to make the call return from 
the function by making returning exploded nodes and edges at the time of the 
call itself but failed 

- so I created a local (experimental) branch and started hacking the 
call_string to maintain a vector of gcall* instead of return_superedge*.

- I was able to modify all function execpt few, for which I either didn’t quite 
understood what should be changed or found discussing with you better before 
proceeding much better. They are as follows :- 

1. call_string::validate () : ( this one performs sanity on the object ) 
earlier object was considered to be sane if the caller is the callee of 
previous entry, but how can I get caller from the gcall ? or when can I know 
that I have a correct vector of gcalls* ?

2. call_string::cmp (const call_string &a, const call_string &b) : ( this one 
is a comparator of the call-strings ) it was earlier comparing the index of 
edges and then length. for now I have just condensed it down to compare based 
on the size of gcall vector ( assuming more calls means deeper call stack )

3. call_string::print (pretty_printer *pp): ( printer of the call-string ): how 
should the printed call stack look-like ? 

for me, it looks like maybe just tracking gcalls is not enough, or maybe I 
don’t know enough about the stuff I can access from from the gcalls ( I am 
currently looking into gcc/gimple.c for the all the possible actions I can take 
with a gimple statement )

STATUS AT THE END OF THE DAY :- 

- find and try alternative to make the analyser return from the function ( 
abandoned )
- if failed to find any worthy alternative then start changing the 
implementation of call_string to track gcalls* instead of return_edges ( 
pending )

Thank you
- Ankur

Reply via email to