# stage2: Sema improvements and boolean logic astgen · gitcafe/zig

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

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

Visibility: public

Requested revision: 2f391df2a7ea7cc6e7500da214100fb49ea8f661

Requested commit: 2f391df2a7ea7cc6e7500da214100fb49ea8f661

Commit: 2f391df2a7ea7cc6e7500da214100fb49ea8f661

Tree: 3f8a6f32559b15d1a6388e874489dfd7a1e91efb

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

```
stage2: Sema improvements and boolean logic astgen

 * add `Module.setBlockBody` and related functions
 * redo astgen for `and` and `or` to use fewer ZIR instructions and
   require less processing for comptime known values
 * Sema: rework `analyzeBody` function. See the new doc comments in this
   commit. Divides ZIR instructions up into 3 categories:
   - always noreturn
   - never noreturn
   - sometimes noreturn

```

## Parents

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

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