~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to test/Analysis/ScalarEvolution/avoid-smax-0.ll

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2015-07-15 17:51:08 UTC
  • Revision ID: package-import@ubuntu.com-20150715175108-l8mynwovkx4zx697
Tags: upstream-3.7~+rc2
ImportĀ upstreamĀ versionĀ 3.7~+rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; RUN: opt < %s -scalar-evolution -analyze | FileCheck %s
 
2
 
 
3
; CHECK: Loop %bb3: backedge-taken count is (-1 + %n)
 
4
 
 
5
; We don't want to use a max in the trip count expression in
 
6
; this testcase.
 
7
 
 
8
define void @foo(i32 %n, i32* %p, i32* %q) nounwind {
 
9
entry:
 
10
        icmp sgt i32 %n, 0
 
11
        br i1 %0, label %bb, label %return
 
12
 
 
13
bb:
 
14
        load i32, i32* %q, align 4
 
15
        icmp eq i32 %1, 0
 
16
        br i1 %2, label %return, label %bb3.preheader
 
17
 
 
18
bb3.preheader:
 
19
        br label %bb3
 
20
 
 
21
bb3:
 
22
        %i.0 = phi i32 [ %7, %bb3 ], [ 0, %bb3.preheader ]
 
23
        getelementptr i32, i32* %p, i32 %i.0
 
24
        load i32, i32* %3, align 4
 
25
        add i32 %4, 1
 
26
        getelementptr i32, i32* %p, i32 %i.0
 
27
        store i32 %5, i32* %6, align 4
 
28
        add i32 %i.0, 1
 
29
        icmp slt i32 %7, %n
 
30
        br i1 %8, label %bb3, label %return.loopexit
 
31
 
 
32
return.loopexit:
 
33
        br label %return
 
34
 
 
35
return:
 
36
        ret void
 
37
}