3 Commits

Author SHA1 Message Date
Vadzim Dambrouski cbcdc5db51 [MSP430] Allow msp430_intrcc functions to not have interrupt attribute.
Summary:
Useful in case you want to have control over interrupt vector generation.
For example in Rust language we have an arrangement where all unhandled
ISR vectors gets mapped to a single default handler function. Which is
hard to implement when LLVM tries to generate vectors on its own.

Reviewers: asl, krisb

Subscribers: hiraditya, JDevlieghere, awygle, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372910 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-25 18:58:07 +00:00
Anton Korobeynikov 5d37f6c756 [MSP430] Emit a separate section for every interrupt vector
This is LLVM part of D56663

Linker scripts shipped by TI require to have every
interrupt vector in a separate section with a specific name:

 SECTIONS
 {
   __interrupt_vector_XX   : { KEEP (*(__interrupt_vector_XX )) } > VECTXX
   ...
 }

Follow the requirement emit the section for every vector
which contain address of interrupt handler:

  .section  __interrupt_vector_XX,"ax",@progbits
  .word %isr%

Patch by Kristina Bessonova!

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351345 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-16 14:03:41 +00:00
Anton Korobeynikov eaa37fad99 [MSP430] Add more tests for ABI and calling convention
Patch by Kristina Bessonova!

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@347040 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-16 09:47:58 +00:00