; This test checks that the code doesn't aggressively apply TBAA ; metadata to temporaries that are passed by pointer to kernels. ; RUN: opt -load libbcc.so -kernelexp -inline -tbaa -aa-eval -print-may-aliases -evaluate-aa-metadata < %s -S -o - 2>&1 | FileCheck %s ; ModuleID = 'kernel.bc' target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128" target triple = "aarch64-none-linux-gnueabi" ; Declarations expected by the expansion pass. declare void @_Z14rsGetElementAt13rs_allocationj() declare void @_Z14rsGetElementAt13rs_allocationjj() declare void @_Z14rsGetElementAt13rs_allocationjjj() declare void @_Z14rsSetElementAt13rs_allocationPvj() declare void @_Z14rsSetElementAt13rs_allocationPvjj() declare void @_Z14rsSetElementAt13rs_allocationPvjjj() declare void @_Z25rsGetElementAtYuv_uchar_Y13rs_allocationjj() declare void @_Z25rsGetElementAtYuv_uchar_U13rs_allocationjj() declare void @_Z25rsGetElementAtYuv_uchar_V13rs_allocationjj() %struct.int5.0 = type { [5 x i32] } ; Function Attrs: nounwind define void @add1_int5(%struct.int5.0* noalias nocapture sret %agg.result, %struct.int5.0* nocapture %in) #0 { br label %1 ;