llvm.org GIT mirror llvm / 146b8c2
[fast-isel] Use the correct API to disable FastLowerArguments for Win64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178549 91177308-0d34-0410-b5e6-96231b3b80d8 Chad Rosier 7 years ago
2 changed file(s) with 7 addition(s) and 4 deletion(s). Raw diff Collapse all Expand all
15271527 if (!FuncInfo.CanLowerReturn)
15281528 return false;
15291529
1530 if (Subtarget->isTargetWindows())
1530 if (Subtarget->isTargetWin64())
15311531 return false;
15321532
15331533 const Function *F = FuncInfo.Fn;
0 ; RUN: llc < %s -fast-isel -verify-machineinstrs -mtriple=x86_64-apple-darwin10
1 ; RUN: llc < %s -fast-isel -verify-machineinstrs -mtriple=x86_64-pc-win32 | FileCheck %s
1 ; RUN: llc < %s -fast-isel -verify-machineinstrs -mtriple=x86_64-pc-win32 | FileCheck %s -check-prefix=WIN32
2 ; RUN: llc < %s -fast-isel -verify-machineinstrs -mtriple=x86_64-pc-win64 | FileCheck %s -check-prefix=WIN64
23 ; Requires: Asserts
34
45 ; Previously, this would cause an assert.
1213 ; We don't handle the Windows CC, yet.
1314 define i32 @foo(i32* %p) {
1415 entry:
15 ; CHECK: foo
16 ; CHECK: movl (%rcx), %eax
16 ; WIN32: foo
17 ; WIN32: movl (%rcx), %eax
18 ; WIN64: foo
19 ; WIN64: movl (%rdi), %eax
1720 %0 = load i32* %p, align 4
1821 ret i32 %0
1922 }