brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 447267c Raw
46 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -verify-machineinstrs -mtriple=aarch64-pc-windows-msvc %s -o - -global-isel -global-isel-abort=0 | FileCheck %s3 4; Make sure we correctly fall back to SelectionDAG isel for unsupported stack protectors.5 6define void @caller() sspreq {7; CHECK-LABEL: caller:8; CHECK:       .seh_proc caller9; CHECK-NEXT:  // %bb.0: // %entry10; CHECK-NEXT:    sub sp, sp, #3211; CHECK-NEXT:    .seh_stackalloc 3212; CHECK-NEXT:    str x30, [sp, #16] // 8-byte Spill13; CHECK-NEXT:    .seh_save_reg x30, 1614; CHECK-NEXT:    .seh_endprologue15; CHECK-NEXT:    adrp x8, __security_cookie16; CHECK-NEXT:    add x0, sp, #417; CHECK-NEXT:    ldr x8, [x8, :lo12:__security_cookie]18; CHECK-NEXT:    str x8, [sp, #8]19; CHECK-NEXT:    bl callee20; CHECK-NEXT:    adrp x8, __security_cookie21; CHECK-NEXT:    ldr x9, [sp, #8]22; CHECK-NEXT:    ldr x8, [x8, :lo12:__security_cookie]23; CHECK-NEXT:    cmp x8, x924; CHECK-NEXT:    b.ne .LBB0_225; CHECK-NEXT:  // %bb.1: // %entry26; CHECK-NEXT:    .seh_startepilogue27; CHECK-NEXT:    ldr x30, [sp, #16] // 8-byte Reload28; CHECK-NEXT:    .seh_save_reg x30, 1629; CHECK-NEXT:    add sp, sp, #3230; CHECK-NEXT:    .seh_stackalloc 3231; CHECK-NEXT:    .seh_endepilogue32; CHECK-NEXT:    ret33; CHECK-NEXT:  .LBB0_2: // %entry34; CHECK-NEXT:    ldr x0, [sp, #8]35; CHECK-NEXT:    bl __security_check_cookie36; CHECK-NEXT:    brk #0x137; CHECK-NEXT:    .seh_endfunclet38; CHECK-NEXT:    .seh_endproc39entry:40  %x = alloca i32, align 441  call void @callee(ptr nonnull %x)42  ret void43}44 45declare void @callee(ptr)46