blob: f831aa93ac3fdf333e88417d82e49d527cecdcea [file] [log] [blame] [edit]
; RUN: if [ %llvmver -lt 16 ]; then %opt < %s %loadEnzyme -print-activity-analysis -activity-analysis-func=submalloced -o /dev/null | FileCheck %s; fi
; RUN: %opt < %s %newLoadEnzyme -passes="print-activity-analysis" -activity-analysis-func=submalloced -S | FileCheck %s
define double* @f(double** nocapture readonly %a0) readonly {
entry:
%a2 = load double*, double** %a0, align 8
ret double* %a2
}
define double @submalloced(double* %a0) {
entry:
%p3 = alloca double*, align 8
store double* %a0, double** %p3, align 8
%a4 = call double* @f(double** nonnull %p3)
%r = load double, double* %a4, align 8
ret double %r
}
; CHECK: double* %a0: icv:0
; CHECK-NEXT: entry
; CHECK-NEXT: %p3 = alloca double*, align 8: icv:0 ici:1
; CHECK-NEXT: store double* %a0, double** %p3, align 8: icv:1 ici:0
; CHECK-NEXT: %a4 = call double* @f(double** nonnull %p3): icv:0 ici:1
; CHECK-NEXT: %r = load double, double* %a4, align 8: icv:0 ici:0
; CHECK-NEXT: ret double %r: icv:1 ici:1