diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2016-12-13 20:40:39 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2016-12-13 20:40:39 +0000 |
commit | 2849c4e841ccd421b8b0ba7486cfc66db9a47632 (patch) | |
tree | 8b9bb19cea24f90ff4cba2faa466407ab8ebf242 /clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp | |
parent | 3d23d4a2343a59cfa6977d8dc12c626b7b97e20e (diff) | |
download | bcm5719-llvm-2849c4e841ccd421b8b0ba7486cfc66db9a47632.tar.gz bcm5719-llvm-2849c4e841ccd421b8b0ba7486cfc66db9a47632.zip |
CodeGen: New vtable group representation: struct of vtable arrays.
In a future change, this representation will allow us to use the new inrange
annotation on getelementptr to allow the optimizer to split vtable groups.
Differential Revision: https://reviews.llvm.org/D22296
llvm-svn: 289584
Diffstat (limited to 'clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp b/clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp index aa39d6de615..738c15d89d2 100644 --- a/clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp +++ b/clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp @@ -19,7 +19,7 @@ struct A { int ia; }; A a; -// EMITS-VFTABLE-DAG: @"\01??_7A@@6B@" = linkonce_odr unnamed_addr constant [3 x i8*] +// EMITS-VFTABLE-DAG: @"\01??_7A@@6B@" = linkonce_odr unnamed_addr constant { [3 x i8*] } void use(A *obj) { obj->f(); } struct B : A { @@ -39,7 +39,7 @@ struct B : A { virtual void j(); }; B b; -// EMITS-VFTABLE-DAG: @"\01??_7B@@6B@" = linkonce_odr unnamed_addr constant [5 x i8*] +// EMITS-VFTABLE-DAG: @"\01??_7B@@6B@" = linkonce_odr unnamed_addr constant { [5 x i8*] } void use(B *obj) { obj->f(); } struct C { @@ -69,7 +69,7 @@ struct D { virtual ~D(); }; D d; -// EMITS-VFTABLE-DAG: @"\01??_7D@@6B@" = linkonce_odr unnamed_addr constant [2 x i8*] +// EMITS-VFTABLE-DAG: @"\01??_7D@@6B@" = linkonce_odr unnamed_addr constant { [2 x i8*] } void use(D *obj) { obj->f(); } struct E : A { @@ -107,7 +107,7 @@ struct F : A { virtual ~F(); }; F f; -// EMITS-VFTABLE-DAG: @"\01??_7F@@6B@" = linkonce_odr unnamed_addr constant [5 x i8*] +// EMITS-VFTABLE-DAG: @"\01??_7F@@6B@" = linkonce_odr unnamed_addr constant { [5 x i8*] } void use(F *obj) { obj->i(); } struct G : E { @@ -295,7 +295,7 @@ struct S { // CHECK-NEXT: 0 | void S::f() [deleted] virtual void f() = delete; S(); - // EMITS-VFTABLE-DAG: @"\01??_7S@@6B@" = linkonce_odr unnamed_addr constant [1 x i8*] [i8* bitcast (void ()* @_purecall to i8*)] + // EMITS-VFTABLE-DAG: @"\01??_7S@@6B@" = linkonce_odr unnamed_addr constant { [1 x i8*] } { [1 x i8*] [i8* bitcast (void ()* @_purecall to i8*)] } }; S::S() {} |