[MSP430][Clang] Remove support for -mmcu=msp430

The -mmcu= option accepts a generic MCU named "msp430", which sets the
CPU to msp430 and disables hardware multiply support.

The current purpose of accepting this value is to allow -mmcu= to be
used as an alias for -mcpu=, however there are some downsides to doing
this. -mmcu= provides additional features that will interfere
with the expected behavior if the user tries to to use it as an alias
for -mcpu=.

-mmcu=msp430 will conflict with -mhwmult=, since the "msp430" MCU is
defined to have no hardware multiply support, so the user will not be
able to set an explicit hardware multiply version.

-mmcu=msp430 will put "-Tmsp430.ld" on the linker command line, however
TI's support files do not provide a linker script with this name and so
the user would have to explicitly create it.

Differential Revision: https://reviews.llvm.org/D108299
This commit is contained in:
Jozef Lawrynowicz 2021-09-28 20:47:14 +03:00 committed by Anton Korobeynikov
parent 85f612efeb
commit be610932fa
2 changed files with 7 additions and 2 deletions

View File

@ -238,8 +238,7 @@ MSP430_MCU_FEAT("msp430f4793", "32bit")
MSP430_MCU_FEAT("msp430f4784", "32bit")
MSP430_MCU_FEAT("msp430f4794", "32bit")
// Generic MSUs
MSP430_MCU("msp430")
// Generic MCUs
MSP430_MCU("msp430i2xxgeneric")
#undef MSP430_MCU

View File

@ -14,3 +14,9 @@
// RUN: | FileCheck -check-prefix=MSP430-UNSUP %s
// MSP430-UNSUP: error: the clang compiler does not support 'not-a-mcu'
// The generic MCU name "msp430" is not supported.
// RUN: %clang %s -### -no-canonical-prefixes -target msp430 -mmcu=msp430 2>&1 \
// RUN: | FileCheck -check-prefix=MSP430 %s
// MSP430: error: the clang compiler does not support 'msp430'