Jakob Stoklund Olesen
42364fda59
Add top-level productions to language reference.
2016-04-28 14:39:42 -07:00
Jakob Stoklund Olesen
8d0311b642
Simplify parser.
...
Use 'if let' instead of 'match' where it makes sense.
Use EBNF notation for the grammar rules. This simplifies repetition a lot.
2016-04-28 08:06:30 -07:00
Jakob Stoklund Olesen
043bb1aba5
Replace bool with b1, b8, b16, ...
...
The b1 type is an abstract boolean value. The others are concrete
representations.
2016-04-05 10:45:00 -07:00
Jakob Stoklund Olesen
79e765a183
Display quiet NaNs as 'NaN'.
...
This is recommended by IEEE 754-2008.
We still distinguish signaling NaNs with 'sNaN'.
2016-04-05 10:27:18 -07:00
Jakob Stoklund Olesen
5f706b0a1f
Implement IEEE immediates for binary32 and binary64.
...
Clarify the textual encoding of floating point numbers.
Don't allow decimal floating point since conversion to/from binary can produce
rounding problems on some (buggy) systems.
2016-04-01 14:40:15 -07:00
Jakob Stoklund Olesen
e5305c249b
Move constant instructions into meta.
...
Add new immediate types for floating point and vector immediates.
Use new immediates to define the constant value instructions in meta.
Split the fconst instruction into two: f32const and f64const. This prevents
confusion about the interpretation of 64 immediate bits when generating an f32
constant.
Add an immvector ImmediateType. This immediate type is variable length, and
provides all the bits of a SIMD vector directly.
2016-04-01 10:08:57 -07:00
Jakob Stoklund Olesen
c3233fb332
Move instruction definitions into meta.
...
Use the meta language to define instructions, just insert 'autoinst' references
in langref.
2016-04-01 10:08:57 -07:00
Jakob Stoklund Olesen
10903503c4
Add ImmediateType for declaring immediate operands.
2016-03-30 14:17:42 -07:00
Jakob Olesen
06f9b65e12
Add a TypeDocumenter for Cretonne types.
...
Use the autodoc Sphinx module to add a .. autoctontype:: directive which
generates documentation for one of the types in the cretonne.types module.
2016-02-09 06:55:53 -08:00
Jakob Olesen
f66d2a26a2
Add some more type classes.
2016-02-04 12:19:08 -08:00
Jakob Stoklund Olesen
ec7d65d8f1
Clean up the list of operations somewhat.
2016-01-22 17:30:30 -08:00
Jakob Stoklund Olesen
519fed894b
Document heaps.
2016-01-22 16:48:11 -08:00
Jakob Stoklund Olesen
095190b1a7
Load, store, local variables.
2016-01-22 15:47:15 -08:00
Jakob Stoklund Olesen
43b4f7f4e7
Expand on control flow and direct function calls.
...
Define the syntax for function signatures.
2016-01-22 13:47:53 -08:00
Jakob Stoklund Olesen
74eb6ce901
Clarify local SSA form.
...
Rename 'local' to 'stack_slot'.
2016-01-22 12:13:38 -08:00
Jakob Stoklund Olesen
45caa52622
Document control flow instructions.
2016-01-21 17:15:20 -08:00
Jakob Stoklund Olesen
a3f97e4d1f
Switch SIMD type spelling to i32x4.
...
Add support for 'type variables' in type directives.
2016-01-21 16:39:45 -08:00
Jakob Stoklund Olesen
401afdc48c
Update language reference.
...
Add a glossary and explain the overall shape of a Cretonne function.
2016-01-21 14:25:16 -08:00
Jakob Olesen
2b2b79dcf8
Add langref example
2016-01-21 11:46:30 -08:00
Jakob Olesen
b5ee157d46
Begin the intermediate language reference.
2016-01-19 19:54:33 -08:00