teak-llvm/clang/test/CodeGen/msp430-fp-elim.c
Anton Korobeynikov f1f897cac2 Do not use frame pointer by default for MSP430
This is suggested by 3.3.9 of MSP430 EABI document.
We do allow user to manually enable frame pointer. GCC toolchain uses the same behavior.

Patch by Dmitry Mikushev!

Differential Revision: https://reviews.llvm.org/D56925

llvm-svn: 353212
2019-02-05 20:15:03 +00:00

20 lines
569 B
C

// REQUIRES: msp430-registered-target
// RUN: %clang_cc1 -mdisable-fp-elim -triple msp430 -S %s -o - | FileCheck %s --check-prefix=FP_ENFORCED
// RUN: %clang_cc1 -triple msp430 -S %s -o - | FileCheck %s --check-prefix=FP_DEFAULT
// Check the frame pointer is not used on MSP430 by default, but can be forcibly turned on.
// FP_ENFORCED: push r4
// FP_ENFORCED: mov r4, r4
// FP_ENFORCED: pop r4
// FP_DEFAULT: .globl fp_elim_check
// FP_DEFAULT-NOT: push r4
// FP_DEFAULT: mov r4, r4
// FP_DEFAULT-NOT: pop r4
void fp_elim_check()
{
asm volatile ("mov r4, r4");
}