Changeset 1700 for Deliverables/D2.2
- Timestamp:
- Feb 16, 2012, 11:23:12 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Deliverables/D2.2/8051/README
r1099 r1700 7 7 subset of the MIPS assembly language[2]. 8 8 9 We wrote 3 compiler passes: one from Clight to Cminor, another from 10 Cminor to an abstract register transfer language (RTLabs), and a 11 last one from RTLabs to an RTL that uses MIPS instructions. We 12 extended interpreters for the intermediate languages to output a 13 list of labels which denote key control points of the program that 14 have been crossed during the interpretation. These labels are the 15 places where the code can be instrumented to obtain a precise cost 16 annotation. Thus, in that experiment, the annotation function is the 17 composition of a labelling function followed by an instrumentation 18 function. 9 We rewrote the whole chain from Clight down to ASM, targetting the 10 8051 architecture. We extended interpreters for the intermediate 11 languages to output a list of labels which denote key control points 12 of the program that have been crossed during the interpretation. 13 These labels are the places where the code can be instrumented to 14 obtain a precise cost annotation. Thus, in that experiment, the 15 annotation function is the composition of a labelling function 16 followed by an instrumentation function. Labels are moreover indexed 17 by iterations in loop, so that some loop transformations can be 18 carried out without impacting the approach. Other implemented 19 optimizations are constant propagation, copy propagation and partial 20 redundancy elimination. 19 21 20 22 The architecture of the compiler is described in full details in the … … 63 65 64 66 Usage: acc.native [options] file... 65 -s Choose the source language between: 66 Clight, Cminor 67 [default is C] 68 -l Choose the target language between: 69 Clight, Cminor, RTLabs, RTL, ERTL, LTL, LIN, ASM 70 [default is ASM] 71 -a Add cost annotations on the source code. 72 -i Interpret the compiled code. 73 -d Debugging mode. 74 -dev Playground for developers. 75 -help Display this list of options 76 --help Display this list of options 67 -l Choose the target language between: 68 Clight, Cminor, RTLabs, RTL, ERTL, LTL, LIN, ASM 69 [default is ASM] 70 -a Add cost annotations on the source code. 71 -i Interpret the compiled code. 72 -is Interpret all the compilation passes. 73 -d Debugging mode. 74 -o Prefix of the output files. 75 -asm-pretty Output a pretty-printed assembly file. 76 -lustre Input file is a Lustre file. 77 -remove-lustre-externals Remove Lustre externals. 78 -lustre-test Input file is a Lustre file, testing requested. 79 -lustre-test-cases Set the number of test cases when testing a Lustre 80 file. 81 [default is 100] 82 -lustre-test-cycles Set the number of cycles for each case when testing 83 a Lustre file. 84 [default is 100] 85 -lustre-test-min-int Random int minimum value when testing a Lustre file. 86 [default is -1000] 87 -lustre-test-max-int Random int maximum value when testing a Lustre file. 88 [default is 1000] 89 -peel Apply loop peeling. 90 [reindexing transformation, done in Clight] 91 -cst-prop Apply constant propagation. 92 [done in RTLabs] 93 [done in RTL] 94 -cpy-prop Apply copy propagation. 95 [done in RTLabs] 96 -pre Apply partial redundancy elimination. 97 [done in RTLabs] 98 -unroll-for Apply loop unrolling, specifying factor. 99 [reindexing transformation, done in Clight] 100 -unroll Apply loop unrolling. 101 [reindexing transformation, done in Clight] 102 -peeph Apply some basic peephole optimizations. 103 [done in LIN] 104 -O Apply some optimizations. 105 -no-cost-tern Replace cost ternary expressions with equivalent 106 branch statements. 107 -no-reindex Prevent optimizations that reindex labels. 108 -dev Playground for developers. 109 -help Display this list of options 110 --help Display this list of options 77 111 78 112 Test-suite
Note: See TracChangeset
for help on using the changeset viewer.