summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-09-15 00:30:11 +0000
committerChris Lattner <sabre@nondot.org>2010-09-15 00:30:11 +0000
commit49ddd3a1a4b75f1181e0bd3faae4b50950e6ff53 (patch)
tree6fa9cfc25b55b8a4d580ca09996fe6f9ec6f148a /test
parent05ae0c6026c15cc934ef2117a7a75ae57c55067d (diff)
downloadllvm-49ddd3a1a4b75f1181e0bd3faae4b50950e6ff53.tar.gz
llvm-49ddd3a1a4b75f1181e0bd3faae4b50950e6ff53.tar.bz2
llvm-49ddd3a1a4b75f1181e0bd3faae4b50950e6ff53.tar.xz
fix PR8144, a bug where constant merge would merge globals marked
attribute(used). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113911 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/Transforms/ConstantMerge/dont-merge.ll14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/Transforms/ConstantMerge/dont-merge.ll b/test/Transforms/ConstantMerge/dont-merge.ll
index 877cf8dc67..e5337dff27 100644
--- a/test/Transforms/ConstantMerge/dont-merge.ll
+++ b/test/Transforms/ConstantMerge/dont-merge.ll
@@ -28,3 +28,17 @@ define void @test2(i32** %P1, i32 addrspace(30)** %P2) {
store i32 addrspace(30)* @T2b, i32 addrspace(30)** %P2
ret void
}
+
+; PR8144 - Don't merge globals marked attribute(used)
+; CHECK: @T3A =
+; CHECK: @T3B =
+
+@T3A = internal constant i32 0
+@T3B = internal constant i32 0
+@llvm.used = appending global [2 x i32*] [i32* @T3A, i32* @T3B], section
+"llvm.metadata"
+
+define void @test3() {
+ call void asm sideeffect "T3A, T3B",""() ; invisible use of T3A and T3B
+ ret void
+}