forked from OSchip/llvm-project
[MIPS] Use ABI to determine stack alignment.
Summary: The stack alignment depends on the ABI (16 bytes for N32 and N64 and 8 bytes for O32), not the CPU type. Reviewers: sdardis Reviewed By: sdardis Subscribers: atanasyan, arichardson, llvm-commits Differential Revision: https://reviews.llvm.org/D36326 llvm-svn: 310768
This commit is contained in:
parent
5d6df36fde
commit
eebcc47500
|
@ -295,7 +295,9 @@ public:
|
||||||
// really use them if in addition we are in mips16 mode
|
// really use them if in addition we are in mips16 mode
|
||||||
static bool useConstantIslands();
|
static bool useConstantIslands();
|
||||||
|
|
||||||
unsigned stackAlignment() const { return hasMips64() ? 16 : 8; }
|
unsigned stackAlignment() const {
|
||||||
|
return isABI_N32() || isABI_N64() ? 16 : 8;
|
||||||
|
}
|
||||||
|
|
||||||
// Grab relocation model
|
// Grab relocation model
|
||||||
Reloc::Model getRelocationModel() const;
|
Reloc::Model getRelocationModel() const;
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
; RUN: llc -march=mipsel < %s | FileCheck %s -check-prefix=32
|
; RUN: llc -march=mipsel < %s | FileCheck %s -check-prefix=32
|
||||||
; RUN: llc -march=mipsel -mattr=+fp64 < %s | FileCheck %s -check-prefix=32
|
; RUN: llc -march=mipsel -mattr=+fp64 < %s | FileCheck %s -check-prefix=32
|
||||||
|
; RUN: llc -march=mips64el -mcpu=mips3 < %s | FileCheck %s -check-prefix=64
|
||||||
|
; RUN: llc -march=mips64el -mcpu=mips4 < %s | FileCheck %s -check-prefix=64
|
||||||
; RUN: llc -march=mips64el -mcpu=mips64 < %s | FileCheck %s -check-prefix=64
|
; RUN: llc -march=mips64el -mcpu=mips64 < %s | FileCheck %s -check-prefix=64
|
||||||
|
|
||||||
; 32: addiu $sp, $sp, -8
|
; 32: addiu $sp, $sp, -8
|
||||||
; 64: addiu $sp, $sp, -16
|
; 64: daddiu $sp, $sp, -16
|
||||||
|
|
||||||
define i32 @foo1() #0 {
|
define i32 @foo1() #0 {
|
||||||
entry:
|
entry:
|
||||||
|
|
Loading…
Reference in New Issue