~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/MBlaze/jumptable.ll

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2010-03-12 11:30:04 UTC
  • mfrom: (0.41.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20100312113004-b0fop4bkycszdd0z
Tags: 0.96~rc1+dfsg-0ubuntu1
* New upstream RC - FFE (LP: #537636):
  - Add OfficialDatabaseOnly option to clamav-base.postinst.in
  - Add LocalSocketGroup option to clamav-base.postinst.in
  - Add LocalSocketMode option to clamav-base.postinst.in
  - Add CrossFilesystems option to clamav-base.postinst.in
  - Add ClamukoScannerCount option to clamav-base.postinst.in
  - Add BytecodeSecurity opiton to clamav-base.postinst.in
  - Add DetectionStatsHostID option to clamav-freshclam.postinst.in
  - Add Bytecode option to clamav-freshclam.postinst.in
  - Add MilterSocketGroup option to clamav-milter.postinst.in
  - Add MilterSocketMode option to clamav-milter.postinst.in
  - Add ReportHostname option to clamav-milter.postinst.in
  - Bump libclamav SO version to 6.1.0 in libclamav6.install
  - Drop clamdmon from clamav.examples (no longer shipped by upstream)
  - Drop libclamav.a from libclamav-dev.install (not built by upstream)
  - Update SO version for lintian override for libclamav6
  - Add new Bytecode Testing Tool, usr/bin/clambc, to clamav.install
  - Add build-depends on python and python-setuptools for new test suite
  - Update debian/copyright for the embedded copy of llvm (using the system
    llvm is not currently feasible)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; Ensure that jump tables can be handled by the mblaze backend. The
 
2
; jump table should be lowered to a "br" instruction using one of the
 
3
; available registers.
 
4
;
 
5
; RUN: llc < %s -march=mblaze | FileCheck %s
 
6
 
 
7
define i32 @jmptable(i32 %arg)
 
8
{
 
9
    ; CHECK:        jmptable:
 
10
    switch i32 %arg, label %DEFAULT [ i32 0, label %L0
 
11
                                      i32 1, label %L1
 
12
                                      i32 2, label %L2
 
13
                                      i32 3, label %L3
 
14
                                      i32 4, label %L4
 
15
                                      i32 5, label %L5
 
16
                                      i32 6, label %L6
 
17
                                      i32 7, label %L7
 
18
                                      i32 8, label %L8
 
19
                                      i32 9, label %L9 ]
 
20
 
 
21
    ; CHECK:        lw [[REG:r[0-9]*]]
 
22
    ; CHECK:        br [[REG]]
 
23
L0:
 
24
    %var0 = add i32 %arg, 0
 
25
    br label %DONE
 
26
 
 
27
L1:
 
28
    %var1 = add i32 %arg, 1
 
29
    br label %DONE
 
30
 
 
31
L2:
 
32
    %var2 = add i32 %arg, 2
 
33
    br label %DONE
 
34
 
 
35
L3:
 
36
    %var3 = add i32 %arg, 3
 
37
    br label %DONE
 
38
 
 
39
L4:
 
40
    %var4 = add i32 %arg, 4
 
41
    br label %DONE
 
42
 
 
43
L5:
 
44
    %var5 = add i32 %arg, 5
 
45
    br label %DONE
 
46
 
 
47
L6:
 
48
    %var6 = add i32 %arg, 6
 
49
    br label %DONE
 
50
 
 
51
L7:
 
52
    %var7 = add i32 %arg, 7
 
53
    br label %DONE
 
54
 
 
55
L8:
 
56
    %var8 = add i32 %arg, 8
 
57
    br label %DONE
 
58
 
 
59
L9:
 
60
    %var9 = add i32 %arg, 9
 
61
    br label %DONE
 
62
 
 
63
DEFAULT:
 
64
    unreachable
 
65
 
 
66
DONE:
 
67
    %rval = phi i32 [ %var0, %L0 ],
 
68
                    [ %var1, %L1 ],
 
69
                    [ %var2, %L2 ],
 
70
                    [ %var3, %L3 ],
 
71
                    [ %var4, %L4 ],
 
72
                    [ %var5, %L5 ],
 
73
                    [ %var6, %L6 ],
 
74
                    [ %var7, %L7 ],
 
75
                    [ %var8, %L8 ],
 
76
                    [ %var9, %L9 ]
 
77
    ret i32 %rval
 
78
    ; CHECK:        rtsd
 
79
}