11268cf64SAndrey Tretyakov; RUN: llc -O0 -mtriple=spirv64-unknown-linux %s -o - | FileCheck %s 2*0a443f13SVyacheslav Levytskyy; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %} 31268cf64SAndrey Tretyakov 41268cf64SAndrey Tretyakov; CHECK: OpDecorate %[[#FUNC_NAME:]] LinkageAttributes "_Z10BitReversei" 51268cf64SAndrey Tretyakov; CHECK-NOT: OpBitReverse 61268cf64SAndrey Tretyakov; CHECK: %[[#]] = OpFunctionCall %[[#]] %[[#FUNC_NAME]] 71268cf64SAndrey Tretyakov 81268cf64SAndrey Tretyakov%"class._ZTSZ4mainE3$_0.anon" = type { i8 } 91268cf64SAndrey Tretyakov 101268cf64SAndrey Tretyakov$_Z10BitReversei = comdat any 111268cf64SAndrey Tretyakov 121268cf64SAndrey Tretyakovdefine dso_local spir_kernel void @_ZTSZ4mainE15kernel_function() { 131268cf64SAndrey Tretyakoventry: 141268cf64SAndrey Tretyakov %call = call spir_func i32 @_Z10BitReversei(i32 1) 151268cf64SAndrey Tretyakov ret void 161268cf64SAndrey Tretyakov} 171268cf64SAndrey Tretyakov 181268cf64SAndrey Tretyakovdeclare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) 191268cf64SAndrey Tretyakov 201268cf64SAndrey Tretyakovdeclare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) 211268cf64SAndrey Tretyakov 221268cf64SAndrey Tretyakovdefine linkonce_odr dso_local spir_func i32 @_Z10BitReversei(i32 %value) comdat { 231268cf64SAndrey Tretyakoventry: 241268cf64SAndrey Tretyakov %value.addr = alloca i32, align 4 251268cf64SAndrey Tretyakov %reversed = alloca i32, align 4 261268cf64SAndrey Tretyakov store i32 %value, i32* %value.addr, align 4 271268cf64SAndrey Tretyakov %0 = bitcast i32* %reversed to i8* 281268cf64SAndrey Tretyakov call void @llvm.lifetime.start.p0i8(i64 4, i8* %0) 291268cf64SAndrey Tretyakov store i32 0, i32* %reversed, align 4 301268cf64SAndrey Tretyakov %1 = load i32, i32* %reversed, align 4 311268cf64SAndrey Tretyakov %2 = bitcast i32* %reversed to i8* 321268cf64SAndrey Tretyakov call void @llvm.lifetime.end.p0i8(i64 4, i8* %2) 331268cf64SAndrey Tretyakov ret i32 %1 341268cf64SAndrey Tretyakov} 35