aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-05-06 16:15:22 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2010-05-06 14:15:22 +0000
commitef38b55137fbca9d9834c770e62ff46a7f20a181 (patch)
tree2bb9c1e1201b9406c3cff06652d5e460ec2a38ec /gcc
parent0ab555de37981ab543d1f27a970c0871e53f2253 (diff)
downloadgcc-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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/ipa-inline.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr43791.c21
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);
+}
+