SPO600 Closing Remarks (Update to Function Clone Pruning Analysis)
With the fall semester coming to an end and my SPO600 class coming to a close, here are some updates as to what I've been able to accomplish since my previous blog post. Updates to Function Clone Pruning Analysis Until now, I haven't been able to find a good way to properly compare function clones with my method of identifying functions through accumulating their GIMPLE statement types. This is because for each call to execute() on a function, the GIMPLE body of all functions in the call graph changes, so I am unable to compare their bodies accurately. What I've noticed is that when looping through all function bodies, only the function in question that was passed to execute() has the full body GIMPLE body ready while all other functions look incomplete. The images I show below are snippets from my pass dump on an example of a test program whose clones should be pretty much identical, and so should be marked for "pruning." Here is the pass dump for the ...