Commit 3cd58c0f by Richard Biener Committed by Richard Biener

re PR middle-end/64764 (internal compiler error: in is_value_included_in, at tree-ssa-uninit.c:942)

2015-01-26  Richard Biener  <rguenther@suse.de>

	PR middle-end/64764
	* tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
	combining two BIT_AND_EXPR predicates.

	* gcc.dg/uninit-19.c: New testcase.

From-SVN: r220111
parent 96af01ae
2015-01-26 Richard Biener <rguenther@suse.de>
PR middle-end/64764
* tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
combining two BIT_AND_EXPR predicates.
2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/64754
* tree-ssa-structalias.c (new_var_info): Initialize ruid.
---
2015-01-26 Terry Guo <terry.guo@arm.com>
* config/arm/arm.c (arm_file_start): Update the assignment of
......
2015-01-26 Richard Biener <rguenther@suse.de>
PR middle-end/64764
* gcc.dg/uninit-19.c: New testcase.
2015-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* lib/target-supports.exp (check_effective_target_vect64): Add
......
/* { dg-do compile } */
/* { dg-options "-O -Wuninitialized" } */
int a, l, m;
float *b;
float c, d, e, g, h;
unsigned char i, k;
void
fn1 (int p1, float *f1, float *f2, float *f3, unsigned char *c1, float *f4,
unsigned char *c2, float *p10)
{
if (p1 & 8)
b[3] = p10[a]; /* { dg-warning "may be used uninitialized" } */
}
void
fn2 ()
{
float *n;
if (l & 6)
n = &c + m;
fn1 (l, &d, &e, &g, &i, &h, &k, n);
}
......@@ -1377,7 +1377,8 @@ is_pred_expr_subset_of (pred_info expr1, pred_info expr2)
if (expr2.invert)
code2 = invert_tree_comparison (code2, false);
if (code1 == EQ_EXPR && code2 == BIT_AND_EXPR)
if ((code1 == EQ_EXPR || code1 == BIT_AND_EXPR)
&& code2 == BIT_AND_EXPR)
return wi::eq_p (expr1.pred_rhs,
wi::bit_and (expr1.pred_rhs, expr2.pred_rhs));
......
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