Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(2023)

Issue 4440078: [google] Patch to support calling multi-versioned functions via new GCC builtin.

Can't Edit
Can't Publish+Mail
Start Review
Created:
13 years, 2 months ago by Sriraman
Modified:
13 years, 2 months ago
Reviewers:
mikestump, richard.guenther, ebotcazou, davidxl, Diego Novillo, joseph
CC:
gcc-patches_gcc.gnu.org
Base URL:
svn+ssh://gcc.gnu.org/svn/gcc/branches/google/main/gcc/
Visibility:
Public.

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2534 lines, -1 line) Patch
M Makefile.in View 2 chunks +6 lines, -0 lines 0 comments Download
M builtin-types.def View 1 chunk +4 lines, -0 lines 0 comments Download
M builtins.def View 1 chunk +3 lines, -0 lines 0 comments Download
M c-family/c-common.c View 3 chunks +34 lines, -0 lines 0 comments Download
M common.opt View 1 chunk +4 lines, -0 lines 0 comments Download
M doc/invoke.texi View 3 chunks +16 lines, -1 line 0 comments Download
A mversn-dispatch.c View 1 chunk +1760 lines, -0 lines 0 comments Download
M params.def View 1 chunk +11 lines, -0 lines 0 comments Download
M passes.c View 1 chunk +9 lines, -0 lines 0 comments Download
A testsuite/g++.dg/mversn10.C View 1 chunk +54 lines, -0 lines 0 comments Download
A testsuite/g++.dg/mversn10a.C View 1 chunk +37 lines, -0 lines 0 comments Download
A testsuite/g++.dg/mversn12.C View 1 chunk +43 lines, -0 lines 0 comments Download
A testsuite/g++.dg/mversn14.C View 1 chunk +26 lines, -0 lines 0 comments Download
A testsuite/g++.dg/mversn14a.C View 1 chunk +8 lines, -0 lines 0 comments Download
A testsuite/g++.dg/mversn16.C View 1 chunk +39 lines, -0 lines 0 comments Download
A testsuite/g++.dg/mversn8.C View 1 chunk +45 lines, -0 lines 0 comments Download
A testsuite/g++.dg/mversn9.C View 1 chunk +30 lines, -0 lines 0 comments Download
A testsuite/g++.dg/torture/mversn11.C View 1 chunk +40 lines, -0 lines 0 comments Download
A testsuite/g++.dg/torture/mversn5.h View 1 chunk +5 lines, -0 lines 0 comments Download
A testsuite/g++.dg/torture/mversn5.C View 1 chunk +28 lines, -0 lines 0 comments Download
A testsuite/g++.dg/torture/mversn5a.C View 1 chunk +12 lines, -0 lines 0 comments Download
A testsuite/g++.dg/tree-prof/mversn13.C View 1 chunk +37 lines, -0 lines 0 comments Download
A testsuite/g++.dg/tree-prof/mversn15.C View 1 chunk +23 lines, -0 lines 0 comments Download
A testsuite/g++.dg/tree-prof/mversn15a.C View 1 chunk +26 lines, -0 lines 0 comments Download
A testsuite/gcc.dg/mversn2.c View 1 chunk +47 lines, -0 lines 0 comments Download
A testsuite/gcc.dg/mversn3.c View 1 chunk +30 lines, -0 lines 0 comments Download
A testsuite/gcc.dg/mversn4.h View 1 chunk +5 lines, -0 lines 0 comments Download
A testsuite/gcc.dg/mversn4.c View 1 chunk +29 lines, -0 lines 0 comments Download
A testsuite/gcc.dg/mversn4a.c View 1 chunk +13 lines, -0 lines 0 comments Download
A testsuite/gcc.dg/mversn6.c View 1 chunk +29 lines, -0 lines 0 comments Download
A testsuite/gcc.dg/mversn7.c View 1 chunk +47 lines, -0 lines 0 comments Download
A testsuite/gcc.dg/torture/mversn1.c View 1 chunk +31 lines, -0 lines 0 comments Download
M timevar.def View 1 chunk +1 line, -0 lines 0 comments Download
M tree-pass.h View 2 chunks +2 lines, -0 lines 0 comments Download

Messages

