Values that are defined together are represented as a singly linked list. These
lists appear in:
- Instructions with multiple result values. The first result value is special, and the
following results form a linked list of Def extended_value table entries.
- EBB arguments are represented as a linked list of Argument extended_value
table entries. The EbbData struct has pointers to the first and last argument
to allow fast insertion at both ends.
Add a Values iterator type whicih can enumerate both kinds of value lists.
Values that are defined together are represented as a singly linked list. These
lists appear in:
- Instructions with multiple result values. The first result value is special, and the
following results form a linked list of Def extended_value table entries.
- EBB arguments are represented as a linked list of Argument extended_value
table entries. The EbbData struct has pointers to the first and last argument
to allow fast insertion at both ends.
Add a Values iterator type whicih can enumerate both kinds of value lists.
When Function serves as a container for IL entities, use the Index trait to
translate a reference class to a Data object.
Works for:
- StackSlot -> StackSlotData
- Inst -> InstructionData
When Function serves as a container for IL entities, use the Index trait to
translate a reference class to a Data object.
Works for:
- StackSlot -> StackSlotData
- Inst -> InstructionData
libctonfile -> libreader.
This library will only provide .cton file reading/parsing services which are
not needed after deployment.
Code for writing .cton files lives in the main cretonne library because it is
fairly small, and because it is useful for extracting test cases from a
deployed library.
libctonfile -> libreader.
This library will only provide .cton file reading/parsing services which are
not needed after deployment.
Code for writing .cton files lives in the main cretonne library because it is
fairly small, and because it is useful for extracting test cases from a
deployed library.
Add a stack slot array to repr::Function, use repr::StackSlot to reference them.
Parse stack slot declarations in the function preamble, add them to the
function.
Add a new `Context` struct which keeps track of mappings between identifiers
used in the file and real references.
Add a stack slot array to repr::Function, use repr::StackSlot to reference them.
Parse stack slot declarations in the function preamble, add them to the
function.
Add a new `Context` struct which keeps track of mappings between identifiers
used in the file and real references.
Don't use assertions to enforce the limits on SIMD lanes in a type, Type is too
fundamental for that. Instead, the Vector-forming by() method returns an
Optional<Type>, and None if the requested SIMD vector is not valid.
Same for Type::half_vector().
Don't use assertions to enforce the limits on SIMD lanes in a type, Type is too
fundamental for that. Instead, the Vector-forming by() method returns an
Optional<Type>, and None if the requested SIMD vector is not valid.
Same for Type::half_vector().
These are bitwise exact conversions from string to immediates, implementing the
inverse of the Display trait.
Only accept hexadecimal floating point numbers to avoid issues with rounding
when converting decimal numbers to binary.
These are bitwise exact conversions from string to immediates, implementing the
inverse of the Display trait.
Only accept hexadecimal floating point numbers to avoid issues with rounding
when converting decimal numbers to binary.
The src/tools directory contains the cretonne-tools crate which will build
binaries for testing cretonne.
The src/libctonfile directory contains the ctonfile library crate which
provides reading and writing of .cton files.
The src/tools directory contains the cretonne-tools crate which will build
binaries for testing cretonne.
The src/libctonfile directory contains the ctonfile library crate which
provides reading and writing of .cton files.