public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/34472]  New: gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work
@ 2007-12-14 22:52 hjl at lucon dot org
  2007-12-17 14:08 ` [Bug tree-optimization/34472] " olga at gcc dot gnu dot org
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: hjl at lucon dot org @ 2007-12-14 22:52 UTC (permalink / raw)
  To: gcc-bugs

On Linux/Intel64, I got

 /export/build/gnu/gcc/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc/build-x86_64-linux/gcc/
/net/gnu-13/export/gnu/src/gcc/gcc/gcc/testsuite/gcc.dg/struct/wo_prof_malloc_size_var.c
  -O3 -fipa-struct-reorg -fdump-ipa-all -fwhole-program -combine
-fipa-type-escape -fno-show-column  -lm   -o ./wo_prof_malloc_size_var.exe   
(timeout = 300)
/net/gnu-13/export/gnu/src/gcc/gcc/gcc/testsuite/gcc.dg/struct/wo_prof_malloc_size_var.c:32:
internal compiler error: Segmentation fault^M
Please submit a full bug report,^M
with preprocessed source if appropriate.^M
See <http://gcc.gnu.org/bugs.html> for instructions.^M
compiler exited with status 1


-- 
           Summary: gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hjl at lucon dot org


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/34472] gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work
  2007-12-14 22:52 [Bug tree-optimization/34472] New: gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work hjl at lucon dot org
@ 2007-12-17 14:08 ` olga at gcc dot gnu dot org
  2007-12-17 19:04 ` hjl at lucon dot org
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: olga at gcc dot gnu dot org @ 2007-12-17 14:08 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from olga at gcc dot gnu dot org  2007-12-17 14:08 -------
Unfortunately I cannot reproduce this failure on x86_64-linux system I have,
so I'll highly appreciate your help in debugging it.

If you could please comment out the following line from
wo_prof_malloc_size_var.c file:

/* { dg-final { cleanup-ipa-dump "*" } } */

run the struct-reorg.exp, and send me all dumps generated, i.e.
wo_prof_malloc_size_var.c.* files, it would be really great.

thank you,
Olga


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/34472] gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work
  2007-12-14 22:52 [Bug tree-optimization/34472] New: gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work hjl at lucon dot org
  2007-12-17 14:08 ` [Bug tree-optimization/34472] " olga at gcc dot gnu dot org
@ 2007-12-17 19:04 ` hjl at lucon dot org
  2007-12-17 19:09 ` hjl at lucon dot org
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: hjl at lucon dot org @ 2007-12-17 19:04 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from hjl at lucon dot org  2007-12-17 19:04 -------
Created an attachment (id=14786)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14786&action=view)
Dump files.

Here are dump files. I think there may be some memory corruptions:

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: f98be6b5bc4201f3bb3844a43442bc6b

Program received signal SIGSEGV, Segmentation fault.
0x000000000080ae61 in safe_cond_expr_check (slot=0x10384c0, data=0x7fbffff254)
    at /net/gnu-13/export/gnu/src/gcc/gcc/gcc/ipa-struct-reorg.c:3081
3081      if (TREE_CODE (acc->stmt) == COND_EXPR)
(gdb) list
3076    static int
3077    safe_cond_expr_check (void **slot, void *data)
3078    {
3079      struct access_site *acc = *(struct access_site **) slot;
3080
3081      if (TREE_CODE (acc->stmt) == COND_EXPR)
3082        {
3083          if (!is_safe_cond_expr (acc->stmt))
3084            {
3085              if (dump_file)
(gdb) p acc
$1 = (struct access_site *) 0x70
(gdb) bt
#0  0x000000000080ae61 in safe_cond_expr_check (slot=0x10384c0, 
    data=0x7fbffff254)
    at /net/gnu-13/export/gnu/src/gcc/gcc/gcc/ipa-struct-reorg.c:3081
#1  0x0000000000ab5c8c in htab_traverse_noresize (htab=0x103fba0, 
    callback=0x80ae42 <safe_cond_expr_check>, info=0x7fbffff254)
    at /net/gnu-13/export/gnu/src/gcc/gcc/libiberty/hashtab.c:750
#2  0x0000000000ab5cfb in htab_traverse (htab=0x103fba0, 
    callback=0x80ae42 <safe_cond_expr_check>, info=0x7fbffff254)
    at /net/gnu-13/export/gnu/src/gcc/gcc/libiberty/hashtab.c:765
