vector.poison
← vector dialect
Materialize a typed Loom poison vector. Poison represents an invalid vector value and propagates through pure vector ops until dead-code elimination removes it or a boundary diagnoses it. A zero-lane vector such as vector<0xf32> is not poison: it is an empty aggregate whose pure lane-wise computation and zero-lane memory effects should canonicalize away. Poison is introduced when IR observes something that cannot exist, such as a lane extracted from a vector proven to have zero lanes.
Operation contract
| Property |
Value |
| Semantic phase |
executable |
| Traits |
Pure, RefinableResultTypeRefs |
Signature
| Kind |
Name |
Type |
Cardinality |
Description |
| Result |
result |
vector |
required |
— |
Examples
%p = vector.poison : vector<4xf32>