PR17326, PATCH

Stepan Dyatkovskiy stpworld at narod.ru
Thu Nov 28 23:01:23 PST 2013


ping
Stepan Dyatkovskiy wrote:
> Updated patches.
>
> Stepan Dyatkovskiy wrote:
>> ping.
>> Could somebody review that?
>> -Stepan
>> Peter Zotov wrote:
>>> Stepan Dyatkovskiy писал 19.11.2013 18:33:
>>>> Hello,
>>>>
>>>> Please consider two possible fixes.
>>>>
>>>> 1. pr17326-forbid-aggregates.patch. If we meet functions with
>>>> aggregates as i-th parameter, treat them as equal only in case when it
>>>> is exactly the same aggregate: LeftParamType == RightParamType.
>>>>
>>>> 2. pr17326-tricky-bitcast.patch. Hackish. If we meet functions with
>>>> aggregates as i-th parameter, and we 100500% sure aggregates are
>>>> identical, use kind of memcpy in thunk wrapper:
>>>>   store %AggrTyLeft %ThatAggregateParameter, %AggrTyLeft* %2
>>>>   %3 = bitcast %AggrTyLeft* %2 to %AggrTyRight*
>>>>   %4 = load %AggrTyRight* %3
>>>>   tail call void @f0(%AggrTyRight %4)
>>>>
>>>> IMHO, it is a seldom case. And its better to forbid it to merging.
>>>
>>> Personally, I'm in favor of tricky-bitcast (perhaps done more cleanly).
>>> This was my intended use case for mergefunc in the first place.
>>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>




More information about the llvm-commits mailing list