Mercurial > hg > CbC > CbC_llvm
comparison lib/Target/MSP430/README.txt @ 0:95c75e76d11b LLVM3.4
LLVM 3.4
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 12 Dec 2013 13:56:28 +0900 |
parents | |
children | 60c9769439b8 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:95c75e76d11b |
---|---|
1 //===---------------------------------------------------------------------===// | |
2 // MSP430 backend. | |
3 //===---------------------------------------------------------------------===// | |
4 | |
5 DISCLAIMER: Thid backend should be considered as highly experimental. I never | |
6 seen nor worked with this MCU, all information was gathered from datasheet | |
7 only. The original intention of making this backend was to write documentation | |
8 of form "How to write backend for dummies" :) Thes notes hopefully will be | |
9 available pretty soon. | |
10 | |
11 Some things are incomplete / not implemented yet (this list surely is not | |
12 complete as well): | |
13 | |
14 1. Verify, how stuff is handling implicit zext with 8 bit operands (this might | |
15 be modelled currently in improper way - should we need to mark the superreg as | |
16 def for every 8 bit instruction?). | |
17 | |
18 2. Libcalls: multiplication, division, remainder. Note, that calling convention | |
19 for libcalls is incomptible with calling convention of libcalls of msp430-gcc | |
20 (these cannot be used though due to license restriction). | |
21 | |
22 3. Implement multiplication / division by constant (dag combiner hook?). | |
23 | |
24 4. Implement non-constant shifts. | |
25 | |
26 5. Implement varargs stuff. | |
27 | |
28 6. Verify and fix (if needed) how's stuff playing with i32 / i64. | |
29 | |
30 7. Implement floating point stuff (softfp?) | |
31 | |
32 8. Implement instruction encoding for (possible) direct code emission in the | |
33 future. | |
34 | |
35 9. Since almost all instructions set flags - implement brcond / select in better | |
36 way (currently they emit explicit comparison). | |
37 | |
38 10. Handle imm in comparisons in better way (see comment in MSP430InstrInfo.td) | |
39 | |
40 11. Implement hooks for better memory op folding, etc. |