[llvm-commits] [llvm] r157699 - in /llvm/trunk: lib/Target/X86/X86CallingConv.td test/CodeGen/X86/pass-four.ll test/CodeGen/X86/pass-three.ll
Chris Lattner
sabre at nondot.org
Wed May 30 11:08:03 PDT 2012
Author: lattner
Date: Wed May 30 13:08:02 2012
New Revision: 157699
URL: http://llvm.org/viewvc/llvm-project?rev=157699&view=rev
Log:
it's pointed out that R11 can be used for magic things, and doing things just for 64-bit registers is silly. Just optimize 3 more.
Added:
llvm/trunk/test/CodeGen/X86/pass-three.ll
- copied, changed from r157698, llvm/trunk/test/CodeGen/X86/pass-four.ll
Removed:
llvm/trunk/test/CodeGen/X86/pass-four.ll
Modified:
llvm/trunk/lib/Target/X86/X86CallingConv.td
Modified: llvm/trunk/lib/Target/X86/X86CallingConv.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86CallingConv.td?rev=157699&r1=157698&r2=157699&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86CallingConv.td (original)
+++ llvm/trunk/lib/Target/X86/X86CallingConv.td Wed May 30 13:08:02 2012
@@ -35,7 +35,7 @@
CCIfType<[i8] , CCAssignToReg<[AL, DL, CL]>>,
CCIfType<[i16], CCAssignToReg<[AX, DX, CX]>>,
CCIfType<[i32], CCAssignToReg<[EAX, EDX, ECX]>>,
- CCIfType<[i64], CCAssignToReg<[RAX, RDX, RCX, R11]>>,
+ CCIfType<[i64], CCAssignToReg<[RAX, RDX, RCX]>>,
// Vector types are returned in XMM0 and XMM1, when they fit. XMM2 and XMM3
// can only be used by ABI non-compliant code. If the target doesn't have XMM
Removed: llvm/trunk/test/CodeGen/X86/pass-four.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/pass-four.ll?rev=157698&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/X86/pass-four.ll (original)
+++ llvm/trunk/test/CodeGen/X86/pass-four.ll (removed)
@@ -1,17 +0,0 @@
-; RUN: llc < %s | FileCheck %s
-target datalayout = "e-p:64:64:64-S128-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f16:16:16-f32:32:32-f64:64:64-f128:128:128-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
-target triple = "x86_64-apple-darwin11.3.0"
-
-
-define { i8*, i64, i64*, i64 } @copy_4(i8* %a, i64 %b, i64* %c, i64 %d) nounwind {
-entry:
- %0 = insertvalue { i8*, i64, i64*, i64 } undef, i8* %a, 0
- %1 = insertvalue { i8*, i64, i64*, i64 } %0, i64 %b, 1
- %2 = insertvalue { i8*, i64, i64*, i64 } %1, i64* %c, 2
- %3 = insertvalue { i8*, i64, i64*, i64 } %2, i64 %d, 3
- ret { i8*, i64, i64*, i64 } %3
-}
-
-; CHECK: copy_4:
-; CHECK-NOT: (%rdi)
-; CHECK: ret
Copied: llvm/trunk/test/CodeGen/X86/pass-three.ll (from r157698, llvm/trunk/test/CodeGen/X86/pass-four.ll)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/pass-three.ll?p2=llvm/trunk/test/CodeGen/X86/pass-three.ll&p1=llvm/trunk/test/CodeGen/X86/pass-four.ll&r1=157698&r2=157699&rev=157699&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/pass-four.ll (original)
+++ llvm/trunk/test/CodeGen/X86/pass-three.ll Wed May 30 13:08:02 2012
@@ -3,15 +3,14 @@
target triple = "x86_64-apple-darwin11.3.0"
-define { i8*, i64, i64*, i64 } @copy_4(i8* %a, i64 %b, i64* %c, i64 %d) nounwind {
+define { i8*, i64, i64* } @copy_3(i8* %a, i64 %b, i64* %c) nounwind {
entry:
- %0 = insertvalue { i8*, i64, i64*, i64 } undef, i8* %a, 0
- %1 = insertvalue { i8*, i64, i64*, i64 } %0, i64 %b, 1
- %2 = insertvalue { i8*, i64, i64*, i64 } %1, i64* %c, 2
- %3 = insertvalue { i8*, i64, i64*, i64 } %2, i64 %d, 3
- ret { i8*, i64, i64*, i64 } %3
+ %0 = insertvalue { i8*, i64, i64* } undef, i8* %a, 0
+ %1 = insertvalue { i8*, i64, i64* } %0, i64 %b, 1
+ %2 = insertvalue { i8*, i64, i64* } %1, i64* %c, 2
+ ret { i8*, i64, i64* } %2
}
-; CHECK: copy_4:
+; CHECK: copy_3:
; CHECK-NOT: (%rdi)
; CHECK: ret
More information about the llvm-commits
mailing list