summary refs log tree commit diff
path: root/lisc/parse.c
AgeCommit message (Collapse)Author
2016-03-25great renaming campain!Quentin Carbonneaux
2016-03-22store register usage of ret instructions (abi fuzz)Quentin Carbonneaux
So far I was ignoring register uses of return instructions and it was working because at most one register could be returned. Now that more complex returns are supported it is necessary to keep track of the registers used by returns. The abi fuzzer triggered an assertion failure in the register allocator with the following IL: R1 =l load [%t16] R3 =l load [8 + %t16] ret The regalloc would use R1 for %t16, and then a (nice) assertion realized the inconsistent state because R1 could only be def'd by an assignment to %t16.
2016-03-22typo in lexing table (abi fuzzer)Quentin Carbonneaux
2016-03-18oops, nul terminate string tokensQuentin Carbonneaux
2016-03-18handle padding correctly in typesQuentin Carbonneaux
2016-03-18tentative support of calls with struct returnQuentin Carbonneaux
2016-03-17parse fixes for struct returnQuentin Carbonneaux
2016-03-16add unsigned division and remainderQuentin Carbonneaux
2016-03-16add shift instructionsQuentin Carbonneaux
2016-03-09be more precise in load typesQuentin Carbonneaux
2016-03-09use opdesc[] in isel.cQuentin Carbonneaux
2016-03-08add more info in opdesc[]Quentin Carbonneaux
2016-03-08add a default align for data defsQuentin Carbonneaux
2016-03-07add new cast instructionQuentin Carbonneaux
2016-03-07cosmetics in err()Quentin Carbonneaux
2016-03-04get rid of hard coded NBlkQuentin Carbonneaux
2016-03-03add some (easy) instructionsQuentin Carbonneaux
2016-02-29cosmeticsQuentin Carbonneaux
2016-02-29group symbols together in tokens enumQuentin Carbonneaux
2016-02-28Make err nonstatic.Ori Bernstein
2016-02-28Add zero fill data.Ori Bernstein
2016-02-28Add strings as 'b "foo"'Ori Bernstein
2016-02-28Allow 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-28Make parser slightly more accepting.Ori Bernstein
'_' is ok to start a symbol, and '$' is an acceptable character within a symbol.
2016-02-28More standard/better error message formatting.Ori Bernstein
2016-02-23print new jump instructionsQuentin Carbonneaux
2016-02-23patch return, might not workQuentin Carbonneaux
2016-02-22use isstore() in parserQuentin Carbonneaux
2016-02-19add lexing sugar for backward compatibilityQuentin Carbonneaux
2016-02-18stop using OXxx1 and use new OLoadQuentin Carbonneaux
2016-02-15always print RACall with 3 digitsQuentin Carbonneaux
2016-02-12cut code, use scanf a little moreQuentin Carbonneaux
2016-02-12new syntax for float literalsQuentin Carbonneaux
2016-02-12scan ints using scanfQuentin Carbonneaux
2016-02-11fp cmp fixes (highly untested)Quentin Carbonneaux
2015-12-27go verbose in parse.cQuentin Carbonneaux
2015-12-08sanitize constants representationQuentin Carbonneaux
2015-12-01oops, fix typo bug in parse.cQuentin Carbonneaux
2015-11-30more error reporting in parsedat()Quentin Carbonneaux
2015-11-30parse and print floating pointsQuentin Carbonneaux
2015-11-30change the wide bit to a class numberQuentin Carbonneaux
2015-11-30stores becomes storehQuentin Carbonneaux
2015-11-18support _ in identifiersQuentin Carbonneaux
2015-11-13export printref functionQuentin Carbonneaux
2015-11-11move usage computation in filluse()Quentin Carbonneaux
2015-11-05support lighter syntax for arraysQuentin Carbonneaux
2015-11-01break Tmp.phi chains at phi nodesQuentin Carbonneaux
This makes sure the Tmp.phi "chain" is at most two elements long. Something smarted could be possible, but union-find with path compression is still not exactly what I want.
2015-11-01support dots in idents for k0gaQuentin Carbonneaux
2015-10-31make phi-class handling more localQuentin Carbonneaux
The phi classes are no longer in a union-find structure, instead each temporary argument of a phi node gets a pointer to it. The hinting of the phi node is then shared with its the one of its arguments. When liveness proceeds and finds out that two elements with same hinting (a phi node and one of its arguments or two arguments of the same phi node) interfere, one of them has its phi pointer reset, that way, the hinting won't be shared.
2015-10-30print memory references in IR dumpsQuentin Carbonneaux