~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/Thumb2/2010-01-06-TailDuplicateLabels.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 -relocation-model=pic < %s | grep {:$} | sort | uniq -d | count 0
 
2
target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:64:64-v128:128:128-a0:0:32-n32"
 
3
target triple = "thumbv7-apple-darwin10"
 
4
 
 
5
; This function produces a duplicate LPC label unless special care is taken when duplicating a t2LDRpci_pic instruction.
 
6
 
 
7
%struct.PlatformMutex = type { i32, [40 x i8] }
 
8
%struct.SpinLock = type { %struct.PlatformMutex }
 
9
%"struct.WTF::TCMalloc_ThreadCache" = type { i32, %struct._opaque_pthread_t*, i8, [68 x %"struct.WTF::TCMalloc_ThreadCache_FreeList"], i32, i32, %"struct.WTF::TCMalloc_ThreadCache"*, %"struct.WTF::TCMalloc_ThreadCache"* }
 
10
%"struct.WTF::TCMalloc_ThreadCache_FreeList" = type { i8*, i16, i16 }
 
11
%struct.__darwin_pthread_handler_rec = type { void (i8*)*, i8*, %struct.__darwin_pthread_handler_rec* }
 
12
%struct._opaque_pthread_t = type { i32, %struct.__darwin_pthread_handler_rec*, [596 x i8] }
 
