# Zir: move set_cold from Inst.Tag to Inst.Extended · gitcafe/zig

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

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

Visibility: public

Requested revision: d6bd00e85500fa1a7909695ae5943be438f7521d

Requested commit: d6bd00e85500fa1a7909695ae5943be438f7521d

Commit: d6bd00e85500fa1a7909695ae5943be438f7521d

Tree: 55999396212ade2f2494b585ceeb7af3e64ab13d

Author: r00ster91

Committer: r00ster91

## Message

````
Zir: move set_cold from Inst.Tag to Inst.Extended

If I could mark a builtin function as cold, I would mark @setCold as cold.
We have run out of `Zir.Inst.Tag`s so I had to move a tag from Zir.Inst.Tag to
Zir.Inst.Extended. This is because a new noreturn builtin will be added and
noreturn builtins cannot be part of Inst.Tag:
```
/// `noreturn` instructions may not go here; they must be part of the main `Tag` enum.
pub const Extended = enum(u16) {
```

Here's another reason I went for @setCold:
```
$ git grep setRuntimeSafety | wc -l
322
$ git grep setCold | wc -l
79
$ git grep setEvalBranchQuota | wc -l
82
```

This also simply removes @setCold from Autodoc and the docs frontend because
as far as I could understand it, builtins represented using Zir extended
instructions are not yet supported because I couldn't find
@setStackAlign or @setFloatMode there, either.

````

## Parents

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

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