Commit graph

520 commits

Author SHA1 Message Date
Quentin Carbonneaux
a9dc36e0eb change extension in sum example 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
d272f0896b simplify constant handling in amatch() 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
fb1c02657b fix bug in constants addition 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
9c29630dbf small fix in memory refs emission 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
10ef1c132b store constant addresses in Mem.offset 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
486915f501 print memory references in IR dumps 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
d1f048bc9c don't share mems containing temporaries
This can cause trouble in register allocation when
these temporaries get replaced by registers.  On
the other hand, offsetted slots and constants
can safely be shared.
2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
47a34dbd51 turn sum.ssa more C style 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
6d264a2594 port rega.c to work with RAMem 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
aa5682480c oops, another bug in sum.ssa 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
ab7a5c277a add support for RAMem in emit 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
039f9de5c5 port spill.c to work with RAMem 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
7ed3303036 mention addressing modes in isel main comment 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
e0d7beda69 fix typo bug in liveness 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
04b66d38db start integrating RAMem references 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
b33febc25c prepare for using memory refs 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
82d79017ff fix test for load folding 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
e205856bc6 stick scales close to their instruction 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
326bf160f4 fix minor bug in sum.ssa 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
6e0c394047 add a test for addressing mode optimization 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
97db80da31 start work on fusing loads in arithmetic 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
475e90a371 first attempt at address matching 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
525d4db4ea new function to add constants 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
8ef0e2d027 cosmetics on address numbering code 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
b44f46fafc store addressability infos in a struct 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
639142f44c do not give an addressability number to scales 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
5e43482c11 store child matchings in the addressing table 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
4185168edc missed a few cases in the tree automaton 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
fa3f7b53fa make the echo test return 0 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
30f47d6ec1 fix bug in pretty printer 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
bb5f95c192 start adress mode recognition 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
4bce97b16b rename spill field in Tmp to slot 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
a7e7d73a7e use new loadl instruction in echo 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
b284721c8a emit code for extensions, move slots into RAlt 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
993416481a add atoi prototype in queen.c test 2015-10-25 13:52:30 -04:00
Quentin Carbonneaux
7c6fadc6ba uniformize sign extension and mem loads 2015-10-19 17:28:21 -04:00
Quentin Carbonneaux
a655b8b3eb add cheap line reporting in die 2015-10-17 22:16:43 -04:00
Quentin Carbonneaux
96fab80240 rename valloc and balloc
valloc is actually a POSIX function that
prevents compilation on some systems.
2015-10-13 17:20:44 -04:00
Quentin Carbonneaux
eee9afb88e use an array of pointers in queen 2015-10-13 14:30:53 -04:00
Quentin Carbonneaux
0c7bf521b3 add void type 2015-10-13 14:30:16 -04:00
Quentin Carbonneaux
48cc255929 improve error detection in mcc 2015-10-13 14:29:58 -04:00
Quentin Carbonneaux
8cfcd87e50 no, 9 is not prime 2015-10-13 13:15:12 -04:00
Quentin Carbonneaux
e2fca0812b ignore output of mcc 2015-10-12 22:01:31 -04:00
Quentin Carbonneaux
114f0eec99 cosmetics in queen.c 2015-10-12 21:48:08 -04:00
Quentin Carbonneaux
7f7cf6a032 add for loops 2015-10-12 21:46:27 -04:00
Quentin Carbonneaux
b402c8f7d5 make the queen test work 2015-10-12 21:30:14 -04:00
Quentin Carbonneaux
8733d14e6e add & binop to minic 2015-10-12 18:28:19 -04:00
Quentin Carbonneaux
095ebf62f1 add new test 2015-10-12 18:28:00 -04:00
Quentin Carbonneaux
12ebc15a38 add return, break, globals in minic 2015-10-12 17:49:32 -04:00
Quentin Carbonneaux
e33a10a8a4 limit the amount of warnings in prime example 2015-10-12 17:49:00 -04:00