Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-02-29 | revert buggy test in memory refs emission | Quentin Carbonneaux | |
2016-02-29 | cosmetics | Quentin Carbonneaux | |
2016-02-28 | Error properly on strings. | Ori Bernstein | |
Don't print junk when we don't have 'b' for a string. | |||
2016-02-28 | Add zero fill data. | Ori Bernstein | |
2016-02-28 | Add strings as 'b "foo"' | Ori Bernstein | |
2016-02-28 | Allow trailing and ',' and references in data. | Ori Bernstein | |
This change adds support for two things: data $foo {l 123,} Which allows easier machine generation of data statements. It also adds the ability to parse and emit references in data declarations. | |||
2016-02-24 | do not print null offsets | Quentin Carbonneaux | |
2016-02-24 | fix swapped operands on emitcopy() call | Quentin Carbonneaux | |
2016-02-22 | simplify emit table | Quentin Carbonneaux | |
2016-02-18 | stop using OXxx1 and use new OLoad | Quentin Carbonneaux | |
2016-02-15 | fix comments in emit | Quentin Carbonneaux | |
2016-02-15 | quickly patch emit (fp load and store) | Quentin Carbonneaux | |
2016-02-15 | collect and emit fp constants | Quentin Carbonneaux | |
2016-02-11 | fp cmp fixes (highly untested) | Quentin Carbonneaux | |
2016-02-04 | fix indent in emit | Quentin Carbonneaux | |
2016-02-04 | more mac os compatibility in emit | Quentin Carbonneaux | |
2016-02-04 | cheap rip relative hack | Quentin Carbonneaux | |
2016-02-04 | fix emit bugs for binops | Quentin Carbonneaux | |
2016-02-04 | fix typo in emit tables | Quentin Carbonneaux | |
2016-02-03 | fix call emission | Quentin Carbonneaux | |
2016-02-03 | finish emit lifting, seems ok now | Quentin Carbonneaux | |
2016-02-03 | more revamp in emit | Quentin Carbonneaux | |
2016-02-02 | document emit format | Quentin Carbonneaux | |
2016-01-29 | start emit simplification | Quentin Carbonneaux | |
2015-11-30 | stores becomes storeh | Quentin Carbonneaux | |
2015-10-30 | this test optimization is sometimes incorrect | Quentin Carbonneaux | |
2015-10-30 | small fix in memory refs emission | Quentin Carbonneaux | |
2015-10-30 | add support for RAMem in emit | Quentin Carbonneaux | |
2015-10-30 | start integrating RAMem references | Quentin Carbonneaux | |
2015-10-30 | emit code for extensions, move slots into RAlt | Quentin Carbonneaux | |
2015-10-19 | uniformize sign extension and mem loads | Quentin Carbonneaux | |
2015-10-08 | allow multiple functions in file | Quentin Carbonneaux | |
2015-10-08 | emit alignment directives properly | Quentin Carbonneaux | |
2015-10-07 | finish implementing data parsing | Quentin Carbonneaux | |
2015-10-01 | support negative frame offsets in emit | Quentin Carbonneaux | |
They are used to access function parameters passed on the stack. | |||
2015-09-30 | uniformize alignment code in framesz() | Quentin Carbonneaux | |
2015-09-29 | wip on new stack slots (emit, spill) | Quentin Carbonneaux | |
2015-09-22 | parse return types of functions | Quentin Carbonneaux | |
2015-09-21 | emit syntactically valid calls | Quentin Carbonneaux | |
2015-09-20 | factor formatting inside emitf | Quentin Carbonneaux | |
2015-09-20 | simplify two loops with a pointer | Quentin Carbonneaux | |
2015-09-20 | save callee-save registers | Quentin Carbonneaux | |
2015-09-17 | add hack in emit to support stack arguments | Quentin Carbonneaux | |
The number stored in the .val field of SLOTs has to be sign extended, so we can reach into the caller's frame when necessary (arguments passed on the stack). | |||
2015-09-17 | start work on fuction parameters | Quentin Carbonneaux | |
2015-09-15 | hack to enable proper regalloc on calls | Quentin Carbonneaux | |
I add the dual to dummy uses: dummy defs. They are compiled to nothing, but help preserving the invariants I had when writing the register allocator. Clearly, there should be a better way. | |||
2015-09-15 | implement aggregate passing in regs | Quentin Carbonneaux | |
2015-09-15 | start function call lowering (wip) | Quentin Carbonneaux | |
2015-09-15 | start work on aggregate types | Quentin Carbonneaux | |
The parser now has some code to parse the description of structured types. I tried to be even less specific than LLVM "type" by creating just enough abstraction so that I can deal with both AARCH64 and x64. The base types used in the definition of an aggregate are really just syntactic sugar to give a structure a size and an alignment. Only the location of float components matters for the compilation. In particular this means that the front-ends have to know how the ABI works to pass/return small integer types. This also means that the font-end has to be aware of the layout of structures. Chris Lattner has a proposition [1] for LLVM that is still pending and goes in the direction of giving more control of the ABI the front-end. [1]: http://www.nondot.org/sabre/LLVMNotes/ExtendedIntegerResults.txt | |||
2015-09-15 | split some long calls | Quentin Carbonneaux | |
2015-09-15 | fix two bugs in new emit | Quentin Carbonneaux | |