Update semantic_interposition flag at analysis time
This patch solves problem with FE first finalizing function and then adding -fno-semantic-interposition flag (by parsing optimization attribute). gcc/ChangeLog: 2022-04-09 Jan Hubicka <hubicka@ucw.cz> PR ipa/103376 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition flag. gcc/testsuite/ChangeLog: 2022-04-09 Jan Hubicka <hubicka@ucw.cz> PR ipa/103376 * gcc.c-torture/compile/pr103376.c: New test.
This commit is contained in:
parent
aabb9a261e
commit
4943b75e9f
@ -621,6 +621,7 @@ cgraph_node::analyze (void)
|
|||||||
tree decl = this->decl;
|
tree decl = this->decl;
|
||||||
location_t saved_loc = input_location;
|
location_t saved_loc = input_location;
|
||||||
input_location = DECL_SOURCE_LOCATION (decl);
|
input_location = DECL_SOURCE_LOCATION (decl);
|
||||||
|
semantic_interposition = opt_for_fn (decl, flag_semantic_interposition);
|
||||||
|
|
||||||
if (thunk)
|
if (thunk)
|
||||||
{
|
{
|
||||||
|
9
gcc/testsuite/gcc.c-torture/compile/pr103376.c
Normal file
9
gcc/testsuite/gcc.c-torture/compile/pr103376.c
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
/* { dg-additional-options "-Ofast" } */
|
||||||
|
__attribute__ ((optimize ("no-associative-math"))) double
|
||||||
|
fn3 (double h, double l)
|
||||||
|
{
|
||||||
|
return h + l;
|
||||||
|
}
|
||||||
|
|
||||||
|
double fn3 (double, double) __attribute__ ((optimize ("O2,no-associative-math")));
|
||||||
|
|
Loading…
Reference in New Issue
Block a user