From 6eb191429843d14d2eb3912aa4f23f236ce773b5 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 24 Aug 2017 12:22:30 +0000 Subject: [PATCH] i386.c: Include symbol-summary.h, ipa-prop.h and ipa-fnsummary.h. 2017-08-24 Richard Biener * config/i386/i386.c: Include symbol-summary.h, ipa-prop.h and ipa-fnsummary.h. (ix86_can_inline_p): When ix86_fpmath flags do not match check whether the callee uses FP math at all. From-SVN: r251330 --- gcc/ChangeLog | 7 +++++++ gcc/config/i386/i386.c | 12 +++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a475c840fa2..25149f3e5a4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2017-08-24 Richard Biener + + * config/i386/i386.c: Include symbol-summary.h, ipa-prop.h + and ipa-fnsummary.h. + (ix86_can_inline_p): When ix86_fpmath flags do not match + check whether the callee uses FP math at all. + 2017-08-24 Aldy Hernandez PR middle-end/81931 diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 9f1f8e797e7..268946b9059 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -85,6 +85,9 @@ along with GCC; see the file COPYING3. If not see #include "print-rtl.h" #include "intl.h" #include "ifcvt.h" +#include "symbol-summary.h" +#include "ipa-prop.h" +#include "ipa-fnsummary.h" /* This file should be included last. */ #include "target-def.h" @@ -7544,7 +7547,14 @@ ix86_can_inline_p (tree caller, tree callee) else if (caller_opts->tune != callee_opts->tune) ret = false; - else if (caller_opts->x_ix86_fpmath != callee_opts->x_ix86_fpmath) + else if (caller_opts->x_ix86_fpmath != callee_opts->x_ix86_fpmath + /* If the calle doesn't use FP expressions differences in + ix86_fpmath can be ignored. We are called from FEs + for multi-versioning call optimization, so beware of + ipa_fn_summaries not available. */ + && (! ipa_fn_summaries + || ipa_fn_summaries->get + (cgraph_node::get (callee))->fp_expressions)) ret = false; else if (caller_opts->branch_cost != callee_opts->branch_cost) -- 2.30.2