# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -mtriple=aarch64-linux-gnu -O0 -run-pass=legalizer %s -o - | FileCheck %s
--- |
  target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
  target triple = "aarch64-none-linux-gnu"

  @addr = global i8* null

  define void @test_blockaddress() {
    store i8* blockaddress(@test_blockaddress, %block), i8** @addr
    indirectbr i8* blockaddress(@test_blockaddress, %block), [label %block]

  block:                                            ; preds = %0
    ret void
  }

...
---
name:            test_blockaddress
alignment:       2
tracksRegLiveness: true
registers:
  - { id: 0, class: _ }
  - { id: 1, class: _ }
body:             |
  ; CHECK-LABEL: name: test_blockaddress
  ; CHECK: bb.0 (%ir-block.0):
  ; CHECK:   successors: %bb.1(0x80000000)
  ; CHECK:   [[BLOCK_ADDR:%[0-9]+]]:_(p0) = G_BLOCK_ADDR blockaddress(@test_blockaddress, %ir-block.block)
  ; CHECK:   [[GV:%[0-9]+]]:_(p0) = G_GLOBAL_VALUE @addr
  ; CHECK:   G_STORE [[BLOCK_ADDR]](p0), [[GV]](p0) :: (store 8 into @addr)
  ; CHECK:   G_BRINDIRECT [[BLOCK_ADDR]](p0)
  ; CHECK: bb.1.block (address-taken):
  ; CHECK:   RET_ReallyLR
  bb.1 (%ir-block.0):
    %0:_(p0) = G_BLOCK_ADDR blockaddress(@test_blockaddress, %ir-block.block)
    %1:_(p0) = G_GLOBAL_VALUE @addr
    G_STORE %0(p0), %1(p0) :: (store 8 into @addr)
    G_BRINDIRECT %0(p0)

  bb.2.block (address-taken):
    RET_ReallyLR

...

