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

Side by Side Diff: tests_lit/reader_tests/call-indirect.ll

Issue 1354673002: Fix call instructions to check parameter types for consistency. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: remove typo Created 5 years, 3 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/parse_errs/call-indirect-i8.ll ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ; Test parsing indirect calls in Subzero. 1 ; Test parsing indirect calls in Subzero.
2 2
3 ; RUN: %p2i -i %s --insts | FileCheck %s 3 ; RUN: %p2i -i %s --insts | FileCheck %s
4 ; RUN: %if --need=allow_disable_ir_gen --command \ 4 ; RUN: %p2i -i %s --args -notranslate -timing | FileCheck --check-prefix=NOIR %s
5 ; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
6 ; RUN: | %if --need=allow_disable_ir_gen --command \
7 ; RUN: FileCheck --check-prefix=NOIR %s
8 5
9 define internal void @CallIndirectVoid(i32 %f_addr) { 6 define internal void @CallIndirectVoid(i32 %f_addr) {
10 entry: 7 entry:
11 %f = inttoptr i32 %f_addr to void ()* 8 %f = inttoptr i32 %f_addr to void ()*
12 call void %f() 9 call void %f()
13 ret void 10 ret void
14 } 11 }
15 12
16 ; CHECK: define internal void @CallIndirectVoid(i32 %f_addr) { 13 ; CHECK: define internal void @CallIndirectVoid(i32 %f_addr) {
17 ; CHECK-NEXT: entry: 14 ; CHECK-NEXT: entry:
18 ; CHECK-NEXT: call void %f_addr() 15 ; CHECK-NEXT: call void %f_addr()
19 ; CHECK-NEXT: ret void 16 ; CHECK-NEXT: ret void
20 ; CHECK-NEXT: } 17 ; CHECK-NEXT: }
21 18
22 define internal i32 @CallIndirectI32(i32 %f_addr) { 19 define internal i32 @CallIndirectI32(i32 %f_addr) {
23 entry: 20 entry:
24 %f = inttoptr i32 %f_addr to i32(i8, i1)* 21 %f = inttoptr i32 %f_addr to i32(i64, i32)*
25 %r = call i32 %f(i8 1, i1 false) 22 %r = call i32 %f(i64 1, i32 %f_addr)
26 ret i32 %r 23 ret i32 %r
27 } 24 }
28 25
29 ; CHECK-NEXT: define internal i32 @CallIndirectI32(i32 %f_addr) { 26 ; CHECK-NEXT: define internal i32 @CallIndirectI32(i32 %f_addr) {
30 ; CHECK-NEXT: entry: 27 ; CHECK-NEXT: entry:
31 ; CHECK-NEXT: %r = call i32 %f_addr(i8 1, i1 false) 28 ; CHECK-NEXT: %r = call i32 %f_addr(i64 1, i32 %f_addr)
32 ; CHECK-NEXT: ret i32 %r 29 ; CHECK-NEXT: ret i32 %r
33 ; CHECK-NEXT: } 30 ; CHECK-NEXT: }
34 31
35 ; NOIR: Total across all functions 32 ; NOIR: Total across all functions
OLDNEW
« no previous file with comments | « tests_lit/parse_errs/call-indirect-i8.ll ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698