> For the complete documentation index, see [llms.txt](https://docs.hylo-lang.org/hylo-ir/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hylo-lang.org/hylo-ir/instructions/general.md).

# General

An instruction is a basic unit of computation in Val IR that modifies the state of the executing machine. An instruction may accept zero or more arguments and return zero or more values.

### Terminator instructions

An instruction is called a terminator instruction if it causes control flow to jump to another basic block or exit the current function.

The terminator instructions of Val IR are:

* `branch`
* `cond_branch`
* `call_fallible`
* `terminate`
