summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM/constantpool-promote-duplicate.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/ARM/constantpool-promote-duplicate.ll')
-rw-r--r--llvm/test/CodeGen/ARM/constantpool-promote-duplicate.ll21
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/constantpool-promote-duplicate.ll b/llvm/test/CodeGen/ARM/constantpool-promote-duplicate.ll
new file mode 100644
index 00000000000..70c4807a044
--- /dev/null
+++ b/llvm/test/CodeGen/ARM/constantpool-promote-duplicate.ll
@@ -0,0 +1,21 @@
+; RUN: llc -mtriple=arm-eabi -relocation-model=static -arm-promote-constant < %s | FileCheck %s
+
+@const1 = private unnamed_addr constant i32 0, align 4
+@const2 = private unnamed_addr constant i32 0, align 4
+
+; const1 and const2 both need labels for debug info, but will be coalesced into
+; a single constpool entry
+
+; CHECK-LABEL: @test1
+; CHECK-DAG: const1:
+; CHECK-DAG: const2:
+; CHECK: .fnend
+define void @test1() {
+ %1 = load i32, i32* @const1, align 4
+ call void @a(i32 %1)
+ %2 = load i32, i32* @const2, align 4
+ call void @a(i32 %2)
+ ret void
+}
+
+declare void @a(i32)
OpenPOWER on IntegriCloud