# spirv: lower air is_null, is_non_null · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/83ab1ba8fdb6900e63e1e0aa3a5e1ab966fc2022)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: 83ab1ba8fdb6900e63e1e0aa3a5e1ab966fc2022

Requested commit: 83ab1ba8fdb6900e63e1e0aa3a5e1ab966fc2022

Commit: 83ab1ba8fdb6900e63e1e0aa3a5e1ab966fc2022

Tree: e9ad849f2c9aa875b12e05219208443eca3b626d

Author: Robin Voetter

Committer: Robin Voetter

## Message

```
spirv: lower air is_null, is_non_null

Implements AIR lowering for is_null and is_non_null tags.

Additionally this cleans up and centralizes the logic to convert from 'direct'
representation to 'indirect' representation and vice-versa. The related functions,
as well as the functions that use it, are all moved near eachother so that the
conversion logic remains in a central place. Extracting/inserting fields
and loading/storing pointers should go through these functions.

```

## Parents

- [435a5660ce62c9c54f8ac9bf0a325811a6b684e6](https://git.cafe/gitcafe/zig/commit/435a5660ce62c9c54f8ac9bf0a325811a6b684e6?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/83ab1ba8fdb6900e63e1e0aa3a5e1ab966fc2022?format=markdown)