#3  0x000000000080bd49 in check_cond_exprs ()
    at /net/gnu-13/export/gnu/src/gcc/gcc/gcc/ipa-struct-reorg.c:3547
#4  0x000000000080c535 in collect_data_accesses ()
    at /net/gnu-13/export/gnu/src/gcc/gcc/gcc/ipa-struct-reorg.c:3830
#5  0x000000000080c71a in reorg_structs ()
    at /net/gnu-13/export/gnu/src/gcc/gcc/gcc/ipa-struct-reorg.c:3944
#6  0x000000000080c739 in reorg_structs_drive ()
    at /net/gnu-13/export/gnu/src/gcc/gcc/gcc/ipa-struct-reorg.c:3967
#7  0x00000000005e2530 in execute_one_pass (pass=0xf307a0)
    at /net/gnu-13/export/gnu/src/gcc/gcc/gcc/passes.c:1118
#8  0x00000000005e26ef in execute_ipa_pass_list (pass=0xf307a0)
    at /net/gnu-13/export/gnu/src/gcc/gcc/gcc/passes.c:1187
#9  0x00000000007fa210 in ipa_passes ()
    at /net/gnu-13/export/gnu/src/gcc/gcc/gcc/cgraphunit.c:1339


BTW, I configured gcc with --enable-checking=assert.


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/34472] gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work
  2007-12-14 22:52 [Bug tree-optimization/34472] New: gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work hjl at lucon dot org
  2007-12-17 14:08 ` [Bug tree-optimization/34472] " olga at gcc dot gnu dot org
  2007-12-17 19:04 ` hjl at lucon dot org
@ 2007-12-17 19:09 ` hjl at lucon dot org
  2007-12-19 18:57 ` olga at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: hjl at lucon dot org @ 2007-12-17 19:09 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from hjl at lucon dot org  2007-12-17 19:08 -------
Valgrind reports:

