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/33835] [4.3 Regression] Segfault in vect_is_simple_use



------- Comment #3 from dorit at gcc dot gnu dot org  2007-10-21 08:07 -------
The proposed fix/work-around for PR33834 also happens to fix this PR. But the
real problem is that we try to access a NULL argument (operand 2 of a CALL_EXPR
may be NULL). So we should probably at least add something like this:

*************** 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.");
--- 5896,5902 ----
    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.");


This would help us pass the analysis stage, but we would later fail in the
transform stage just like in PR33834. So this PR would require the same fix as
PR33834. 


-- 


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


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