llvm/llvm/test/Analysis/ScalarEvolution/annotation-intrinsics.ll

; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
; RUN: opt -disable-output "-passes=print<scalar-evolution>" < %s 2>&1 | FileCheck %s

declare i64 @llvm.annotation.i64(i64, ptr, ptr, i32)
declare ptr @llvm.ptr.annotation.p0(ptr, ptr, ptr, i32, ptr)

define i64 @annotation(i64 %x) {
; CHECK-LABEL: 'annotation'
; CHECK-NEXT:  Classifying expressions for: @annotation
; CHECK-NEXT:    %1 = tail call i64 @llvm.annotation.i64.p0(i64 %x, ptr null, ptr null, i32 0)
; CHECK-NEXT:    --> %x U: full-set S: full-set
; CHECK-NEXT:  Determining loop execution counts for: @annotation
;
  %1 = tail call i64 @llvm.annotation.i64(i64 %x, ptr null, ptr null, i32 0)
  ret i64 %1
}

define ptr @ptr_annotation(ptr %x) {
; CHECK-LABEL: 'ptr_annotation'
; CHECK-NEXT:  Classifying expressions for: @ptr_annotation
; CHECK-NEXT:    %1 = call ptr @llvm.ptr.annotation.p0.p0(ptr %x, ptr null, ptr null, i32 0, ptr null)
; CHECK-NEXT:    --> %x U: full-set S: full-set
; CHECK-NEXT:  Determining loop execution counts for: @ptr_annotation
;
  %1 = call ptr @llvm.ptr.annotation.p0(ptr %x, ptr null, ptr null, i32 0, ptr null)
  ret ptr %1
}