diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2009-05-03 13:19:24 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2009-05-03 13:19:24 +0000 |
commit | 7594884648f0627f724686a20089bffdcde3635d (patch) | |
tree | 23b899c372cd4cdd3663d9b6658715cac621c3f0 /lib | |
parent | 1bb8cd723d9fc89701fd3e54951c6bb419f798d3 (diff) | |
download | external_llvm-7594884648f0627f724686a20089bffdcde3635d.zip external_llvm-7594884648f0627f724686a20089bffdcde3635d.tar.gz external_llvm-7594884648f0627f724686a20089bffdcde3635d.tar.bz2 |
Add TODO list :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70768 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/MSP430/README.txt | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/Target/MSP430/README.txt b/lib/Target/MSP430/README.txt new file mode 100644 index 0000000..b14e93d --- /dev/null +++ b/lib/Target/MSP430/README.txt @@ -0,0 +1,42 @@ +//===---------------------------------------------------------------------===// +// 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): + +0. Implement asmprinting for variables :) + +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. |