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