This is the mail archive of the gcc-bugs@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]

[Bug tree-optimization/26854] Inordinate compile times on large routines



------- Comment #47 from lucier at math dot purdue dot edu  2007-12-20 16:11 -------
Subject: Re:  Inordinate compile times on large routines

I don't know what's happening here, the patch doesn't apply; first I get

euler-13% patch < zadeck2.patch
patching file df-problems.c
patch: **** malformed patch at line 8: df_chain_flags)df_chain- 
 >local_flags)&(FLAG))

and then after I join this line to the previous one (I think bugzilla  
reformatted those lines), I get

euler-15% !pa
patch < zadeck2.patch
patching file df-problems.c
Hunk #1 FAILED at 1855.
1 out of 2 hunks FAILED -- saving rejects to file df-problems.c.rej
euler-16% cat df-problems.c.rej
***************
*** 1855,1867 ****

   #define df_chain_problem_p(FLAG) (((enum df_chain_flags)df_chain- 
 >local_flags)&(FLAG))

   /* Create a du or ud chain from SRC to DST and link it into SRC.   */

   struct df_link *
   df_chain_create (struct df_ref *src, struct df_ref *dst)
   {
     struct df_link *head = DF_REF_CHAIN (src);
-   struct df_link *link = pool_alloc (df_chain->block_pool);;

     DF_REF_CHAIN (src) = link;
     link->next = head;
--- 1855,1877 ----

   #define df_chain_problem_p(FLAG) (((enum df_chain_flags)df_chain- 
 >local_flags)&(FLAG))

+ static long df_chain_counters[4];
+
   /* Create a du or ud chain from SRC to DST and link it into SRC.   */

   struct df_link *
   df_chain_create (struct df_ref *src, struct df_ref *dst)
   {
     struct df_link *head = DF_REF_CHAIN (src);
+   struct df_link *link = pool_alloc (df_chain->block_pool);
+   int index = 0;
+
+   if (!src->insn)
+     index += (src->type == DF_REF_REG_DEF) ? 2 : 1;
+   if (!dst->insn)
+     index += (dst->type == DF_REF_REG_DEF) ? 2 : 1;
+
+   df_chain_counters[index]++;

     DF_REF_CHAIN (src) = link;
     link->next = head;


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26854


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