==20091== Invalid read of size 8
==20091==    at 0x964769: htab_traverse_noresize (hashtab.c:749)
==20091==    by 0x747B6B: reorg_structs_drive (ipa-struct-reorg.c:3547)
==20091==    by 0x584BF1: execute_one_pass (passes.c:1118)
==20091==    by 0x5850B3: execute_ipa_pass_list (passes.c:1187)
==20091==    by 0x73ADAD: cgraph_optimize (cgraphunit.c:1339)
==20091==    by 0x410AAA: c_write_global_declarations (c-decl.c:8077)
==20091==    by 0x5FA23B: toplev_main (toplev.c:1055)
==20091==    by 0x39A0A1DAB3: (below main) (in /lib64/libc-2.6.so)
==20091==  Address 0x8E70F68 is 24 bytes inside a block of size 104 free'd
==20091==    at 0x4A055AB: free (vg_replace_malloc.c:233)
==20091==    by 0x964F85: htab_expand (hashtab.c:550)
==20091==    by 0x965002: htab_traverse (hashtab.c:763)
==20091==    by 0x743D33: free_data_struct (ipa-struct-reorg.c:1674)
==20091==    by 0x743E0D: remove_structure (ipa-struct-reorg.c:2353)
==20091==    by 0x743F0A: safe_cond_expr_check (ipa-struct-reorg.c:3090)
==20091==    by 0x964777: htab_traverse_noresize (hashtab.c:750)
==20091==    by 0x747B6B: reorg_structs_drive (ipa-struct-reorg.c:3547)
==20091==    by 0x584BF1: execute_one_pass (passes.c:1118)
==20091==    by 0x5850B3: execute_ipa_pass_list (passes.c:1187)
==20091==    by 0x73ADAD: cgraph_optimize (cgraphunit.c:1339)
==20091==    by 0x410AAA: c_write_global_declarations (c-decl.c:8077)
==20091== 
==20091== Conditional jump or move depends on uninitialised value(s)
==20091==    at 0x9201D4: global_conflicts (sparseset.h:89)
==20091==    by 0x8F7259: rest_of_handle_global_alloc (global.c:533)
==20091==    by 0x584BF1: execute_one_pass (passes.c:1118)
==20091==    by 0x584D8F: execute_pass_list (passes.c:1171)
==20091==    by 0x584DA4: execute_pass_list (passes.c:1172)
==20091==    by 0x62D093: tree_rest_of_compilation (tree-optimize.c:404)
==20091==    by 0x739291: cgraph_expand_function (cgraphunit.c:1151)
==20091==    by 0x73ACC3: cgraph_optimize (cgraphunit.c:1214)
==20091==    by 0x410AAA: c_write_global_declarations (c-decl.c:8077)
==20091==    by 0x5FA23B: toplev_main (toplev.c:1055)
==20091==    by 0x39A0A1DAB3: (below main) (in /lib64/libc-2.6.so)
==20091== 
==20091== Conditional jump or move depends on uninitialised value(s)
==20091==    at 0x920F71: global_conflicts (sparseset.h:89)
==20091==    by 0x8F7259: rest_of_handle_global_alloc (global.c:533)
==20091==    by 0x584BF1: execute_one_pass (passes.c:1118)
==20091==    by 0x584D8F: execute_pass_list (passes.c:1171)
==20091==    by 0x584DA4: execute_pass_list (passes.c:1172)
==20091==    by 0x62D093: tree_rest_of_compilation (tree-optimize.c:404)
==20091==    by 0x739291: cgraph_expand_function (cgraphunit.c:1151)
==20091==    by 0x73ACC3: cgraph_optimize (cgraphunit.c:1214)
==20091==    by 0x410AAA: c_write_global_declarations (c-decl.c:8077)
==20091==    by 0x5FA23B: toplev_main (toplev.c:1055)
==20091==    by 0x39A0A1DAB3: (below main) (in /lib64/libc-2.6.so)
==20091== 
==20091== Conditional jump or move depends on uninitialised value(s)
==20091==    at 0x920ABB: global_conflicts (sparseset.h:89)
==20091==    by 0x8F7259: rest_of_handle_global_alloc (global.c:533)
==20091==    by 0x584BF1: execute_one_pass (passes.c:1118)
==20091==    by 0x584D8F: execute_pass_list (passes.c:1171)
==20091==    by 0x584DA4: execute_pass_list (passes.c:1172)
==20091==    by 0x62D093: tree_rest_of_compilation (tree-optimize.c:404)
==20091==    by 0x739291: cgraph_expand_function (cgraphunit.c:1151)
==20091==    by 0x73ACC3: cgraph_optimize (cgraphunit.c:1214)
==20091==    by 0x410AAA: c_write_global_declarations (c-decl.c:8077)
==20091==    by 0x5FA23B: toplev_main (toplev.c:1055)
==20091==    by 0x39A0A1DAB3: (below main) (in /lib64/libc-2.6.so)
==20091== 
==20091== Use of uninitialised value of size 8
==20091==    at 0x921C4D: global_conflicts (sparseset.h:89)
==20091==    by 0x8F7259: rest_of_handle_global_alloc (global.c:533)
==20091==    by 0x584BF1: execute_one_pass (passes.c:1118)
==20091==    by 0x584D8F: execute_pass_list (passes.c:1171)
==20091==    by 0x584DA4: execute_pass_list (passes.c:1172)
==20091==    by 0x62D093: tree_rest_of_compilation (tree-optimize.c:404)
==20091==    by 0x739291: cgraph_expand_function (cgraphunit.c:1151)
==20091==    by 0x73ACC3: cgraph_optimize (cgraphunit.c:1214)
==20091==    by 0x410AAA: c_write_global_declarations (c-decl.c:8077)
==20091==    by 0x5FA23B: toplev_main (toplev.c:1055)
==20091==    by 0x39A0A1DAB3: (below main) (in /lib64/libc-2.6.so)
==20091== 
==20091== Use of uninitialised value of size 8
==20091==    at 0x920F7C: global_conflicts (sparseset.h:89)
==20091==    by 0x8F7259: rest_of_handle_global_alloc (global.c:533)
==20091==    by 0x584BF1: execute_one_pass (passes.c:1118)
==20091==    by 0x584D8F: execute_pass_list (passes.c:1171)
==20091==    by 0x584DA4: execute_pass_list (passes.c:1172)
==20091==    by 0x62D093: tree_rest_of_compilation (tree-optimize.c:404)
==20091==    by 0x739291: cgraph_expand_function (cgraphunit.c:1151)
==20091==    by 0x73ACC3: cgraph_optimize (cgraphunit.c:1214)
==20091==    by 0x410AAA: c_write_global_declarations (c-decl.c:8077)
==20091==    by 0x5FA23B: toplev_main (toplev.c:1055)
==20091==    by 0x39A0A1DAB3: (below main) (in /lib64/libc-2.6.so)
==20091== 
==20091== Use of uninitialised value of size 8
==20091==    at 0x92108C: global_conflicts (sparseset.h:89)
==20091==    by 0x8F7259: rest_of_handle_global_alloc (global.c:533)
==20091==    by 0x584BF1: execute_one_pass (passes.c:1118)
==20091==    by 0x584D8F: execute_pass_list (passes.c:1171)
==20091==    by 0x584DA4: execute_pass_list (passes.c:1172)
==20091==    by 0x62D093: tree_rest_of_compilation (tree-optimize.c:404)
==20091==    by 0x739291: cgraph_expand_function (cgraphunit.c:1151)
==20091==    by 0x73ACC3: cgraph_optimize (cgraphunit.c:1214)
==20091==    by 0x410AAA: c_write_global_declarations (c-decl.c:8077)
==20091==    by 0x5FA23B: toplev_main (toplev.c:1055)
==20091==    by 0x39A0A1DAB3: (below main) (in /lib64/libc-2.6.so)


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/34472] gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work
  2007-12-14 22:52 [Bug tree-optimization/34472] New: gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work hjl at lucon dot org
                   ` (2 preceding siblings ...)
  2007-12-17 19:09 ` hjl at lucon dot org
