~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/Analysis/ScalarEvolution/sext-iv-1.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
; RUN: opt < %s -scalar-evolution -analyze \
 
2
; RUN:  | grep { -->  (sext i. \{.\*,+,.\*\}<%bb1> to i64)} | count 5
 
3
 
 
4
; Don't convert (sext {...,+,...}) to {sext(...),+,sext(...)} in cases
 
5
; where the trip count is not within range.
 
6
 
 
7
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
 
8
target triple = "x86_64-unknown-linux-gnu"
 
9
 
 
10
define void @foo0(double* nocapture %x) nounwind {
 
11
bb1.thread:
 
12
        br label %bb1
 
13
 
 
14
bb1:            ; preds = %bb1, %bb1.thread
 
15
        %i.0.reg2mem.0 = phi i64 [ -128, %bb1.thread ], [ %8, %bb1 ]            ; <i64> [#uses=3]
 
16
        %0 = trunc i64 %i.0.reg2mem.0 to i7             ; <i8> [#uses=1]
 
17
        %1 = trunc i64 %i.0.reg2mem.0 to i9             ; <i8> [#uses=1]
 
18
        %2 = sext i9 %1 to i64          ; <i64> [#uses=1]
 
19
        %3 = getelementptr double* %x, i64 %2           ; <double*> [#uses=1]
 
20
        %4 = load double* %3, align 8           ; <double> [#uses=1]
 
21
        %5 = fmul double %4, 3.900000e+00               ; <double> [#uses=1]
 
22
        %6 = sext i7 %0 to i64          ; <i64> [#uses=1]
 
23
        %7 = getelementptr double* %x, i64 %6           ; <double*> [#uses=1]
 
24
        store double %5, double* %7, align 8
 
25
        %8 = add i64 %i.0.reg2mem.0, 1          ; <i64> [#uses=2]
 
26
        %9 = icmp sgt i64 %8, 127               ; <i1> [#uses=1]
 
27
        br i1 %9, label %return, label %bb1
 
28
 
 
29
return:         ; preds = %bb1
 
30
        ret void
 
31
}
 
32
 
 
33
define void @foo1(double* nocapture %x) nounwind {
 
34
bb1.thread:
 
35
        br label %bb1
 
36
 
 
37
bb1:            ; preds = %bb1, %bb1.thread
 
38
        %i.0.reg2mem.0 = phi i64 [ -128, %bb1.thread ], [ %8, %bb1 ]            ; <i64> [#uses=3]
 
39
        %0 = trunc i64 %i.0.reg2mem.0 to i8             ; <i8> [#uses=1]
 
40
        %1 = trunc i64 %i.0.reg2mem.0 to i9             ; <i8> [#uses=1]
 
41
        %2 = sext i9 %1 to i64          ; <i64> [#uses=1]
 
42
        %3 = getelementptr double* %x, i64 %2           ; <double*> [#uses=1]
 
43
        %4 = load double* %3, align 8           ; <double> [#uses=1]
 
44
        %5 = fmul double %4, 3.900000e+00               ; <double> [#uses=1]
 
45
        %6 = sext i8 %0 to i64          ; <i64> [#uses=1]
 
46
        %7 = getelementptr double* %x, i64 %6           ; <double*> [#uses=1]
 
47
        store double %5, double* %7, align 8
 
48
        %8 = add i64 %i.0.reg2mem.0, 1          ; <i64> [#uses=2]
 
49
        %9 = icmp sgt i64 %8, 128               ; <i1> [#uses=1]
 
50
        br i1 %9, label %return, label %bb1
 
51
 
 
52
return:         ; preds = %bb1
 
53
        ret void
 
54
}
 
55
 
 
56
define void @foo2(double* nocapture %x) nounwind {
 
57
bb1.thread:
 
58
        br label %bb1
 
59
 
 
60
bb1:            ; preds = %bb1, %bb1.thread
 
61
        %i.0.reg2mem.0 = phi i64 [ -129, %bb1.thread ], [ %8, %bb1 ]            ; <i64> [#uses=3]
 
62
        %0 = trunc i64 %i.0.reg2mem.0 to i8             ; <i8> [#uses=1]
 
63
        %1 = trunc i64 %i.0.reg2mem.0 to i9             ; <i8> [#uses=1]
 
64
        %2 = sext i9 %1 to i64          ; <i64> [#uses=1]
 
65
        %3 = getelementptr double* %x, i64 %2           ; <double*> [#uses=1]
 
66
        %4 = load double* %3, align 8           ; <double> [#uses=1]
 
67
        %5 = fmul double %4, 3.900000e+00               ; <double> [#uses=1]
 
68
        %6 = sext i8 %0 to i64          ; <i64> [#uses=1]
 
69
        %7 = getelementptr double* %x, i64 %6           ; <double*> [#uses=1]
 
70
        store double %5, double* %7, align 8
 
71
        %8 = add i64 %i.0.reg2mem.0, 1          ; <i64> [#uses=2]
 
72
        %9 = icmp sgt i64 %8, 127               ; <i1> [#uses=1]
 
73
        br i1 %9, label %return, label %bb1
 
74
 
 
75
return:         ; preds = %bb1
 
76
        ret void
 
77
}
 
78
 
 
79
define void @foo3(double* nocapture %x) nounwind {
 
80
bb1.thread:
 
81
        br label %bb1
 
82
 
 
83
bb1:            ; preds = %bb1, %bb1.thread
 
84
        %i.0.reg2mem.0 = phi i64 [ -128, %bb1.thread ], [ %8, %bb1 ]            ; <i64> [#uses=3]
 
85
        %0 = trunc i64 %i.0.reg2mem.0 to i8             ; <i8> [#uses=1]
 
86
        %1 = trunc i64 %i.0.reg2mem.0 to i9             ; <i8> [#uses=1]
 
87
        %2 = sext i9 %1 to i64          ; <i64> [#uses=1]
 
88
        %3 = getelementptr double* %x, i64 %2           ; <double*> [#uses=1]
 
89
        %4 = load double* %3, align 8           ; <double> [#uses=1]
 
90
        %5 = fmul double %4, 3.900000e+00               ; <double> [#uses=1]
 
91
        %6 = sext i8 %0 to i64          ; <i64> [#uses=1]
 
92
        %7 = getelementptr double* %x, i64 %6           ; <double*> [#uses=1]
 
93
        store double %5, double* %7, align 8
 
94
        %8 = add i64 %i.0.reg2mem.0, -1         ; <i64> [#uses=2]
 
95
        %9 = icmp sgt i64 %8, 127               ; <i1> [#uses=1]
 
96
        br i1 %9, label %return, label %bb1
 
97
 
 
98
return:         ; preds = %bb1
 
99
        ret void
 
100
}