reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
# RUN: llc -mtriple=aarch64-arm-none-eabi -run-pass=prologepilog -o - %s 2>&1 | FileCheck %s
--- |
  target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
  target triple = "aarch64-arm-none-eabi"

  define dso_local i32 @foo() "sign-return-address"="all" "sign-return-address-key"="a_key" {
  entry:
    ret i32 2
  }

  define dso_local i32 @bar() "sign-return-address"="all" "sign-return-address-key"="b_key" {
  entry:
    ret i32 2
  }
...
---
#CHECK: foo
name:            foo
alignment:       4
tracksRegLiveness: true
frameInfo:
  maxCallFrameSize: 0
#CHECK:    frame-setup PACIASP implicit-def $lr, implicit $lr, implicit $sp
#CHECK:    frame-setup CFI_INSTRUCTION negate_ra_sign_state
#CHECK:    frame-destroy AUTIASP implicit-def $lr, implicit $lr, implicit $sp
body:             |
  bb.0.entry:
    $w0 = MOVi32imm 2
    RET_ReallyLR implicit killed $w0

...
---
#CHECK: bar
name:            bar
alignment:       4
tracksRegLiveness: true
frameInfo:
  maxCallFrameSize: 0
#CHECK:    frame-setup EMITBKEY
#CHECK:    frame-setup PACIBSP implicit-def $lr, implicit $lr, implicit $sp
#CHECK:    frame-setup CFI_INSTRUCTION negate_ra_sign_state
#CHECK:    frame-destroy AUTIBSP implicit-def $lr, implicit $lr, implicit $sp
body:             |
  bb.0.entry:
    $w0 = MOVi32imm 2
    RET_ReallyLR implicit killed $w0

...