Hello Job,
I managed to resolve this same problem by using custom C++ code since as you mentioned
the isSplit flag doesn’t help here. There are 2 ways to analyze the arguments of a function:
- You can get a Function pointer in LowerFormalArguments, and in LowerCall only when Callee can by dyn_casted to a GlobalAddressSDNode. By having this pointer you can then do:
for (Function::const_arg_iterator I = F->arg_begin(), E = F->arg_end();I != E; ++I)