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).