blob: 0349f56aca534592f2e56668e852869c527ec015 [file] [edit]
; RUN: llvm-dis < %S/Inputs/aarch64-memory-attribute-upgrade.bc | FileCheck %s --check-prefix=AARCH64
; RUN: llvm-dis < %S/Inputs/x86-memory-attribute-upgrade.bc | FileCheck %s --check-prefix=NON-AARCH64
; The .bc inputs were generated by an older LLVM memory-attribute encoding,
; before AArch64 target memory was split out from inaccessible memory.
; The code was compiled using x86 and aarch64 hosts.
define void @test_inaccessible_read() #0 {
; AARCH64: ; Function Attrs: memory(inaccessiblemem: read, target_mem: read)
; AARCH64-NEXT: define void @test_inaccessible_read()
; NON-AARCH64: ; Function Attrs: memory(inaccessiblemem: read)
; NON-AARCH64-NEXT: define void @test_inaccessible_read()
ret void
}
define void @test_inaccessible_readwrite() #1 {
; AARCH64: ; Function Attrs: memory(inaccessiblemem: readwrite, target_mem: readwrite)
; AARCH64-NEXT: define void @test_inaccessible_readwrite()
; NON-AARCH64: ; Function Attrs: memory(inaccessiblemem: readwrite)
; NON-AARCH64-NEXT: define void @test_inaccessible_readwrite()
ret void
}
define void @test_inaccessible_none() #2 {
; AARCH64: ; Function Attrs: memory(none)
; AARCH64-NEXT: define void @test_inaccessible_none()
; NON-AARCH64: ; Function Attrs: memory(none)
; NON-AARCH64-NEXT: define void @test_inaccessible_none()
ret void
}
attributes #0 = { memory(inaccessiblemem: read) }
attributes #1 = { memory(inaccessiblemem: readwrite) }
attributes #2 = { memory(inaccessiblemem: none) }