From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14026 invoked by alias); 4 Jun 2012 21:36:45 -0000 Received: (qmail 13942 invoked by uid 22791); 4 Jun 2012 21:36:44 -0000 X-SWARE-Spam-Status: No, hits=-5.0 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-qa0-f47.google.com (HELO mail-qa0-f47.google.com) (209.85.216.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 04 Jun 2012 21:36:27 +0000 Received: by qabg1 with SMTP id g1so1737486qab.20 for ; Mon, 04 Jun 2012 14:36:26 -0700 (PDT) MIME-Version: 1.0 Received: by 10.224.183.135 with SMTP id cg7mr14799555qab.25.1338845786785; Mon, 04 Jun 2012 14:36:26 -0700 (PDT) Received: by 10.229.192.129 with HTTP; Mon, 4 Jun 2012 14:36:26 -0700 (PDT) In-Reply-To: References: <20120307004630.A503DB21B6@azwildcat.mtv.corp.google.com> Date: Mon, 04 Jun 2012 21:36:00 -0000 Message-ID: Subject: Re: User directed Function Multiversioning via Function Overloading (issue5752064) From: "H.J. Lu" To: Sriraman Tallam Cc: Richard Guenther , Jan Hubicka , Uros Bizjak , reply@codereview.appspotmail.com, gcc-patches@gcc.gnu.org, David Li Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2012-06/txt/msg00254.txt.bz2 On Mon, Jun 4, 2012 at 11:59 AM, Sriraman Tallam wrot= e: > Hi, > > =A0 Attaching updated patch for function multiversioning which brings > in plenty of changes. > > * As suggested by Richard earlier, I have made cgraph aware of > function versions. All nodes of function versions are chained and the > dispatcher bodies are created on demand while building cgraph edges. > The dispatcher body will be created if and only if there is a call or > reference to a versioned function. Previously, I was maintaining the > list of versions separately in a hash map, all that is gone now. > * Now, the file multiverison.c has some helper routines that are used > in the context of function versioning. There are no new passes and no > new globals. > * More tests, updated existing tests. > * Fixed lots of bugs. > * Updated patch description. > > Patch attached. Patch also available for review at > http://codereview.appspot.com/5752064 > > Please let me know what you think, > Build failed in libstdc++-v3: /export/build/gnu/gcc/build-x86_64-linux/x86_64-unknown-linux-gnu/libstdc++= -v3/include/bits/locale_classes.h:546:59: internal compiler error: tree check: expected function_decl, have identifier_node in tourney, at cp/call.c:8498 for (size_t __i =3D 0; __ret && __i < _S_categories_size - 1; ++__i) ^ Please submit a full bug report, with preprocessed source if appropriate. See for instructions. make[5]: *** [x86_64-unknown-linux-gnu/bits/stdc++.h.gch/O2g.gch] Erro on Linux/x86-64. --=20 H.J.