Lowering formal pointer arguments

I had the same issue as both of you when I was implementing this for my backend. In LowerCall you can get the callee prototype info when the Callee SDValue is a GlobalAddressSDNode doing cast(G->getGlobal()) (where G is GlobalAddressSDNode *G = dyn_cast(Callee)), but this won’t work when it is a ExternalSymbolSDNode, for that case i had to add additional info into the ISD::OutputArg struct to know the real size of the splitted argument.