~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/X86/x86-64-sret-return.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: llc < %s | FileCheck %s
 
2
 
 
3
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"
 
4
target triple = "x86_64-apple-darwin8"
 
5
        %struct.foo = type { [4 x i64] }
 
6
 
 
7
; CHECK: bar:
 
8
; CHECK: movq %rdi, %rax
 
9
define void @bar(%struct.foo* noalias sret  %agg.result, %struct.foo* %d) nounwind  {
 
10
entry:
 
11
        %d_addr = alloca %struct.foo*           ; <%struct.foo**> [#uses=2]
 
12
        %memtmp = alloca %struct.foo, align 8           ; <%struct.foo*> [#uses=1]
 
13
        %"alloca point" = bitcast i32 0 to i32          ; <i32> [#uses=0]
 
14
        store %struct.foo* %d, %struct.foo** %d_addr
 
15
        %tmp = load %struct.foo** %d_addr, align 8              ; <%struct.foo*> [#uses=1]
 
16
        %tmp1 = getelementptr %struct.foo* %agg.result, i32 0, i32 0            ; <[4 x i64]*> [#uses=4]
 
17
        %tmp2 = getelementptr %struct.foo* %tmp, i32 0, i32 0           ; <[4 x i64]*> [#uses=4]
 
18
        %tmp3 = getelementptr [4 x i64]* %tmp1, i32 0, i32 0            ; <i64*> [#uses=1]
 
19
        %tmp4 = getelementptr [4 x i64]* %tmp2, i32 0, i32 0            ; <i64*> [#uses=1]
 
20
        %tmp5 = load i64* %tmp4, align 8                ; <i64> [#uses=1]
 
21
        store i64 %tmp5, i64* %tmp3, align 8
 
22
        %tmp6 = getelementptr [4 x i64]* %tmp1, i32 0, i32 1            ; <i64*> [#uses=1]
 
23
        %tmp7 = getelementptr [4 x i64]* %tmp2, i32 0, i32 1            ; <i64*> [#uses=1]
 
24
        %tmp8 = load i64* %tmp7, align 8                ; <i64> [#uses=1]
 
25
        store i64 %tmp8, i64* %tmp6, align 8
 
26
        %tmp9 = getelementptr [4 x i64]* %tmp1, i32 0, i32 2            ; <i64*> [#uses=1]
 
27
        %tmp10 = getelementptr [4 x i64]* %tmp2, i32 0, i32 2           ; <i64*> [#uses=1]
 
28
        %tmp11 = load i64* %tmp10, align 8              ; <i64> [#uses=1]
 
29
        store i64 %tmp11, i64* %tmp9, align 8
 
30
        %tmp12 = getelementptr [4 x i64]* %tmp1, i32 0, i32 3           ; <i64*> [#uses=1]
 
31
        %tmp13 = getelementptr [4 x i64]* %tmp2, i32 0, i32 3           ; <i64*> [#uses=1]
 
32
        %tmp14 = load i64* %tmp13, align 8              ; <i64> [#uses=1]
 
33
        store i64 %tmp14, i64* %tmp12, align 8
 
34
        %tmp15 = getelementptr %struct.foo* %memtmp, i32 0, i32 0               ; <[4 x i64]*> [#uses=4]
 
35
        %tmp16 = getelementptr %struct.foo* %agg.result, i32 0, i32 0           ; <[4 x i64]*> [#uses=4]
 
36
        %tmp17 = getelementptr [4 x i64]* %tmp15, i32 0, i32 0          ; <i64*> [#uses=1]
 
37
        %tmp18 = getelementptr [4 x i64]* %tmp16, i32 0, i32 0          ; <i64*> [#uses=1]
 
38
        %tmp19 = load i64* %tmp18, align 8              ; <i64> [#uses=1]
 
39
        store i64 %tmp19, i64* %tmp17, align 8
 
40
        %tmp20 = getelementptr [4 x i64]* %tmp15, i32 0, i32 1          ; <i64*> [#uses=1]
 
41
        %tmp21 = getelementptr [4 x i64]* %tmp16, i32 0, i32 1          ; <i64*> [#uses=1]
 
42
        %tmp22 = load i64* %tmp21, align 8              ; <i64> [#uses=1]
 
43
        store i64 %tmp22, i64* %tmp20, align 8
 
44
        %tmp23 = getelementptr [4 x i64]* %tmp15, i32 0, i32 2          ; <i64*> [#uses=1]
 
45
        %tmp24 = getelementptr [4 x i64]* %tmp16, i32 0, i32 2          ; <i64*> [#uses=1]
 
46
        %tmp25 = load i64* %tmp24, align 8              ; <i64> [#uses=1]
 
47
        store i64 %tmp25, i64* %tmp23, align 8
 
48
        %tmp26 = getelementptr [4 x i64]* %tmp15, i32 0, i32 3          ; <i64*> [#uses=1]
 
49
        %tmp27 = getelementptr [4 x i64]* %tmp16, i32 0, i32 3          ; <i64*> [#uses=1]
 
50
        %tmp28 = load i64* %tmp27, align 8              ; <i64> [#uses=1]
 
51
        store i64 %tmp28, i64* %tmp26, align 8
 
52
        br label %return
 
53
 
 
54
return:         ; preds = %entry
 
55
        ret void
 
56
}
 
57
 
 
58
; CHECK: foo:
 
59
; CHECK: movq %rdi, %rax
 
60
define void @foo({ i64 }* noalias nocapture sret %agg.result) nounwind {
 
61
  store { i64 } { i64 0 }, { i64 }* %agg.result
 
62
  ret void
 
63
}