X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FBitcode%2Fattributes.ll;h=1b3526f1fa0de4287bc0090d2c0c3b626ecca813;hb=0c16176e29433f388a3ccf3246f2e56c4dac9f13;hp=49366de9836d07ea2165f842d0de483a24d0214c;hpb=5d0f7af3dc42d7bc843858317fba3bb91c44d68f;p=oota-llvm.git diff --git a/test/Bitcode/attributes.ll b/test/Bitcode/attributes.ll index 49366de9836..1b3526f1fa0 100644 --- a/test/Bitcode/attributes.ll +++ b/test/Bitcode/attributes.ll @@ -1,4 +1,5 @@ ; RUN: llvm-as < %s | llvm-dis | FileCheck %s +; RUN: verify-uselistorder < %s ; PR12696 define void @f1(i8 zeroext) @@ -203,7 +204,7 @@ define void @f34() ; CHECK: define void @f34() { call void @nobuiltin() nobuiltin -; CHECK: call void @nobuiltin() #25 +; CHECK: call void @nobuiltin() #30 ret void; } @@ -229,6 +230,63 @@ define void @f38() unnamed_addr jumptable { unreachable } +define dereferenceable(2) i8* @f39(i8* dereferenceable(1) %a) { +; CHECK: define dereferenceable(2) i8* @f39(i8* dereferenceable(1) %a) { + ret i8* %a +} + +define dereferenceable(18446744073709551606) i8* @f40(i8* dereferenceable(18446744073709551615) %a) { +; CHECK: define dereferenceable(18446744073709551606) i8* @f40(i8* dereferenceable(18446744073709551615) %a) { + ret i8* %a +} + +define void @f41(i8* align 32, double* align 64) { +; CHECK: define void @f41(i8* align 32, double* align 64) { + ret void +} + +; CHECK: define dereferenceable_or_null(8) i8* @f42(i8* dereferenceable_or_null(8) %foo) +define dereferenceable_or_null(8) i8* @f42(i8* dereferenceable_or_null(8) %foo) { + entry: + ret i8* %foo +} + +; CHECK: define void @f43() #25 +define void @f43() convergent { + ret void +} + +define void @f44() argmemonly +; CHECK: define void @f44() #26 +{ + ret void; +} + +; CHECK: define "string_attribute" void @f45(i32 "string_attribute") +define "string_attribute" void @f45(i32 "string_attribute") { + ret void +} + +; CHECK: define "string_attribute_with_value"="value" void @f46(i32 "string_attribute_with_value"="value") +define "string_attribute_with_value"="value" void @f46(i32 "string_attribute_with_value"="value") { + ret void +} + +; CHECK: define void @f47() #27 +define void @f47() norecurse { + ret void +} + +; CHECK: define void @f48() #28 +define void @f48() inaccessiblememonly { + ret void +} + +; CHECK: define void @f49() #29 +define void @f49() inaccessiblemem_or_argmemonly { + ret void +} + ; CHECK: attributes #0 = { noreturn } ; CHECK: attributes #1 = { nounwind } ; CHECK: attributes #2 = { readnone } @@ -254,4 +312,9 @@ define void @f38() unnamed_addr jumptable { ; CHECK: attributes #22 = { minsize } ; CHECK: attributes #23 = { noinline optnone } ; CHECK: attributes #24 = { jumptable } -; CHECK: attributes #25 = { nobuiltin } +; CHECK: attributes #25 = { convergent } +; CHECK: attributes #26 = { argmemonly } +; CHECK: attributes #27 = { norecurse } +; CHECK: attributes #28 = { inaccessiblememonly } +; CHECK: attributes #29 = { inaccessiblemem_or_argmemonly } +; CHECK: attributes #30 = { nobuiltin }