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