On 12/17/2013 12:32 PM, Reed Kotler wrote:> On 12/17/2013 11:29 AM, reed kotler wrote:
>> I have a pass which operates on IR for mips16 so that I can build stubs
>> and such for floating point.
>>
>> I usually get this attribute of the call instruction getCalledFunction.
>>
>> This is turning out to be null when there is a tail call. (I think this
>> may be something new but maybe was there already).
>>
>> So then what is the right way to find the function prototype for the
>> call?
>>
>> TIA.
>>
>> Reed
> I'm guessing that maybe I should be using
> CI->getCalledValue().VTy
>
> Where CI is the call instruction.
>
> ???
Turned out that the problem is that before my IR phase ran, that some
tail call optimization IR phase had run and changed the call instruction
into an indirect call.
This caused me to not see it as something needing attention for mips16
floating point help and thus I did not need to save S2 in this situation
when in fact I did.
Patch is forthcoming.
This was a regression from the prolog/epilog optimization.