search for: inlining

Displaying 20 results from an estimated 17837 matches for "inlining".

2015 Oct 22
8
RFC: Inlining report
RFC: Inlining Report Motivation Making good inlining choices while optimizing an application is often key to achieving optimal performance. While the compiler's default inlining heuristics sometimes provide great out-of-box results, optimal performance is sometimes achieved only after varying the settings...
2010 Nov 24
7
[LLVMdev] LLVM Inliner
...have not read it too carefully, so correct me if what I observed is wrong). First the good side of the inliner -- the function level summary and inline cost estimation is more elaborate and complete than gcc. For instance, it considers callsite arguments and the effects of optimization enabled by inlining. Now more to the weakness of the inliner: 1) It is bottom up. The inlining is not done in the order based on the priority of the callsites. It may leave important callsites (at top of the cg) unlined due to higher cost after inline cost update. It also eliminates the possibility of inline speci...
2010 Nov 28
0
[LLVMdev] LLVM Inliner
...read it too carefully, so correct me if what I observed is wrong). > > First the good side of the inliner -- the function level summary and inline cost estimation is more elaborate and complete than gcc. For instance, it considers callsite arguments and the effects of optimization enabled by inlining. Yep, as others pointed out, this is intended to interact closely with the per-function optimizations that get mixed in due to the inliner being a callgraphscc pass. This is actually a really important property of the inliner. If you have a function foo that calls a leaf function bar, the seque...
2009 Aug 26
7
[LLVMdev] inlining hint
On Aug 26, 2009, at 12:01 PM, Devang Patel wrote: >>> I do not understand how the "inlinehint" will help. How will it >>> influence the inliner ? >> >> The hint should make it more attractive to inline. I don't know >> the details >> yet and they will require some experimenting. >> > > In that case you want to add hint to A
2010 Nov 24
0
[LLVMdev] LLVM Inliner
...ly, so correct me > if what I observed is wrong). > > First the good side of the inliner -- the function level summary and > inline cost estimation is more elaborate and complete than gcc. For > instance, it considers callsite arguments and the effects of > optimization enabled by inlining. > > Now more to the weakness of the inliner: > > 1) It is bottom up. The inlining is not done in the order based on the > priority of the callsites. It may leave important callsites (at top of > the cg) unlined due to higher cost after inline cost update. It also > eliminate...
2015 Jul 10
3
[LLVMdev] Inline hint for methods defined in-class
...> Chandler, thanks for sharing your thought -- however I don't think > > it > > is wrong, let alone 'fundamentally wrong'. Despite all the analysis > > that can be done, the inliner is in the end heuristic based. In > > lack > > of the profile data, when inlining two calls yield the same static > > benefit and size cost, it is reasonable for the inliner to think > > the > > call to the function with inline hint to yield more high > > dynamic/runtime benefit -- thus it has a higher static size budget > > to > > burn. >...
2010 Nov 24
0
[LLVMdev] LLVM Inliner
...refully, so correct me if what I > observed is wrong). > First the good side of the inliner -- the function level summary and inline > cost estimation is more elaborate and complete than gcc. For instance, it > considers callsite arguments and the effects of optimization enabled by > inlining. > Now more to the weakness of the inliner: > 1) It is bottom up.  The inlining is not done in the order based on the > priority of the callsites.  It may leave important callsites (at top of the > cg) unlined due to higher cost after inline cost update. It also eliminates > the poss...
2006 Mar 15
4
[LLVMdev] Inline hints for *compiler clients*
...d a > 'never inline these functions' list, We don't have such a list, at least not so far. We do have a "used" list but that's presumably used for other things. > a transformation could add any function it wants to this list to > prevent the inliner from inlining it in the future. > > Aside from that, I don't see what uninlining has to do with > inlining heuristics, can you explain a bit more? I'm not sure what there is to explain. Inlining heuristics control what to inline. If you're writing a tool, you'd want to run the i...
2009 Aug 26
4
[LLVMdev] inlining hint
On Aug 26, 2009, at 2:31 PM, David Vandevoorde wrote: > > >> I know/hope that the proposal isn't for the inlinehint to be a >> synonym >> for "force inline", it would just raise the threshold to increase the >> likeliness that it would be inlined. The question is whether >> "something being c++ inline" in any way is really
2009 Aug 27
1
[LLVMdev] inlining hint
On Thu, Aug 27, 2009 at 6:00 PM, David Greene<dag at cray.com> wrote: > On Wednesday 26 August 2009 12:59, Dale Johannesen wrote: > >> class X { >> int A(int x) {....} >> inline int B(int x); >> }; >> inline int X::B(int x) {...} >> >> Per the language standard, A and B are semantically identical, both >> "inline".
2019 Jun 14
2
memory leak in vhost_net_ioctl
Hello Syzbot On Fri, 14 Jun 2019 02:26:02 +0800 syzbot wrote: > > Hello, > > syzbot has tested the proposed patch but the reproducer still triggered crash: > memory leak in vhost_net_ioctl > Oh sorry for my poor patch. > ANGE): hsr_slave_1: link becomes ready > 2019/06/13 18:24:57 executed programs: 18 > BUG: memory leak > unreferenced object 0xffff88811cbc6ac0
2019 Jun 14
2
memory leak in vhost_net_ioctl
Hello Syzbot On Fri, 14 Jun 2019 02:26:02 +0800 syzbot wrote: > > Hello, > > syzbot has tested the proposed patch but the reproducer still triggered crash: > memory leak in vhost_net_ioctl > Oh sorry for my poor patch. > ANGE): hsr_slave_1: link becomes ready > 2019/06/13 18:24:57 executed programs: 18 > BUG: memory leak > unreferenced object 0xffff88811cbc6ac0
2015 Jul 10
2
[LLVMdev] Inline hint for methods defined in-class
...think > > > > it > > > > is wrong, let alone 'fundamentally wrong'. Despite all the > > > > analysis > > > > that can be done, the inliner is in the end heuristic based. In > > > > lack > > > > of the profile data, when inlining two calls yield the same > > > > static > > > > benefit and size cost, it is reasonable for the inliner to think > > > > the > > > > call to the function with inline hint to yield more high > > > > dynamic/runtime benefit -- thus it has a...
2009 Aug 27
1
[LLVMdev] inlining hint
...m has always ignored the >> "inline" keyword and now we are finding out we are missing some >> important cases. > > Okay. It's the "other way around" in terms of history, but it looks > like the conclusion might be the same: Purely heuristics-based > inlining hasn't been proven entirely competitive yet (for C++)? That is what is unclear. We have no empirical evidence that listening to inline will improve the situation more than just increasing the inlining threshold across the board. Even if we did, I would still be uncomfortable with this:...
2009 Aug 26
8
[LLVMdev] inlining hint
You may have noticed I added an "inlinehint" attribute to the IR yesterday, to represent user declarations that hint inlining would be a good idea ("inline" keyword). Chris and I have been discussing how to hook it up to the C++ FE. Consider: class X { int A(int x) {....} inline int B(int x); }; inline int X::B(int x) {...} Per the language standard, A and B are semantically identical, both &qu...
2014 Sep 04
4
[LLVMdev] Conditions that cause Clang refuse inlining a function
Hi, I want to have some functions in my code inline so I use the *inline * keyword: *inline void foo() {}* On some functions the compiler inlines the function but it fails to do so on other functions and thus I get a linkage error: *error: undefined reference to 'foo'* What are the conditions that make the compiler refuse inline? Thanks, David p.s. I know that there are ways to pass
2006 Mar 15
0
[LLVMdev] Inline hints for *compiler clients*
Vikram S. Adve wrote: Hmmm. It seems the discussion has grown a little bit larger than I had intended. :) Basically what I think would be useful is an option to the inliner that gives it a list of functions to skip when inlining. My argument for this is that we have several transformations now that search for calls to specific functions; if those functions are inlined, the transform pass can no longer find the calls. I would like the list of functions excluded from inlining to be specified on the command line (as I...
2005 May 07
2
[LLVMdev] calling conventions and inlining
On Sat, 7 May 2005, Markus F.X.J. Oberhumer wrote: > I see that you are objecting explicit inline control. > > The main problem is that inlining is absolutely crucial for some > "modern" programming styles. E.g. we use a huge collection of small C++ > template classes and template metaclasses, most of which have very > trivial and limited functionality (think of it as some "bytecode" > expressed in classe...
2019 Jun 13
2
memory leak in vhost_net_ioctl
Hello Dmitry On Thu, 13 Jun 2019 20:12:06 +0800 Dmitry Vyukov wrote: > On Thu, Jun 13, 2019 at 2:07 PM Hillf Danton <hdanton at sina.com> wrote: > > > > Hello Jason > > > > On Thu, 13 Jun 2019 17:10:39 +0800 Jason Wang wrote: > > > > > > This is basically a kfree(ubuf) after the second vhost_net_flush() in > > > vhost_net_release(). >
2019 Jun 13
2
memory leak in vhost_net_ioctl
Hello Dmitry On Thu, 13 Jun 2019 20:12:06 +0800 Dmitry Vyukov wrote: > On Thu, Jun 13, 2019 at 2:07 PM Hillf Danton <hdanton at sina.com> wrote: > > > > Hello Jason > > > > On Thu, 13 Jun 2019 17:10:39 +0800 Jason Wang wrote: > > > > > > This is basically a kfree(ubuf) after the second vhost_net_flush() in > > > vhost_net_release(). >