PR68474: Fix tree-call-cdce.c:use_internal_fn
We'd call gen_shrink_wrap_conditions for functions that it can't handle but edom_only_function can. Tested on x86_64-linux-gnu. gcc/ PR tree-optimization/68474 * tree-call-cdce.c (use_internal_fn): Protect call to gen_shrink_wrap_conditions. gcc/testsuite/ PR tree-optimization/68474 * gcc.dg/pr68474.c: New test. From-SVN: r231115
This commit is contained in:
parent
5797378aab
commit
6c59645f5d
|
@ -1,3 +1,9 @@
|
|||
2015-12-01 Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
PR tree-optimization/68474
|
||||
* tree-call-cdce.c (use_internal_fn): Protect call to
|
||||
gen_shrink_wrap_conditions.
|
||||
|
||||
2015-12-01 Christian Bruel <christian.bruel@st.com>
|
||||
|
||||
PR target/68617
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2015-12-01 Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
PR tree-optimization/68474
|
||||
* gcc.dg/pr68474.c: New test.
|
||||
|
||||
2015-12-01 Christian Bruel <christian.bruel@st.com>
|
||||
|
||||
PR target/68617
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
/* { dg-options "-O -funsafe-math-optimizations" } */
|
||||
|
||||
long double
|
||||
foo (long double d1, long double d2)
|
||||
{
|
||||
return d1 || __builtin_significandl (d2);
|
||||
}
|
|
@ -959,7 +959,8 @@ use_internal_fn (gcall *call)
|
|||
{
|
||||
unsigned nconds = 0;
|
||||
auto_vec<gimple *, 12> conds;
|
||||
gen_shrink_wrap_conditions (call, conds, &nconds);
|
||||
if (can_test_argument_range (call))
|
||||
gen_shrink_wrap_conditions (call, conds, &nconds);
|
||||
if (nconds == 0 && !edom_only_function (call))
|
||||
return false;
|
||||
|
||||
|
|
Loading…
Reference in New Issue