13
 
 
14
@_ZN3WTFL8heap_keyE = internal global i32 0       ; <i32*> [#uses=1]
 
15
@_ZN3WTFL10tsd_initedE.b = internal global i1 false ; <i1*> [#uses=2]
 
16
@_ZN3WTFL13pageheap_lockE = internal global %struct.SpinLock { %struct.PlatformMutex { i32 850045863, [40 x i8] zeroinitializer } } ; <%struct.SpinLock*> [#uses=1]
 
17
@_ZN3WTFL12thread_heapsE = internal global %"struct.WTF::TCMalloc_ThreadCache"* null ; <%"struct.WTF::TCMalloc_ThreadCache"**> [#uses=1]
 
18
@llvm.used = appending global [1 x i8*] [i8* bitcast (%"struct.WTF::TCMalloc_ThreadCache"* ()* @_ZN3WTF20TCMalloc_ThreadCache22CreateCacheIfNecessaryEv to i8*)], section "llvm.metadata" ; <[1 x i8*]*> [#uses=0]
 
19
 
 
20
define arm_apcscc %"struct.WTF::TCMalloc_ThreadCache"* @_ZN3WTF20TCMalloc_ThreadCache22CreateCacheIfNecessaryEv() nounwind {
 
21
entry:
 
22
  %0 = tail call arm_apcscc  i32 @pthread_mutex_lock(%struct.PlatformMutex* getelementptr inbounds (%struct.SpinLock* @_ZN3WTFL13pageheap_lockE, i32 0, i32 0)) nounwind
 
23
  %.b24 = load i1* @_ZN3WTFL10tsd_initedE.b, align 4 ; <i1> [#uses=1]
 
24
  br i1 %.b24, label %bb5, label %bb6
 
25
 
 
26
bb5:                                              ; preds = %entry
 
27
  %1 = tail call arm_apcscc  %struct._opaque_pthread_t* @pthread_self() nounwind
 
28
  br label %bb6
 
29
 
 
30
bb6:                                              ; preds = %bb5, %entry
 
31
  %me.0 = phi %struct._opaque_pthread_t* [ %1, %bb5 ], [ null, %entry ] ; <%struct._opaque_pthread_t*> [#uses=2]
 
32
  br label %bb11
 
33
 
 
34
bb7:                                              ; preds = %bb11
 
35
  %2 = getelementptr inbounds %"struct.WTF::TCMalloc_ThreadCache"* %h.0, i32 0, i32 1
 
36
  %3 = load %struct._opaque_pthread_t** %2, align 4
 
37
  %4 = tail call arm_apcscc  i32 @pthread_equal(%struct._opaque_pthread_t* %3, %struct._opaque_pthread_t* %me.0) nounwind
 
38
  %5 = icmp eq i32 %4, 0
 
39
  br i1 %5, label %bb10, label %bb14
 
40
 
 
41
bb10:                                             ; preds = %bb7
 
42
  %6 = getelementptr inbounds %"struct.WTF::TCMalloc_ThreadCache"* %h.0, i32 0, i32 6
 
43
  br label %bb11
 
44
 
 
45
bb11:                                             ; preds = %bb10, %bb6
 
46
  %h.0.in = phi %"struct.WTF::TCMalloc_ThreadCache"** [ @_ZN3WTFL12thread_heapsE, %bb6 ], [ %6, %bb10 ] ; <%"struct.WTF::TCMalloc_ThreadCache"**> [#uses=1]
 
47
  %h.0 = load %"struct.WTF::TCMalloc_ThreadCache"** %h.0.in, align 4 ; <%"struct.WTF::TCMalloc_ThreadCache"*> [#uses=4]
 
48
  %7 = icmp eq %"struct.WTF::TCMalloc_ThreadCache"* %h.0, null
 
49
  br i1 %7, label %bb13, label %bb7
 
50
 
 
51
bb13:                                             ; preds = %bb11
 
52
  %8 = tail call arm_apcscc  %"struct.WTF::TCMalloc_ThreadCache"* @_ZN3WTF20TCMalloc_ThreadCache7NewHeapEP17_opaque_pthread_t(%struct._opaque_pthread_t* %me.0) nounwind
 
53
  br label %bb14
 
54
 
 
55
bb14:                                             ; preds = %bb13, %bb7
 
56
  %heap.1 = phi %"struct.WTF::TCMalloc_ThreadCache"* [ %8, %bb13 ], [ %h.0, %bb7 ] ; <%"struct.WTF::TCMalloc_ThreadCache"*> [#uses=4]
 
57
  %9 = tail call arm_apcscc  i32 @pthread_mutex_unlock(%struct.PlatformMutex* getelementptr inbounds (%struct.SpinLock* @_ZN3WTFL13pageheap_lockE, i32 0, i32 0)) nounwind
 
58
  %10 = getelementptr inbounds %"struct.WTF::TCMalloc_ThreadCache"* %heap.1, i32 0, i32 2
 
59
  %11 = load i8* %10, align 4
 
60
  %toBool15not = icmp eq i8 %11, 0                ; <i1> [#uses=1]
 
61
  br i1 %toBool15not, label %bb19, label %bb22
 
62
 
 
63
bb19:                                             ; preds = %bb14
 
64
  %.b = load i1* @_ZN3WTFL10tsd_initedE.b, align 4 ; <i1> [#uses=1]
 
65
  br i1 %.b, label %bb21, label %bb22
 
66
 
 
67
bb21:                                             ; preds = %bb19
 
68
  store i8 1, i8* %10, align 4
 
69
  %12 = load i32* @_ZN3WTFL8heap_keyE, align 4
 
70
  %13 = bitcast %"struct.WTF::TCMalloc_ThreadCache"* %heap.1 to i8*
 
71
  %14 = tail call arm_apcscc  i32 @pthread_setspecific(i32 %12, i8* %13) nounwind
 
72
  ret %"struct.WTF::TCMalloc_ThreadCache"* %heap.1
 
73
 
 
74
bb22:                                             ; preds = %bb19, %bb14
 
75
  ret %"struct.WTF::TCMalloc_ThreadCache"* %heap.1
 
76
}
 
77
 
 
78
declare arm_apcscc i32 @pthread_mutex_lock(%struct.PlatformMutex*)
 
79
 
 
80
declare arm_apcscc i32 @pthread_mutex_unlock(%struct.PlatformMutex*)
 
81
 
 
82
declare hidden arm_apcscc %"struct.WTF::TCMalloc_ThreadCache"* @_ZN3WTF20TCMalloc_ThreadCache7NewHeapEP17_opaque_pthread_t(%struct._opaque_pthread_t*) nounwind
 
83
 
 
84
declare arm_apcscc i32 @pthread_setspecific(i32, i8*)
 
85
 
 
86
declare arm_apcscc %struct._opaque_pthread_t* @pthread_self()
 
87
 
 
88
declare arm_apcscc i32 @pthread_equal(%struct._opaque_pthread_t*, %struct._opaque_pthread_t*)
 
89