mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-29 10:32:47 +00:00
c559ba7251
of the abi we should be using. For targets that don't use the option there's no change, otherwise this allows external users to set the ABI via string and avoid some of the -backend-option pain in clang. Use this option to move the ABI for the ARM port from the Subtarget to the TargetMachine and update the testcases accordingly since it's no longer valid to set via -mattr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224492 91177308-0d34-0410-b5e6-96231b3b80d8
29 lines
853 B
LLVM
29 lines
853 B
LLVM
; RUN: llc -mtriple=arm-linux-gnu < %s | FileCheck %s --check-prefix=APCS
|
|
; RUN: llc -mtriple=arm-linux-gnu -target-abi=apcs < %s | \
|
|
; RUN: FileCheck %s --check-prefix=APCS
|
|
; RUN: llc -mtriple=arm-linux-gnueabi -target-abi=apcs < %s | \
|
|
; RUN: FileCheck %s --check-prefix=APCS
|
|
|
|
; RUN: llc -mtriple=arm-linux-gnueabi < %s | FileCheck %s --check-prefix=AAPCS
|
|
; RUN: llc -mtriple=arm-linux-gnueabi -target-abi=aapcs < %s | \
|
|
; RUN: FileCheck %s --check-prefix=AAPCS
|
|
; RUN: llc -mtriple=arm-linux-gnu -target-abi=aapcs < %s | \
|
|
; RUN: FileCheck %s --check-prefix=AAPCS
|
|
|
|
; The stack is 8 byte aligned on AAPCS and 4 on APCS, so we should get a BIC
|
|
; only on APCS.
|
|
|
|
define void @g() {
|
|
; APCS: sub sp, sp, #8
|
|
; APCS: bic sp, sp, #7
|
|
|
|
; AAPCS: sub sp, sp, #8
|
|
; AAPCS-NOT: bic
|
|
|
|
%c = alloca i8, align 8
|
|
call void @f(i8* %c)
|
|
ret void
|
|
}
|
|
|
|
declare void @f(i8*)
|