Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Side by Side Diff: tests_lit/llvm2ice_tests/simple-loop.ll

Issue 1161543005: Subzero: Changes needed for LLVM 3.7 integration. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests_lit/llvm2ice_tests/shift.ll ('k') | tests_lit/llvm2ice_tests/struct-arith.pnacl.ll » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ; This tests a simple loop that sums the elements of an input array. 1 ; This tests a simple loop that sums the elements of an input array.
2 ; The O2 check patterns represent the best code currently achieved. 2 ; The O2 check patterns represent the best code currently achieved.
3 3
4 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 \ 4 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 \
5 ; RUN: | FileCheck %s 5 ; RUN: | FileCheck %s
6 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -Om1 \ 6 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -Om1 \
7 ; RUN: | FileCheck --check-prefix=OPTM1 %s 7 ; RUN: | FileCheck --check-prefix=OPTM1 %s
8 8
9 define i32 @simple_loop(i32 %a, i32 %n) { 9 define i32 @simple_loop(i32 %a, i32 %n) {
10 entry: 10 entry:
11 %cmp4 = icmp sgt i32 %n, 0 11 %cmp4 = icmp sgt i32 %n, 0
12 br i1 %cmp4, label %for.body, label %for.end 12 br i1 %cmp4, label %for.body, label %for.end
13 13
14 for.body: 14 for.body:
15 %i.06 = phi i32 [ %inc, %for.body ], [ 0, %entry ] 15 %i.06 = phi i32 [ %inc, %for.body ], [ 0, %entry ]
16 %sum.05 = phi i32 [ %add, %for.body ], [ 0, %entry ] 16 %sum.05 = phi i32 [ %add, %for.body ], [ 0, %entry ]
17 %gep_array = mul i32 %i.06, 4 17 %gep_array = mul i32 %i.06, 4
18 %gep = add i32 %a, %gep_array 18 %gep = add i32 %a, %gep_array
19 %__9 = inttoptr i32 %gep to i32* 19 %__9 = inttoptr i32 %gep to i32*
20 %v0 = load i32* %__9, align 1 20 %v0 = load i32, i32* %__9, align 1
21 %add = add i32 %v0, %sum.05 21 %add = add i32 %v0, %sum.05
22 %inc = add i32 %i.06, 1 22 %inc = add i32 %i.06, 1
23 %cmp = icmp slt i32 %inc, %n 23 %cmp = icmp slt i32 %inc, %n
24 br i1 %cmp, label %for.body, label %for.end 24 br i1 %cmp, label %for.body, label %for.end
25 25
26 for.end: 26 for.end:
27 %sum.0.lcssa = phi i32 [ 0, %entry ], [ %add, %for.body ] 27 %sum.0.lcssa = phi i32 [ 0, %entry ], [ %add, %for.body ]
28 ret i32 %sum.0.lcssa 28 ret i32 %sum.0.lcssa
29 } 29 }
30 30
(...skipping 10 matching lines...) Expand all
41 ; Check for comparing the induction variable against the loop size. 41 ; Check for comparing the induction variable against the loop size.
42 ; CHECK-NEXT: cmp [[IREG]], 42 ; CHECK-NEXT: cmp [[IREG]],
43 ; CHECK-NEXT: jl [[L]] 43 ; CHECK-NEXT: jl [[L]]
44 ; 44 ;
45 ; There's nothing remarkable under Om1 to test for, since Om1 generates 45 ; There's nothing remarkable under Om1 to test for, since Om1 generates
46 ; such atrocious code (by design). 46 ; such atrocious code (by design).
47 ; OPTM1-LABEL: simple_loop 47 ; OPTM1-LABEL: simple_loop
48 ; OPTM1: cmp {{.*}},0x0 48 ; OPTM1: cmp {{.*}},0x0
49 ; OPTM1: setl 49 ; OPTM1: setl
50 ; OPTM1: ret 50 ; OPTM1: ret
OLDNEW
« no previous file with comments | « tests_lit/llvm2ice_tests/shift.ll ('k') | tests_lit/llvm2ice_tests/struct-arith.pnacl.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698