Re-land [openmp] Fix warnings when building on Windows with latest MSVC or Clang...
[llvm-project.git] / llvm / test / CodeGen / X86 / 2007-12-18-LoadCSEBug.ll
blob4482c5aec8e8163d4966b262a5c2d58b44fcff8a
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=i686-- -mcpu=generic | FileCheck %s
3 ; PR1872
5         %struct.c34007g__designated___XUB = type { i32, i32, i32, i32 }
6         %struct.c34007g__pkg__parent = type { ptr, ptr }
8 define void @_ada_c34007g() {
9 ; CHECK-LABEL: _ada_c34007g:
10 ; CHECK:       # %bb.0: # %entry
11 ; CHECK-NEXT:    pushl %ebp
12 ; CHECK-NEXT:    .cfi_def_cfa_offset 8
13 ; CHECK-NEXT:    .cfi_offset %ebp, -8
14 ; CHECK-NEXT:    movl %esp, %ebp
15 ; CHECK-NEXT:    .cfi_def_cfa_register %ebp
16 ; CHECK-NEXT:    andl $-8, %esp
17 ; CHECK-NEXT:    subl $8, %esp
18 ; CHECK-NEXT:    movl (%esp), %eax
19 ; CHECK-NEXT:    testl %eax, %eax
20 ; CHECK-NEXT:    je .LBB0_3
21 ; CHECK-NEXT:  # %bb.1: # %entry
22 ; CHECK-NEXT:    orl {{[0-9]+}}(%esp), %eax
23 ; CHECK-NEXT:    jne .LBB0_3
24 ; CHECK-NEXT:  # %bb.2: # %entry
25 ; CHECK-NEXT:    movb $1, %al
26 ; CHECK-NEXT:    testb %al, %al
27 ; CHECK-NEXT:  .LBB0_3: # %bb5507
28 ; CHECK-NEXT:    movl %ebp, %esp
29 ; CHECK-NEXT:    popl %ebp
30 ; CHECK-NEXT:    .cfi_def_cfa %esp, 4
31 ; CHECK-NEXT:    retl
32 entry:
33         %x8 = alloca %struct.c34007g__pkg__parent, align 8              ; <ptr> [#uses=2]
34         %tmp1272 = getelementptr %struct.c34007g__pkg__parent, ptr %x8, i32 0, i32 0            ; <ptr> [#uses=1]
35         br i1 true, label %bb4668, label %bb848
37 bb4668:         ; preds = %bb4648
38         %tmp5464 = load i64, ptr %x8, align 8           ; <i64> [#uses=1]
39         %tmp5467 = icmp ne i64 0, %tmp5464              ; <i1> [#uses=1]
40         %tmp5470 = load ptr, ptr %tmp1272, align 8              ; <ptr> [#uses=1]
41         %tmp5471 = icmp eq ptr %tmp5470, null           ; <i1> [#uses=1]
42         %tmp5475 = or i1 %tmp5471, %tmp5467             ; <i1> [#uses=1]
43         %tmp5497 = or i1 %tmp5475, false                ; <i1> [#uses=1]
44         br i1 %tmp5497, label %bb848, label %bb5507
46 bb848:          ; preds = %entry
47         ret void
49 bb5507:         ; preds = %bb4668
50         ret void