@ 2007-12-19 18:57 ` olga at gcc dot gnu dot org
  2007-12-20  0:15 ` hjl at lucon dot org
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: olga at gcc dot gnu dot org @ 2007-12-19 18:57 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from olga at gcc dot gnu dot org  2007-12-19 18:57 -------
Thank you for debugging! Now I see approximately where it fails. Although I am
not sure that the following patch solves the issue, please try it, and let me
know whether it helps.

Thank you a lot, 
Olga

Index: ipa-struct-reorg.c
===================================================================
--- ipa-struct-reorg.c  (revision 130906)
+++ ipa-struct-reorg.c  (working copy)
@@ -3068,6 +3068,17 @@
   dump_access_sites (str->accs);   
 }

+/* Auxiliary data structure for safe_cond_expr_check callback function.  */
+struct cond_check_data
+{
+  /* Structure declaration.  */
+  tree type;
+
+  /* Vector of unsuitable types. If the type participates in unsafe 
+     conditional expression, it will be added to this vector.  */
+  VEC (tree, heap) **unsuitable_types;
+};
+
 /* This function checks whether an access statement, pointed by SLOT,
    is a condition we are capable to transform. If not, it removes
    the structure with index, represented by DATA, from the vector
@@ -3077,6 +3088,7 @@
 safe_cond_expr_check (void **slot, void *data)
 {
   struct access_site *acc = *(struct access_site **) slot;
+  struct cond_check_data dt = *(struct cond_check_data *) data;

   if (TREE_CODE (acc->stmt) == COND_EXPR)
     {
@@ -3087,7 +3099,7 @@
              fprintf (dump_file, "\nUnsafe conditional statement ");
              print_generic_stmt (dump_file, acc->stmt, 0);
            }
-         remove_structure (*(unsigned *) data);
+         add_unsuitable_type (dt.unsuitable_types, dt.type);
        }
     }
   return 1;
@@ -3541,10 +3553,23 @@
 {
   d_str str;
   unsigned i;
+  VEC (tree, heap) *unsuitable_types = VEC_alloc (tree, heap, 
+                                                 VEC_length (structure, 
+                                                             structures));
+  struct cond_check_data data;

+  data.type = NULL_TREE;
+  data.unsuitable_types = &unsuitable_types;
+
   for (i = 0; VEC_iterate (structure, structures, i, str); i++)
     if (str->accs)
-      htab_traverse (str->accs, safe_cond_expr_check, &i);
+      {
+       data.type = str->decl;
+       htab_traverse (str->accs, safe_cond_expr_check, &data);
+      }
+  
+  remove_unsuitable_types (unsuitable_types);
+  VEC_free (tree, heap, unsuitable_types);
 }

 /* We exclude from non-field accesses of the structure 
@@ -3848,6 +3873,9 @@
   gcov_type hotest = 0;
   unsigned i;
   d_str str;
+  VEC (tree, heap) *unsuitable_types = VEC_alloc (tree, heap, 
+                                                 VEC_length (structure, 
+                                                             structures));

   /* We summarize counts of fields of a structure into the structure count. 
*/
   for (i = 0; VEC_iterate (structure, structures, i, str); i++)
