PR17326, PATCH

Stepan Dyatkovskiy stpworld at narod.ru
Sun Dec 1 03:58:15 PST 2013


ping.
Stepan Dyatkovskiy wrote:
> 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
>>
>
> _______________________________________________
> 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