Displaying 3 results from an estimated 3 matches for "_zn1a3fooev".
2011 Dec 09
1
[LLVMdev] Implementing devirtualization
...0__cxxabiv120__si_class_type_infoE, i64 2) to i8*), i8*
getelementptr inbounds ([3 x i8]* @_ZTS1B, i32 0, i32 0), i8* bitcast
({ i8*, i8* }* @_ZTI1A to i8*) }
@_ZTV1A = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8*
bitcast ({ i8*, i8* }* @_ZTI1A to i8*), i8* bitcast (i32 (%class.A*)*
@_ZN1A3fooEv to i8*), i8* bitcast (i32 (%class.A*)* @_ZN1A3gooEv to
i8*), i8* bitcast (i32 (%class.A*, %class.A*)* @_ZN1AplERS_ to i8*)]
define i32 @main() uwtable {
invoke.cont3:
%call = tail call noalias i8* @_Znwm(i64 16)
%0 = bitcast i8* %call to i32 (...)***
store i32 (...)** bitcast (i8** getelemen...
2011 Dec 09
0
[LLVMdev] Implementing devirtualization
On Thu, Dec 8, 2011 at 2:11 PM, Vitor Luis Menezes <vitor at utexas.edu> wrote:
> We've got the following test case:
>
>
> class A {
> public:
> int x;
> A(int x) : x(x) {}
> int hoo() {return 4;}
> virtual int foo() {return x;}
> virtual int goo() {return foo()+10;}
> virtual int operator+(A &a) {
> return x + a.x;
> }
> };
2011 Dec 08
2
[LLVMdev] Implementing devirtualization
We've got the following test case:
class A {
public:
int x;
A(int x) : x(x) {}
int hoo() {return 4;}
virtual int foo() {return x;}
virtual int goo() {return foo()+10;}
virtual int operator+(A &a) {
return x + a.x;
}
};
class B : public A {
public:
B(int x) : A(x) {}
int hoo() {return 2;}
virtual int foo() {return A::foo()*2;}
};
int main() {
A* a = new A(1);