This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: [GOMP4][PATCH] SIMD-enabled functions (formerly Elemental functions) for C++


Hello Everyone,
	The following changes mentioned in this thread (http://gcc.gnu.org/ml/gcc-patches/2013-12/msg01280.html) are also applicable to the C++ patch and the attached patch has been fixed accordingly:

1. Sharing the vectorlength parsing function between #pragma simd and SIMD enabled functions
2. Renaming the function that is parsing the SIMD enabled function attributes
3. Renaming "Cilk plus elementals" to "Cilk SIMD function" for the attribute name
4. Marking all the SIMD enabled function attributes with both "omp declare simd" and "cilk simd function."
5. Renaming an error message from "..SIMD-enabled function" to "Cilk Plus SIMD-enabled function..."

So, is this patch OK for branch/trunk?

Here are the ChangeLog entries:

Gcc/cp/ChangeLog:
2013-12-16  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * decl2.c (is_late_template_attribute): Added a check for SIMD-enabled
        functions attribute.  If found, return true.
        * parser.c (cp_parser_direct_declarator): When Cilk Plus is enabled
        see if there is an attribute after function decl.  If so, then
        parse them now.
        (cp_parser_late_return_type_opt): Handle parsing of Cilk Plus SIMD
        enabled function late parsing.
        (cp_parser_gnu_attribute_list): Parse all the tokens for the vector
        attribute for a SIMD-enabled function.
        (cp_parser_omp_all_clauses): Skip parsing to the end of pragma when
        the function is used by SIMD-enabled function (indicated by NULL
        pragma token).
        (cp_parser_cilk_simd_vectorlength): Modified this function to parse
        vectorlength attribute in SIMD-enabled function and #pragma SIMD's
        vectorlength clause.  Added a new parameter to pass in SIMD-enabled
        function's info.
        (cp_parser_cilk_simd_fn_vector_attrs): New function.
        (cp_parser_late_parsing_elem_fn_info): Likewise.
        * parser.h (cp_parser::elem_fn_info): New field.
        * decl.c (grokfndecl): Added a check if Cilk Plus is enabled and
        if so, adjust the Cilk Plus SIMD-enabled function attributes.

Gcc/testsuite/ChangeLog
2013-12-16  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * g++.dg/cilk-plus/cilk-plus.exp: Called the C/C++ common tests for
        SIMD enabled function.
        * g++.dg/cilk-plus/ef_test.C: New test.


Thanks,

Balaji V. Iyer.

> -----Original Message-----
> From: Iyer, Balaji V
> Sent: Thursday, December 5, 2013 11:37 AM
> To: Jakub Jelinek
> Cc: Aldy Hernandez (aldyh@redhat.com); gcc-patches@gcc.gnu.org
> Subject: FW: [GOMP4][PATCH] SIMD-enabled functions (formerly Elemental
> functions) for C++
> 
> PING!
> 
> -Balaji V. Iyer.
> 
> > -----Original Message-----
> > From: Iyer, Balaji V
> > Sent: Saturday, November 30, 2013 11:53 PM
> > To: 'Jakub Jelinek'
> > Cc: Aldy Hernandez (aldyh@redhat.com); 'Jeff Law'; 'gcc-
> > patches@gcc.gnu.org'
> > Subject: RE: [GOMP4][PATCH] SIMD-enabled functions (formerly
> Elemental
> > functions) for C++
> >
> > Hello Everyone,
> > 	The changes mentioned in http://gcc.gnu.org/ml/gcc-patches/2013-
> > 11/msg03506.html is also applicable to my C++ patch. With this email,
> > I am attaching a fixed patch.
> >
> > Here are the ChangeLog entries:
> >
> > gcc/cp/ChangeLog
> > 2013-11-30  Balaji V. Iyer  <balaji.v.iyer@intel.com>
> >
> >         * decl2.c (is_late_template_attribute): Added a check for SIMD-
> enabled
> >         functions attribute.  If found, return true.
> >         * parser.c (cp_parser_direct_declarator): When Cilk Plus is enabled
> >         see if there is an attribute after function decl.  If so, then
> >         parse them now.
> >         (cp_parser_late_return_type_opt): Handle parsing of Cilk Plus SIMD
> >         enabled function late parsing.
> >         (cp_parser_gnu_attribute_list): Parse all the tokens for the vector
> >         attribute for a SIMD-enabled function.
> >         (cp_parser_omp_all_clauses): Skip parsing to the end of pragma when
> >         the function is used by SIMD-enabled function (indicated by NULL
> >         pragma token).
> >         (cp_parser_elem_fn_vectorlength): New function.
> >         (cp_parser_elem_fn_expr_list): Likewise.
> >         (cp_parser_late_parsing_elem_fn_info): Likewise.
> >         * parser.h (cp_parser::elem_fn_info): New field.
> >         * decl.c (grokfndecl): Added a check if Cilk Plus is enabled and
> >         if so, adjust the Cilk Plus SIMD-enabled function attributes.
> >
> >
> > gcc/testsuite/ChangeLog
> > 2013-11-30  Balaji V. Iyer  <balaji.v.iyer@intel.com>
> >
> >         * g++.dg/cilk-plus/cilk-plus.exp: Called the C/C++ common tests for
> >         SIMD enabled function.
> >         * g++.dg/cilk-plus/ef_test.C: New test.
> >
> > Is this OK for branch?
> >
> > Thanks,
> >
> > Balaji V. Iyer.
> >
> > > -----Original Message-----
> > > From: Iyer, Balaji V
> > > Sent: Wednesday, November 20, 2013 6:19 PM
> > > To: Jakub Jelinek
> > > Cc: Aldy Hernandez (aldyh@redhat.com); Jeff Law;
> > > gcc-patches@gcc.gnu.org
> > > Subject: [GOMP4][PATCH] SIMD-enabled functions (formerly Elemental
> > > functions) for C++
> > >
> > > Hello Everyone,
> > > 	Attached, please find a patch that will implement SIMD-enabled
> > > functions for C++ targeting the gomp-4_0-branch. Here are the
> > > Changelog entries. Is this OK to install?
> > >
> > > gcc/cp/ChangeLog
> > > 2013-11-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
> > >
> > >         * parser.c (cp_parser_direct_declarator): When Cilk Plus is enabled
> > >         see if there is an attribute after function decl.  If so, then
> > >         parse them now.
> > >         (cp_parser_late_return_type_opt): Handle parsing of Cilk Plus SIMD
> > >         enabled function late parsing.
> > >         (cp_parser_gnu_attribute_list): Parse all the tokens for the vector
> > >         attribute for a SIMD-enabled function.
> > >         (cp_parser_omp_all_clauses): Skip parsing to the end of pragma
> when
> > >         the function is used by SIMD-enabled function (indicated by NULL
> > >         pragma token).
> > >         (cp_parser_elem_fn_vectorlength): New function.
> > >         (cp_parser_elem_fn_expr_list): Likewise.
> > >         (cp_parser_late_parsing_elem_fn_info): Likewise.
> > >         * parser.h (cp_parser::elem_fn_info): New field.
> > >
> > > gcc/testsuite/ChangeLog
> > > 2013-11-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
> > >
> > >         * g++.dg/cilk-plus/cilk-plus.exp: Called the C/C++ common tests for
> > >         SIMD enabled function.
> > >         * g++.dg/cilk-plus/ef_test.C: New test.
> > >
> > >
> > > Thanking You,
> > >
> > > Yours Sincerely,
> > >
> > > Balaji V. Iyer.

Attachment: diff3.txt
Description: diff3.txt


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]