~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/test/CodeGen/X86/pr3317.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 -march=x86
 
2
; PR3317
 
3
 
 
4
        %ArraySInt16 = type { %JavaObject, i8*, [0 x i16] }
 
5
        %ArraySInt8 = type { %JavaObject, i8*, [0 x i8] }
 
6
        %Attribut = type { %ArraySInt16*, i32, i32 }
 
7
        %CacheNode = type { i8*, %JavaCommonClass*, %CacheNode*, %Enveloppe* }
 
8
        %Enveloppe = type { %CacheNode*, %ArraySInt16*, %ArraySInt16*, i8, %JavaClass*, %CacheNode }
 
9
        %JavaArray = type { %JavaObject, i8* }
 
10
        %JavaClass = type { %JavaCommonClass, i32, %VT*, [1 x %TaskClassMirror], i8*, %JavaField*, i16, %JavaField*, i16, %JavaMethod*, i16, %JavaMethod*, i16, i8*, %ArraySInt8*, i8*, %Attribut*, i16, %JavaClass**, i16, %JavaClass*, i16, i8, i32, i32, i8*, void (i8*)* }
 
11
        %JavaCommonClass = type { %JavaCommonClass**, i32, [1 x %JavaObject*], i16, %JavaClass**, i16, %ArraySInt16*, %JavaClass*, i8* }
 
12
        %JavaField = type { i8*, i16, %ArraySInt16*, %ArraySInt16*, %Attribut*, i16, %JavaClass*, i32, i16, i8* }
 
13
        %JavaMethod = type { i8*, i16, %Attribut*, i16, %Enveloppe*, i16, %JavaClass*, %ArraySInt16*, %ArraySInt16*, i8, i8*, i32, i8* }
 
14
        %JavaObject = type { %VT*, %JavaCommonClass*, i8* }
 
15
        %TaskClassMirror = type { i32, i8* }
 
16
        %UTF8 = type { %JavaObject, i8*, [0 x i16] }
 
17
        %VT = type [0 x i32 (...)*]
 
18
 
 
19
declare void @jnjvmNullPointerException()
 
20
 
 
21
define i32 @JnJVM_java_rmi_activation_ActivationGroupID_hashCode__(%JavaObject* nocapture) nounwind {
 
22
start:
 
23
        %1 = getelementptr %JavaObject* %0, i64 1, i32 1                ; <%JavaCommonClass**> [#uses=1]
 
24
        %2 = load %JavaCommonClass** %1         ; <%JavaCommonClass*> [#uses=4]
 
25
        %3 = icmp eq %JavaCommonClass* %2, null         ; <i1> [#uses=1]
 
26
        br i1 %3, label %verifyNullExit1, label %verifyNullCont2
 
27
 
 
28
verifyNullExit1:                ; preds = %start
 
29
        tail call void @jnjvmNullPointerException()
 
30
        unreachable
 
31
 
 
32
verifyNullCont2:                ; preds = %start
 
33
        %4 = bitcast %JavaCommonClass* %2 to { %JavaObject, i16, i32, i64 }*            ; <{ %JavaObject, i16, i32, i64 }*> [#uses=1]
 
34
        %5 = getelementptr { %JavaObject, i16, i32, i64 }* %4, i64 0, i32 2             ; <i32*> [#uses=1]
 
35
        %6 = load i32* %5               ; <i32> [#uses=1]
 
36
        %7 = getelementptr %JavaCommonClass* %2, i64 0, i32 4           ; <%JavaClass***> [#uses=1]
 
37
        %8 = bitcast %JavaClass*** %7 to i64*           ; <i64*> [#uses=1]
 
38
        %9 = load i64* %8               ; <i64> [#uses=1]
 
39
        %10 = trunc i64 %9 to i32               ; <i32> [#uses=1]
 
40
        %11 = getelementptr %JavaCommonClass* %2, i64 0, i32 3          ; <i16*> [#uses=1]
 
41
        %12 = load i16* %11             ; <i16> [#uses=1]
 
42
        %13 = sext i16 %12 to i32               ; <i32> [#uses=1]
 
43
        %14 = xor i32 %10, %6           ; <i32> [#uses=1]
 
44
        %15 = xor i32 %14, %13          ; <i32> [#uses=1]
 
45
        ret i32 %15 
 
46
}