search for: isinlin

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

Did you mean: isilon
2015 Jun 17
2
[LLVMdev] Inline hint for methods defined in-class
...Function.cpp +++ b/lib/CodeGen/CodeGenFunction.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 w...
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
...deGen/CodeGenFunction.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 i...
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
...30,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 > >&...
2015 Jun 24
4
[LLVMdev] Inline hint for methods defined in-class
...cl >> > >> 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++ benc...
2015 Jul 07
6
[LLVMdev] Inline hint for methods defined in-class
...Function.cpp +++ b/lib/CodeGen/CodeGenFunction.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...
2015 Jun 24
2
[LLVMdev] Inline hint for methods defined in-class
...t; > >> 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; >> >> > >> } >> >> > >> &g...
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. >&gt...
2015 Jun 24
6
[LLVMdev] Inline hint for methods defined in-class
...t; > >> 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; >> >> > >> } >> >> > >> &g...
2015 Jun 24
3
[LLVMdev] Inline hint for methods defined in-class
...gt; >> 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; >> >> >> > >>...
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:...
2015 Jun 24
3
[LLVMdev] Inline hint for methods defined in-class
...D = >> 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; >> >> >> > >>...
2015 Jun 24
2
[LLVMdev] Inline hint for methods defined in-class
...gt; >> 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; >> >> >> > >>...
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 !MD...
2015 Jul 08
9
[LLVMdev] Inline hint for methods defined in-class
...n.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 Spe...
2015 Jul 09
2
[LLVMdev] Inline hint for methods defined in-class
...t; @@ -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++ sub...
2015 Jun 24
2
[LLVMdev] Inline hint for methods defined in-class
...ctionDecl>(D)) >> >> >> { >> >> >> >> > >> if (!CGM.getCodeGenOpts().NoInline) { >> >> >> >> > >> for (auto RI : FD->redecls()) >> >> >> >> > >> - if (RI->isInlineSpecified()) { >> >> >> >> > >> + if (RI->isInlined()) { >> >> >> >> > >> Fn->addFnAttr(llvm::Attribute::InlineHint); >> >> >> >> > >> break; >> >> >&...
2015 Jul 10
3
[LLVMdev] Inline hint for methods defined in-class
...: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: > > >> &gt...