@@ -3863,8 +3891,11 @@
            print_generic_expr (dump_file, str->decl, 0);
            fprintf (dump_file, " is cold.");
          }
-       remove_structure (i);
+       add_unsuitable_type (&unsuitable_types, str->decl);
       }
+  
+  remove_unsuitable_types (unsuitable_types);
+  VEC_free (tree, heap, unsuitable_types);
 }

 /* This function decomposes original structure into substructures, 


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/34472] gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work
  2007-12-14 22:52 [Bug tree-optimization/34472] New: gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work hjl at lucon dot org
                   ` (3 preceding siblings ...)
  2007-12-19 18:57 ` olga at gcc dot gnu dot org
@ 2007-12-20  0:15 ` hjl at lucon dot org
  2008-01-16 11:15 ` [Bug tree-optimization/34472] [4.3 Regression] " rguenth at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: hjl at lucon dot org @ 2007-12-20  0:15 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from hjl at lucon dot org  2007-12-20 00:15 -------
(In reply to comment #4)
> Thank you for debugging! Now I see approximately where it fails. Although I am
> not sure that the following patch solves the issue, please try it, and let me
> know whether it helps.
> 
> Thank you a lot, 
> Olga
> 
> Index: ipa-struct-reorg.c
> ===================================================================
> --- ipa-struct-reorg.c  (revision 130906)
> +++ ipa-struct-reorg.c  (working copy)
> @@ -3068,6 +3068,17 @@
>    dump_access_sites (str->accs);   
>  }

Yes, it works for me on both Intel64 and ia64.  Thanks.


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/34472] [4.3 Regression] gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work
  2007-12-14 22:52 [Bug tree-optimization/34472] New: gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work hjl at lucon dot org
                   ` (4 preceding siblings ...)
  2007-12-20  0:15 ` hjl at lucon dot org
@ 2008-01-16 11:15 ` rguenth at gcc dot gnu dot org
  2008-01-20  2:14 ` pinskia at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-16 11:15 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from rguenth at gcc dot gnu dot org  2008-01-16 10:33 -------
Confirmed on x86_64-unknown-linux-gnu.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
 GCC target triplet|                            |x86_64-*-*
           Keywords|                            |ice-on-valid-code
           Priority|P3                          |P2
   Last reconfirmed|0000-00-00 00:00:00         |2008-01-16 10:33:38
               date|                            |
            Summary|gcc.dg/struct/wo_prof_malloc|[4.3 Regression]
                   |_size_var.c doesn't work    |gcc.dg/struct/wo_prof_malloc
                   |                            |_size_var.c doesn't work
   Target Milestone|---                         |4.3.0


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/34472] [4.3 Regression] gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work
  2007-12-14 22:52 [Bug tree-optimization/34472] New: gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work hjl at lucon dot org
                   ` (5 preceding siblings ...)
  2008-01-16 11:15 ` [Bug tree-optimization/34472] [4.3 Regression] " rguenth at gcc dot gnu dot org
@ 2008-01-20  2:14 ` pinskia at gcc dot gnu dot org
  2008-01-20 15:34 ` ubizjak at gmail dot com
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-01-20  2:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from pinskia at gcc dot gnu dot org  2008-01-20 01:47 -------
*** Bug 34874 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |zadeck at naturalbridge dot
                   |                            |com


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/34472] [4.3 Regression] gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work
  2007-12-14 22:52 [Bug tree-optimization/34472] New: gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work hjl at lucon dot org
                   ` (6 preceding siblings ...)
  2008-01-20  2:14 ` pinskia at gcc dot gnu dot org
@ 2008-01-20 15:34 ` ubizjak at gmail dot com
  2008-01-20 15:36 ` zadeck at naturalbridge dot com
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: ubizjak at gmail dot com @ 2008-01-20 15:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from ubizjak at gmail dot com  2008-01-20 15:21 -------
(In reply to comment #6)
> Confirmed on x86_64-unknown-linux-gnu.

It fails only with --enable-checkgin=assert, as is the case in
http://gcc.gnu.org/ml/gcc-testresults/2008-01/msg00695.html


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/34472] [4.3 Regression] gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work
  2007-12-14 22:52 [Bug tree-optimization/34472] New: gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work hjl at lucon dot org
                   ` (7 preceding siblings ...)
  2008-01-20 15:34 ` ubizjak at gmail dot com
@ 2008-01-20 15:36 ` zadeck at naturalbridge dot com
  2008-01-20 16:43 ` olga at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: zadeck at naturalbridge dot com @ 2008-01-20 15:36 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from zadeck at naturalbridge dot com  2008-01-20 15:29 -------
olga, 

even if the test case does not normally ice on your system, you be able to see
the bug if you run the test with valgrind.


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/34472] [4.3 Regression] gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work
  2007-12-14 22:52 [Bug tree-optimization/34472] New: gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work hjl at lucon dot org
                   ` (8 preceding siblings ...)
  2008-01-20 15:36 ` zadeck at naturalbridge dot com
@ 2008-01-20 16:43 ` olga at gcc dot gnu dot org
  2008-01-20 16:59 ` zadeck at naturalbridge dot com
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: olga at gcc dot gnu dot org @ 2008-01-20 16:43 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from olga at gcc dot gnu dot org  2008-01-20 16:28 -------
(In reply to comment #9)
> olga, 
> even if the test case does not normally ice on your system, you be able to see
> the bug if you run the test with valgrind.

Kenny,

Thank you a lot for information. I was not aware about valgrid. Does it help
also with segfaults?

The patch in comment #4 solves the ICE, but on some system it generates the
execution failures (PR 34534 and PR 34483). Can you see what it makes on your
system?

Thank you a lot,
Olga



-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/34472] [4.3 Regression] gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work
  2007-12-14 22:52 [Bug tree-optimization/34472] New: gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work hjl at lucon dot org
                   ` (9 preceding siblings ...)
  2008-01-20 16:43 ` olga at gcc dot gnu dot org
@ 2008-01-20 16:59 ` zadeck at naturalbridge dot com
  2008-01-24 18:50 ` rsandifo at gcc dot gnu dot org
  2008-01-24 23:40 ` hjl dot tools at gmail dot com
  12 siblings, 0 replies; 14+ messages in thread
From: zadeck at naturalbridge dot com @ 2008-01-20 16:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from zadeck at naturalbridge dot com  2008-01-20 16:34 -------
Subject: Re:  [4.3 Regression] gcc.dg/struct/wo_prof_malloc_size_var.c
 doesn't work

olga at gcc dot gnu dot org wrote:
> ------- Comment #10 from olga at gcc dot gnu dot org  2008-01-20 16:28 -------
> (In reply to comment #9)
>   
>> olga, 
>> even if the test case does not normally ice on your system, you be able to see
>> the bug if you run the test with valgrind.
>>     
>
> Kenny,
>
> Thank you a lot for information. I was not aware about valgrid. Does it help
> also with segfaults?
>
> The patch in comment #4 solves the ICE, but on some system it generates the
> execution failures (PR 34534 and PR 34483). Can you see what it makes on your
> system?
>
> Thank you a lot,
> Olga
>
>
>
>   
generally it does. it is not perfect.   it is very good at finding
faults with malloc'ed memory.
did you actually try valgrind with this bug?  if you need some help, hop
on irc and i will talk you thru it.

kenny


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/34472] [4.3 Regression] gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work
  2007-12-14 22:52 [Bug tree-optimization/34472] New: gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work hjl at lucon dot org
                   ` (10 preceding siblings ...)
  2008-01-20 16:59 ` zadeck at naturalbridge dot com
@ 2008-01-24 18:50 ` rsandifo at gcc dot gnu dot org
  2008-01-24 23:40 ` hjl dot tools at gmail dot com
  12 siblings, 0 replies; 14+ messages in thread
From: rsandifo at gcc dot gnu dot org @ 2008-01-24 18:50 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from rsandifo at gcc dot gnu dot org  2008-01-24 17:47 -------
Subject: Bug 34472

Author: rsandifo
Date: Thu Jan 24 17:46:31 2008
New Revision: 131798

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131798
Log:
gcc/
        PR tree-optimization/34472
        * ipa-struct-reorg.c (safe_cond_expr_check): Change the DATA
        parameter to a "bool *" and set *DATA to false if there is
        an unsafe access.  Do not delete the structure here.
        (check_cond_exprs): Delete it here instead.
        (check_cond_exprs, exclude_cold_structs): Do not increase
        I when removing a structure.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/ipa-struct-reorg.c


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug tree-optimization/34472] [4.3 Regression] gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work
  2007-12-14 22:52 [Bug tree-optimization/34472] New: gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work hjl at lucon dot org
                   ` (11 preceding siblings ...)
  2008-01-24 18:50 ` rsandifo at gcc dot gnu dot org
@ 2008-01-24 23:40 ` hjl dot tools at gmail dot com
  12 siblings, 0 replies; 14+ messages in thread
From: hjl dot tools at gmail dot com @ 2008-01-24 23:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from hjl dot tools at gmail dot com  2008-01-24 22:37 -------
Revision 131801 is OK.


-- 

hjl dot tools at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2008-01-24 22:38 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-12-14 22:52 [Bug tree-optimization/34472] New: gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work hjl at lucon dot org
2007-12-17 14:08 ` [Bug tree-optimization/34472] " olga at gcc dot gnu dot org
2007-12-17 19:04 ` hjl at lucon dot org
2007-12-17 19:09 ` hjl at lucon dot org
2007-12-19 18:57 ` olga at gcc dot gnu dot org
2007-12-20  0:15 ` hjl at lucon dot org
2008-01-16 11:15 ` [Bug tree-optimization/34472] [4.3 Regression] " rguenth at gcc dot gnu dot org
2008-01-20  2:14 ` pinskia at gcc dot gnu dot org
2008-01-20 15:34 ` ubizjak at gmail dot com
2008-01-20 15:36 ` zadeck at naturalbridge dot com
2008-01-20 16:43 ` olga at gcc dot gnu dot org
2008-01-20 16:59 ` zadeck at naturalbridge dot com
2008-01-24 18:50 ` rsandifo at gcc dot gnu dot org
2008-01-24 23:40 ` hjl dot tools at gmail dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).