164c92844SNick Lewycky; RUN: llvm-as < %s | llvm-dis | FileCheck %s
264c92844SNick Lewycky; PR9857
364c92844SNick Lewycky
464c92844SNick Lewyckydefine void @f(i8** nocapture %ptr1) {
564c92844SNick Lewycky; CHECK: define void @f
664c92844SNick Lewyckyentry:
764c92844SNick Lewycky  br label %here.i
864c92844SNick Lewycky
964c92844SNick Lewyckyhere.i:
1064c92844SNick Lewycky  store i8* blockaddress(@doit, %here), i8** %ptr1, align 8
1164c92844SNick Lewycky; CHECK: blockaddress(@doit, %here)
1264c92844SNick Lewycky  br label %doit.exit
1364c92844SNick Lewycky
1464c92844SNick Lewyckydoit.exit:
1564c92844SNick Lewycky  ret void
1664c92844SNick Lewycky}
1764c92844SNick Lewycky
1864c92844SNick Lewyckydefine void @doit(i8** nocapture %pptr) {
1964c92844SNick Lewycky; CHECK: define void @doit
2064c92844SNick Lewyckyentry:
2164c92844SNick Lewycky  br label %here
2264c92844SNick Lewycky
2364c92844SNick Lewyckyhere:
2464c92844SNick Lewycky  store i8* blockaddress(@doit, %here), i8** %pptr, align 8
2564c92844SNick Lewycky; CHECK: blockaddress(@doit, %here)
2664c92844SNick Lewycky  br label %end
2764c92844SNick Lewycky
2864c92844SNick Lewyckyend:
2964c92844SNick Lewycky  ret void
3064c92844SNick Lewycky}
31*736a4fc4SBenjamin Kramer
32*736a4fc4SBenjamin Kramer; PR13895
33*736a4fc4SBenjamin Kramerdefine void @doitagain(i8** nocapture %pptr) {
34*736a4fc4SBenjamin Kramer; CHECK: define void @doitagain
35*736a4fc4SBenjamin Kramerentry:
36*736a4fc4SBenjamin Kramer  br label %here
37*736a4fc4SBenjamin Kramer
38*736a4fc4SBenjamin Kramerhere:
39*736a4fc4SBenjamin Kramer  store i8* blockaddress(@doit, %here), i8** %pptr, align 8
40*736a4fc4SBenjamin Kramer; CHECK: blockaddress(@doit, %here)
41*736a4fc4SBenjamin Kramer  br label %end
42*736a4fc4SBenjamin Kramer
43*736a4fc4SBenjamin Kramerend:
44*736a4fc4SBenjamin Kramer  ret void
45*736a4fc4SBenjamin Kramer}
46