From 628eaa4cf7a2fcfc744a51864689b38a24f9ab3d Mon Sep 17 00:00:00 2001 From: Jinsong Ji Date: Mon, 23 Aug 2021 13:16:48 +0000 Subject: [PATCH] [InstrProfiling] Add AIX triple to platform test We found that AIX was not covered in most of the InstrProfiling tests. So we are trying to enable the tests gradually. This is to add AIX triple to platform tests to make sure the registrations are OK. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D108490 --- llvm/test/Instrumentation/InstrProfiling/platform.ll | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/llvm/test/Instrumentation/InstrProfiling/platform.ll b/llvm/test/Instrumentation/InstrProfiling/platform.ll index 56a5407..e07264c 100644 --- a/llvm/test/Instrumentation/InstrProfiling/platform.ll +++ b/llvm/test/Instrumentation/InstrProfiling/platform.ll @@ -12,22 +12,27 @@ ; RUN: opt < %s -mtriple=x86_64-pc-solaris -passes=instrprof -S | FileCheck %s -check-prefixes=SOLARIS,ELF ; RUN: opt < %s -mtriple=x86_64-pc-windows -instrprof -S | FileCheck %s -check-prefix=WINDOWS ; RUN: opt < %s -mtriple=x86_64-pc-windows -passes=instrprof -S | FileCheck %s -check-prefix=WINDOWS +; RUN: opt < %s -mtriple=powerpc64-ibm-aix-xcoff -passes=instrprof -S | FileCheck %s -check-prefix=AIX @__profn_foo = private constant [3 x i8] c"foo" ; MACHO-NOT: __profn_foo ; ELF-NOT: __profn_foo ; WINDOWS-NOT: __profn_foo +; AIX-NOT: __profn_foo ; MACHO: @__profc_foo = private global [1 x i64] zeroinitializer, section "__DATA,__llvm_prf_cnts", align 8 ; ELF: @__profc_foo = private global [1 x i64] zeroinitializer, section "__llvm_prf_cnts", comdat, align 8 ; WINDOWS: @__profc_foo = private global [1 x i64] zeroinitializer, section ".lprfc$M", align 8 +; AIX: @__profc_foo = private global [1 x i64] zeroinitializer, section "__llvm_prf_cnts", align 8 ; MACHO: @__profd_foo = private {{.*}}, section "__DATA,__llvm_prf_data,regular,live_support", align 8 ; ELF: @__profd_foo = private {{.*}}, section "__llvm_prf_data", comdat($__profc_foo), align 8 ; WINDOWS: @__profd_foo = private global {{.*}}, section ".lprfd$M", align 8 +; AIX: @__profd_foo = private {{.*}}, section "__llvm_prf_data", align 8 ; ELF: @__llvm_prf_nm = private constant [{{.*}} x i8] c"{{.*}}", section "{{.*}}__llvm_prf_names", align 1 ; WINDOWS: @__llvm_prf_nm = private constant [{{.*}} x i8] c"{{.*}}", section "{{.*}}lprfn$M", align 1 +; AIX: @__llvm_prf_nm = private constant [{{.*}} x i8] c"{{.*}}", section "{{.*}}__llvm_prf_names", align 1 define void @foo() { call void @llvm.instrprof.increment(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__profn_foo, i32 0, i32 0), i64 0, i32 1, i32 0) @@ -45,6 +50,7 @@ declare void @llvm.instrprof.increment(i8*, i64, i32, i32) ; SOLARIS-NOT: define internal void @__llvm_profile_register_functions ; PS4-NOT: define internal void @__llvm_profile_register_functions ; WINDOWS-NOT: define internal void @__llvm_profile_register_functions +; AIX: define internal void @__llvm_profile_register_functions ;; PR38340: When dynamic registration is used, we had a bug where we'd register ;; something that's not a __profd_* variable. @@ -55,3 +61,4 @@ declare void @llvm.instrprof.increment(i8*, i64, i32, i32) ; SOLARIS-NOT: define internal void @__llvm_profile_init ; PS4-NOT: define internal void @__llvm_profile_init ; WINDOWS-NOT: define internal void @__llvm_profile_init +; AIX: define internal void @__llvm_profile_init -- 2.7.4