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, &amplitude);
  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).