[Bug tree-optimization/33319] [4.2/4.3 regression] g++.dg/tree-ssa/pr27549.C ICE with vectorization

2007-09-16 Thread belyshev at depni dot sinp dot msu dot ru


--- Comment #1 from belyshev at depni dot sinp dot msu dot ru  2007-09-16 
13:28 ---
Also fails on amd64 linux.  gcc 4.2 with "-O1 -ftree-vectorize" error message
is:

pr27549.C: In function 'const char* foo()':
pr27549.C:72: internal compiler error: in coalesce_abnormal_edges, at
tree-outof-ssa.c:643

Maybe related to bug 31081 (doesn't fail with -fno-inline).


-- 

belyshev at depni dot sinp dot msu dot ru changed:

   What|Removed |Added

 CC||belyshev at depni dot sinp
   ||dot msu dot ru
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|powerpc-linux   |
   GCC host triplet|powerpc-linux   |
 GCC target triplet|powerpc-linux   |
   Keywords||ice-on-valid-code
   Last reconfirmed|-00-00 00:00:00 |2007-09-16 13:28:35
   date||
Summary|ICE with vectorization in   |[4.2/4.3 regression]
   |the testauite   |g++.dg/tree-ssa/pr27549.C
   ||ICE with vectorization
   Target Milestone|--- |4.3.0


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



[Bug tree-optimization/33319] [4.2/4.3 regression] g++.dg/tree-ssa/pr27549.C ICE with vectorization

2007-09-17 Thread victork at gcc dot gnu dot org


--- Comment #2 from victork at gcc dot gnu dot org  2007-09-17 09:37 ---
Subject: Bug 33319

Author: victork
Date: Mon Sep 17 09:37:31 2007
New Revision: 128539

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128539
Log:

PR tree-optimization/33319
* tree-vect-analyze.c (vect_same_range_drs): New.
(vect_vfa_range_equal): New.
(vect_is_duplicate_ddr): Removed.
(vect_mark_for_runtime_alias_test): Do not perform marking when
optimizing for size or max_param for alias checking is zero.
Move the function before vect_analyze_data_ref_dependence.
(vect_analyze_data_ref_dependence): Add call to
vect_mark_for_runtime_alias_test in two cases when dependence
is not clear.
(vect_analyze_data_ref_dependences): Do not call to
vect_mark_for_runtime_alias_test.
(vect_prune_runtime_alias_test_list): New.
(vect_analyze_loop): Add call to vect_prune_runtime_alias_test_list.
* tree-vect-transform.c (vect_estimate_min_profitable_iters):
Update vec_outside_cost.
(vect_vfa_segment_size): More compact code, use TYPE_SIZE_UNIT.
(vect_create_cond_for_alias_checks): Build the base address of data
reference from DR_GROUP_FIRST_DR.
(vect_loop_versioning): New.
(vect_transform_loop): Add a call to vect_loop_versioning.
Remove factored out code.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-vect-analyze.c
trunk/gcc/tree-vect-transform.c


-- 


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



[Bug tree-optimization/33319] [4.2/4.3 regression] g++.dg/tree-ssa/pr27549.C ICE with vectorization

2007-09-18 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2007-09-18 13:02 ---
Still fails.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Last reconfirmed|2007-09-16 13:28:35 |2007-09-18 13:02:40
   date||


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



[Bug tree-optimization/33319] [4.2/4.3 regression] g++.dg/tree-ssa/pr27549.C ICE with vectorization

2007-10-08 Thread victork at gcc dot gnu dot org


--- Comment #4 from victork at gcc dot gnu dot org  2007-10-09 06:52 ---
The problem starts when dependence checker fails to find distance vector
for a known dependence. I've opened another missed-optimization PR33707.
The vectorizer continue by means of versioning for alias.  I'm still looking,
why this eventually caused the ICE.

Accepting the bug.
-- Victor


-- 

victork at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |victork at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-09-18 13:02:40 |2007-10-09 06:52:04
   date||


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



[Bug tree-optimization/33319] [4.2/4.3 regression] g++.dg/tree-ssa/pr27549.C ICE with vectorization

2007-10-10 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P1


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



[Bug tree-optimization/33319] [4.2/4.3 regression] g++.dg/tree-ssa/pr27549.C ICE with vectorization

2007-10-22 Thread victork at gcc dot gnu dot org


--- Comment #5 from victork at gcc dot gnu dot org  2007-10-23 06:53 ---
Created an attachment (id=14394)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14394&action=view)
vectorizer dump


-- 


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



[Bug tree-optimization/33319] [4.2/4.3 regression] g++.dg/tree-ssa/pr27549.C ICE with vectorization

2007-10-22 Thread victork at gcc dot gnu dot org


--- Comment #6 from victork at gcc dot gnu dot org  2007-10-23 06:57 ---
I think this bug is duplicate of pr31081.
Probably versioning which is done by vectorizer exposes the problem in inliner.
I've attached the vectorizer dump for analysys (pr27549.C.103t.vect)

% gdb --args ./gcc/cc1plus -O2 -ftree-vectorize -msse2 ../pr27549.C
GNU gdb 6.5
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-suse-linux"...Using host libthread_db library
"/lib/libthread_db.so.1".

