aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-08-09 22:49:46 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-08-09 22:49:46 +0000
commit81a6995243380668e6f991fa4e11dd0a6e37e030 (patch)
tree44dcd3571c6e0280d0ed7fbb9047d71d703ad1a3 /test/CodeGen
parent46f4c35372062eaf097922b5683bc6639ccf342b (diff)
downloadexternal_llvm-81a6995243380668e6f991fa4e11dd0a6e37e030.zip
external_llvm-81a6995243380668e6f991fa4e11dd0a6e37e030.tar.gz
external_llvm-81a6995243380668e6f991fa4e11dd0a6e37e030.tar.bz2
Partition use lists so defs always come before uses.
This makes it possible to speed up def_iterator by stopping at the first use. This makes def_empty() and getUniqueVRegDef() much faster when there are many uses. In a +Asserts build, LiveVariables is 100x faster in one case because getVRegDef() has an assertion that would scan to the end of a def_iterator chain. Spill weight calculation is significantly faster (300x in one case) because isTriviallyReMaterializable() calls MRI->isConstantPhysReg(%RIP) which calls def_empty(%RIP). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161634 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen')
-rw-r--r--test/CodeGen/X86/apm.ll4
-rw-r--r--test/CodeGen/X86/xor.ll2
2 files changed, 3 insertions, 3 deletions
diff --git a/test/CodeGen/X86/apm.ll b/test/CodeGen/X86/apm.ll
index 9f4b0f4..aaedf18 100644
--- a/test/CodeGen/X86/apm.ll
+++ b/test/CodeGen/X86/apm.ll
@@ -3,8 +3,8 @@
; PR8573
; CHECK: foo:
-; CHECK: movl %esi, %ecx
-; CHECK-NEXT: leaq (%rdi), %rax
+; CHECK: leaq (%rdi), %rax
+; CHECK-NEXT: movl %esi, %ecx
; CHECK-NEXT: monitor
; WIN64: foo:
; WIN64: leaq (%rcx), %rax
diff --git a/test/CodeGen/X86/xor.ll b/test/CodeGen/X86/xor.ll
index 73416ef..996bfc4 100644
--- a/test/CodeGen/X86/xor.ll
+++ b/test/CodeGen/X86/xor.ll
@@ -31,7 +31,7 @@ entry:
; X64: test3:
; X64: notl
; X64: andl
-; X64: shrl %eax
+; X64: shrl
; X64: ret
; X32: test3: