public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/19748] New: aggressive no-inline options still cause inlining
@ 2005-02-02 1:53 yuri at tsoft dot com
2005-02-02 1:56 ` [Bug c++/19748] " pinskia at gcc dot gnu dot org
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: yuri at tsoft dot com @ 2005-02-02 1:53 UTC (permalink / raw)
To: gcc-bugs
I am trying to compile with absolutely no inlining. And still get some functions
inlined. Though somewhat less than only -no-inline.
My compile/link options include:
-fno-implement-inlines -fno-default-inline -finline-limit=0 -fno-default-inline
-fno-inline
and also -O3 -no-guess-branch-probabilities
If I want to profile specific functions for data cache misses no-inline can be
very useful.
Yuri
--
Summary: aggressive no-inline options still cause inlining
Product: gcc
Version: 3.3.2
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: yuri at tsoft dot com
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19748
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/19748] aggressive no-inline options still cause inlining
2005-02-02 1:53 [Bug c++/19748] New: aggressive no-inline options still cause inlining yuri at tsoft dot com
@ 2005-02-02 1:56 ` pinskia at gcc dot gnu dot org
2005-02-02 1:57 ` pinskia at gcc dot gnu dot org
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-02-02 1:56 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-02-02 01:56 -------
-O3 enables -finline-functions, you want -fno-functions-inlines but -fno-inline should not enable
inlining period (except for alwaysinline functions).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19748
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/19748] aggressive no-inline options still cause inlining
2005-02-02 1:53 [Bug c++/19748] New: aggressive no-inline options still cause inlining yuri at tsoft dot com
2005-02-02 1:56 ` [Bug c++/19748] " pinskia at gcc dot gnu dot org
@ 2005-02-02 1:57 ` pinskia at gcc dot gnu dot org
2005-02-02 2:00 ` pinskia at gcc dot gnu dot org
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-02-02 1:57 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-02-02 01:57 -------
Also note sometimes when a function is pure/const it can be removed which is why it might act as
inlining.
Do you have a simple example?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19748
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/19748] aggressive no-inline options still cause inlining
2005-02-02 1:53 [Bug c++/19748] New: aggressive no-inline options still cause inlining yuri at tsoft dot com
2005-02-02 1:56 ` [Bug c++/19748] " pinskia at gcc dot gnu dot org
2005-02-02 1:57 ` pinskia at gcc dot gnu dot org
@ 2005-02-02 2:00 ` pinskia at gcc dot gnu dot org
2005-02-02 2:08 ` yuri at tsoft dot com
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-02-02 2:00 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-02-02 02:00 -------
(In reply to comment #2)
> Also note sometimes when a function is pure/const it can be removed which is why it might act as
> inlining.
This is an example where we remove the function call so it looks like inlining:
void f(void) {}
void g(void)
{
f();
}
But we are not inlining here at all, we just removed the function as the function is pure/const.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19748
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/19748] aggressive no-inline options still cause inlining
2005-02-02 1:53 [Bug c++/19748] New: aggressive no-inline options still cause inlining yuri at tsoft dot com
` (2 preceding siblings ...)
2005-02-02 2:00 ` pinskia at gcc dot gnu dot org
@ 2005-02-02 2:08 ` yuri at tsoft dot com
2005-02-02 6:44 ` pinskia at gcc dot gnu dot org
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: yuri at tsoft dot com @ 2005-02-02 2:08 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From yuri at tsoft dot com 2005-02-02 02:07 -------
(In reply to comment #2)
> Also note sometimes when a function is pure/const it can be removed which is
why it might act as
> inlining.
>
> Do you have a simple example?
> ...
> Also note sometimes when a function is pure/const it can be removed which is
why it might act as
> inlining.
This const/pure is definitely not my case.
I will try to write some example of non-inline. My project is huge, certainly
callgrind showed that there is stuff inlined, I will try to reproduce on
something smaller.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19748
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/19748] aggressive no-inline options still cause inlining
2005-02-02 1:53 [Bug c++/19748] New: aggressive no-inline options still cause inlining yuri at tsoft dot com
` (3 preceding siblings ...)
2005-02-02 2:08 ` yuri at tsoft dot com
@ 2005-02-02 6:44 ` pinskia at gcc dot gnu dot org
2005-02-12 14:52 ` wilson at gcc dot gnu dot org
2005-05-13 11:53 ` pinskia at gcc dot gnu dot org
6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-02-02 6:44 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-02-02 06:44 -------
(In reply to comment #4)
> This const/pure is definitely not my case.
How sure are you?
And are you sure that the options are being used to compile all the code.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19748
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/19748] aggressive no-inline options still cause inlining
2005-02-02 1:53 [Bug c++/19748] New: aggressive no-inline options still cause inlining yuri at tsoft dot com
` (4 preceding siblings ...)
2005-02-02 6:44 ` pinskia at gcc dot gnu dot org
@ 2005-02-12 14:52 ` wilson at gcc dot gnu dot org
2005-05-13 11:53 ` pinskia at gcc dot gnu dot org
6 siblings, 0 replies; 8+ messages in thread
From: wilson at gcc dot gnu dot org @ 2005-02-12 14:52 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From wilson at gcc dot gnu dot org 2005-02-11 23:11 -------
Try -fno-optimize-sibling-calls.
sibling-call (tail-call) optimizations can confuse anything that tries to
produce call graph info, and the end result will look similar to the result you
get with function inlining. In both cases, a procedure frame gets optimized away.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19748
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/19748] aggressive no-inline options still cause inlining
2005-02-02 1:53 [Bug c++/19748] New: aggressive no-inline options still cause inlining yuri at tsoft dot com
` (5 preceding siblings ...)
2005-02-12 14:52 ` wilson at gcc dot gnu dot org
@ 2005-05-13 11:53 ` pinskia at gcc dot gnu dot org
6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-05-13 11:53 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-05-13 11:53 -------
No feedback in 3 months.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |RESOLVED
Resolution| |INVALID
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19748
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2005-05-13 11:53 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-02-02 1:53 [Bug c++/19748] New: aggressive no-inline options still cause inlining yuri at tsoft dot com
2005-02-02 1:56 ` [Bug c++/19748] " pinskia at gcc dot gnu dot org
2005-02-02 1:57 ` pinskia at gcc dot gnu dot org
2005-02-02 2:00 ` pinskia at gcc dot gnu dot org
2005-02-02 2:08 ` yuri at tsoft dot com
2005-02-02 6:44 ` pinskia at gcc dot gnu dot org
2005-02-12 14:52 ` wilson at gcc dot gnu dot org
2005-05-13 11:53 ` pinskia at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).