diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index adefc69b97c416148fcf346e8a62ff60ae97cf9d..3f14ac8f474a98034ca8ea488f38dd9b56a6dc36 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2006-04-05  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/26919
+	* ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument
+	to cgraph_estimate_size_after_inlining.
+
 2006-04-05  Alan Modra  <amodra@bigpond.net.au>
 
 	* reload.c (find_dummy_reload): Fix typo in 2006-04-03 change.
diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c
index 4765b00ac9016c7d7e1d090584cf0db120f01963..53488473da0331049c5213fddd6a59f369d34370 100644
--- a/gcc/ipa-inline.c
+++ b/gcc/ipa-inline.c
@@ -1077,7 +1077,7 @@ cgraph_decide_inlining_incrementally (struct cgraph_node *node, bool early)
 	  && !e->callee->local.disregard_inline_limits
 	  && !cgraph_recursive_inlining_p (node, e->callee, &e->inline_failed)
 	  && (!early
-	      || (cgraph_estimate_size_after_inlining (1, e->caller, node)
+	      || (cgraph_estimate_size_after_inlining (1, e->caller, e->callee)
 	          <= e->caller->global.insns))
 	  && cgraph_check_inline_limits (node, e->callee, &e->inline_failed)
 	  && (DECL_SAVED_TREE (e->callee->decl) || e->callee->inline_decl))
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 109316ca668f9075361a18075417b75ad4c874b6..d21f41cc0113b40953ce250ba37fdf07dde15432 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2006-04-05  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/26919
+	* gcc.dg/ipa/ipa-1.c: Use -fno-early-inlining.
+	* gcc.dg/ipa/ipa-2.c: Likewise.
+	* gcc.dg/ipa/ipa-3.c: Likewise.
+	* gcc.dg/ipa/ipa-5.c: Likewise.
+
 2006-04-05  Richard Guenther  <rguenther@suse.de>
 
 	PR tree-optimization/26763
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-1.c b/gcc/testsuite/gcc.dg/ipa/ipa-1.c
index cdac76e701afda68b6a817508c4ff675b81c1dbe..ddf4a66ce1a55915a84f5bc2c97c416816bab01d 100644
--- a/gcc/testsuite/gcc.dg/ipa/ipa-1.c
+++ b/gcc/testsuite/gcc.dg/ipa/ipa-1.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O3 -fipa-cp -fdump-ipa-cp"  } */
+/* { dg-options "-O3 -fipa-cp -fdump-ipa-cp -fno-early-inlining"  } */
 /* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
 
 #include <stdio.h>
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-2.c b/gcc/testsuite/gcc.dg/ipa/ipa-2.c
index 6255e5c1f4584755f72b8dcc9b918a00233f2571..63ae8026fce6a10ceb37c3b0ffd89f48f907439c 100644
--- a/gcc/testsuite/gcc.dg/ipa/ipa-2.c
+++ b/gcc/testsuite/gcc.dg/ipa/ipa-2.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O3 -fipa-cp -fdump-ipa-cp"  } */
+/* { dg-options "-O3 -fipa-cp -fdump-ipa-cp -fno-early-inlining"  } */
 /* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
 
 #include <stdio.h>
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-3.c b/gcc/testsuite/gcc.dg/ipa/ipa-3.c
index 5abe16ea7cd143d57110ef3c43106d6daac681fa..32b42c8ae875e211ffc8a6cee16249cce0bdcd75 100644
--- a/gcc/testsuite/gcc.dg/ipa/ipa-3.c
+++ b/gcc/testsuite/gcc.dg/ipa/ipa-3.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O3 -fipa-cp -fdump-ipa-cp"  } */
+/* { dg-options "-O3 -fipa-cp -fdump-ipa-cp -fno-early-inlining"  } */
 /* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
 
 
diff --git a/gcc/testsuite/gcc.dg/ipa/ipa-5.c b/gcc/testsuite/gcc.dg/ipa/ipa-5.c
index c99079de694803d21c7e9bdb0a9f884577c86153..1485d3725433adc5b2c14b15478ba335ec8f47ac 100644
--- a/gcc/testsuite/gcc.dg/ipa/ipa-5.c
+++ b/gcc/testsuite/gcc.dg/ipa/ipa-5.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O3 -fipa-cp -fdump-ipa-cp"  } */
+/* { dg-options "-O3 -fipa-cp -fdump-ipa-cp -fno-early-inlining"  } */
 /* { dg-skip-if "PR 25442" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
 
 /* Float & short constants.  */