re PR bootstrap/61583 (stage2 and stage3 compare failure due to value range loss)

gcc/
	PR bootstrap/61583
	* tree-vrp.c (remove_range_assertions): Do not set is_unreachable
	to zero on debug statements.
gcc/testsuite/
	* gcc.dg/pr61583.c: New.

From-SVN: r211897
This commit is contained in:
Alan Modra 2014-06-24 00:38:30 +09:30
parent 096c59be14
commit 82bb92454f
4 changed files with 35 additions and 6 deletions

View file

@ -1,3 +1,9 @@
2014-06-23 Alan Modra <amodra@gmail.com>
PR bootstrap/61583
* tree-vrp.c (remove_range_assertions): Do not set is_unreachable
to zero on debug statements.
2014-06-19 Alan Lawrence <alan.lawrence@arm.com>
PR target/60825
@ -25,7 +31,7 @@
vsqadd_u64, vsra_n_s64, vsra_n_u64, vsri_n_s64, vsri_n_u64,
vst1_s64, vst1_u64, vtst_s64, vtst_u64, vuqadd_s64): Wrap existing
logic in GCC vector extensions
(vpaddd_s64, vaddd_s64, vaddd_u64, vceqd_s64, vceqd_u64, vceqzd_s64
vceqzd_u64, vcged_s64, vcged_u64, vcgezd_s64, vcgtd_s64, vcgtd_u64,
vcgtzd_s64, vcled_s64, vcled_u64, vclezd_s64, vcltd_s64, vcltd_u64,
@ -468,8 +474,8 @@
2014-06-18 Robert Suchanek <robert.suchanek@imgtec.com>
* lra-constraints.c (base_to_reg): New function.
(process_address): Use new function.
* lra-constraints.c (base_to_reg): New function.
(process_address): Use new function.
2014-06-18 Tom de Vries <tom@codesourcery.com>

View file

@ -1,6 +1,10 @@
2014-06-23 Alan Modra <amodra@gmail.com>
* gcc.dg/pr61583.c: New.
2014-06-19 Alan Lawrence <alan.lawrence@arm.com>
* g++.dg/abi/mangle-neon-aarch64.C (f22, f23): New tests of
* g++.dg/abi/mangle-neon-aarch64.C (f22, f23): New tests of
[u]int64x1_t.
* gcc.target/aarch64/aapcs64/func-ret-64x1_1.c: Add {u,}int64x1 cases.
@ -24,7 +28,7 @@
test_vqrshrnd_n_u64, test_vshld_n_s64, test_vshdl_n_u64,
test_vslid_n_s64, test_vslid_n_u64, test_vsrid_n_s64,
test_vsrid_n_u64): Fix signature to match intrinsic.
(test_vabs_s64): Remove.
(test_vaddd_s64_2, test_vsubd_s64_2): Use force_simd.

View file

@ -0,0 +1,18 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fcompare-debug" } */
void
f1 (int n, int b)
{
extern void f2 (int);
int j;
if (b)
n = 1;
if (n < 1)
__builtin_unreachable ();
for (j = 0; j < n; j++)
f2 (j);
}

View file

@ -6523,8 +6523,9 @@ remove_range_assertions (void)
}
else
{
if (!is_gimple_debug (gsi_stmt (si)))
is_unreachable = 0;
gsi_next (&si);
is_unreachable = 0;
}
}
}