--- Comment #13 from hubicka at gcc dot gnu dot org 2009-02-06 16:47
---
Subject: Bug 38844
Author: hubicka
Date: Fri Feb 6 16:47:39 2009
New Revision: 143985
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=143985
Log:
PR tree-optimization/38844
* ipa-inline.c
--- Comment #12 from hubicka at gcc dot gnu dot org 2009-02-02 16:35
---
try_inline should not recurse when edge is already inlined. The following
patch should fix the problem, I will benchmark it tonight
Index: ipa-inline.c
--- Comment #9 from jakub at gcc dot gnu dot org 2009-01-28 21:08 ---
The #c6 patch doesn't make sense to me.
Two alternative testcases:
inline __attribute__ ((always_inline))
void A (void)
{
int i;
asm volatile ( : =m (i));
A ();
A ();
}
int
main ()
{
A ();
return 0;
}
--- Comment #10 from jakub at gcc dot gnu dot org 2009-01-28 21:47 ---
Further testcases:
inline __attribute__((always_inline))
void A (void)
{
A ();
A ();
A ();
}
int
main ()
{
A ();
return 0;
}
and:
inline void A (void);
inline void B (void);
inline __attribute__
--- Comment #11 from rguenth at gcc dot gnu dot org 2009-01-28 22:37
---
We should still optimize
static void bar(void) { foo (); }
inline void __attribute__((always_inline)) foo(void)
{
foo ();
bar ();
}
to
foo() { foo(); foo (); }
or similar cases, that is basically collapse
--- Comment #8 from rguenth at gcc dot gnu dot org 2009-01-24 10:21 ---
GCC 4.3.3 is being released, adjusting target milestone.
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #4 from rguenth at gcc dot gnu dot org 2009-01-15 16:03 ---
Honza, can you please have a look here?
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #5 from hjl dot tools at gmail dot com 2009-01-15 21:35 ---
It is caused by revision 121570:
http://gcc.gnu.org/ml/gcc-cvs/2007-02/msg00126.html
--
hjl dot tools at gmail dot com changed:
What|Removed |Added
--- Comment #6 from hjl dot tools at gmail dot com 2009-01-15 22:38 ---
This patch:
--- ./ipa-inline.c.foo 2009-01-02 11:06:18.0 -0800
+++ ./ipa-inline.c 2009-01-15 14:35:28.0 -0800
@@ -1412,7 +1412,8 @@ cgraph_decide_inlining_incrementally (st
}
--- Comment #7 from hjl dot tools at gmail dot com 2009-01-15 23:57 ---
Revision 121570 is:
http://gcc.gnu.org/ml/gcc-patches/2007-02/msg00319.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38844
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
CC||hubicka at gcc dot gnu dot
|
--- Comment #3 from pinskia at gcc dot gnu dot org 2009-01-15 01:07 ---
Confirmed.
here is one that fails with both the C and C++ front-ends:
inline __attribute__((always_inline)) void A(int *this1)
{
int this2;
int this3;
A(this2);
12 matches
Mail list logo