From: Alkis Evlogimenos Date: Mon, 12 Apr 2004 15:40:25 +0000 (+0000) Subject: Add same value coalescing testcase X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=d1862af3148ad9a6e7c0252b597018b6a3d479b8;p=oota-llvm.git Add same value coalescing testcase git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12865 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/CodeGen/X86/2004-04-09-SameValueCoalescing.llx b/test/CodeGen/X86/2004-04-09-SameValueCoalescing.llx new file mode 100644 index 00000000000..70ebc2349d3 --- /dev/null +++ b/test/CodeGen/X86/2004-04-09-SameValueCoalescing.llx @@ -0,0 +1,19 @@ +; 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 | not grep 'mov %[A-Z]\{2,3\}, %[A-Z]\{2,3\}' + +int %main() { + %ptr = alloca uint + br label %Loop +Loop: + %I = phi int [0, %0], [%i2, %Loop] + %i2 = add int %I, 1 + %i3 = cast int %i2 to uint + store uint %i3, uint* %ptr + %C = seteq int %i2, 10 + br bool %C, label %Out, label %Loop +Out: + ret int 0 +}