~ubuntu-branches/ubuntu/jaunty/clamav/jaunty-backports

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/X86/2009-04-16-SpillerUnfold.ll

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2010-03-12 11:30:04 UTC
  • mfrom: (1.39.1 upstream)
  • mto: This revision was merged to the branch mainline in revision 11.
  • 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: llc < %s -mtriple=x86_64-apple-darwin10.0 -relocation-model=pic -disable-fp-elim -stats |& grep {Number of modref unfolded}
 
2
; XFAIL: *
 
3
; 69408 removed the opportunity for this optimization to work
 
4
 
 
5
        %struct.SHA512_CTX = type { [8 x i64], i64, i64, %struct.anon, i32, i32 }
 
6
        %struct.anon = type { [16 x i64] }
 
7
@K512 = external constant [80 x i64], align 32          ; <[80 x i64]*> [#uses=2]
 
8
 
 
9
define fastcc void @sha512_block_data_order(%struct.SHA512_CTX* nocapture %ctx, i8* nocapture %in, i64 %num) nounwind ssp {
 
10
entry:
 
11
        br label %bb349
 
12
 
 
13
bb349:          ; preds = %bb349, %entry
 
14
        %e.0489 = phi i64 [ 0, %entry ], [ %e.0, %bb349 ]               ; <i64> [#uses=3]
 
15
        %b.0472 = phi i64 [ 0, %entry ], [ %87, %bb349 ]                ; <i64> [#uses=2]
 
16
        %asmtmp356 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 41, i64 %e.0489) nounwind                ; <i64> [#uses=1]
 
17
        %0 = xor i64 0, %asmtmp356              ; <i64> [#uses=1]
 
18
        %1 = add i64 0, %0              ; <i64> [#uses=1]
 
19
        %2 = add i64 %1, 0              ; <i64> [#uses=1]
 
20
        %3 = add i64 %2, 0              ; <i64> [#uses=1]
 
21
        %4 = add i64 %3, 0              ; <i64> [#uses=5]
 
22
        %asmtmp372 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 34, i64 %4) nounwind             ; <i64> [#uses=1]
 
23
        %asmtmp373 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 39, i64 %4) nounwind             ; <i64> [#uses=0]
 
24
        %5 = xor i64 %asmtmp372, 0              ; <i64> [#uses=0]
 
25
        %6 = xor i64 0, %b.0472         ; <i64> [#uses=1]
 
26
        %7 = and i64 %4, %6             ; <i64> [#uses=1]
 
27
        %8 = xor i64 %7, 0              ; <i64> [#uses=1]
 
28
        %9 = add i64 0, %8              ; <i64> [#uses=1]
 
29
        %10 = add i64 %9, 0             ; <i64> [#uses=2]
 
30
        %asmtmp377 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 61, i64 0) nounwind              ; <i64> [#uses=1]
 
31
        %11 = xor i64 0, %asmtmp377             ; <i64> [#uses=1]
 
32
        %12 = add i64 0, %11            ; <i64> [#uses=1]
 
33
        %13 = add i64 %12, 0            ; <i64> [#uses=1]
 
34
        %not381 = xor i64 0, -1         ; <i64> [#uses=1]
 
35
        %14 = and i64 %e.0489, %not381          ; <i64> [#uses=1]
 
36
        %15 = xor i64 0, %14            ; <i64> [#uses=1]
 
37
        %16 = add i64 %15, 0            ; <i64> [#uses=1]
 
38
        %17 = add i64 %16, %13          ; <i64> [#uses=1]
 
39
        %18 = add i64 %17, 0            ; <i64> [#uses=1]
 
40
        %19 = add i64 %18, 0            ; <i64> [#uses=2]
 
41
        %20 = add i64 %19, %b.0472              ; <i64> [#uses=3]
 
42
        %21 = add i64 %19, 0            ; <i64> [#uses=1]
 
43
        %22 = add i64 %21, 0            ; <i64> [#uses=1]
 
44
        %23 = add i32 0, 12             ; <i32> [#uses=1]
 
45
        %24 = and i32 %23, 12           ; <i32> [#uses=1]
 
46
        %25 = zext i32 %24 to i64               ; <i64> [#uses=1]
 
47
        %26 = getelementptr [16 x i64]* null, i64 0, i64 %25            ; <i64*> [#uses=0]
 
48
        %27 = add i64 0, %e.0489                ; <i64> [#uses=1]
 
49
        %28 = add i64 %27, 0            ; <i64> [#uses=1]
 
50
        %29 = add i64 %28, 0            ; <i64> [#uses=1]
 
51
        %30 = add i64 %29, 0            ; <i64> [#uses=2]
 
52
        %31 = and i64 %10, %4           ; <i64> [#uses=1]
 
53
        %32 = xor i64 0, %31            ; <i64> [#uses=1]
 
54
        %33 = add i64 %30, 0            ; <i64> [#uses=3]
 
55
        %34 = add i64 %30, %32          ; <i64> [#uses=1]
 
56
        %35 = add i64 %34, 0            ; <i64> [#uses=1]
 
57
        %36 = and i64 %33, %20          ; <i64> [#uses=1]
 
58
        %37 = xor i64 %36, 0            ; <i64> [#uses=1]
 
59
        %38 = add i64 %37, 0            ; <i64> [#uses=1]
 
60
        %39 = add i64 %38, 0            ; <i64> [#uses=1]
 
61
        %40 = add i64 %39, 0            ; <i64> [#uses=1]
 
62
        %41 = add i64 %40, 0            ; <i64> [#uses=1]
 
63
        %42 = add i64 %41, %4           ; <i64> [#uses=3]
 
64
        %43 = or i32 0, 6               ; <i32> [#uses=1]
 
65
        %44 = and i32 %43, 14           ; <i32> [#uses=1]
 
66
        %45 = zext i32 %44 to i64               ; <i64> [#uses=1]
 
67
        %46 = getelementptr [16 x i64]* null, i64 0, i64 %45            ; <i64*> [#uses=1]
 
68
        %not417 = xor i64 %42, -1               ; <i64> [#uses=1]
 
69
        %47 = and i64 %20, %not417              ; <i64> [#uses=1]
 
70
        %48 = xor i64 0, %47            ; <i64> [#uses=1]
 
71
        %49 = getelementptr [80 x i64]* @K512, i64 0, i64 0             ; <i64*> [#uses=1]
 
72
        %50 = load i64* %49, align 8            ; <i64> [#uses=1]
 
73
        %51 = add i64 %48, 0            ; <i64> [#uses=1]
 
74
        %52 = add i64 %51, 0            ; <i64> [#uses=1]
 
75
        %53 = add i64 %52, 0            ; <i64> [#uses=1]
 
76
        %54 = add i64 %53, %50          ; <i64> [#uses=2]
 
77
        %asmtmp420 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 34, i64 0) nounwind              ; <i64> [#uses=1]
 
78
        %asmtmp421 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 39, i64 0) nounwind              ; <i64> [#uses=1]
 
79
        %55 = xor i64 %asmtmp420, 0             ; <i64> [#uses=1]
 
80
        %56 = xor i64 %55, %asmtmp421           ; <i64> [#uses=1]
 
81
        %57 = add i64 %54, %10          ; <i64> [#uses=5]
 
82
        %58 = add i64 %54, 0            ; <i64> [#uses=1]
 
83
        %59 = add i64 %58, %56          ; <i64> [#uses=2]
 
84
        %60 = or i32 0, 7               ; <i32> [#uses=1]
 
85
        %61 = and i32 %60, 15           ; <i32> [#uses=1]
 
86
        %62 = zext i32 %61 to i64               ; <i64> [#uses=1]
 
87
        %63 = getelementptr [16 x i64]* null, i64 0, i64 %62            ; <i64*> [#uses=2]
 
88
        %64 = load i64* null, align 8           ; <i64> [#uses=1]
 
89
        %65 = lshr i64 %64, 6           ; <i64> [#uses=1]
 
90
        %66 = xor i64 0, %65            ; <i64> [#uses=1]
 
91
        %67 = xor i64 %66, 0            ; <i64> [#uses=1]
 
92
        %68 = load i64* %46, align 8            ; <i64> [#uses=1]
 
93
        %69 = load i64* null, align 8           ; <i64> [#uses=1]
 
94
        %70 = add i64 %68, 0            ; <i64> [#uses=1]
 
95
        %71 = add i64 %70, %67          ; <i64> [#uses=1]
 
96
        %72 = add i64 %71, %69          ; <i64> [#uses=1]
 
97
        %asmtmp427 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 18, i64 %57) nounwind            ; <i64> [#uses=1]
 
98
        %asmtmp428 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 41, i64 %57) nounwind            ; <i64> [#uses=1]
 
99
        %73 = xor i64 %asmtmp427, 0             ; <i64> [#uses=1]
 
100
        %74 = xor i64 %73, %asmtmp428           ; <i64> [#uses=1]
 
101
        %75 = and i64 %57, %42          ; <i64> [#uses=1]
 
102
        %not429 = xor i64 %57, -1               ; <i64> [#uses=1]
 
103
        %76 = and i64 %33, %not429              ; <i64> [#uses=1]
 
104
        %77 = xor i64 %75, %76          ; <i64> [#uses=1]
 
105
        %78 = getelementptr [80 x i64]* @K512, i64 0, i64 0             ; <i64*> [#uses=1]
 
106
        %79 = load i64* %78, align 16           ; <i64> [#uses=1]
 
107
        %80 = add i64 %77, %20          ; <i64> [#uses=1]
 
108
        %81 = add i64 %80, %72          ; <i64> [#uses=1]
 
109
        %82 = add i64 %81, %74          ; <i64> [#uses=1]
 
110
        %83 = add i64 %82, %79          ; <i64> [#uses=1]
 
111
        %asmtmp432 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 34, i64 %59) nounwind            ; <i64> [#uses=1]
 
112
        %asmtmp433 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 39, i64 %59) nounwind            ; <i64> [#uses=1]
 
113
        %84 = xor i64 %asmtmp432, 0             ; <i64> [#uses=1]
 
114
        %85 = xor i64 %84, %asmtmp433           ; <i64> [#uses=1]
 
115
        %86 = add i64 %83, %22          ; <i64> [#uses=2]
 
116
        %87 = add i64 0, %85            ; <i64> [#uses=1]
 
117
        %asmtmp435 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 8, i64 0) nounwind               ; <i64> [#uses=1]
 
118
        %88 = xor i64 0, %asmtmp435             ; <i64> [#uses=1]
 
119
        %89 = load i64* null, align 8           ; <i64> [#uses=3]
 
120
        %asmtmp436 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 19, i64 %89) nounwind            ; <i64> [#uses=1]
 
121
        %asmtmp437 = call i64 asm "rorq $1,$0", "=r,J,0,~{dirflag},~{fpsr},~{flags},~{cc}"(i32 61, i64 %89) nounwind            ; <i64> [#uses=1]
 
122
        %90 = lshr i64 %89, 6           ; <i64> [#uses=1]
 
123
        %91 = xor i64 %asmtmp436, %90           ; <i64> [#uses=1]
 
124
        %92 = xor i64 %91, %asmtmp437           ; <i64> [#uses=1]
 
125
        %93 = load i64* %63, align 8            ; <i64> [#uses=1]
 
126
        %94 = load i64* null, align 8           ; <i64> [#uses=1]
 
127
        %95 = add i64 %93, %88          ; <i64> [#uses=1]
 
128
        %96 = add i64 %95, %92          ; <i64> [#uses=1]
 
129
        %97 = add i64 %96, %94          ; <i64> [#uses=2]
 
130
        store i64 %97, i64* %63, align 8
 
131
        %98 = and i64 %86, %57          ; <i64> [#uses=1]
 
132
        %not441 = xor i64 %86, -1               ; <i64> [#uses=1]
 
133
        %99 = and i64 %42, %not441              ; <i64> [#uses=1]
 
134
        %100 = xor i64 %98, %99         ; <i64> [#uses=1]
 
135
        %101 = add i64 %100, %33                ; <i64> [#uses=1]
 
136
        %102 = add i64 %101, %97                ; <i64> [#uses=1]
 
137
        %103 = add i64 %102, 0          ; <i64> [#uses=1]
 
138
        %104 = add i64 %103, 0          ; <i64> [#uses=1]
 
139
        %e.0 = add i64 %104, %35                ; <i64> [#uses=1]
 
140
        br label %bb349
 
141
}