Home
last modified time | relevance | path

Searched refs:rules (Results 1 – 25 of 49) sorted by relevance

12

/wasmtime-44.0.1/cranelift/isle/isle/src/
H A Dserialize.rs48 let mut order = Vec::from_iter(0..rules.rules.len()); in serialize()
164 partition_in_place(selected, |&idx| rules.rules[idx].prio >= max_deferred_prio) in respect_priority()
218 let rule = &rules.rules[idx]; in partition()
379 rules: &'a RuleSet, field
395 rules, in new()
407 rules: self.rules, in new_block()
479 order.sort_unstable_by_key(|&idx| (Reverse(self.rules.rules[idx].prio), idx)); in sort()
486 } = &self.rules.rules[idx]; in sort()
545 |idx: usize| self.rules.rules[idx].get_constraint(source).unwrap(); in make_control_flow()
625 .rules in make_control_flow()
[all …]
H A Doverlap.rs58 let mut rules = vec![Span::new_single(pos)]; in report() localVariable
60 rules.extend(node.into_iter().map(Span::new_single)); in report()
64 rules, in report()
79 Error::OverlapError { rules, .. } => rules[0].from, in report()
122 let mut cursor = ruleset.rules.iter(); in check_overlaps()
H A Dtrie_again.rs224 pub rules: Vec<Rule>, field
235 for rule in termenv.rules.iter() { in build()
246 .map(|(term, builder)| (term, builder.rules)) in build()
401 rules: RuleSet, field
419 self.rules.rules.push(rule); in add_rule()
513 if let Some(binding) = self.rules.binding_map.get(&binding) { in dedup_binding()
516 let id = BindingId(self.rules.bindings.len().try_into().unwrap()); in dedup_binding()
517 self.rules.bindings.push(binding.clone()); in dedup_binding()
518 self.rules.binding_map.insert(binding, id); in dedup_binding()
711 let expr = &self.rules.bindings[expr.index()]; in expr_as_pattern()
H A Derror.rs42 Error::OverlapError { rules, .. } => { in fmt()
43 let mut labels = vec![Label::primary(rules[0].from.file, &rules[0])]; in fmt()
45 rules[1..] in fmt()
129 rules: Vec<Span>,
/wasmtime-44.0.1/crates/wit-bindgen/src/
H A Dconfig.rs20 rules: Vec<FunctionRule>, field
50 self.rules.push(FunctionRule { in push()
117 for rule in self.rules.iter_mut() { in add_function_flags()
153 for rule in self.rules.iter().filter(|r| !r.used) { in assert_all_rules_used()
/wasmtime-44.0.1/cranelift/isle/isle/
H A DREADME.md6 ISLE is a statically-typed term-rewriting language. You define rewriting rules
8 rules get compiled down into Rust source test that uses a tree of `match`
/wasmtime-44.0.1/cranelift/isle/docs/
H A Dlanguage-reference.md74 terms) and how rules are written.
82 insight into how an unordered collection of rewrite rules are
152 lowering rules, considering each in isolation.
234 rules until some criteria are met.
287 pattern might match on the input. For example, the two rules:
318 under a set of rewrite rules, from which a heuristic
353 For a simple example, consider the following rules:
362 to `(E 42)` (via the first and second rules respectively).
366 rules allows us to *factor* a "program" of term-rewriting rules in the
669 The typing rules for patterns in ISLE are:
[all …]
/wasmtime-44.0.1/cranelift/isle/
H A DREADME.md14 ISLE is a DSL that allows one to write instruction-lowering rules for a
17 set of rewrite rules that turn this into another tree of terms.
19 This repository contains a prototype meta-compiler that compiles ISLE rules
22 all rules into a decision tree, sharing work where possible, while respecting
25 The ISLE language is designed so that the rules can both be compiled into an
29 level, the rules can be seen as simple equivalences between values in two
69 The ISLE language is based around rules for translating a term (i.e. expression)
70 into another term. Terms are typed, so before we can write rules for translating
110 Now we can start writing some basic lowering rules! We declare the top-level
117 ;; Declare our top-level lowering function. We will attach rules to this
[all …]
/wasmtime-44.0.1/cranelift/docs/
H A Disle-integration.md9 rewrite rules. ISLE source text is [compiled down into Rust
70 non-SSA ISA and the pure, SSA view that the lowering rules have.
73 rules for an ISA. These should be pure, SSA rewrite rules, that lend
93 ## Lowering rules are always pure, use SSA
95 The lowering rules themselves, defined in
99 Examples of things that the lowering rules themselves shouldn't deal with or
143 lowering rules use a pure paradigm that ignores these constraints and has
148 ## When are lowering rules allowed to have side effects?
154 rules we never fully match pull the rug out from under our feet.
244 where possible to simplify the lowering rules. For example, we have
[all …]
/wasmtime-44.0.1/cranelift/codegen/src/opts/
H A DREADME.md3 For both correctness and compile speed, we must be careful with our rules. A lot
4 of it boils down to the fact that, unlike traditional e-graphs, our rules are
17 Any kind of canonicalizing rule that intends to help subsequent rules match
19 for our constant-propagation rules to match) must produce canonicalized
79 storage in the dataflow graph. Therefore, additional rules are cheaper than
116 This resulted in a real bug in #7999. The best guidance is to keep rules
H A Dspectre.isle1 ;; Rewrites for `select_spectre_guard` -- check these rules carefully!
H A Dskeleton.isle3 ;; These are rules for the `simplify_skeleton` term, rather than `simplify`, and
H A Dshifts.isle231 ;; Try to group constants together so that other cprop rules can optimize them.
249 ;; Similarly to the rules above, if y and z have the same type, we should emit
291 ;; Normalize the shift amount. Some rules can't fire unless the shift amount
/wasmtime-44.0.1/crates/explorer/
H A Deslint.config.js11 rules: {
/wasmtime-44.0.1/cranelift/isle/veri/veri_ir/
H A DREADME.md3 This crate defines two intermediate representations for verifying ISLE rules.
/wasmtime-44.0.1/cranelift/filetests/filetests/egraph/
H A Dreassociate-constants-in-shifts.clif5 ;; Test egraph rewrite rules that reassociate constants out of nested shifts.
/wasmtime-44.0.1/cranelift/isle/veri/veri_engine/src/
H A Dverify.rs92 for rule in &termenv.rules { in verify_rules_for_term()
/wasmtime-44.0.1/cranelift/filetests/filetests/isa/riscv64/
H A Dextend-zbb.clif6 ;;;; Uextend rules
H A Dzicond.clif164 ;; This can trigger a stack overflow with if the rules don't prevent
H A Dextend.clif6 ;;;; Uextend rules
/wasmtime-44.0.1/cranelift/isle/isle/isle_examples/pass/
H A Dtutorial.isle37 ;; Declare our top-level lowering function. We will attach rules to this
H A Dprio_trie_bug.isle92 ;; (immediate in register). Two rules, for imm+reg and
/wasmtime-44.0.1/cranelift/isle/veri/
H A DREADME.md3 …ion lowering and transformation rules written in ISLE. Crocus uses an underlying SMT solver to mod…
272 To run a specific test, you can provide the test name (most rules are tested in `cranelift/isle/ver…
/wasmtime-44.0.1/
H A DORG_CODE_OF_CONDUCT.md16 The code of conduct described below is not a set of rigid rules, and
21 consensus, and interpret these rules with an intent that is generous
/wasmtime-44.0.1/cranelift/codegen/
H A DCargo.toml85 # significantly inefficient for large terms (e.g. `simplify` with hundreds of rules).

12