Commit Graph

6 Commits

Author SHA1 Message Date
Dan Gohman
8d560cf8ba Fix Rust syntax in generated code.
This code is not currently emitted, though it will be when there
are more legalization rules.
2018-03-28 12:58:31 -07:00
Jakob Stoklund Olesen
1f02d1f880 Allow for multiple legalization patterns for the same opcode.
Each input pattern can have a predicate in addition to an opcode being
matched. When an opcode has multiple patterns, execute the first pattern
with a true predicate.

The predicates can be type checks or instruction predicates checking
immediate fields.
2017-07-28 13:54:25 -07:00
Dimo
5f77369053 Fix up a couple of test changed by unifying control tv first 2017-07-28 10:47:08 -07:00
Dimo
e41ddf2a0d Change TV ranking to select src vars as a representative during unification; Nit: cleanup dot() emitting code; Nit: fix small bug in verify_semantics() - make an internal copy of src rtl to avoid clobbering of typevars re-used in multiple definitions 2017-07-25 15:38:48 -07:00
d1m0
7c438f866c Add fix for #114 (#115)
* Reduce code duplication in TypeConstraint subclasses; Add ConstrainWiderOrEqual to ti and to ireduce,{s,u}extend and f{promote,demote}; Fix bug in emitting constraint edges in TypeEnv.dot(); Modify runtime constraint checks to reject match when they encounter overflow

* Rename Constrain types to something shorter; Move lane_bits/lane_counts in subclasses of ValueType; Add wider_or_eq function in rust and python;
2017-07-12 08:51:55 -07:00
d1m0
fc11ae7b72 Emit runtime type checks in legalizer.rs (#112)
* Emit runtime type checks in legalizer.rs
2017-07-10 15:28:32 -07:00