xls
xls copied to clipboard
Missing priority select optimizations
I'm just jotting down some thoughts on priority select optimizations we could do but aren't doing yet, feel free to add more.
- If
p_iis theith selector bit andp_j->p_ifor somei<j, casejwill never be selected and we can drop it. - If some contiguous subset of selector bits are mutually exclusive, those case arms can be hoisted out into a onehot select
- We use query engines to prove properties about selectors during codegen. Block conversion (esp. pipeline registers) can obscure the possible values of state elements, so a assume op (see #542) could be added to for relevant selector properties before scheduling+codegen.