the win64 calling convention.
rdar://
13423768
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177113
91177308-0d34-0410-b5e6-
96231b3b80d8
if (!FuncInfo.CanLowerReturn)
return false;
if (!FuncInfo.CanLowerReturn)
return false;
+ if (Subtarget->isTargetWindows())
+ return false;
+
const Function *F = FuncInfo.Fn;
if (F->isVarArg())
return false;
const Function *F = FuncInfo.Fn;
if (F->isVarArg())
return false;
; RUN: llc < %s -fast-isel -verify-machineinstrs -mtriple=x86_64-apple-darwin10
; RUN: llc < %s -fast-isel -verify-machineinstrs -mtriple=x86_64-apple-darwin10
+; RUN: llc < %s -fast-isel -verify-machineinstrs -mtriple=x86_64-pc-win32 | FileCheck %s
; Requires: Asserts
; Previously, this would cause an assert.
; Requires: Asserts
; Previously, this would cause an assert.
%add1 = add nsw i31 %add, %c
ret i31 %add1
}
%add1 = add nsw i31 %add, %c
ret i31 %add1
}
+
+; We don't handle the Windows CC, yet.
+define i32 @foo(i32* %p) {
+entry:
+; CHECK: foo
+; CHECK: movl (%rcx), %eax
+ %0 = load i32* %p, align 4
+ ret i32 %0
+}