diff options
author | Jan Hubicka <jh@suse.cz> | 2010-05-06 16:15:22 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2010-05-06 14:15:22 +0000 |
commit | ef38b55137fbca9d9834c770e62ff46a7f20a181 (patch) | |
tree | 2bb9c1e1201b9406c3cff06652d5e460ec2a38ec | |
parent | 0ab555de37981ab543d1f27a970c0871e53f2253 (diff) | |
download | gcc-ef38b55137fbca9d9834c770e62ff46a7f20a181.zip gcc-ef38b55137fbca9d9834c770e62ff46a7f20a181.tar.gz gcc-ef38b55137fbca9d9834c770e62ff46a7f20a181.tar.bz2 |
re PR tree-optimization/43791 (kernel/rtmutex.c:1138:1: internal compiler error: in cgraph_decide_inlining_of_small_functions, at ipa-inline.c:1009)
PR tree-optimization/43791
* ipa-inline.c (update_caller_keys): Remove bogus
disregard_inline_limits check.
* gcc.c-torture/compile/pr43791.c: New file.
From-SVN: r159108
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/ipa-inline.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/pr43791.c | 21 |
4 files changed, 33 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c5288a9..06988c8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-05-06 Jan Hubicka <jh@suse.cz> + + PR tree-optimization/43791 + * ipa-inline.c (update_caller_keys): Remove bogus + disregard_inline_limits check. + 2010-05-06 Michael Matz <matz@suse.de> PR tree-optimization/43984 diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index e18a0cd..5f9fe10 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -664,7 +664,7 @@ update_caller_keys (fibheap_t heap, struct cgraph_node *node, struct cgraph_edge *edge; cgraph_inline_failed_t failed_reason; - if (!node->local.inlinable || node->local.disregard_inline_limits + if (!node->local.inlinable || node->global.inlined_to) return; if (bitmap_bit_p (updated_nodes, node->uid)) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a51f4db..680c455 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-05-06 Jan Hubicka <jh@suse.cz> + + PR tree-optimization/43791 + * gcc.c-torture/compile/pr43791.c: New file. + 2010-05-06 Michael Matz <matz@suse.de> PR tree-optimization/43984 diff --git a/gcc/testsuite/gcc.c-torture/compile/pr43791.c b/gcc/testsuite/gcc.c-torture/compile/pr43791.c new file mode 100644 index 0000000..38cb3c8 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr43791.c @@ -0,0 +1,21 @@ +int owner(); +int clear(); + +static void fixup() { + clear(); +} + +inline __attribute__ ((always_inline)) +void slowtrylock(void) { + if (owner()) + fixup(); +} + +void fasttrylock(void (*slowfn)()) { + slowfn(); +} + +void trylock(void) { + fasttrylock(slowtrylock); +} + |