diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2017-11-19 20:58:12 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2017-11-19 19:58:12 +0000 |
commit | 8a4a6d2e844df54583cd8fac181586b10f63fe25 (patch) | |
tree | 961bb7a9c49b2c36604f8e1ccca0e49691d5e4f1 /gcc/ipa-inline.c | |
parent | a6b22eea5b059f9eab1a6b13e2bea86bc3077906 (diff) | |
download | gcc-8a4a6d2e844df54583cd8fac181586b10f63fe25.zip gcc-8a4a6d2e844df54583cd8fac181586b10f63fe25.tar.gz gcc-8a4a6d2e844df54583cd8fac181586b10f63fe25.tar.bz2 |
re PR ipa/81360 (ice in estimate_edge_growth, at ipa-inline.h:86)
PR ipa/81360
* ipa-inline.c (can_inline_edge_p): Also check that caller is optimized
* gcc.c-torture/compile/pr81360.c: New testcase.
From-SVN: r254937
Diffstat (limited to 'gcc/ipa-inline.c')
-rw-r--r-- | gcc/ipa-inline.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index f4ce80a..4f1860f 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -324,7 +324,8 @@ can_inline_edge_p (struct cgraph_edge *e, bool report, e->inline_failed = CIF_BODY_NOT_AVAILABLE; inlinable = false; } - if (!early && !opt_for_fn (callee->decl, optimize)) + if (!early && (!opt_for_fn (callee->decl, optimize) + || opt_for_fn (caller->decl, optimize))) { e->inline_failed = CIF_FUNCTION_NOT_OPTIMIZED; inlinable = false; |