Total messages: 34
Sriraman
I want this patch to be considered for google/main now. This is intended to be ...
13 years, 2 months ago (2011-04-29 02:52:50 UTC) #1
richard.guenther_gmail.com
On Fri, Apr 29, 2011 at 4:52 AM, Sriraman Tallam <tmsriram@google.com> wrote: > I want ...
13 years, 2 months ago (2011-04-29 08:56:41 UTC) #2
davidxl
Here is the background for this feature: 1) People relies on function multi-version to explore ...
13 years, 2 months ago (2011-04-29 16:23:37 UTC) #3
Sriraman
On Fri, Apr 29, 2011 at 1:56 AM, Richard Guenther < richard.guenther@gmail.com> wrote: > On ...
13 years, 2 months ago (2011-04-29 17:50:28 UTC) #4
Sriraman
Hi Richard, Thanks for the comments. Please find inline responses. On Fri, Apr 29, 2011 ...
13 years, 2 months ago (2011-04-29 17:53:31 UTC) #5
richard.guenther_gmail.com
On Fri, Apr 29, 2011 at 6:23 PM, Xinliang David Li <davidxl@google.com> wrote: > Here ...
13 years, 2 months ago (2011-05-02 09:11:21 UTC) #6
richard.guenther_gmail.com
On Fri, Apr 29, 2011 at 7:50 PM, Sriraman Tallam <tmsriram@google.com> wrote: > > On ...
13 years, 2 months ago (2011-05-02 09:24:51 UTC) #7
davidxl
On Mon, May 2, 2011 at 2:11 AM, Richard Guenther <richard.guenther@gmail.com> wrote: > On Fri, ...
13 years, 2 months ago (2011-05-02 16:41:50 UTC) #8
Sriraman
Hi, I want to submit this patch to google/main to make sure it is available ...
13 years, 2 months ago (2011-05-02 19:11:48 UTC) #9
davidxl
Ok. There may be more correctness related comments -- but those can be addressed when ...
13 years, 2 months ago (2011-05-02 19:32:41 UTC) #10
Sriraman
Thanks. I committed this patch. -Sri. svn commit Sending gcc/ChangeLog.google-main Sending gcc/Makefile.in Sending gcc/builtin-types.def Sending ...
13 years, 2 months ago (2011-05-02 20:38:10 UTC) #11
ebotcazou_adacore.com
> Thanks. I committed this patch. > > -Sri. > > svn commit > Sending ...
13 years, 2 months ago (2011-05-02 20:45:17 UTC) #12
Sriraman
On Mon, May 2, 2011 at 1:44 PM, Eric Botcazou <ebotcazou@adacore.com> wrote: >> Thanks. I ...
13 years, 2 months ago (2011-05-02 20:51:10 UTC) #13
richard.guenther_gmail.com
On Mon, May 2, 2011 at 6:41 PM, Xinliang David Li <davidxl@google.com> wrote: > On ...
13 years, 2 months ago (2011-05-02 21:33:47 UTC) #14
davidxl
On Mon, May 2, 2011 at 2:33 PM, Richard Guenther <richard.guenther@gmail.com> wrote: > On Mon, ...
13 years, 2 months ago (2011-05-02 23:07:49 UTC) #15
richard.guenther_gmail.com
On Tue, May 3, 2011 at 1:07 AM, Xinliang David Li <davidxl@google.com> wrote: > On ...
13 years, 2 months ago (2011-05-03 10:00:11 UTC) #16
richard.guenther_gmail.com
On Tue, May 3, 2011 at 12:00 PM, Richard Guenther <richard.guenther@gmail.com> wrote: >>>> 3) it ...
13 years, 2 months ago (2011-05-03 10:07:38 UTC) #17
mikestump_comcast.net
On May 3, 2011, at 3:07 AM, Richard Guenther <richard.guenther@gmail.com> wrote: >> >> There is ...
13 years, 2 months ago (2011-05-03 15:21:34 UTC) #18
joseph_codesourcery.com
On Tue, 3 May 2011, Mike Stump wrote: > And to go one step further, ...
13 years, 2 months ago (2011-05-03 15:34:36 UTC) #19
mikestump_comcast.net
On May 3, 2011, at 8:34 AM, "Joseph S. Myers" <joseph@codesourcery.com> wrote:. > I don't ...
13 years, 2 months ago (2011-05-03 16:49:49 UTC) #20
davidxl
On Tue, May 3, 2011 at 3:00 AM, Richard Guenther <richard.guenther@gmail.com> wrote: > On Tue, ...
13 years, 2 months ago (2011-05-03 21:57:13 UTC) #21
richard.guenther_gmail.com
On Tue, May 3, 2011 at 11:57 PM, Xinliang David Li <davidxl@google.com> wrote: > On ...
13 years, 2 months ago (2011-05-04 09:27:12 UTC) #22
Sriraman
Hi, I had reverted this patch from google/main because it failed to boot-strap with java ...
13 years, 2 months ago (2011-05-04 19:35:54 UTC) #23
Diego Novillo
On Wed, May 4, 2011 at 15:35, Sriraman Tallam <tmsriram@google.com> wrote: > * tree-pass.h (pass_tree_convert_builtin_dispatch): ...
13 years, 2 months ago (2011-05-04 22:13:20 UTC) #24
Sriraman
I submitted the patch. Thanks, -Sri. On Wed, May 4, 2011 at 3:13 PM, Diego ...
13 years, 2 months ago (2011-05-04 22:16:31 UTC) #25
davidxl
> > I can think of some more-or-less obvious high-level forms, one would > for ...
13 years, 2 months ago (2011-05-04 22:19:26 UTC) #26
richard.guenther_gmail.com
On Thu, May 5, 2011 at 12:19 AM, Xinliang David Li <davidxl@google.com> wrote: >> >> ...
13 years, 2 months ago (2011-05-05 09:16:15 UTC) #27
davidxl
On Thu, May 5, 2011 at 2:16 AM, Richard Guenther <richard.guenther@gmail.com> wrote: > On Thu, ...
13 years, 2 months ago (2011-05-05 17:02:36 UTC) #28
richard.guenther_gmail.com
On Thu, May 5, 2011 at 7:02 PM, Xinliang David Li <davidxl@google.com> wrote: > On ...
13 years, 2 months ago (2011-05-06 08:55:24 UTC) #29
Diego Novillo
On Fri, May 6, 2011 at 04:55, Richard Guenther <richard.guenther@gmail.com> wrote: > On Thu, May ...
13 years, 2 months ago (2011-05-06 13:24:57 UTC) #30
davidxl
>> I want propose a more general solution. >> >> 1) Generic Annotation Support for ...
13 years, 2 months ago (2011-05-06 17:57:25 UTC) #31
richard.guenther_gmail.com
On Fri, May 6, 2011 at 7:57 PM, Xinliang David Li <davidxl@google.com> wrote: >>> I ...
13 years, 2 months ago (2011-05-07 12:46:58 UTC) #32
davidxl
On Sat, May 7, 2011 at 5:46 AM, Richard Guenther <richard.guenther@gmail.com> wrote: > On Fri, ...
13 years, 2 months ago (2011-05-07 17:07:38 UTC) #33
richard.guenther_gmail.com
13 years, 2 months ago (2011-05-07 18:02:27 UTC) #34
On Sat, May 7, 2011 at 7:07 PM, Xinliang David Li <davidxl@google.com> wrote:
> On Sat, May 7, 2011 at 5:46 AM, Richard Guenther
> <richard.guenther@gmail.com> wrote:
>> On Fri, May 6, 2011 at 7:57 PM, Xinliang David Li <davidxl@google.com> wrote:
>>>>> I want propose a more general solution.
>>>>>
>>>>> 1) Generic Annotation Support for gcc IR -- it is used attach to
>>>>> application/optimization specific annotation to gimple statements and
>>>>> annotations can be passed around across passes. In gcc, I only see
>>>>> HISTOGRAM annotation for value profiling, which is not general enough
>>>>> 2) Support of CallInfo for each callsite. This is an annotation, but
>>>>> more standardized. The callinfo can be used to record information such
>>>>> as call attributes, call side effects, mod-ref information etc ---
>>>>> current gimple_call_flags can be folded into this Info structure.
>>>>
>>>> I don't like generic annotation facilities.  What should passes to with
>>>> annotated stmts that are a) transformed, b) removed?  See RTL notes
>>>> and all the interesting issues they cause.
>>>
>>>
>>> Then how do you store information that needs to be passed across
>>> optimization passes -- you can not possibly dump all of them into the
>>> core IR. In fact, anything that is derived from (via analysis) but not
>>> part of the core IR need to worry about update and maintenance. In
>>> current GIMPLE, we can find many such instances -- DU chains, Memory
>>> SSA, control flow information, as well as flags like visited,
>>> no_warning, PLF (?), etc. Have a unified way of representing them is a
>>> good thing so that 1) make the IR lean and mean; 2) avoid too many
>>> different side data structures.  The important thing is to have a good
>>> verifier to catch insanity and inconsistency of the annotation after
>>> each pass.
>>
>> Well, as soon as you have a verifier it's no longer generic but _is_
>> part of the "core IL".  Similar to how EH info is part of the "core IL",
>> or alias info, or loop information.
>
> The difference is that no-core IL can be thrown away anytime and be
> recomputed if needed.

The same is true for all of the "core IL" pieces I listed above apart
from maybe EH info.

Richard.

> David
>
>
>>
>> Richard.
>>
>
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b