Commit ffd78b30 by Richard Guenther Committed by Richard Biener

re PR middle-end/50333 (internal compiler error: in extract_ops_from_tree, at gimple.h:1909)

2011-09-09  Richard Guenther  <rguenther@suse.de>

	PR middle-end/50333
	* tree-data-ref.c (split_constant_offset): Do not try to handle
	ternary ops.

	* gcc.dg/torture/pr50333.c: New testcase.

From-SVN: r178720
parent f9e72719
2011-09-09 Richard Guenther <rguenther@suse.de>
PR middle-end/50333
* tree-data-ref.c (split_constant_offset): Do not try to handle
ternary ops.
2011-09-08 Andrew Stubbs <ams@codesourcery.com> 2011-09-08 Andrew Stubbs <ams@codesourcery.com>
PR tree-optimization/50318 PR tree-optimization/50318
2011-09-09 Richard Guenther <rguenther@suse.de>
PR middle-end/50333
* gcc.dg/torture/pr50333.c: New testcase.
2011-09-08 Andrew Stubbs <ams@codesourcery.com> 2011-09-08 Andrew Stubbs <ams@codesourcery.com>
PR tree-optimization/50318 PR tree-optimization/50318
......
/* { dg-do compile } */
static inline void
unext(unsigned int *_ui, unsigned _len, unsigned int _ui0)
{
unsigned j = 1;
while (++j<_len)
;
_ui[j-1]=_ui0;
}
unsigned int
ncwrs_urow(unsigned _n, unsigned _k, unsigned int *_u)
{
unsigned k;
for(k=2; k<_n; k++)
unext(_u+1,_k+1,1);
}
...@@ -686,7 +686,8 @@ split_constant_offset (tree exp, tree *var, tree *off) ...@@ -686,7 +686,8 @@ split_constant_offset (tree exp, tree *var, tree *off)
*off = ssize_int (0); *off = ssize_int (0);
STRIP_NOPS (exp); STRIP_NOPS (exp);
if (tree_is_chrec (exp)) if (tree_is_chrec (exp)
|| get_gimple_rhs_class (TREE_CODE (exp)) == GIMPLE_TERNARY_RHS)
return; return;
otype = TREE_TYPE (exp); otype = TREE_TYPE (exp);
......
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