diff options
Diffstat (limited to 'llvm/test/CodeGen')
| -rw-r--r-- | llvm/test/CodeGen/X86/extend-set-cc-uses-dbg.ll | 48 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/pr32284.ll | 22 |
2 files changed, 59 insertions, 11 deletions
diff --git a/llvm/test/CodeGen/X86/extend-set-cc-uses-dbg.ll b/llvm/test/CodeGen/X86/extend-set-cc-uses-dbg.ll new file mode 100644 index 00000000000..149ef7ff450 --- /dev/null +++ b/llvm/test/CodeGen/X86/extend-set-cc-uses-dbg.ll @@ -0,0 +1,48 @@ +; RUN: llc < %s -O0 -stop-after=livedebugvalues -o - | FileCheck %s + +target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-apple-macosx10.13.0" + +define void @foo(i32* %p) !dbg !4 { +bb: + %tmp = load i32, i32* %p, align 4, !dbg !7 + ; CHECK: $eax = MOV32rm killed {{.*}} $rdi, {{.*}} debug-location !7 :: (load 4 from %ir.p) + ; CHECK-NEXT: $edi = MOV32rr killed $eax, implicit-def $rdi, debug-location !7 + ; CHECK-NEXT: $rcx = MOV64rr $rdi, debug-location !7 + + switch i32 %tmp, label %bb7 [ + i32 0, label %bb1 + i32 1, label %bb2 + i32 2, label %bb3 + i32 3, label %bb4 + ], !dbg !8 + +bb1: ; preds = %bb + unreachable + +bb2: ; preds = %bb + unreachable + +bb3: ; preds = %bb + unreachable + +bb4: ; preds = %bb + unreachable + +bb7: ; preds = %bb + ret void, !dbg !9 +} + +!llvm.dbg.cu = !{!0} +!llvm.module.flags = !{!2, !3} + +!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "clang version 7.0.0 (trunk 330770) (llvm/trunk 330769)", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly) +!1 = !DIFile(filename: "/Users/vsk/src/llvm.org-master/llvm/lib/Demangle/ItaniumDemangle.cpp", directory: "/Users/vsk/src/builds/llvm.org-master-RA-stage2") +!2 = !{i32 2, !"Debug Info Version", i32 3} +!3 = !{i32 7, !"PIC Level", i32 2} +!4 = distinct !DISubprogram(name: "printLeft", scope: !1, file: !1, line: 1306, type: !5, isLocal: true, isDefinition: true, scopeLine: 1306, flags: DIFlagPrototyped, isOptimized: true, unit: !0) +!5 = !DISubroutineType(types: !6) +!6 = !{} +!7 = !DILocation(line: 1307, column: 13, scope: !4) +!8 = !DILocation(line: 1307, column: 5, scope: !4) +!9 = !DILocation(line: 1327, column: 3, scope: !4) diff --git a/llvm/test/CodeGen/X86/pr32284.ll b/llvm/test/CodeGen/X86/pr32284.ll index 24caa26e53e..5d5a315ac74 100644 --- a/llvm/test/CodeGen/X86/pr32284.ll +++ b/llvm/test/CodeGen/X86/pr32284.ll @@ -38,11 +38,11 @@ define void @foo() { ; X64-LABEL: foo: ; X64: # %bb.0: # %entry ; X64-NEXT: movzbl {{.*}}(%rip), %eax -; X64-NEXT: testb %al, %al -; X64-NEXT: setne -{{[0-9]+}}(%rsp) ; X64-NEXT: xorl %ecx, %ecx ; X64-NEXT: testl %eax, %eax ; X64-NEXT: setne %cl +; X64-NEXT: testb %al, %al +; X64-NEXT: setne -{{[0-9]+}}(%rsp) ; X64-NEXT: xorl %edx, %edx ; X64-NEXT: cmpl %eax, %ecx ; X64-NEXT: setle %dl @@ -160,12 +160,12 @@ define void @f1() { ; X64-LABEL: f1: ; X64: # %bb.0: # %entry ; X64-NEXT: movslq {{.*}}(%rip), %rax +; X64-NEXT: movabsq $-8381627093, %rcx # imm = 0xFFFFFFFE0C6A852B +; X64-NEXT: cmpq %rcx, %rax +; X64-NEXT: setne -{{[0-9]+}}(%rsp) ; X64-NEXT: xorl %ecx, %ecx ; X64-NEXT: cmpq $-1, %rax ; X64-NEXT: sete %cl -; X64-NEXT: movabsq $-8381627093, %rdx # imm = 0xFFFFFFFE0C6A852B -; X64-NEXT: cmpq %rdx, %rax -; X64-NEXT: setne -{{[0-9]+}}(%rsp) ; X64-NEXT: xorl %edx, %edx ; X64-NEXT: cmpl $-1, %eax ; X64-NEXT: sete %dl @@ -250,19 +250,19 @@ define void @f1() { ; 686-NEXT: .cfi_offset %esi, -12 ; 686-NEXT: .cfi_offset %edi, -8 ; 686-NEXT: movl var_5, %edx +; 686-NEXT: movl %edx, %eax +; 686-NEXT: xorl $208307499, %eax # imm = 0xC6A852B ; 686-NEXT: movl %edx, %esi ; 686-NEXT: sarl $31, %esi +; 686-NEXT: movl %esi, %ecx +; 686-NEXT: xorl $-2, %ecx +; 686-NEXT: orl %eax, %ecx +; 686-NEXT: setne (%esp) ; 686-NEXT: movl %edx, %ecx ; 686-NEXT: andl %esi, %ecx ; 686-NEXT: xorl %eax, %eax ; 686-NEXT: cmpl $-1, %ecx ; 686-NEXT: sete %al -; 686-NEXT: movl %edx, %ecx -; 686-NEXT: xorl $208307499, %ecx # imm = 0xC6A852B -; 686-NEXT: movl %esi, %edi -; 686-NEXT: xorl $-2, %edi -; 686-NEXT: orl %ecx, %edi -; 686-NEXT: setne (%esp) ; 686-NEXT: xorl %ecx, %ecx ; 686-NEXT: cmpl $-1, %edx ; 686-NEXT: sete %cl |

