aboutsummaryrefslogtreecommitdiff
path: root/stmt.c
AgeCommit message (Collapse)Author
2021-07-02qbe: Remove repr from struct value and use per-instruction class insteadMichael Forney
This way we avoid leaking backend-specific details of type representation outside qbe.c. It also facilitates some future simplifications.
2021-06-30stmt: Check that controlling expression is a scalar, and drop unneeded ↵Michael Forney
conversion The conversion is only needed for floating types. QBE isn't able to optimize it away for integer types yet, so removing this unnecessary conversion has a substantial performance benefit.
2021-03-31qbe: Use separate type for block/labelMichael Forney
Labels are no longer used as instruction arguments.
2019-07-05stmt: Fix conversion of controlling expression to boolMichael Forney
In d875bf74, I accidentally converted the increment expression to bool rather than the controlling expression. Whoops, I should check the updated test case IL more carefully next time.
2019-07-03Convert controlling expression of loops to boolMichael Forney
2019-07-02stmt: Add specific error message for missing inline asmMichael Forney
2019-05-16stmt: continue in do-loop should evaluate controlling expressionMichael Forney
2019-04-23Fix integer promotion on bit-fieldsMichael Forney
Fixes #47.
2019-04-21Keep track of type properties in typeMichael Forney
2019-04-21Improve error messageMichael Forney
2019-04-06Separate unqualified type and qualifiers in struct exprMichael Forney
2019-04-04Merge headers into cc.hMichael Forney
2019-03-14Abbreviate tag namesMichael Forney
2019-03-13Make `struct function` opaqueMichael Forney
2019-02-24Check for negative array lengths/indicesMichael Forney
2019-02-16Allow labels with same name as typedefMichael Forney
2019-02-15Rename emit.h -> backend.hMichael Forney
2019-02-12Initial importMichael Forney