summaryrefslogtreecommitdiff
path: root/gcc/ipa-inline.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2017-05-02 12:43:47 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2017-05-02 12:43:47 +0000
commit56580d6b97f3732e05674902ad78a0f3e9f55335 (patch)
treeddcdc5b7297fd81372eb0759c3151dac988eb799 /gcc/ipa-inline.c
parent62f969439b49d53d1dbce33ba65eda885ae0f7d4 (diff)
downloadgcc-56580d6b97f3732e05674902ad78a0f3e9f55335.tar.gz
2017-05-02 Richard Biener <rguenther@suse.de>
* common.opt (fstrict-overflow): Alias negative to fwrapv. * doc/invoke.texi (fstrict-overflow): Remove all traces of -fstrict-overflow documentation. * tree.h (TYPE_OVERFLOW_UNDEFINED): Do not test flag_strict_overflow. (POINTER_TYPE_OVERFLOW_UNDEFINED): Test !flag_wrapv instead of flag_strict_overflow. * ipa-inline.c (can_inline_edge_p): Do not test flag_strict_overflow. * lto-opts.c (lto_write_options): Do not stream it. * lto-wrapper.c (merge_and_complain): Do not handle it. * opts.c (default_options_table): Do not set -fstrict-overflow. (finish_options): Likewise do not clear it when sanitizing. * simplify-rtx.c (simplify_const_relational_operation): Do not test flag_strict_overflow. ada/ * gcc-interface/misc.c (gnat_post_options): Do not set -fstrict-overflow. * c-c++-common/Wlogical-op-1.c: Add -fwrapv to restore previous behavior. * gcc.target/i386/pr46253.c: Make i unsigned to avoid warning. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247495 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r--gcc/ipa-inline.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index dedacc9df68..2be02b627c2 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -404,14 +404,7 @@ can_inline_edge_p (struct cgraph_edge *e, bool report,
/* There are some options that change IL semantics which means
we cannot inline in these cases for correctness reason.
Not even for always_inline declared functions. */
- /* Strictly speaking only when the callee contains signed integer
- math where overflow is undefined. */
- else if ((check_maybe_up (flag_strict_overflow)
- /* this flag is set by optimize. Allow inlining across
- optimize boundary. */
- && (!opt_for_fn (caller->decl, optimize)
- == !opt_for_fn (callee->decl, optimize) || !always_inline))
- || check_match (flag_wrapv)
+ else if (check_match (flag_wrapv)
|| check_match (flag_trapv)
/* When caller or callee does FP math, be sure FP codegen flags
compatible. */