search for: nothingderived

Displaying 7 results from an estimated 7 matches for "nothingderived".

2012 Sep 29
2
[LLVMdev] Inlining and virtualization in Clang/LLVM
...is incomplete (in a way) when it's not perform *after* inlining and constant propagation. It seems to me therefore that because of this we are missing optimization opportunities. Suppose the following example program: #include <cstdio> struct Base { virtual void foo() = 0; }; struct NothingDerived: Base { virtual void foo() {} }; struct PrintDerived: Base { virtual void foo() { printf("Hello World!"); } }; Base& select(int i) { static NothingDerived nd; static PrintDerived pd; if (i % 2 == 0) { return nd; } return pd; } int main() { Base& b = select(0...
2012 Sep 30
2
[LLVMdev] [cfe-dev] Inlining and virtualization in Clang/LLVM
...is incomplete (in a way) when it's not perform *after* inlining and constant propagation. It seems to me therefore that because of this we are missing optimization opportunities. Suppose the following example program: #include <cstdio> struct Base { virtual void foo() = 0; }; struct NothingDerived: Base { virtual void foo() {} }; struct PrintDerived: Base { virtual void foo() { printf("Hello World!"); } }; Base& select(int i) { static NothingDerived nd; static PrintDerived pd; if (i % 2 == 0) { return nd; } return pd; } int main() { Base& b = select(0...
2012 Oct 03
3
[LLVMdev] [cfe-dev] Inlining and virtualization in Clang/LLVM
...pagation. >> >> >> It seems to me therefore that because of this we are missing >> optimization opportunities. Suppose the following example program: >> >> #include <cstdio> >> >> struct Base { virtual void foo() = 0; }; >> >> struct NothingDerived: Base { virtual void foo() {} }; >> >> struct PrintDerived: Base { virtual void foo() { printf("Hello World!"); } }; >> >> Base& select(int i) { >> static NothingDerived nd; >> static PrintDerived pd; >> if (i % 2 == 0) { return nd...
2012 Oct 03
0
[LLVMdev] [cfe-dev] Inlining and virtualization in Clang/LLVM
...m *after* > inlining and constant propagation. > > > It seems to me therefore that because of this we are missing > optimization opportunities. Suppose the following example program: > > #include <cstdio> > > struct Base { virtual void foo() = 0; }; > > struct NothingDerived: Base { virtual void foo() {} }; > > struct PrintDerived: Base { virtual void foo() { printf("Hello World!"); } }; > > Base& select(int i) { > static NothingDerived nd; > static PrintDerived pd; > if (i % 2 == 0) { return nd; } > return pd; >...
2012 Oct 04
0
[LLVMdev] [cfe-dev] Inlining and virtualization in Clang/LLVM
...; It seems to me therefore that because of this we are missing > >> optimization opportunities. Suppose the following example program: > >> > >> #include <cstdio> > >> > >> struct Base { virtual void foo() = 0; }; > >> > >> struct NothingDerived: Base { virtual void foo() {} }; > >> > >> struct PrintDerived: Base { virtual void foo() { printf("Hello > World!"); } }; > >> > >> Base& select(int i) { > >> static NothingDerived nd; > >> static PrintDerived pd; >...
2012 Oct 04
2
[LLVMdev] [cfe-dev] Inlining and virtualization in Clang/LLVM
...hat because of this we are missing >> >> optimization opportunities. Suppose the following example program: >> >> >> >> #include <cstdio> >> >> >> >> struct Base { virtual void foo() = 0; }; >> >> >> >> struct NothingDerived: Base { virtual void foo() {} }; >> >> >> >> struct PrintDerived: Base { virtual void foo() { printf("Hello >> >> World!"); } }; >> >> >> >> Base& select(int i) { >> >> static NothingDerived nd; >> >&...
2012 Oct 04
0
[LLVMdev] [cfe-dev] Inlining and virtualization in Clang/LLVM
...issing >>> >> optimization opportunities. Suppose the following example program: >>> >> >>> >> #include <cstdio> >>> >> >>> >> struct Base { virtual void foo() = 0; }; >>> >> >>> >> struct NothingDerived: Base { virtual void foo() {} }; >>> >> >>> >> struct PrintDerived: Base { virtual void foo() { printf("Hello >>> >> World!"); } }; >>> >> >>> >> Base& select(int i) { >>> >> static NothingDe...