Commit Graph

12 Commits

Author SHA1 Message Date
Jakob Stoklund Olesen
23ae70cacf Flatten the Value reference representation.
All values are now references into the value table, so drop the
distinction between direct and table values. Direct values don't exist
any more.

Also remove the parser support for the 'vxNN' syntax. Only 'vNN' values
can be parsed now.
2017-04-12 14:45:22 -07:00
Jakob Stoklund Olesen
46f0393417 Ensure that the docs examples verify as Cretonne IL.
Any *.cton files in the docs directory are now included when running the
test-all.sh script. This is to ensure that the examples are in fact
correct IL.

Always print NaN and Inf floats with a sign. Print the positive ones as
+NaN and +Inf to make them easier to parse.
2017-04-10 15:28:24 -07:00
Jakob Stoklund Olesen
7ec54a5a01 Add a Cretonne testing guide.
Describe the basics of Rust-level tests, and go into more detail about
the file-level tests.
2016-09-23 11:37:40 -07:00
Jakob Stoklund Olesen
b788ab8020 Fix Python3 compat in docs directory.
Update copyright.
2016-08-25 11:55:57 -07:00
Jakob Stoklund Olesen
f116f03327 Move entry_block() into Layout.
The single entry block in a function is simply the first block in the layout.

Remove the 'entry' keyword from the textual IL, the lexer and parser.
2016-07-22 10:06:51 -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
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
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 Olesen
189fc7dfb7 Add hexadecimal numbers to the lexer.
Also decimal and hexadecimal exponential notation for float constants.
2016-01-22 10:31:24 -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 Olesen
36cb753c4f Cretonne pygments lexer 2016-01-20 07:13:02 -08:00