search for: isinlined

Displaying 20 results from an estimated 21 matches for "isinlined".

Did you mean: inlined
2015 Jun 17
2
[LLVMdev] Inline hint for methods defined in-class
...ion.cpp @@ -630,7 +630,7 @@ void CodeGenFunction::StartFunction(GlobalDecl GD, if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) { if (!CGM.getCodeGenOpts().NoInline) { for (auto RI : FD->redecls()) - if (RI->isInlineSpecified()) { + if (RI->isInlined()) { Fn->addFnAttr(llvm::Attribute::InlineHint); break; } I tried this on C++ benchmarks in SPEC 2006. There is no noticeable performance difference and the maximum text size increase is < 0.25%. I then built clang with and without this change. This increases t...
2014 Jan 26
2
[LLVMdev] MCJIT versus getLazyBitcodeModule?
...lazybitcode..., don't forget to materialize > the original here with */ > original->Materialize(); > > At this step, you can directly inline your code if you want to > systematically inline code: > llvm::InlineFunctionInfo ifi(0); > bool isInlined = llvm::InlineFunction(call, ifi, false); > Changed |= isInlined; > > Or, if you don't want to always inline the code, you can guard the > inlining after having used the inline analysis pass: > llvm::InlineCostAnalysis costAnalysis; > llvm::InlineCost cost =...
2015 Jun 17
2
[LLVMdev] Inline hint for methods defined in-class
...@@ void CodeGenFunction::StartFunction(GlobalDecl GD, > if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) { > if (!CGM.getCodeGenOpts().NoInline) { > for (auto RI : FD->redecls()) > - if (RI->isInlineSpecified()) { > + if (RI->isInlined()) { > Fn->addFnAttr(llvm::Attribute::InlineHint); > break; > } > > I tried this on C++ benchmarks in SPEC 2006. There is no noticeable > performance difference and the maximum text size increase is < 0.25%. > I then built clang with and wit...
2014 Jan 21
4
[LLVMdev] MCJIT versus getLazyBitcodeModule?
Thanks for the pointers. Am I correct in assuming that putting the precompiled bitcode into a second module and linking (or using the object caches) would result in ordinary function calls, but would not be able to inline the functions? -- lg On Jan 21, 2014, at 11:55 AM, Kaylor, Andrew <andrew.kaylor at intel.com> wrote: > I would say that the incompatibility is by design. Not
2015 Jun 24
4
[LLVMdev] Inline hint for methods defined in-class
...Decl GD, > >> if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) { > >> if (!CGM.getCodeGenOpts().NoInline) { > >> for (auto RI : FD->redecls()) > >> - if (RI->isInlineSpecified()) { > >> + if (RI->isInlined()) { > >> Fn->addFnAttr(llvm::Attribute::InlineHint); > >> break; > >> } > >> > >> I tried this on C++ benchmarks in SPEC 2006. There is no noticeable > >> performance difference and the maximum text size increa...
2015 Jun 24
4
[LLVMdev] Inline hint for methods defined in-class
...FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) { >> > >> if (!CGM.getCodeGenOpts().NoInline) { >> > >> for (auto RI : FD->redecls()) >> > >> - if (RI->isInlineSpecified()) { >> > >> + if (RI->isInlined()) { >> > >> Fn->addFnAttr(llvm::Attribute::InlineHint); >> > >> break; >> > >> } >> > >> >> > >> I tried this on C++ benchmarks in SPEC 2006. There is no noticeable >> > >> p...
2015 Jul 07
6
[LLVMdev] Inline hint for methods defined in-class
...ion.cpp @@ -630,7 +630,7 @@ void CodeGenFunction::StartFunction(GlobalDecl GD, if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) { if (!CGM.getCodeGenOpts().NoInline) { for (auto RI : FD->redecls()) - if (RI->isInlineSpecified()) { + if (RI->isInlined()) { Fn->addFnAttr(llvm::Attribute::InlineHint); break; } Here are the performance and size numbers I've collected: - C++ subset of Spec: No performance effects, < 0.1% size increase (all size numbers are text sizes returned by 'size') - Clang: 0....
2015 Jun 24
2
[LLVMdev] Inline hint for methods defined in-class
...onDecl>(D)) >> { >> >> > >> if (!CGM.getCodeGenOpts().NoInline) { >> >> > >> for (auto RI : FD->redecls()) >> >> > >> - if (RI->isInlineSpecified()) { >> >> > >> + if (RI->isInlined()) { >> >> > >> Fn->addFnAttr(llvm::Attribute::InlineHint); >> >> > >> break; >> >> > >> } >> >> > >> >> >> > >> I tried this on C++ benchmarks in SPEC 2006. Th...
2014 Oct 16
2
[LLVMdev] [RFC] Less memory and greater maintainability for debug info IR
...static MDLineTable *getInlined(MDLineTable *Base, MDNode *Scope); >> static MDLineTable *getBase(MDLineTable *Inlined); >> >> unsigned getLine() const { return Line; } >> unsigned getColumn() const { return Column; } >> bool isInlined() const { return getNumOperands() == 2; } >> MDNode *getScope() const { return getOperand(0); } >> MDNode *getInlinedAt() const { return getOperand(1); } >> }; >> >> Proposed assembly syntax: >> >> ; Not inlined. >>...
2015 Jun 24
6
[LLVMdev] Inline hint for methods defined in-class
...onDecl>(D)) >> { >> >> > >> if (!CGM.getCodeGenOpts().NoInline) { >> >> > >> for (auto RI : FD->redecls()) >> >> > >> - if (RI->isInlineSpecified()) { >> >> > >> + if (RI->isInlined()) { >> >> > >> Fn->addFnAttr(llvm::Attribute::InlineHint); >> >> > >> break; >> >> > >> } >> >> > >> >> >> > >> I tried this on C++ benchmarks in SPEC 2006. Th...
2015 Jun 24
3
[LLVMdev] Inline hint for methods defined in-class
...gt;> >> > >> if (!CGM.getCodeGenOpts().NoInline) { >> >> >> > >> for (auto RI : FD->redecls()) >> >> >> > >> - if (RI->isInlineSpecified()) { >> >> >> > >> + if (RI->isInlined()) { >> >> >> > >> Fn->addFnAttr(llvm::Attribute::InlineHint); >> >> >> > >> break; >> >> >> > >> } >> >> >> > >> >> >> >> > >> I...
2014 Oct 13
9
[LLVMdev] [RFC] Less memory and greater maintainability for debug info IR
...MDNode *Scope); static MDLineTable *getInlined(MDLineTable *Base, MDNode *Scope); static MDLineTable *getBase(MDLineTable *Inlined); unsigned getLine() const { return Line; } unsigned getColumn() const { return Column; } bool isInlined() const { return getNumOperands() == 2; } MDNode *getScope() const { return getOperand(0); } MDNode *getInlinedAt() const { return getOperand(1); } }; Proposed assembly syntax: ; Not inlined. !7 = metadata !MDLineTable(line: 45, column: 7, scope: me...
2015 Jun 24
3
[LLVMdev] Inline hint for methods defined in-class
...gt;> >> > >> if (!CGM.getCodeGenOpts().NoInline) { >> >> >> > >> for (auto RI : FD->redecls()) >> >> >> > >> - if (RI->isInlineSpecified()) { >> >> >> > >> + if (RI->isInlined()) { >> >> >> > >> Fn->addFnAttr(llvm::Attribute::InlineHint); >> >> >> > >> break; >> >> >> > >> } >> >> >> > >> >> >> >> > >> I...
2015 Jun 24
2
[LLVMdev] Inline hint for methods defined in-class
...gt;> >> > >> if (!CGM.getCodeGenOpts().NoInline) { >> >> >> > >> for (auto RI : FD->redecls()) >> >> >> > >> - if (RI->isInlineSpecified()) { >> >> >> > >> + if (RI->isInlined()) { >> >> >> > >> Fn->addFnAttr(llvm::Attribute::InlineHint); >> >> >> > >> break; >> >> >> > >> } >> >> >> > >> >> >> >> > >> I...
2014 Oct 15
3
[LLVMdev] [RFC] Less memory and greater maintainability for debug info IR
...ineTable *Base, MDNode > >> *Scope); > >> static MDLineTable *getBase(MDLineTable *Inlined); > >> > >> unsigned getLine() const { return Line; } > >> unsigned getColumn() const { return Column; } > >> bool isInlined() const { return getNumOperands() == 2; } > >> MDNode *getScope() const { return getOperand(0); } > >> MDNode *getInlinedAt() const { return getOperand(1); } > >> }; > >> > >> Proposed assembly syntax: > >> > &...
2014 Oct 14
2
[LLVMdev] [RFC] Less memory and greater maintainability for debug info IR
...*Scope); > static MDLineTable *getInlined(MDLineTable *Base, MDNode *Scope); > static MDLineTable *getBase(MDLineTable *Inlined); > > unsigned getLine() const { return Line; } > unsigned getColumn() const { return Column; } > bool isInlined() const { return getNumOperands() == 2; } > MDNode *getScope() const { return getOperand(0); } > MDNode *getInlinedAt() const { return getOperand(1); } > }; > > Proposed assembly syntax: > > ; Not inlined. > !7 = metadata !MDLi...
2015 Jul 08
9
[LLVMdev] Inline hint for methods defined in-class
...ion::StartFunction(GlobalDecl GD, >> if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) { >> if (!CGM.getCodeGenOpts().NoInline) { >> for (auto RI : FD->redecls()) >> - if (RI->isInlineSpecified()) { >> + if (RI->isInlined()) { >> Fn->addFnAttr(llvm::Attribute::InlineHint); >> break; >> } >> >> Here are the performance and size numbers I've collected: >> >> >> - C++ subset of Spec: No performance effects, < 0.1% size increase &gt...
2015 Jul 09
2
[LLVMdev] Inline hint for methods defined in-class
...Function(GlobalDecl > >> GD, > >> if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) { > >> if (!CGM.getCodeGenOpts().NoInline) { > >> for (auto RI : FD->redecls()) > >> - if (RI->isInlineSpecified()) { > >> + if (RI->isInlined()) { > >> Fn->addFnAttr(llvm::Attribute::InlineHint); > >> break; > >> } > >> > >> Here are the performance and size numbers I've collected: > >> > >> > >> - C++ subset of Spec: No performance effects, < 0.1% size...
2015 Jun 24
2
[LLVMdev] Inline hint for methods defined in-class
...gt; if (!CGM.getCodeGenOpts().NoInline) { >> >> >> >> > >> for (auto RI : FD->redecls()) >> >> >> >> > >> - if (RI->isInlineSpecified()) { >> >> >> >> > >> + if (RI->isInlined()) { >> >> >> >> > >> Fn->addFnAttr(llvm::Attribute::InlineHint); >> >> >> >> > >> break; >> >> >> >> > >> } >> >> >> >> > >> >&gt...
2015 Jul 10
3
[LLVMdev] Inline hint for methods defined in-class
...gt; >> if (const FunctionDecl *FD = dyn_cast_or_null<FunctionDecl>(D)) > > >> { > > >> if (!CGM.getCodeGenOpts().NoInline) { > > >> for (auto RI : FD->redecls()) > > >> - if (RI->isInlineSpecified()) { > > >> + if (RI->isInlined()) { > > >> Fn->addFnAttr(llvm::Attribute::InlineHint); > > >> break; > > >> } > > >> > > >> Here are the performance and size numbers I've collected: > > >> > > >> > > >> - C++ subset of Spec:...