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

Side by Side Diff: test/NaCl/X86/ro-jumptable.ll

Issue 1151093004: Changes from 3.7 merge to files not in upstream (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-llvm.git@master
Patch Set: Created 5 years, 7 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
OLDNEW
1 ; RUN: llc -mtriple=i386-unknown-nacl -filetype=asm %s -o - \ 1 ; RUN: llc -mtriple=i386-unknown-nacl -filetype=asm %s -o - \
2 ; RUN: | FileCheck %s 2 ; RUN: | FileCheck %s
3 3
4 declare i32 @bar(i32) 4 declare i32 @bar(i32)
5 5
6 ; CHECK-LABEL: @foo 6 ; CHECK-LABEL: @foo
7 ; Check that the jump table for the switch goes in .rodata 7 ; Check that the jump table for the switch goes in .rodata
8 ; CHECK: .section .rodata 8 ; CHECK: .section .rodata
9 ; CHECK: .long .LBB0 9 ; CHECK: .long .LBB0
10 define void @foo(i32 %a) { 10 define void @foo(i32 %a) {
(...skipping 21 matching lines...) Expand all
32 %call6 = call i32 @bar(i32 4) 32 %call6 = call i32 @bar(i32 4)
33 br label %sw.epilog 33 br label %sw.epilog
34 34
35 sw.epilog: ; preds = %sw.bb5, %entry 35 sw.epilog: ; preds = %sw.bb5, %entry
36 ret void 36 ret void
37 } 37 }
38 38
39 39
40 ; CHECK: .section .text.foo_linkonce,"axG",@progbits,foo_linkonce,comdat 40 ; CHECK: .section .text.foo_linkonce,"axG",@progbits,foo_linkonce,comdat
41 ; CHECK: @foo_linkonce 41 ; CHECK: @foo_linkonce
42 ; Check that the jump table for the linkonce_odr function goes into a comdat 42 ; Check that the jump table for the comdat function goes into a comdat
43 ; group uniqued like the function 43 ; group uniqued like the function
44 ; CHECK: .section .rodata.foo_linkonce,"aG",@progbits,foo_linkonce,comdat 44 ; CHECK: .section .rodata.foo_linkonce,"aG",@progbits,foo_linkonce,comdat
45 ; CHECK: .long .LBB1 45 ; CHECK: .long .LBB1
46 define linkonce_odr void @foo_linkonce(i32 %a) { 46 $foo_linkonce = comdat any
47 define linkonce_odr void @foo_linkonce(i32 %a) comdat {
47 entry: 48 entry:
48 switch i32 %a, label %sw.epilog [ 49 switch i32 %a, label %sw.epilog [
49 i32 3, label %sw.bb 50 i32 3, label %sw.bb
50 i32 2, label %sw.bb1 51 i32 2, label %sw.bb1
51 i32 1, label %sw.bb3 52 i32 1, label %sw.bb3
52 i32 0, label %sw.bb5 53 i32 0, label %sw.bb5
53 ] 54 ]
54 55
55 sw.bb: ; preds = %entry 56 sw.bb: ; preds = %entry
56 %call = call i32 @bar(i32 1) 57 %call = call i32 @bar(i32 1)
57 br label %sw.bb1 58 br label %sw.bb1
58 59
59 sw.bb1: ; preds = %entry, %sw.bb 60 sw.bb1: ; preds = %entry, %sw.bb
60 %call2 = call i32 @bar(i32 2) 61 %call2 = call i32 @bar(i32 2)
61 br label %sw.bb3 62 br label %sw.bb3
62 63
63 sw.bb3: ; preds = %entry, %sw.bb1 64 sw.bb3: ; preds = %entry, %sw.bb1
64 %call4 = call i32 @bar(i32 3) 65 %call4 = call i32 @bar(i32 3)
65 br label %sw.bb5 66 br label %sw.bb5
66 67
67 sw.bb5: ; preds = %entry, %sw.bb3 68 sw.bb5: ; preds = %entry, %sw.bb3
68 %call6 = call i32 @bar(i32 4) 69 %call6 = call i32 @bar(i32 4)
69 br label %sw.epilog 70 br label %sw.epilog
70 71
71 sw.epilog: ; preds = %sw.bb5, %entry 72 sw.epilog: ; preds = %sw.bb5, %entry
72 ret void 73 ret void
73 } 74 }
74 75
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698