xref: /llvm-project/llvm/test/Analysis/ScalarEvolution/no-follow-alias.ll (revision 608ee703e530b00130923417b6663c9f3816f889)
1*608ee703SLeonard Chan; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
2*608ee703SLeonard Chan; RUN: opt -passes='print<scalar-evolution>' -disable-output %s 2>&1 | FileCheck %s
3*608ee703SLeonard Chan
4*608ee703SLeonard Chantarget datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
5*608ee703SLeonard Chantarget triple = "aarch64-unknown-linux-gnu"
6*608ee703SLeonard Chan
7*608ee703SLeonard Chan@glob.private = private constant [32 x i32] zeroinitializer
8*608ee703SLeonard Chan@glob = linkonce_odr hidden alias [32 x i32], inttoptr (i64 add (i64 ptrtoint (ptr @glob.private to i64), i64 1234) to ptr)
9*608ee703SLeonard Chan
10*608ee703SLeonard Chandefine hidden void @func(i64 %idx) local_unnamed_addr {
11*608ee703SLeonard Chan; CHECK-LABEL: 'func'
12*608ee703SLeonard Chan; CHECK-NEXT:  Classifying expressions for: @func
13*608ee703SLeonard Chan; CHECK-NEXT:    %arrayidx = getelementptr inbounds [32 x i32], ptr @glob, i64 0, i64 %idx
14*608ee703SLeonard Chan; CHECK-NEXT:    --> ((4 * %idx) + @glob) U: [0,-1) S: [-9223372036854775808,9223372036854775807)
15*608ee703SLeonard Chan; CHECK-NEXT:  Determining loop execution counts for: @func
16*608ee703SLeonard Chan;
17*608ee703SLeonard Chan  %arrayidx = getelementptr inbounds [32 x i32], ptr @glob, i64 0, i64 %idx
18*608ee703SLeonard Chan  ret void
19*608ee703SLeonard Chan}
20