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 | ca9cf65455188b7b901424111c695e55333d9e01 (patch) | |
| tree | e5f361676d45ad20dc1c8d18eb56521ef6131d54 /llvm/test/CodeGen | |
| parent | e156f611abc45a71e25c301378a1d01c9f98103c (diff) | |
| download | bcm5719-llvm-ca9cf65455188b7b901424111c695e55333d9e01.tar.gz bcm5719-llvm-ca9cf65455188b7b901424111c695e55333d9e01.zip | |
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.
llvm-svn: 90502
Diffstat (limited to 'llvm/test/CodeGen')
| -rw-r--r-- | llvm/test/CodeGen/X86/2009-01-12-CoalescerBug.ll | 2 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/twoaddr-coalesce.ll | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/X86/2009-01-12-CoalescerBug.ll b/llvm/test/CodeGen/X86/2009-01-12-CoalescerBug.ll index 27a7113ffd5..8e41e5a8b77 100644 --- a/llvm/test/CodeGen/X86/2009-01-12-CoalescerBug.ll +++ b/llvm/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 } diff --git a/llvm/test/CodeGen/X86/twoaddr-coalesce.ll b/llvm/test/CodeGen/X86/twoaddr-coalesce.ll index d0e13f61f2d..4c37225ce02 100644 --- a/llvm/test/CodeGen/X86/twoaddr-coalesce.ll +++ b/llvm/test/CodeGen/X86/twoaddr-coalesce.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86 | grep mov | count 5 +; RUN: llc < %s -march=x86 | grep mov | count 4 ; rdar://6523745 @"\01LC" = internal constant [4 x i8] c"%d\0A\00" ; <[4 x i8]*> [#uses=1] |

