summary refs log tree commit diff
path: root/doc/il.txt
AgeCommit message (Collapse)Author
2024-01-03fix link in docQuentin Carbonneaux
2024-01-02Add missing documentation for union types and VAL.Chenguang Wang
See previous discussion here[1]. It's unclear to me how to preview HTML page generated from the .txt file, though. [1]: https://lists.sr.ht/~mpu/qbe/%3C87cz1jq26k.fsf%40greenfork.me%3E
2023-01-09reorder some sections in doc v1.1Quentin Carbonneaux
2022-12-16update documentationQuentin Carbonneaux
2022-06-29Fix minor typos in IL docSimon Heath
2022-05-12tighten function definition specQuentin Carbonneaux
2022-05-12use an alias for \n in the il specQuentin Carbonneaux
2022-05-11document spacing in il referenceQuentin Carbonneaux
2022-03-07doc: export function main in hello world examplelincoln auster [they/them]
This enables the example to be compiled and run as-is, without any additional modification.
2022-02-27doc: Add missing neg entry to indexScott Graham
2022-02-24doc: minor fixesPaul Ouellette
2022-02-17add rv64 backendMichael Forney
It is mostly complete, but still has a few ABI bugs when passing floats in structs, or when structs are passed partly in register, and partly on stack.
2022-02-11document the automatic use of bssQuentin Carbonneaux
2022-02-11doc: fix name of export linkage flagPaul Ouellette
2022-02-02shared linkage logic for func/dataQuentin Carbonneaux
2022-01-28implement float -> unsigned castsBor Grošelj Simić
amd64 lacks instruction for this so it has to be implemented with float -> signed casts. The approach is borrowed from llvm.
2022-01-28implement unsigned -> float castsBor Grošelj Simić
amd64 lacks an instruction for this so it has to be implemented with signed -> float casts: - Word casting is done by zero-extending the word to a long and then doing a regular signed cast. - Long casting is done by dividing by two with correct rounding if the highest bit is set and casting that to float, then adding 1 to mantissa with integer addition
2022-01-23Add a negation instructionEyal Sawady
Necessary for floating-point negation, because `%result = sub 0, %operand` doesn't give the correct sign for 0/-0.
2021-10-22make variadic args explicitQuentin Carbonneaux
Some abis, like the riscv one, treat arguments differently depending on whether they are variadic or not. To prepare for the upcomming riscv target, we change the variadic call syntax and give meaning to the location of the '...' marker. # new syntax %ret =w call $f(w %regular, ..., w %variadic) By nature of their abis, the change is backwards compatible for existing targets.
2020-08-06fix a typo in call's BNFQuentin Carbonneaux
Thanks to Jakob for pointing this out.
2019-02-21doc: Aggregate types can be nestedMichael Forney
2019-02-21doc: Include `align` in data BNFMichael Forney
2017-04-26Small corrections in documentationQuentin Rameau
2017-04-18documentation updateQuentin Carbonneaux
2017-04-08nits in the documentationQuentin Carbonneaux
2017-02-22turn the instruction index into a listQuentin Carbonneaux
2017-02-03create an index for the instructions in the IL docQuentin Rameau
2017-01-20create an instruction index for the IL docQuentin Rameau
2017-01-20change 'b' and 'h' ordering in IL docQuentin Rameau
2016-11-09doc nitsQuentin Carbonneaux
2016-04-22update documentation with new fp conversionsQuentin Carbonneaux
2016-04-21oops fix wrong instruction names in docQuentin Carbonneaux
2016-04-20support calls with no returnQuentin Carbonneaux
I thought it would be harder (and maybe it is). My fear was that a call must be always followed by a parallel move from machine registers (this is an assumption in both spill and rega). This however remains true, because the ABI code generates a dummy "copy RAX" by accident!
2016-03-29typos in il.txt, thanks Robert RansomQuentin Carbonneaux
2016-03-16document new shift operationsQuentin Carbonneaux
2016-03-15document exts and truncdQuentin Carbonneaux
2016-03-15doc is now completeQuentin Carbonneaux
2016-03-15massage Instructions sectionQuentin Carbonneaux
2016-03-14finish the Memory sectionQuentin Carbonneaux
2016-03-14compactify some instruction listsQuentin Carbonneaux
2016-03-14start doc on memory instructionsQuentin Carbonneaux
2016-03-14start description of instructionsQuentin Carbonneaux
2016-03-13rework the types sectionQuentin Carbonneaux
2016-03-13less redundancy in il.htmlQuentin Carbonneaux
2016-03-11BNF Syntax becomes NotationQuentin Carbonneaux
2016-03-11document constantsQuentin Carbonneaux
2016-03-10styleQuentin Carbonneaux
2016-03-10move constant section higherQuentin Carbonneaux
2016-03-10be more preciseQuentin Carbonneaux
2016-03-10flesh Control sectionQuentin Carbonneaux