/3rd_party/llvm/lib/Target/MSP430/README.txt
https://code.google.com/p/softart/ · Plain Text · 40 lines · 27 code · 13 blank · 0 comment · 0 complexity · 2e4f2f6851949e4d7339e5ef636d39d8 MD5 · raw file
- //===---------------------------------------------------------------------===//
- // MSP430 backend.
- //===---------------------------------------------------------------------===//
- DISCLAIMER: Thid backend should be considered as highly experimental. I never
- seen nor worked with this MCU, all information was gathered from datasheet
- only. The original intention of making this backend was to write documentation
- of form "How to write backend for dummies" :) Thes notes hopefully will be
- available pretty soon.
- Some things are incomplete / not implemented yet (this list surely is not
- complete as well):
- 1. Verify, how stuff is handling implicit zext with 8 bit operands (this might
- be modelled currently in improper way - should we need to mark the superreg as
- def for every 8 bit instruction?).
- 2. Libcalls: multiplication, division, remainder. Note, that calling convention
- for libcalls is incomptible with calling convention of libcalls of msp430-gcc
- (these cannot be used though due to license restriction).
- 3. Implement multiplication / division by constant (dag combiner hook?).
- 4. Implement non-constant shifts.
- 5. Implement varargs stuff.
- 6. Verify and fix (if needed) how's stuff playing with i32 / i64.
- 7. Implement floating point stuff (softfp?)
- 8. Implement instruction encoding for (possible) direct code emission in the
- future.
- 9. Since almost all instructions set flags - implement brcond / select in better
- way (currently they emit explicit comparison).
- 10. Handle imm in comparisons in better way (see comment in MSP430InstrInfo.td)
- 11. Implement hooks for better memory op folding, etc.