Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-04-09 | rebuild rpo after fold | Quentin Carbonneaux | |
2016-04-09 | did I loose my c? | Quentin Carbonneaux | |
2016-04-09 | enable constant folding | Quentin Carbonneaux | |
2016-04-09 | fix wrong assertion in fold | Quentin Carbonneaux | |
2016-04-09 | oops, forgot to patch phi arguments | Quentin Carbonneaux | |
2016-04-09 | more debug tweaks in fold | Quentin Carbonneaux | |
2016-04-09 | add a proper block deletion routine | Quentin Carbonneaux | |
2016-04-09 | nicer debug info | Quentin Carbonneaux | |
2016-04-09 | quickly hack fold rewriting | Quentin Carbonneaux | |
2016-04-08 | avoid gcc warning in emit | Quentin Carbonneaux | |
2016-04-08 | simplify a buggy test | Quentin Carbonneaux | |
I found it by compiling -O2 and seeing the ABI code fail. Further investigation revealed GCC trimmed away the last iteration of the loop because I was accessing the third element of an array of size two. This is undefined behavior, so GCC "proved" that the last iteration was never run. | |||
2016-04-08 | prevent gcc warning in rega | Quentin Carbonneaux | |
2016-04-08 | fix loop header detection bug in spill | Quentin Carbonneaux | |
2016-04-08 | use union for punning in emit | Quentin Carbonneaux | |
2016-04-07 | use cast in czero() | Quentin Carbonneaux | |
2016-04-07 | inline latmerge() (cross fingers) | Quentin Carbonneaux | |
2016-04-07 | adjustments in sccp | Quentin Carbonneaux | |
2016-04-07 | add a canfold field to opdesc | Quentin Carbonneaux | |
2016-04-07 | add boring folding code | Quentin Carbonneaux | |
2016-04-06 | start work on constant propagation | Quentin Carbonneaux | |
2016-04-05 | default to gnu gas format | Quentin Carbonneaux | |
2016-04-05 | use bsiter() for better performance | Quentin Carbonneaux | |
2016-04-05 | speedup bscount() | Quentin Carbonneaux | |
2016-04-05 | yay, support freebsd | Quentin Carbonneaux | |
2016-04-04 | fat il! | Quentin Carbonneaux | |
2016-04-04 | reorder instructions | Quentin Carbonneaux | |
2016-04-04 | cosmetics in sysv abi | Quentin Carbonneaux | |
A struct of size 0 is now marked as passed in memory. All the ABI code assumes structs passed in registers have size at least 8. This could have an impact on the alignment in the stack, but eh, I guess they are rare. | |||
2016-04-04 | remove old selpar() code | Quentin Carbonneaux | |
2016-04-03 | fix alignment code in selpar() | Quentin Carbonneaux | |
2016-04-03 | rewrite of selpar() for factoring | Quentin Carbonneaux | |
2016-04-01 | typo in readme | Quentin Carbonneaux | |
2016-04-01 | don't try to keep use counts in abi() | Quentin Carbonneaux | |
Abi lowering does not need use counts, but they are needed for instruction selection. I changed main to call filluse() between these two passes. | |||
2016-04-01 | cheap massive performance gain on brainfuck | Quentin Carbonneaux | |
2016-04-01 | tradeoff the type of bsiter() | Quentin Carbonneaux | |
int is used all over the place for temporaries, maybe this should be changed, I don't know. Another thing to consider is that temporaries are currently on 12 bits (and will be on 29 or 30 bits in the future), so int will always be safe to store them. We just loose the free invariant of non-negativity. | |||
2016-04-01 | use bsiter in critical loop | Quentin Carbonneaux | |
2016-04-01 | add huge mandelbrot brainfuck example | Quentin Carbonneaux | |
2016-04-01 | add big test file for qbe | Quentin Carbonneaux | |
2016-03-31 | respect the order of the passes | Quentin Carbonneaux | |
2016-03-31 | move abi code in a new file | Quentin Carbonneaux | |
2016-03-31 | cleanup error handling | Quentin Carbonneaux | |
2016-03-29 | do not echo compilation commands if verbose | Quentin Carbonneaux | |
2016-03-29 | typos in il.txt, thanks Robert Ransom | Quentin Carbonneaux | |
2016-03-29 | get more entropy in callgen.ml | Quentin Carbonneaux | |
2016-03-29 | make block labels per-function | Quentin Carbonneaux | |
2016-03-29 | new layout, put LICENSE in root | Quentin Carbonneaux | |
2016-03-28 | implement export control | Quentin Carbonneaux | |
2016-03-27 | mac os compatibility fixes in scripts | Quentin Carbonneaux | |
2016-03-27 | move check rule into src/ | Quentin Carbonneaux | |
2016-03-27 | free memory in pmov test | Quentin Carbonneaux | |
2016-03-27 | fix path in regress | Quentin Carbonneaux | |