Ammar Naqvi via llvm-dev
2016-Mar-23 06:52 UTC
[llvm-dev] Writing Module Pass to modify arguments of a function
Hi everyone, I'm struggling on a module pass, my goal is to change the number of arguments of a function found in the IR( the first function found). My approach is using a modulepass ,creating a function with exactly one argument then cloning the first found function using *CloneFunctionInto*; then i replace uses of the old function using *Old_func->replaceAllUsesWith(new_Func)*. I have the end code figured however, I'm stuck at the beginning of the loop : *"for (Module::iterator F = M.begin(), e = M.end(); F != e; ++F) {* * Function *Func=M.getAtIndex(F);"* Now the problem is there is no such function as getAtIndex, so how do i know the function i'm currently at so i can use it in the *Old_func* variable? If any of you can point me in the right direction, any help is greatly appreciated, thank you! Best, -Ammar -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160322/80049d72/attachment.html>