This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/33835] [4.3 Regression] Segfault in vect_is_simple_use
- From: "dorit at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Oct 2007 08:07:38 -0000
- Subject: [Bug tree-optimization/33835] [4.3 Regression] Segfault in vect_is_simple_use
- References: <bug-33835-12387@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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