search for: _z4calcv

Displaying 2 results from an estimated 2 matches for "_z4calcv".

2017 Dec 07
2
devirtualization with new-PM pipeline
...-- ] cat devirt.cpp struct A {   virtual int virt1(); }; struct B : A {   int virt1() override {     return 20;   } }; static int redirect(A* a) {   return a->virt1(); } int calc() {   B b;   return redirect(&b); } ] clang++ -O3 devirt.cpp -std=c++11 -S -emit-llvm -o - ... define i32 @_Z4calcv() local_unnamed_addr #0 { entry:   ret i32 20    <--- nicely devirtualized (&b)->virt1() call } ... ] clang++ -O3 -fexperimental-new-pass-manager -std=c++11 -S -emit-llvm -o - ... define i32 @_Z4calcv() local_unnamed_addr #0 { entry:   %b = alloca %struct.B, align 8   %0 = bitcast %str...
2017 Dec 14
2
devirtualization with new-PM pipeline
...gt; > } > > }; > > static int redirect(A* a) { > > return a->virt1(); > > } > > int calc() { > > B b; > > return redirect(&b); > > } > > ] clang++ -O3 devirt.cpp -std=c++11 -S -emit-llvm -o - > > ... > > define i32 @_Z4calcv() local_unnamed_addr #0 { > > entry: > > ret i32 20 <--- nicely devirtualized (&b)->virt1() call > > } > > ... > > ] clang++ -O3 -fexperimental-new-pass-manager -std=c++11 -S -emit-llvm > -o - > > ... > > define i32 @_Z4calcv() local_unnam...