Re: [PATCH][Cilkplus] Remove unwanted static chain.

2012-08-08 Thread Aldy Hernandez

 Index: gcc/cp/parser.c
 ===
 --- gcc/cp/parser.c   (revision 190195)
 +++ gcc/cp/parser.c   (working copy)
 @@ -28351,6 +28351,13 @@
FOR_EXPR (statement) = decl;
CILK_FOR_GRAIN (statement) = grain; 
  
 +  /*  If an initial value is available, and it is of type integer, then we
 +  save it in CILK_FOR_INIT.  */
 +  if (init  TREE_TYPE (init)  INTEGRAL_TYPE_P (TREE_TYPE (init))) 
 +CILK_FOR_INIT (statement) = init;
 +  else
 +CILK_FOR_INIT (statement) = NULL_TREE;
 +

Shouldn't you only set this for flag_cilkplus (?), or does it need to be
set for non Cilk instances of the compiler?


RE: [PATCH][Cilkplus] Remove unwanted static chain.

2012-08-08 Thread Iyer, Balaji V
Hello Aldy,
The only time we will get into this function (cp_parser_cilk_for) is 
when the fcilkplus is turned on.

Here is the original call for this function (line #9983) :

if (!flag_enable_cilk)
fatal_error (-fcilkplus must be enabled to use %cilk_for%);
  else
statement = cp_parser_cilk_for (parser, (tree) NULL_TREE, 
parser-in_statement);


Thanks,

Balaji V. Iyer.

-Original Message-
From: Aldy Hernandez [mailto:al...@redhat.com] 
Sent: Wednesday, August 08, 2012 2:23 PM
To: Iyer, Balaji V
Cc: gcc-patches@gcc.gnu.org
Subject: Re: [PATCH][Cilkplus] Remove unwanted static chain.


 Index: gcc/cp/parser.c
 ===
 --- gcc/cp/parser.c   (revision 190195)
 +++ gcc/cp/parser.c   (working copy)
 @@ -28351,6 +28351,13 @@
FOR_EXPR (statement) = decl;
CILK_FOR_GRAIN (statement) = grain;
  
 +  /*  If an initial value is available, and it is of type integer, then we
 +  save it in CILK_FOR_INIT.  */
 +  if (init  TREE_TYPE (init)  INTEGRAL_TYPE_P (TREE_TYPE (init))) 
 +CILK_FOR_INIT (statement) = init;  else
 +CILK_FOR_INIT (statement) = NULL_TREE;
 +

Shouldn't you only set this for flag_cilkplus (?), or does it need to be set 
for non Cilk instances of the compiler?


Re: [PATCH][Cilkplus] Remove unwanted static chain.

2012-08-08 Thread Aldy Hernandez

On 08/08/12 13:27, Iyer, Balaji V wrote:

Hello Aldy,
The only time we will get into this function (cp_parser_cilk_for) is 
when the fcilkplus is turned on.

Here is the original call for this function (line #9983) :

 if (!flag_enable_cilk)
 fatal_error (-fcilkplus must be enabled to use %cilk_for%);
   else
 statement = cp_parser_cilk_for (parser, (tree) NULL_TREE, 
parser-in_statement);



Whoops, my bad.  I should catch up on the rest of your changes before 
commenting :).


Carry on...


RE: [PATCH][Cilkplus] Remove unwanted static chain.

2012-08-08 Thread Iyer, Balaji V
Its ok. I am glad you are catching all these,  it makes me rethink and recheck.

Thanks,

Balaji V. Iyer.

-Original Message-
From: Aldy Hernandez [mailto:al...@redhat.com] 
Sent: Wednesday, August 08, 2012 2:29 PM
To: Iyer, Balaji V
Cc: gcc-patches@gcc.gnu.org
Subject: Re: [PATCH][Cilkplus] Remove unwanted static chain.

On 08/08/12 13:27, Iyer, Balaji V wrote:
 Hello Aldy,
   The only time we will get into this function (cp_parser_cilk_for) is 
 when the fcilkplus is turned on.

 Here is the original call for this function (line #9983) :

  if (!flag_enable_cilk)
  fatal_error (-fcilkplus must be enabled to use %cilk_for%);
else
  statement = cp_parser_cilk_for (parser, (tree) NULL_TREE, 
 parser-in_statement);


Whoops, my bad.  I should catch up on the rest of your changes before 
commenting :).

Carry on...


RE: [PATCH][Cilkplus] Remove unwanted static chain.

2012-08-07 Thread Iyer, Balaji V
Sorry, I was in the wrong directory when I was creating the patch. Here is the 
fixed patch.

Thanks,

Balaji V. Iyer.

-Original Message-
From: Iyer, Balaji V 
Sent: Tuesday, August 07, 2012 4:18 PM
To: 'gcc-patches@gcc.gnu.org'
Subject: [PATCH][Cilkplus] Remove unwanted static chain.

Hello Everyone,
This patch is for the Cilk Plus branch affecting mainly the C++ 
compiler. This patch will store the initial value of a loop correctly and 
remove the unnecessary static chain usage for some cases of Cilk_for.

Thanks,

Balaji V. Iyer.
Index: gcc/cp/parser.c
===
--- gcc/cp/parser.c (revision 190195)
+++ gcc/cp/parser.c (working copy)
@@ -28351,6 +28351,13 @@
   FOR_EXPR (statement) = decl;
   CILK_FOR_GRAIN (statement) = grain; 
 
+  /*  If an initial value is available, and it is of type integer, then we
+  save it in CILK_FOR_INIT.  */
+  if (init  TREE_TYPE (init)  INTEGRAL_TYPE_P (TREE_TYPE (init))) 
+CILK_FOR_INIT (statement) = init;
+  else
+CILK_FOR_INIT (statement) = NULL_TREE;
+
   finish_cilk_for_init_stmt (statement);
 
   if (cp_lexer_next_token_is (parser-lexer, CPP_COMMA))
Index: gcc/cp/ChangeLog.cilk
===
--- gcc/cp/ChangeLog.cilk   (revision 190195)
+++ gcc/cp/ChangeLog.cilk   (working copy)
@@ -1,3 +1,7 @@
+2012-08-07  Balaji V. Iyer  balaji.v.i...@intel.com
+
+   * parser.c (cp_parser_cilk_for): Stored the initial value in cilk_for 
tree.
+
 2012-08-01  Balaji V. Iyer  balaji.v.i...@intel.com
 
* parser.c (cp_parser_userdef_char_literal): Replaced CALL_SPAWN and