if possible, I'd rather not see "static" functions. Why not use
classes and member functions, we are supposed to be writing C++, at
least, the most basic form of C++?
Sun

On Tue, Apr 19, 2011 at 3:30 AM, Min Zhao <mzhao...@gmail.com> wrote:
>
> I looked at the patch. It looks fine with me.
>
> Thanks,
>
> Min
>
> On Fri, Apr 8, 2011 at 1:19 PM, David Coakley <dcoak...@gmail.com> wrote:
>>
>> Could a gatekeeper please review the attached patch from the AMD team?
>>
>> It improves some specific optimizations for C++ programs.  The code
>> changes are mostly in the area of IPA -- details below.
>>
>> -David Coakley / AMD Open Source Compiler Engineering
>>
>>
>> 1. Multi-target icall promotion
>>
>> The implementation has two parts.  The first part is in IPA summary
>> phase, which generates multiple dummy call sites for the indirect
>> call target based on the feedback info: if the number of times
>> of the callsite is called exceeds the IPA_Icall_Min_Freq, and the
>> rate of one callee among the total calls of the callsite exceeds
>> IPA_Icall_Target_Min_Rate, then a dummy callsite is added for the callee.
>> Up to ICALL_MAX_PROMOTE_PER_CALLSITE dummy callsites could be added.
>>
>> The second part is in IPA transformation phase, which generates code
>> based on the number of dummy callsites coming with the indirect call,
>> and the wn_icall is transformed to
>>
>>      if (*fptr == callee1)
>>         callee1(...);
>>      else {
>>         if (*fptr == callee2)
>>            callee2(...);
>>         else {
>>            ...
>>            fptr(...);
>>         }
>>      }
>>
>> When a new call is added, the feedback info is updated with corresponding
>> call frequency, and the callsite map is updated with newly created call
>> node.
>>
>> 2. Devirtualization with overridden map
>>
>> The current devirtualization mechanism doesn't build virtual function
>> overridden relationship and use it to direct devirtualization,
>> which causes a lot of devirtualization opportunities to be missed.
>> By building the overridden map, we can safely devirtualize the virtual
>> call unconditionally in whole program mode when there is only one
>> candidate available in the overridden map for the call.
>>
>>
>> ------------------------------------------------------------------------------
>> Xperia(TM) PLAY
>> It's a major breakthrough. An authentic gaming
>> smartphone on the nation's most reliable network.
>> And it wants your games.
>> http://p.sf.net/sfu/verizon-sfdev
>> _______________________________________________
>> Open64-devel mailing list
>> Open64-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/open64-devel
>>
>
>
> ------------------------------------------------------------------------------
> Benefiting from Server Virtualization: Beyond Initial Workload
> Consolidation -- Increasing the use of server virtualization is a top
> priority.Virtualization can reduce costs, simplify management, and improve
> application availability and disaster protection. Learn more about boosting
> the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
> _______________________________________________
> Open64-devel mailing list
> Open64-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/open64-devel
>
>

------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to