Compiler projects using llvm
; 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, i8*, i8*, i32)
declare i8* @llvm.ptr.annotation.p0i8(i8*, i8*, i8*, i32, i8*)

define i64 @annotation(i64 %x) {
; CHECK-LABEL: 'annotation'
; CHECK-NEXT:  Classifying expressions for: @annotation
; CHECK-NEXT:    %1 = tail call i64 @llvm.annotation.i64(i64 %x, i8* null, i8* 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, i8* null, i8* null, i32 0)
  ret i64 %1
}

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