OSDN Git Service

PR tree-optimization/43791
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 May 2010 14:15:22 +0000 (14:15 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 May 2010 14:15:22 +0000 (14:15 +0000)
* ipa-inline.c (update_caller_keys): Remove bogus
disregard_inline_limits check.

* gcc.c-torture/compile/pr43791.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159108 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/ipa-inline.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/pr43791.c [new file with mode: 0644]

index c5288a9..06988c8 100644 (file)
@@ -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
index e18a0cd..5f9fe10 100644 (file)
@@ -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))
index a51f4db..680c455 100644 (file)
@@ -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 (file)
index 0000000..38cb3c8
--- /dev/null
@@ -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);
+}
+