From a0597c807fdc104d5ac97d780680306b9fe8e62f Mon Sep 17 00:00:00 2001 From: "Wang, Di5" Date: Fri, 16 Feb 2024 05:13:00 -0800 Subject: [PATCH] add test case for CompileTimePropertiesPass --- ...dstore.ll => sycl-properties-alignment.ll} | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) rename llvm/test/SYCLLowerIR/CompileTimePropertiesPass/{sycl-properties-alignment-loadstore.ll => sycl-properties-alignment.ll} (79%) diff --git a/llvm/test/SYCLLowerIR/CompileTimePropertiesPass/sycl-properties-alignment-loadstore.ll b/llvm/test/SYCLLowerIR/CompileTimePropertiesPass/sycl-properties-alignment.ll similarity index 79% rename from llvm/test/SYCLLowerIR/CompileTimePropertiesPass/sycl-properties-alignment-loadstore.ll rename to llvm/test/SYCLLowerIR/CompileTimePropertiesPass/sycl-properties-alignment.ll index 11b595b748d3e..535b96648286e 100644 --- a/llvm/test/SYCLLowerIR/CompileTimePropertiesPass/sycl-properties-alignment-loadstore.ll +++ b/llvm/test/SYCLLowerIR/CompileTimePropertiesPass/sycl-properties-alignment.ll @@ -1,7 +1,7 @@ ; RUN: opt -passes=compile-time-properties -S %s -o %t.ll ; RUN: FileCheck %s -input-file=%t.ll ; -; Tests the translation of "sycl-alignment" to alignment attributes on load/store +; Tests the translation of "sycl-alignment" to alignment attributes on load/store/non-memory instructions target triple = "spir64_fpga-unknown-unknown" @@ -11,13 +11,14 @@ target triple = "spir64_fpga-unknown-unknown" $_ZN7ann_refIiEC2EPi = comdat any $_ZN7ann_refIiEcvRiEv = comdat any $_ZN7ann_refIiEC2EPi1= comdat any +$no_load_store = comdat any @.str = private unnamed_addr addrspace(1) constant [16 x i8] c"sycl-properties\00", section "llvm.metadata" @.str.1 = private unnamed_addr addrspace(1) constant [9 x i8] c"main.cpp\00", section "llvm.metadata" @.str.2 = private unnamed_addr addrspace(1) constant [15 x i8] c"sycl-alignment\00", section "llvm.metadata" @.str.3 = private unnamed_addr addrspace(1) constant [3 x i8] c"64\00", section "llvm.metadata" -@.args = private unnamed_addr addrspace(1) constant { ptr addrspace(1), ptr addrspace(1) } { ptr addrspace(1) @.str.2, ptr addrspace(1) @.str.3 }, section "llvm.met -adata" +@.args = private unnamed_addr addrspace(1) constant { ptr addrspace(1), ptr addrspace(1) } { ptr addrspace(1) @.str.2, ptr addrspace(1) @.str.3 }, section "llvm.metadata" +; CHECK: @[[AnnoStr:.*]] = private unnamed_addr addrspace(1) constant [10 x i8] c"{44:\2264\22}\00" ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) declare ptr addrspace(4) @llvm.ptr.annotation.p4.p1(ptr addrspace(4), ptr addrspace(1), ptr addrspace(1), i32, ptr addrspace(1)) #5 @@ -77,4 +78,19 @@ entry: ret void } +; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone +define linkonce_odr dso_local spir_func noundef ptr addrspace(4) @no_load_store(ptr addrspace(4) noundef %ptr) comdat align 2 { +entry: + %retval = alloca ptr addrspace(4), align 8 + %ptr.addr = alloca ptr addrspace(4), align 8 + %retval.ascast = addrspacecast ptr %retval to ptr addrspace(4) + %ptr.addr.ascast = addrspacecast ptr %ptr.addr to ptr addrspace(4) + store ptr addrspace(4) %ptr, ptr addrspace(4) %ptr.addr.ascast, align 8 + %0 = load ptr addrspace(4), ptr addrspace(4) %ptr.addr.ascast, align 8 + ; CHECK: %[[AnnoPtr:.*]] = call ptr addrspace(4) @llvm.ptr.annotation.p4.p1(ptr addrspace(4) %0, ptr addrspace(1) @[[AnnoStr]] + ; CHECK: ret ptr addrspace(4) %[[AnnoPtr]] + %1 = call ptr addrspace(4) @llvm.ptr.annotation.p4.p1(ptr addrspace(4) %0, ptr addrspace(1) @.str, ptr addrspace(1) @.str.1, i32 73, ptr addrspace(1) @.args) + ret ptr addrspace(4) %1 +} + declare void @llvm.memcpy.p4.p4.i32(ptr addrspace(4), ptr addrspace(4), i32, i1)