(gdb) b fail_abnormal_edge_coalesce
Breakpoint 1 at 0x8555f01: file ../../gcc/gcc/tree-ssa-coalesce.c, line 945.
(gdb) run
Starting program: /home/victork/mainline/build.129573/gcc/cc1plus -O2
-ftree-vectorize -msse2 ../t.C
 virtual E::~E() E::~E() virtual E::~E() virtual E::~E() virtual F::~F()
F::~F() virtual F::~F() virtual F::~F() virtual size_t F::e() const virtual
void F::f(char*) const S::S() S::S() S::S() void S::s(const char*, size_t) void
S::s(const E*) const char* S::t() void S::v(size_t) S::~S() S::~S() S::~S()
const char* foo() void __static_initialization_and_destruction_0(int, int)
F::F() E::E() E::E() E::E() F::F() F::F() void _GLOBAL__I_p()
Analyzing compilation unit
Performing interprocedural optimizations

Assembling functions:
 virtual E::~E() virtual F::~F() virtual size_t F::e() const virtual void
F::f(char*) const (static initializers for ../t.C) virtual F::~F() virtual
E::~E() const char* foo()
Breakpoint 1, fail_abnormal_edge_coalesce (x=141, y=138) at
../../gcc/gcc/tree-ssa-coalesce.c:945
945   fprintf (stderr, "\nUnable to coalesce ssa_names %d and %d",x, y);
(gdb) bt
#0  fail_abnormal_edge_coalesce (x=141, y=138) at
../../gcc/gcc/tree-ssa-coalesce.c:945
#1  0x08555c4a in coalesce_partitions (map=0x8b02e90, graph=0x8ac45a0,
cl=0x8ac4880, debug=0x0)
at ../../gcc/gcc/tree-ssa-coalesce.c:1278
#2  0x08556bf9 in coalesce_ssa_name () at
../../gcc/gcc/tree-ssa-coalesce.c:1380
#3  0x084fd0f1 in remove_ssa_form (perform_ter=141 '\215') at
../../gcc/gcc/tree-outof-ssa.c:1139
#4  0x084fef5f in rewrite_out_of_ssa () at ../../gcc/gcc/tree-outof-ssa.c:1294
#5  0x0840b68a in execute_one_pass (pass=0x89d6e00) at
../../gcc/gcc/passes.c:1117
#6  0x0840b87f in execute_pass_list (pass=0x89d6e00) at
../../gcc/gcc/passes.c:1170
#7  0x0840b892 in execute_pass_list (pass=0x89d6c00) at
../../gcc/gcc/passes.c:1171
#8  0x084f8c77 in tree_rest_of_compilation (fndecl=0xb7d94a00) at
../../gcc/gcc/tree-optimize.c:404
#9  0x08695245 in cgraph_expand_function (node=0xb7d94c00) at
../../gcc/gcc/cgraphunit.c:1060
#10 0x08697947 in cgraph_optimize () at ../../gcc/gcc/cgraphunit.c:1123
#11 0x08108e5d in cp_write_global_declarations () at
../../gcc/gcc/cp/decl2.c:3410
#12 0x084948c9 in toplev_main (argc=5, argv=0xbfea1f24) at
../../gcc/gcc/toplev.c:1055
#13 0x0821fc5f in main (argc=Cannot access memory at address 0x12
) at ../../gcc/gcc/main.c:35
(gdb)


Continuing.

Unable to coalesce ssa_names 141 and 138 which are marked as MUST COALESCE.
s$b_141(ab) and  s$b_138(ab)

../t.C: In function 'const char* foo()':
../t.C:72: internal compiler error: SSA corruption
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.

Program exited with code 04.


-- 

victork at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu dot
   ||org, rakdver at gcc dot gnu
   ||dot org, amacleod at redhat
   ||dot com, jh at suse dot cz
 Status|ASSIGNED|WAITING


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



[Bug tree-optimization/33319] [4.2/4.3 regression] g++.dg/tree-ssa/pr27549.C ICE with vectorization

2007-10-23 Thread pinskia at gcc dot gnu dot org


--- Comment #7 from pinskia at gcc dot gnu dot org  2007-10-23 07:02 ---
Actually I doubt it is related to the other bug as the other one only happens
on the trunk as  there is no SSA inliner in 4.2 so changing back to NEW.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |NEW
   Last reconfirmed|2007-10-09 06:52:04 |2007-10-23 07:02:54
   date||


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



[Bug tree-optimization/33319] [4.2/4.3 regression] g++.dg/tree-ssa/pr27549.C ICE with vectorization

2007-11-03 Thread pinskia at gcc dot gnu dot org


--- Comment #8 from pinskia at gcc dot gnu dot org  2007-11-03 20:23 ---
I cannot reproduce this either on x86_64 or powerpc64.


-- 


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



[Bug tree-optimization/33319] [4.2/4.3 regression] g++.dg/tree-ssa/pr27549.C ICE with vectorization

2007-11-03 Thread sebpop at gmail dot com


--- Comment #9 from sebpop at gmail dot com  2007-11-03 20:39 ---
Subject: Re:  [4.2/4.3 regression] g++.dg/tree-ssa/pr27549.C ICE with
vectorization

I cannot reproduce the bug on i686-linux either.


-- 


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