Commit 8592acaf by H.J. Lu

re PR rtl-optimization/39241 (ICE in subreg_get_info, at rtlanal.c:3104)

gcc/

2008-02-25  H.J. Lu  <hongjiu.lu@intel.com>

	PR rtl-optimization/39241
	* jump.c (rtx_renumbered_equal_p): Remove 2 superfluous calls
	to subreg_offset_representable_p.

gcc/testsuite/

2008-02-25  H.J. Lu  <hongjiu.lu@intel.com>

	PR rtl-optimization/39241
	* gcc.dg/torture/pr39241.c: New.

From-SVN: r144430
parent 62d049cf
2008-02-25 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/39241
* jump.c (rtx_renumbered_equal_p): Remove 2 superfluous calls
to subreg_offset_representable_p.
2009-02-25 Paolo Bonzini <bonzini@gnu.org> 2009-02-25 Paolo Bonzini <bonzini@gnu.org>
* regmove.c (regmove_optimize): Conform to struct rtl_opt_pass * regmove.c (regmove_optimize): Conform to struct rtl_opt_pass
...@@ -44,7 +50,7 @@ ...@@ -44,7 +50,7 @@
* dwarf2out.c (gen_enumeration_type_die): Handle CONST_DECLs. * dwarf2out.c (gen_enumeration_type_die): Handle CONST_DECLs.
2009-02-24 Richard Guenther <rguenther@suse.de> 2009-02-24 Richard Guenther <rguenther@suse.de>
Zdenek Dvorak <ook@ucw.cz> Zdenek Dvorak <ook@ucw.cz>
PR tree-optimization/39233 PR tree-optimization/39233
* tree-ssa-loop-ivopts.c (add_candidate_1): Do not except pointers * tree-ssa-loop-ivopts.c (add_candidate_1): Do not except pointers
......
/* Optimize jump instructions, for GNU compiler. /* Optimize jump instructions, for GNU compiler.
Copyright (C) 1987, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997 Copyright (C) 1987, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of GCC. This file is part of GCC.
...@@ -1563,11 +1563,6 @@ rtx_renumbered_equal_p (const_rtx x, const_rtx y) ...@@ -1563,11 +1563,6 @@ rtx_renumbered_equal_p (const_rtx x, const_rtx y)
GET_MODE (x)); GET_MODE (x));
byte_x = 0; byte_x = 0;
} }
else if (!subreg_offset_representable_p (reg_x,
GET_MODE (SUBREG_REG (x)),
byte_x,
GET_MODE (x)))
return 0;
} }
else else
{ {
...@@ -1594,11 +1589,6 @@ rtx_renumbered_equal_p (const_rtx x, const_rtx y) ...@@ -1594,11 +1589,6 @@ rtx_renumbered_equal_p (const_rtx x, const_rtx y)
GET_MODE (y)); GET_MODE (y));
byte_y = 0; byte_y = 0;
} }
else if (!subreg_offset_representable_p (reg_y,
GET_MODE (SUBREG_REG (y)),
byte_y,
GET_MODE (y)))
return 0;
} }
else else
{ {
......
2008-02-25 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/39241
* gcc.dg/torture/pr39241.c: New.
2009-02-25 Martin Jambor <mjambor@suse.cz> 2009-02-25 Martin Jambor <mjambor@suse.cz>
PR tree-optimizations/39259 PR tree-optimizations/39259
* g++.dg/torture/pr39259.C: New testcase. * g++.dg/torture/pr39259.C: New testcase.
...@@ -8,7 +14,7 @@ ...@@ -8,7 +14,7 @@
* g++.dg/template/instantiate10.C: New testcase. * g++.dg/template/instantiate10.C: New testcase.
2009-02-24 Richard Guenther <rguenther@suse.de> 2009-02-24 Richard Guenther <rguenther@suse.de>
Zdenek Dvorak <ook@ucw.cz> Zdenek Dvorak <ook@ucw.cz>
PR tree-optimization/39233 PR tree-optimization/39233
* gcc.c-torture/execute/pr39233.c: New testcase. * gcc.c-torture/execute/pr39233.c: New testcase.
......
/* { dg-do compile } */
/* { dg-options "-w" } */
static inline int
foo (float f)
{
return *((int *) &f) - 1;
}
float
bar (float x, float y, float *z)
{
float c = y < 0.002f ? 0.002f : y;
float d = x < c ? c : x;
return z[foo (c)] + z[foo (d * 255.0f)];
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment