diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2009-12-04 00:16:04 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2009-12-04 00:16:04 +0000 |
commit | 88d11c3a214da464deb05eb17922d633e5af77a1 (patch) | |
tree | dcc016454a3e8332b8d9f3e22e331a4ab0073158 /test/CodeGen/X86/2009-01-12-CoalescerBug.ll | |
parent | 723be602ecdfde30a50c3afe1780575fdf8f0f56 (diff) | |
download | external_llvm-88d11c3a214da464deb05eb17922d633e5af77a1.zip external_llvm-88d11c3a214da464deb05eb17922d633e5af77a1.tar.gz external_llvm-88d11c3a214da464deb05eb17922d633e5af77a1.tar.bz2 |
Also attempt trivial coalescing for live intervals that end in a copy.
The coalescer is supposed to clean these up, but when setting up parameters
for a function call, there may be copies to physregs. If the defining
instruction has been LICM'ed far away, the coalescer won't touch it.
The register allocation hint does not always work - when the register
allocator is backtracking, it clears the hints.
This patch takes care of a few more cases that r90163 missed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90502 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/2009-01-12-CoalescerBug.ll')
-rw-r--r-- | test/CodeGen/X86/2009-01-12-CoalescerBug.ll | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/test/CodeGen/X86/2009-01-12-CoalescerBug.ll b/test/CodeGen/X86/2009-01-12-CoalescerBug.ll index 27a7113..8e41e5a 100644 --- a/test/CodeGen/X86/2009-01-12-CoalescerBug.ll +++ b/test/CodeGen/X86/2009-01-12-CoalescerBug.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu | grep movq | count 2 +; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu | grep movq | count 1 ; PR3311 %struct.CUMULATIVE_ARGS = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } |