public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/33834] New: [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829
@ 2007-10-20 19:47 tbm at cyrius dot com
2007-10-20 19:48 ` [Bug tree-optimization/33834] " tbm at cyrius dot com
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: tbm at cyrius dot com @ 2007-10-20 19:47 UTC (permalink / raw)
To: gcc-bugs
I get the following ICE with current trunk and -O2 -ftree-vectorize.
I see this ICE with gcc from trunk going back to 2007-04-22, but
not with 2007-03-26.
(sid)29591:tbm@em64t: ~] /usr/lib/gcc-snapshot/bin/g++ -c -O2 -ftree-vectorize
psicode-internals.cc
psicode-internals.cc: In member function 'void internals::compute_s()':
psicode-internals.cc:44: internal compiler error: in
vect_get_vec_def_for_operand, at tree-vect-transf
orm.c:1829
Please submit a full bug report,
--
Summary: [4.3 Regression] ICE in vect_get_vec_def_for_operand, at
tree-vect-transform.c:1829
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tbm at cyrius dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33834
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/33834] [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829
2007-10-20 19:47 [Bug tree-optimization/33834] New: [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829 tbm at cyrius dot com
2007-10-20 19:48 ` [Bug tree-optimization/33834] " tbm at cyrius dot com
@ 2007-10-20 19:48 ` tbm at cyrius dot com
2007-10-20 19:49 ` tbm at cyrius dot com
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: tbm at cyrius dot com @ 2007-10-20 19:48 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from tbm at cyrius dot com 2007-10-20 19:48 -------
Starting program: /home/tbm/tmp/gcc/gcc-4.3-20071020-r129504/gcc/cc1plus -O2
-ftree-vectorize ~/psicode-internals.cc
void bend_class::set_s_A(double) void bend_set::set_s_A(int, double) void
bend_set::compute_s() void
internals::compute_s()
Analyzing compilation unit
Performing interprocedural optimizations
<visibility> <early_local_cleanups> <inline> <static-var>
<pure-const>Assembling functions:
void internals::compute_s()
Breakpoint 1, fancy_abort (file=0xd7bb78 "gcc/gcc/tree-vect-transform.c",
line=1829, function=0xd7cf40 "vect_get_vec_def_for_operand")
at gcc/gcc/diagnostic.c:659
659 {
(gdb) where
#0 fancy_abort (file=0xd7bb78 "gcc/gcc/tree-vect-transform.c", line=1829,
function=0xd7cf40 "vect_get_vec_def_for_operand") at
gcc/gcc/diagnostic.c:659
#1 0x0000000000bb508f in vect_get_vec_def_for_operand (op=0x2b72be7a8720,
stmt=0x2b72be7a9bd0,
scalar_def=0x0) at gcc/gcc/tree-vect-transform.c:1829
#2 0x0000000000bb5fd3 in vectorizable_store (stmt=0x2b72be7a9bd0,
bsi=0x7fffece745d0,
vec_stmt=0x7fffece744d8, slp_node=0x0) at
gcc/gcc/tree-vect-transform.c:4807
#3 0x0000000000bc3807 in vect_transform_stmt (stmt=0x2b72be7a9bd0,
bsi=0x7fffece745d0,
strided_store=0x7fffece7460f "", slp_node=0x0)
at gcc/gcc/tree-vect-transform.c:6145
#4 0x0000000000bc46d2 in vect_transform_loop (loop_vinfo=0x10c0a50)
at gcc/gcc/tree-vect-transform.c:7388
#5 0x0000000000934c2b in vectorize_loops () at gcc/gcc/tree-vectorizer.c:2507
#6 0x0000000000765847 in execute_one_pass (pass=0x101ce20)
at gcc/gcc/passes.c:1117
#7 0x0000000000765a0c in execute_pass_list (pass=0x101ce20)
at gcc/gcc/passes.c:1170
#8 0x0000000000765a1e in execute_pass_list (pass=0x101cc40)
at gcc/gcc/passes.c:1171
#9 0x0000000000765a1e in execute_pass_list (pass=0x101c040)
at gcc/gcc/passes.c:1171
#10 0x0000000000840c1e in tree_rest_of_compilation (fndecl=0x2b72be791a00)
at gcc/gcc/tree-optimize.c:404
#11 0x00000000009c3bc2 in cgraph_expand_function (node=0x2b72be7a4100)
at gcc/gcc/cgraphunit.c:1060
#12 0x00000000009c5668 in cgraph_optimize () at gcc/gcc/cgraphunit.c:1123
#13 0x00000000004ac2cf in cp_write_global_declarations ()
at gcc/gcc/cp/decl2.c:3410
#14 0x00000000007e3ec7 in toplev_main (argc=<value optimized out>, argv=<value
optimized out>)
at gcc/gcc/toplev.c:1055
#15 0x00002b72be2edb44 in __libc_start_main () from /lib/libc.so.6
#16 0x00000000004043f9 in _start ()
(gdb)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33834
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/33834] [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829
2007-10-20 19:47 [Bug tree-optimization/33834] New: [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829 tbm at cyrius dot com
@ 2007-10-20 19:48 ` tbm at cyrius dot com
2007-10-20 19:48 ` tbm at cyrius dot com
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: tbm at cyrius dot com @ 2007-10-20 19:48 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from tbm at cyrius dot com 2007-10-20 19:48 -------
Created an attachment (id=14376)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14376&action=view)
preprocessed source
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33834
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/33834] [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829
2007-10-20 19:47 [Bug tree-optimization/33834] New: [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829 tbm at cyrius dot com
2007-10-20 19:48 ` [Bug tree-optimization/33834] " tbm at cyrius dot com
2007-10-20 19:48 ` tbm at cyrius dot com
@ 2007-10-20 19:49 ` tbm at cyrius dot com
2007-10-20 20:02 ` pinskia at gcc dot gnu dot org
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: tbm at cyrius dot com @ 2007-10-20 19:49 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from tbm at cyrius dot com 2007-10-20 19:49 -------
/* Testcase by Martin Michlmayr <tbm@cyrius.com> */
extern double cos (double x);
extern double sin (double x);
class bend_class
{
double *s_A;
public:
void set_s_A (double s_A0)
{
s_A[0] = s_A0;
}
};
class bend_set
{
bend_class *bend_array;
public:
void set_s_A (int index, double s_A0)
{
bend_array[index].set_s_A (s_A0);
}
void compute_s (void)
{
int i, j;
double val;
double tmp[3];
for (i = 0; i < 5; ++i)
{
val = i;
for (j = 0; j < 2; ++j)
tmp[j] = cos (val);
set_s_A (i, tmp[0]);
tmp[j] = cos (val) / sin (val);
}
}
};
class internals
{
bend_set bend;
void compute_s (void);
};
void
internals::compute_s (void)
{
bend.compute_s ();
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33834
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/33834] [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829
2007-10-20 19:47 [Bug tree-optimization/33834] New: [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829 tbm at cyrius dot com
` (2 preceding siblings ...)
2007-10-20 19:49 ` tbm at cyrius dot com
@ 2007-10-20 20:02 ` pinskia at gcc dot gnu dot org
2007-10-21 6:25 ` tbm at cyrius dot com
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-10-20 20:02 UTC (permalink / raw)
To: gcc-bugs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu dot
| |org
Target Milestone|--- |4.3.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33834
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/33834] [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829
2007-10-20 19:47 [Bug tree-optimization/33834] New: [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829 tbm at cyrius dot com
` (3 preceding siblings ...)
2007-10-20 20:02 ` pinskia at gcc dot gnu dot org
@ 2007-10-21 6:25 ` tbm at cyrius dot com
2007-10-21 7:14 ` dorit at gcc dot gnu dot org
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: tbm at cyrius dot com @ 2007-10-21 6:25 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from tbm at cyrius dot com 2007-10-21 06:25 -------
Here's another one (requires -O3):
/* Testcase by Martin Michlmayr <tbm@cyrius.com> */
extern int sscanf (__const char *__restrict __s,
__const char *__restrict __format, ...);
unsigned char got_elevation_pattern;
struct site
{
float antenna_pattern[361][1001];
}
LR;
void
LoadPAT (char *filename)
{
int x, y;
char string[255];
float elevation, amplitude, elevation_pattern[361][1001];
for (x = 0; filename[x] != '.' ; x++)
sscanf (string, "%f %f", &elevation, &litude);
for (y = 0; y <= 1000; y++)
{
if (got_elevation_pattern)
elevation = elevation_pattern[x][y];
else
elevation = 1.0;
LR.antenna_pattern[x][y] = elevation;
}
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33834
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/33834] [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829
2007-10-20 19:47 [Bug tree-optimization/33834] New: [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829 tbm at cyrius dot com
` (4 preceding siblings ...)
2007-10-21 6:25 ` tbm at cyrius dot com
@ 2007-10-21 7:14 ` dorit at gcc dot gnu dot org
2007-10-22 4:28 ` dorit at gcc dot gnu dot org
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: dorit at gcc dot gnu dot org @ 2007-10-21 7:14 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from dorit at gcc dot gnu dot org 2007-10-21 07:14 -------
This patch fixes it:
Index: tree-vect-transform.c
===================================================================
*** tree-vect-transform.c (revision 129521)
--- tree-vect-transform.c (working copy)
*************** vectorizable_live_operation (tree stmt,
*** 5870,5875 ****
--- 5870,5878 ----
gcc_assert (STMT_VINFO_LIVE_P (stmt_info));
+ if (STMT_VINFO_RELEVANT_P (stmt_info))
+ return false;
+
if (STMT_VINFO_DEF_TYPE (stmt_info) == vect_reduction_def)
return false;
(but doesn't allow vectorization. I may try a different fix that does allow
vectorization)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33834
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/33834] [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829
2007-10-20 19:47 [Bug tree-optimization/33834] New: [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829 tbm at cyrius dot com
` (5 preceding siblings ...)
2007-10-21 7:14 ` dorit at gcc dot gnu dot org
@ 2007-10-22 4:28 ` dorit at gcc dot gnu dot org
2007-10-23 3:24 ` dorit at gcc dot gnu dot org
2007-10-27 18:05 ` jakub at gcc dot gnu dot org
8 siblings, 0 replies; 10+ messages in thread
From: dorit at gcc dot gnu dot org @ 2007-10-22 4:28 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from dorit at gcc dot gnu dot org 2007-10-22 04:28 -------
I'm testing this patch. It fixes the two testcases, while allowing the first
testcase to get vectorized. (the last bit in the patch is the fix for PR33835):
Index: tree-vect-analyze.c
===================================================================
*** tree-vect-analyze.c (revision 129521)
--- tree-vect-analyze.c (working copy)
*************** vect_analyze_operations (loop_vec_info l
*** 481,487 ****
need_to_vectorize = true;
}
! ok = (vectorizable_type_promotion (stmt, NULL, NULL)
|| vectorizable_type_demotion (stmt, NULL, NULL)
|| vectorizable_conversion (stmt, NULL, NULL, NULL)
|| vectorizable_operation (stmt, NULL, NULL, NULL)
--- 481,489 ----
need_to_vectorize = true;
}
! if (STMT_VINFO_RELEVANT_P (stmt_info)
! || STMT_VINFO_DEF_TYPE (stmt_info) == vect_reduction_def)
! ok = (vectorizable_type_promotion (stmt, NULL, NULL)
|| vectorizable_type_demotion (stmt, NULL, NULL)
|| vectorizable_conversion (stmt, NULL, NULL, NULL)
|| vectorizable_operation (stmt, NULL, NULL, NULL)
*************** vect_analyze_operations (loop_vec_info l
*** 492,508 ****
|| vectorizable_condition (stmt, NULL, NULL)
|| vectorizable_reduction (stmt, NULL, NULL));
/* Stmts that are (also) "live" (i.e. - that are used out of the
loop)
need extra handling, except for vectorizable reductions. */
if (STMT_VINFO_LIVE_P (stmt_info)
&& STMT_VINFO_TYPE (stmt_info) != reduc_vec_info_type)
! ok |= vectorizable_live_operation (stmt, NULL, NULL);
if (!ok)
{
if (vect_print_dump_info (REPORT_UNVECTORIZED_LOOPS))
{
! fprintf (vect_dump, "not vectorized: stmt not supported: ");
print_generic_expr (vect_dump, stmt, TDF_SLIM);
}
return false;
--- 494,522 ----
|| vectorizable_condition (stmt, NULL, NULL)
|| vectorizable_reduction (stmt, NULL, NULL));
+ if (!ok)
+ {
+ if (vect_print_dump_info (REPORT_UNVECTORIZED_LOOPS))
+ {
+ fprintf (vect_dump, "not vectorized: relevant stmt not ");
+ fprintf (vect_dump, "supported: ");
+ print_generic_expr (vect_dump, stmt, TDF_SLIM);
+ }
+ return false;
+ }
+
/* Stmts that are (also) "live" (i.e. - that are used out of the
loop)
need extra handling, except for vectorizable reductions. */
if (STMT_VINFO_LIVE_P (stmt_info)
&& STMT_VINFO_TYPE (stmt_info) != reduc_vec_info_type)
! ok = vectorizable_live_operation (stmt, NULL, NULL);
if (!ok)
{
if (vect_print_dump_info (REPORT_UNVECTORIZED_LOOPS))
{
! fprintf (vect_dump, "not vectorized: live stmt not ");
! fprintf (vect_dump, "supported: ");
print_generic_expr (vect_dump, stmt, TDF_SLIM);
}
return false;
Index: tree-vect-transform.c
===================================================================
*** tree-vect-transform.c (revision 129521)
--- tree-vect-transform.c (working copy)
*************** vectorizable_call (tree stmt, block_stmt
*** 2961,2974 ****
if (STMT_SLP_TYPE (stmt_info))
return false;
- /* FORNOW: not yet supported. */
- if (STMT_VINFO_LIVE_P (stmt_info))
- {
- if (vect_print_dump_info (REPORT_DETAILS))
- fprintf (vect_dump, "value used after loop.");
- return false;
- }
-
/* Is STMT a vectorizable call? */
if (TREE_CODE (stmt) != GIMPLE_MODIFY_STMT)
return false;
--- 2961,2966 ----
*************** vectorizable_conversion (tree stmt, bloc
*** 3307,3320 ****
if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_loop_def)
return false;
- if (STMT_VINFO_LIVE_P (stmt_info))
- {
- /* FORNOW: not yet supported. */
- if (vect_print_dump_info (REPORT_DETAILS))
- fprintf (vect_dump, "value used after loop.");
- return false;
- }
-
if (TREE_CODE (stmt) != GIMPLE_MODIFY_STMT)
return false;
--- 3299,3304 ----
*************** vectorizable_assignment (tree stmt, bloc
*** 3585,3598 ****
if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_loop_def)
return false;
- /* FORNOW: not yet supported. */
- if (STMT_VINFO_LIVE_P (stmt_info))
- {
- if (vect_print_dump_info (REPORT_DETAILS))
- fprintf (vect_dump, "value used after loop.");
- return false;
- }
-
/* Is vectorizable assignment? */
if (TREE_CODE (stmt) != GIMPLE_MODIFY_STMT)
return false;
--- 3569,3574 ----
*************** vectorizable_induction (tree phi, block_
*** 3702,3715 ****
gcc_assert (STMT_VINFO_DEF_TYPE (stmt_info) == vect_induction_def);
- if (STMT_VINFO_LIVE_P (stmt_info))
- {
- /* FORNOW: not yet supported. */
- if (vect_print_dump_info (REPORT_DETAILS))
- fprintf (vect_dump, "value used after loop.");
- return false;
- }
-
if (TREE_CODE (phi) != PHI_NODE)
return false;
--- 3678,3683 ----
*************** vectorizable_operation (tree stmt, block
*** 3791,3804 ****
if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_loop_def)
return false;
- /* FORNOW: not yet supported. */
- if (STMT_VINFO_LIVE_P (stmt_info))
- {
- if (vect_print_dump_info (REPORT_DETAILS))
- fprintf (vect_dump, "value used after loop.");
- return false;
- }
-
/* Is STMT a vectorizable binary/unary operation? */
if (TREE_CODE (stmt) != GIMPLE_MODIFY_STMT)
return false;
--- 3759,3764 ----
*************** vectorizable_type_demotion (tree stmt, b
*** 4088,4101 ****
if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_loop_def)
return false;
- /* FORNOW: not yet supported. */
- if (STMT_VINFO_LIVE_P (stmt_info))
- {
- if (vect_print_dump_info (REPORT_DETAILS))
- fprintf (vect_dump, "value used after loop.");
- return false;
- }
-
/* Is STMT a vectorizable type-demotion operation? */
if (TREE_CODE (stmt) != GIMPLE_MODIFY_STMT)
return false;
--- 4048,4053 ----
*************** vectorizable_type_promotion (tree stmt,
*** 4249,4262 ****
if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_loop_def)
return false;
- /* FORNOW: not yet supported. */
- if (STMT_VINFO_LIVE_P (stmt_info))
- {
- if (vect_print_dump_info (REPORT_DETAILS))
- fprintf (vect_dump, "value used after loop.");
- return false;
- }
-
/* Is STMT a vectorizable type-promotion operation? */
if (TREE_CODE (stmt) != GIMPLE_MODIFY_STMT)
return false;
--- 4201,4206 ----
*************** vectorizable_store (tree stmt, block_stm
*** 4629,4641 ****
if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_loop_def)
return false;
- if (STMT_VINFO_LIVE_P (stmt_info))
- {
- if (vect_print_dump_info (REPORT_DETAILS))
- fprintf (vect_dump, "value used after loop.");
- return false;
- }
-
/* Is vectorizable store? */
if (TREE_CODE (stmt) != GIMPLE_MODIFY_STMT)
--- 4573,4578 ----
*************** vectorizable_load (tree stmt, block_stmt
*** 5458,5471 ****
if (STMT_VINFO_DEF_TYPE (stmt_info) != vect_loop_def)
return false;
- /* FORNOW: not yet supported. */
- if (STMT_VINFO_LIVE_P (stmt_info))
- {
- if (vect_print_dump_info (REPORT_DETAILS))
- fprintf (vect_dump, "value used after loop.");
- return false;
- }
-
/* Is vectorizable load? */
if (TREE_CODE (stmt) != GIMPLE_MODIFY_STMT)
return false;
--- 5395,5400 ----
*************** vectorizable_live_operation (tree stmt,
*** 5893,5899 ****
for (i = 0; i < op_type; i++)
{
op = TREE_OPERAND (operation, i);
! if (!vect_is_simple_use (op, loop_vinfo, &def_stmt, &def, &dt))
{
if (vect_print_dump_info (REPORT_DETAILS))
fprintf (vect_dump, "use not simple.");
--- 5822,5828 ----
for (i = 0; i < op_type; i++)
{
op = TREE_OPERAND (operation, i);
! if (op && !vect_is_simple_use (op, loop_vinfo, &def_stmt, &def, &dt))
{
if (vect_print_dump_info (REPORT_DETAILS))
fprintf (vect_dump, "use not simple.");
--
dorit at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |dorit at gcc dot gnu dot org
|dot org |
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2007-10-22 04:28:31
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33834
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/33834] [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829
2007-10-20 19:47 [Bug tree-optimization/33834] New: [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829 tbm at cyrius dot com
` (6 preceding siblings ...)
2007-10-22 4:28 ` dorit at gcc dot gnu dot org
@ 2007-10-23 3:24 ` dorit at gcc dot gnu dot org
2007-10-27 18:05 ` jakub at gcc dot gnu dot org
8 siblings, 0 replies; 10+ messages in thread
From: dorit at gcc dot gnu dot org @ 2007-10-23 3:24 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from dorit at gcc dot gnu dot org 2007-10-23 03:24 -------
Subject: Bug 33834
Author: dorit
Date: Tue Oct 23 03:24:06 2007
New Revision: 129571
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129571
Log:
PR tree-optimization/33834
PR tree-optimization/33835
* tree-vect-analyze.c (vect_analyze_operations): RELEVANT and LIVE
stmts
need to be checked for success seperately.
* tree-vect-transform.c (vectorizable_call, vectorizable_conversion):
Remove the check that stmt is not LIVE.
(vectorizable_assignment, vectorizable_induction): Likewise.
(vectorizable_operation, vectorizable_type_demotion): Likewise.
(vectorizable_type_promotion, vectorizable_load, vectorizable_store):
Likewise.
(vectorizable_live_operation): Check that op is not NULL.
Added:
trunk/gcc/testsuite/g++.dg/vect/pr33834_1.cc
trunk/gcc/testsuite/g++.dg/vect/pr33834_2.cc
trunk/gcc/testsuite/g++.dg/vect/pr33835.cc
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vect-analyze.c
trunk/gcc/tree-vect-transform.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33834
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/33834] [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829
2007-10-20 19:47 [Bug tree-optimization/33834] New: [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829 tbm at cyrius dot com
` (7 preceding siblings ...)
2007-10-23 3:24 ` dorit at gcc dot gnu dot org
@ 2007-10-27 18:05 ` jakub at gcc dot gnu dot org
8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu dot org @ 2007-10-27 18:05 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from jakub at gcc dot gnu dot org 2007-10-27 18:05 -------
Fixed.
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33834
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2007-10-27 18:05 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-20 19:47 [Bug tree-optimization/33834] New: [4.3 Regression] ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829 tbm at cyrius dot com
2007-10-20 19:48 ` [Bug tree-optimization/33834] " tbm at cyrius dot com
2007-10-20 19:48 ` tbm at cyrius dot com
2007-10-20 19:49 ` tbm at cyrius dot com
2007-10-20 20:02 ` pinskia at gcc dot gnu dot org
2007-10-21 6:25 ` tbm at cyrius dot com
2007-10-21 7:14 ` dorit at gcc dot gnu dot org
2007-10-22 4:28 ` dorit at gcc dot gnu dot org
2007-10-23 3:24 ` dorit at gcc dot gnu dot org
2007-10-27 18:05 ` jakub at gcc dot gnu dot org
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).