aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/2004-04-09-SameValueCoalescing.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGen/X86/2004-04-09-SameValueCoalescing.ll')
-rw-r--r--test/CodeGen/X86/2004-04-09-SameValueCoalescing.ll13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/CodeGen/X86/2004-04-09-SameValueCoalescing.ll b/test/CodeGen/X86/2004-04-09-SameValueCoalescing.ll
new file mode 100644
index 0000000000..633a615645
--- /dev/null
+++ b/test/CodeGen/X86/2004-04-09-SameValueCoalescing.ll
@@ -0,0 +1,13 @@
+; Linear scan does not currently coalesce any two variables that have
+; overlapping live intervals. When two overlapping intervals have the same
+; value, they can be joined though.
+;
+; RUN: llvm-as < %s | llc -march=x86 -regalloc=linearscan | \
+; RUN: not grep {mov %\[A-Z\]\\\{2,3\\\}, %\[A-Z\]\\\{2,3\\\}}
+
+define i64 @test(i64 %x) {
+entry:
+ %tmp.1 = mul i64 %x, 4294967297 ; <i64> [#uses=1]
+ ret i64 %tmp.1
+}
+