Author: Nikita Popov Date: 2023-03-10T15:17:28+01:00 New Revision: ecf65087eee7529936c9c93d76e02b06816ba930
URL: https://github.com/llvm/llvm-project/commit/ecf65087eee7529936c9c93d76e02b06816ba930 DIFF: https://github.com/llvm/llvm-project/commit/ecf65087eee7529936c9c93d76e02b06816ba930.diff LOG: [Clang] Convert some tests to opaque pointers (NFC) Added: Modified: clang/test/Modules/codegen-opt.test clang/test/Modules/codegen.test clang/test/Modules/initializers.cpp clang/test/Modules/objc-initializer.m Removed: ################################################################################ diff --git a/clang/test/Modules/codegen-opt.test b/clang/test/Modules/codegen-opt.test index 6536611bd307..eafd47ae1ee3 100644 --- a/clang/test/Modules/codegen-opt.test +++ b/clang/test/Modules/codegen-opt.test @@ -1,16 +1,16 @@ RUN: rm -rf %t REQUIRES: x86-registered-target -RUN: %clang_cc1 -no-opaque-pointers -triple=x86_64-linux-gnu -fmodules-codegen -x c++ -fmodules -emit-module -fmodule-name=foo %S/Inputs/codegen-opt/foo.modulemap -o %t/foo.pcm -RUN: %clang_cc1 -no-opaque-pointers -triple=x86_64-linux-gnu -fmodules-codegen -x c++ -fmodules -emit-module -fmodule-name=bar %S/Inputs/codegen-opt/bar.modulemap -o %t/bar.pcm -fmodule-file=%t/foo.pcm +RUN: %clang_cc1 -triple=x86_64-linux-gnu -fmodules-codegen -x c++ -fmodules -emit-module -fmodule-name=foo %S/Inputs/codegen-opt/foo.modulemap -o %t/foo.pcm +RUN: %clang_cc1 -triple=x86_64-linux-gnu -fmodules-codegen -x c++ -fmodules -emit-module -fmodule-name=bar %S/Inputs/codegen-opt/bar.modulemap -o %t/bar.pcm -fmodule-file=%t/foo.pcm -RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-linux-gnu -emit-llvm -o - %t/foo.pcm | FileCheck --check-prefix=FOO %s -RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-linux-gnu -emit-llvm -o - %t/bar.pcm -fmodule-file=%t/foo.pcm | FileCheck --check-prefix=BAR-CMN --check-prefix=BAR %s -RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-linux-gnu -emit-llvm -o - -fmodules -fmodule-file=%t/foo.pcm -fmodule-file=%t/bar.pcm %S/Inputs/codegen-opt/use.cpp | FileCheck --check-prefix=USE-CMN --check-prefix=USE %s +RUN: %clang_cc1 -triple x86_64-linux-gnu -emit-llvm -o - %t/foo.pcm | FileCheck --check-prefix=FOO %s +RUN: %clang_cc1 -triple x86_64-linux-gnu -emit-llvm -o - %t/bar.pcm -fmodule-file=%t/foo.pcm | FileCheck --check-prefix=BAR-CMN --check-prefix=BAR %s +RUN: %clang_cc1 -triple x86_64-linux-gnu -emit-llvm -o - -fmodules -fmodule-file=%t/foo.pcm -fmodule-file=%t/bar.pcm %S/Inputs/codegen-opt/use.cpp | FileCheck --check-prefix=USE-CMN --check-prefix=USE %s -RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-linux-gnu -emit-llvm -o - -O2 -disable-llvm-passes %t/foo.pcm | FileCheck --check-prefix=FOO %s -RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-linux-gnu -emit-llvm -o - -O2 -disable-llvm-passes %t/bar.pcm -fmodule-file=%t/foo.pcm | FileCheck --check-prefix=BAR-CMN --check-prefix=BAR-OPT %s -RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-linux-gnu -emit-llvm -o - -O2 -disable-llvm-passes -fmodules -fmodule-file=%t/foo.pcm -fmodule-file=%t/bar.pcm %S/Inputs/codegen-opt/use.cpp | FileCheck --check-prefix=USE-CMN --check-prefix=USE-OPT %s +RUN: %clang_cc1 -triple x86_64-linux-gnu -emit-llvm -o - -O2 -disable-llvm-passes %t/foo.pcm | FileCheck --check-prefix=FOO %s +RUN: %clang_cc1 -triple x86_64-linux-gnu -emit-llvm -o - -O2 -disable-llvm-passes %t/bar.pcm -fmodule-file=%t/foo.pcm | FileCheck --check-prefix=BAR-CMN --check-prefix=BAR-OPT %s +RUN: %clang_cc1 -triple x86_64-linux-gnu -emit-llvm -o - -O2 -disable-llvm-passes -fmodules -fmodule-file=%t/foo.pcm -fmodule-file=%t/bar.pcm %S/Inputs/codegen-opt/use.cpp | FileCheck --check-prefix=USE-CMN --check-prefix=USE-OPT %s FOO-NOT: comdat FOO: $_Z3foov = comdat any @@ -22,7 +22,7 @@ FOO: define{{.*}} void @_Z7foo_extv() FOO-NOT: {{define|declare}} FOO: define weak_odr void @_Z3foov() #{{[0-9]+}} comdat FOO-NOT: {{define|declare}} -FOO: declare void @_Z2f1Ri(i32* +FOO: declare void @_Z2f1Ri(ptr FOO-NOT: {{define|declare}} Internal functions are not modularly code generated - they are @@ -49,7 +49,7 @@ BAR: declare void @_Z3foov() Include all the available_externally definitions required for bar (foo -> f2) BAR-OPT: define available_externally void @_Z3foov() BAR-CMN-NOT: {{define|declare}} -BAR-OPT: declare void @_Z2f1Ri(i32* +BAR-OPT: declare void @_Z2f1Ri(ptr BAR-OPT-NOT: {{define|declare}} BAR-OPT: define internal void @_ZL2f2v() BAR-OPT-NOT: {{define|declare}} @@ -65,7 +65,7 @@ USE-OPT: define available_externally void @_Z3barv() USE-CMN-NOT: {{define|declare}} USE-OPT: define available_externally void @_Z3foov() USE-OPT-NOT: {{define|declare}} -USE-OPT: declare void @_Z2f1Ri(i32* +USE-OPT: declare void @_Z2f1Ri(ptr USE-OPT-NOT: {{define|declare}} USE-OPT: define internal void @_ZL2f2v() USE-OPT-NOT: {{define|declare}} diff --git a/clang/test/Modules/codegen.test b/clang/test/Modules/codegen.test index d9c70e4385f8..77602056defd 100644 --- a/clang/test/Modules/codegen.test +++ b/clang/test/Modules/codegen.test @@ -1,10 +1,10 @@ RUN: rm -rf %t REQUIRES: x86-registered-target -RUN: %clang_cc1 -no-opaque-pointers -triple=x86_64-linux-gnu -fmodules-codegen -fmodules-debuginfo -x c++ -fmodules -emit-module -fmodule-name=foo %S/Inputs/codegen/foo.modulemap -o %t/foo.pcm +RUN: %clang_cc1 -triple=x86_64-linux-gnu -fmodules-codegen -fmodules-debuginfo -x c++ -fmodules -emit-module -fmodule-name=foo %S/Inputs/codegen/foo.modulemap -o %t/foo.pcm -RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-linux-gnu -emit-llvm -debug-info-kind=limited -o - %t/foo.pcm | FileCheck --check-prefix=FOO --check-prefix=BOTH %s -RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-linux-gnu -emit-llvm -debug-info-kind=limited -o - -fmodules -disable-llvm-passes -fmodule-file=%t/foo.pcm %S/Inputs/codegen/use.cpp | FileCheck --check-prefix=BOTH --check-prefix=USE %s +RUN: %clang_cc1 -triple x86_64-linux-gnu -emit-llvm -debug-info-kind=limited -o - %t/foo.pcm | FileCheck --check-prefix=FOO --check-prefix=BOTH %s +RUN: %clang_cc1 -triple x86_64-linux-gnu -emit-llvm -debug-info-kind=limited -o - -fmodules -disable-llvm-passes -fmodule-file=%t/foo.pcm %S/Inputs/codegen/use.cpp | FileCheck --check-prefix=BOTH --check-prefix=USE %s For want of any better definition, inline asm goes "everywhere" the same as it @@ -25,8 +25,8 @@ FOO: $_ZN13implicit_dtorD1Ev = comdat any USE: $_Z4instIiEvv = comdat any USE: $_Z10always_inlv = comdat any FOO: $_ZN13implicit_dtorD2Ev = comdat any -FOO: define weak_odr void @_Z2f1PKcz(i8* noundef %fmt, ...) #{{[0-9]+}} comdat -FOO: call void @llvm.va_start(i8* %{{[a-zA-Z0-9]*}}) +FOO: define weak_odr void @_Z2f1PKcz(ptr noundef %fmt, ...) #{{[0-9]+}} comdat +FOO: call void @llvm.va_start(ptr %{{[a-zA-Z0-9]*}}) Test that implicit special members are emitted into the FOO module if they're ODR used there, otherwise emit them linkonce_odr as usual in the use. diff --git a/clang/test/Modules/initializers.cpp b/clang/test/Modules/initializers.cpp index 435d48d12dfa..dcd9b08ec6f7 100644 --- a/clang/test/Modules/initializers.cpp +++ b/clang/test/Modules/initializers.cpp @@ -1,9 +1,9 @@ -// RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-linux-gnu -std=c++17 -emit-llvm -DIMPORT=1 -fmodules %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-IMPORT,CHECK-NO-NS,CHECK-IMPORT-NO-NS --implicit-check-not=unused -// RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-linux-gnu -std=c++17 -emit-llvm -DIMPORT=1 -DNS -fmodules %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-IMPORT,CHECK-NS,CHECK-IMPORT-NS --implicit-check-not=unused -// RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-linux-gnu -std=c++17 -emit-llvm -DIMPORT=2 -fmodules %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-NO-NS --implicit-check-not=unused -// RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-linux-gnu -std=c++17 -emit-llvm -DIMPORT=2 -DNS -fmodules %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-NS --implicit-check-not=unused -// RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-linux-gnu -std=c++17 -emit-llvm -fmodules %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-NO-NS --implicit-check-not=unused -// RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-linux-gnu -std=c++17 -emit-llvm -DNS -fmodules %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-NS --implicit-check-not=unused +// RUN: %clang_cc1 -triple x86_64-linux-gnu -std=c++17 -emit-llvm -DIMPORT=1 -fmodules %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-IMPORT,CHECK-NO-NS,CHECK-IMPORT-NO-NS --implicit-check-not=unused +// RUN: %clang_cc1 -triple x86_64-linux-gnu -std=c++17 -emit-llvm -DIMPORT=1 -DNS -fmodules %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-IMPORT,CHECK-NS,CHECK-IMPORT-NS --implicit-check-not=unused +// RUN: %clang_cc1 -triple x86_64-linux-gnu -std=c++17 -emit-llvm -DIMPORT=2 -fmodules %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-NO-NS --implicit-check-not=unused +// RUN: %clang_cc1 -triple x86_64-linux-gnu -std=c++17 -emit-llvm -DIMPORT=2 -DNS -fmodules %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-NS --implicit-check-not=unused +// RUN: %clang_cc1 -triple x86_64-linux-gnu -std=c++17 -emit-llvm -fmodules %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-NO-NS --implicit-check-not=unused +// RUN: %clang_cc1 -triple x86_64-linux-gnu -std=c++17 -emit-llvm -DNS -fmodules %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-NS --implicit-check-not=unused // Check that we behave sensibly when importing a header containing strong and // weak, ordered and unordered global initializers. @@ -160,85 +160,85 @@ inline void use(bool b, ...) { // CHECK-SAME: @[[XE_INIT:[^,]*]], {{[^@]*}} @[[XE]] // CHECK-SAME: @[[XF_INIT:[^,]*]], {{[^@]*}} @[[XF]] // CHECK-SAME: @[[XB_INIT:[^,]*]], {{[^@]*}} @[[XB]] -// CHECK-IMPORT-SAME: @[[TU_INIT:[^,]*]], i8* null }] +// CHECK-IMPORT-SAME: @[[TU_INIT:[^,]*]], ptr null }] // FIXME: Should this use __cxa_guard_acquire? // CHECK: define {{.*}} @[[E_INIT]]() -// CHECK: load {{.*}} (i64* @_ZGV -// CHECK: store {{.*}}, i32* @[[E]], +// CHECK: load {{.*}} ptr @_ZGV +// CHECK: store {{.*}}, ptr @[[E]], // FIXME: Should this use __cxa_guard_acquire? // CHECK: define {{.*}} @[[F_INIT]]() -// CHECK: load {{.*}} (i64* @_ZGV -// CHECK: store {{.*}}, i32* @[[F]], +// CHECK: load {{.*}} ptr @_ZGV +// CHECK: store {{.*}}, ptr @[[F]], // CHECK: define {{.*}} @[[G_INIT:__cxx_global.*]]() -// CHECK: load {{.*}} (i64* @_ZGV -// CHECK: [[G_ADDR:%.+]] = call align 4 i32* @llvm.threadlocal.address.p0i32(i32* align 4 @[[G]]) -// CHECK: store {{.*}}, i32* [[G_ADDR]] +// CHECK: load {{.*}} ptr @_ZGV +// CHECK: [[G_ADDR:%.+]] = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @[[G]]) +// CHECK: store {{.*}}, ptr [[G_ADDR]] // CHECK: define {{.*}} @[[H_INIT:__cxx_global.*]]() -// CHECK: load {{.*}} (i64* @_ZGV -// CHECK: [[H_ADDR:%.+]] = call align 4 i32* @llvm.threadlocal.address.p0i32(i32* align 4 @[[H]]) -// CHECK: store {{.*}}, i32* [[H_ADDR]], +// CHECK: load {{.*}} ptr @_ZGV +// CHECK: [[H_ADDR:%.+]] = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @[[H]]) +// CHECK: store {{.*}}, ptr [[H_ADDR]], // FIXME: Should this use __cxa_guard_acquire? // CHECK: define {{.*}} @[[XA_INIT]]() -// CHECK: load {{.*}} (i64* @_ZGV -// CHECK: store {{.*}}, i32* @[[XA]], +// CHECK: load {{.*}} ptr @_ZGV +// CHECK: store {{.*}}, ptr @[[XA]], // CHECK: define {{.*}} @[[XC_INIT:__cxx_global.*]]() -// CHECK: load {{.*}} (i64* @_ZGV -// CHECK: [[XC_ADDR:%.+]] = call align 4 i32* @llvm.threadlocal.address.p0i32(i32* align 4 @[[XC]]) -// CHECK: store {{.*}}, i32* [[XC_ADDR]], +// CHECK: load {{.*}} ptr @_ZGV +// CHECK: [[XC_ADDR:%.+]] = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @[[XC]]) +// CHECK: store {{.*}}, ptr [[XC_ADDR]], // FIXME: Should this use __cxa_guard_acquire? // CHECK: define {{.*}} @[[XE_INIT]]() -// CHECK: load {{.*}} (i64* @_ZGV -// CHECK: store {{.*}}, i32* @[[XE]], +// CHECK: load {{.*}} ptr @_ZGV +// CHECK: store {{.*}}, ptr @[[XE]], // CHECK: define {{.*}} @[[XG_INIT:__cxx_global.*]]() -// CHECK: load {{.*}} (i64* @_ZGV -// CHECK: [[XG_ADDR:%.+]] = call align 4 i32* @llvm.threadlocal.address.p0i32(i32* align 4 @[[XG]]) -// CHECK: store {{.*}}, i32* [[XG_ADDR]], +// CHECK: load {{.*}} ptr @_ZGV +// CHECK: [[XG_ADDR:%.+]] = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @[[XG]]) +// CHECK: store {{.*}}, ptr [[XG_ADDR]], // CHECK: define {{.*}} @[[XH_INIT:__cxx_global.*]]() -// CHECK: load {{.*}} (i64* @_ZGV -// CHECK: [[XH_ADDR:%.+]] = call align 4 i32* @llvm.threadlocal.address.p0i32(i32* align 4 @[[XH]]) -// CHECK: store {{.*}}, i32* [[XH_ADDR]], +// CHECK: load {{.*}} ptr @_ZGV +// CHECK: [[XH_ADDR:%.+]] = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @[[XH]]) +// CHECK: store {{.*}}, ptr [[XH_ADDR]], // FIXME: Should this use __cxa_guard_acquire? // CHECK: define {{.*}} @[[XF_INIT]]() -// CHECK: load {{.*}} (i64* @_ZGV -// CHECK: store {{.*}}, i32* @[[XF]], +// CHECK: load {{.*}} ptr @_ZGV +// CHECK: store {{.*}}, ptr @[[XF]], // CHECK: define {{.*}} @[[XD_INIT:__cxx_global.*]]() -// CHECK: load {{.*}} (i64* @_ZGV -// CHECK: [[XD_ADDR:%.+]] = call align 4 i32* @llvm.threadlocal.address.p0i32(i32* align 4 @[[XD]]) -// CHECK: store {{.*}}, i32* [[XD_ADDR]], +// CHECK: load {{.*}} ptr @_ZGV +// CHECK: [[XD_ADDR:%.+]] = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @[[XD]]) +// CHECK: store {{.*}}, ptr [[XD_ADDR]], // FIXME: Should this use __cxa_guard_acquire? // CHECK: define {{.*}} @[[XB_INIT]]() -// CHECK: load {{.*}} (i64* @_ZGV -// CHECK: store {{.*}}, i32* @[[XB]], +// CHECK: load {{.*}} ptr @_ZGV +// CHECK: store {{.*}}, ptr @[[XB]], // CHECK-IMPORT: define {{.*}} @[[A_INIT:__cxx_global.*]]() // CHECK-IMPORT: call noundef i32 @_Z11non_trivialv( -// CHECK-IMPORT: store {{.*}}, i32* @[[A]], +// CHECK-IMPORT: store {{.*}}, ptr @[[A]], // CHECK-IMPORT: define {{.*}} @[[B_INIT:__cxx_global.*]]() -// CHECK-IMPORT: call i32 @__cxa_guard_acquire(i64* @_ZGV -// CHECK-IMPORT: store {{.*}}, i32* @[[B]], +// CHECK-IMPORT: call i32 @__cxa_guard_acquire(ptr @_ZGV +// CHECK-IMPORT: store {{.*}}, ptr @[[B]], // CHECK-IMPORT: define {{.*}} @[[C_INIT:__cxx_global.*]]() // CHECK-IMPORT: call noundef i32 @_Z11non_trivialv( -// CHECK-IMPORT: [[C_ADDR:%.+]] = call align 4 i32* @llvm.threadlocal.address.p0i32(i32* align 4 @[[C]]) -// CHECK-IMPORT: store {{.*}}, i32* [[C_ADDR]], +// CHECK-IMPORT: [[C_ADDR:%.+]] = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @[[C]]) +// CHECK-IMPORT: store {{.*}}, ptr [[C_ADDR]], // CHECK-IMPORT: define {{.*}} @[[D_INIT:__cxx_global.*]]() -// CHECK-IMPORT: load {{.*}} (i64* @_ZGV -// CHECK-IMPORT: [[D_ADDR:%.+]] = call align 4 i32* @llvm.threadlocal.address.p0i32(i32* align 4 @[[D]]) -// CHECK-IMPORT: store {{.*}}, i32* [[D_ADDR]], +// CHECK-IMPORT: load {{.*}} ptr @_ZGV +// CHECK-IMPORT: [[D_ADDR:%.+]] = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @[[D]]) +// CHECK-IMPORT: store {{.*}}, ptr [[D_ADDR]], // CHECK-IMPORT: define {{.*}} @[[TU_INIT]]() diff --git a/clang/test/Modules/objc-initializer.m b/clang/test/Modules/objc-initializer.m index 5736d78823ac..771b845d831f 100644 --- a/clang/test/Modules/objc-initializer.m +++ b/clang/test/Modules/objc-initializer.m @@ -1,8 +1,8 @@ // UNSUPPORTED: target={{.*}}-zos{{.*}}, target={{.*}}-aix{{.*}} // RUN: rm -rf %t -// RUN: %clang_cc1 -no-opaque-pointers -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -I %S/Inputs/objc-initializer %s -emit-llvm -o - -fobjc-arc | FileCheck %s -// RUN: %clang_cc1 -no-opaque-pointers -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -I %S/Inputs/objc-initializer %s -emit-llvm -o - -fobjc-arc -DIMPORT_TOP | FileCheck %s -// CHECK: kSimDeviceIOGetInterface = internal constant {{.*}} bitcast +// RUN: %clang_cc1 -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -I %S/Inputs/objc-initializer %s -emit-llvm -o - -fobjc-arc | FileCheck %s +// RUN: %clang_cc1 -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -I %S/Inputs/objc-initializer %s -emit-llvm -o - -fobjc-arc -DIMPORT_TOP | FileCheck %s +// CHECK: kSimDeviceIOGetInterface = internal constant ptr #ifdef IMPORT_TOP @import X; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits