Vl-expr-expandsizes
Propagate the final width/type into a context-determined expression.
- Signature
(vl-expr-expandsizes x finalwidth finaltype ss ctx warnings)
→
(mv successp warnings new-x)
- Arguments
- x — Should be a list of context-determined expressions.
Guard (vl-expr-p x).
- finalwidth — Finalwidth to extend every expression in x to, should be
determined by the first pass of the sizing algorithm.
Guard (natp finalwidth).
- finaltype — Finaltype to coerce every expression in x to, should be
determined by the first pass of the sizing algorithm.
Guard (vl-exprtype-p finaltype).
- ss — Guard (vl-scopestack-p ss).
- ctx — Guard (vl-context-p ctx).
- warnings — Guard (vl-warninglist-p warnings).
- Returns
- successp — Type (booleanp successp).
- warnings — Type (vl-warninglist-p warnings).
- new-x — Type (vl-expr-p new-x).
Subtopics
- Vl-weirdint-atom-expandsizes
- Propagate the final width and type of an expression into a weird
integer atom.
- Vl-constint-atom-expandsizes
- Propagate the final width and type of an expression into a constant
integer atom.
- Vl-hidexpr-expandsizes
- Propagate the final width and type of an expression into an
identifier or HID.
- Vl-expandsizes-zeroextend
- Safely zero-extend an already-sized, unsigned expression to finalwidth.
- Vl-atom-expandsizes
- Propagate the final width and type of an expression into an atom.
- Vl-string-atom-expandsizes
- Propagate the final width and type of an expression into a weird
integer atom.
- Vl-sign-extend-constint
- (vl-sign-extend-constint value origwidth finalwidth) returns a new value, which is the
sign extension of the origwidth-bit value to finalwidth bits.