diff --git a/llvm/test/CodeGen/X86/critical-anti-dep-breaker.ll b/llvm/test/CodeGen/X86/critical-anti-dep-breaker.ll --- a/llvm/test/CodeGen/X86/critical-anti-dep-breaker.ll +++ b/llvm/test/CodeGen/X86/critical-anti-dep-breaker.ll @@ -1,3 +1,4 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -relocation-model=pic -post-RA-scheduler=1 -break-anti-dependencies=critical | FileCheck %s ; PR20308 ( http://llvm.org/bugs/show_bug.cgi?id=20308 ). @@ -10,9 +11,39 @@ @PartClass = external global i32 @NullToken = external global i64 -; CHECK-LABEL: Part_Create: -; CHECK: movq PartClass@GOTPCREL(%rip), %r10 define i32 @Part_Create(i64* %Anchor, i32 %TypeNum, i32 %F, i32 %Z, i32* %Status, i64* %PartTkn) { +; CHECK-LABEL: Part_Create: +; CHECK: # %bb.0: +; CHECK-NEXT: pushq %rbp +; CHECK-NEXT: .cfi_def_cfa_offset 16 +; CHECK-NEXT: pushq %rbx +; CHECK-NEXT: .cfi_def_cfa_offset 24 +; CHECK-NEXT: subq $24, %rsp +; CHECK-NEXT: .cfi_def_cfa_offset 48 +; CHECK-NEXT: .cfi_offset %rbx, -24 +; CHECK-NEXT: .cfi_offset %rbp, -16 +; CHECK-NEXT: movq NullToken@{{.*}}(%rip), %rax +; CHECK-NEXT: movq PartClass@{{.*}}(%rip), %r10 +; CHECK-NEXT: xorl %edx, %edx +; CHECK-NEXT: xorl %ecx, %ecx +; CHECK-NEXT: movq %rdi, %rbx +; CHECK-NEXT: movq (%rax), %rax +; CHECK-NEXT: movl (%r10), %ebp +; CHECK-NEXT: movq %rax, {{[0-9]+}}(%rsp) +; CHECK-NEXT: leaq {{[0-9]+}}(%rsp), %rax +; CHECK-NEXT: movl %ebp, %esi +; CHECK-NEXT: movq %rax, (%rsp) +; CHECK-NEXT: callq Image@PLT +; CHECK-NEXT: movq %rbx, %rdi +; CHECK-NEXT: callq Create@PLT +; CHECK-NEXT: movl %ebp, %eax +; CHECK-NEXT: addq $24, %rsp +; CHECK-NEXT: .cfi_def_cfa_offset 24 +; CHECK-NEXT: popq %rbx +; CHECK-NEXT: .cfi_def_cfa_offset 16 +; CHECK-NEXT: popq %rbp +; CHECK-NEXT: .cfi_def_cfa_offset 8 +; CHECK-NEXT: retq %PartObj = alloca i64*, align 8 %Vchunk = alloca i64, align 8 %1 = load i64, i64* @NullToken, align 4