# fix peer result locations in the face of unreachable · gitcafe/zig

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

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

Visibility: public

Requested revision: a0427d29e4d3c47f470d88a4afdd0e87d3373325

Requested commit: a0427d29e4d3c47f470d88a4afdd0e87d3373325

Commit: a0427d29e4d3c47f470d88a4afdd0e87d3373325

Tree: 103027c958819b5fa0de1eecf0b552270c4fd6a0

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

````
fix peer result locations in the face of unreachable

```zig
export fn entry() void {
    var nothing: ?*i32 = null;
    var whatever = if (nothing) |x1| i32(1) else unreachable;
}
```

```llvm
define void @entry() #2 !dbg !35 {
Entry:
  %nothing = alloca i32*, align 8
  %whatever = alloca i32, align 4
  store i32* null, i32** %nothing, align 8, !dbg !45
  call void @llvm.dbg.declare(metadata i32** %nothing, metadata !39, metadata !DIExpression()), !dbg !45
  %0 = load i32*, i32** %nothing, align 8, !dbg !46
  %1 = icmp ne i32* %0, null, !dbg !46
  br i1 %1, label %OptionalThen, label %OptionalElse, !dbg !46

OptionalThen:                                     ; preds = %Entry
  call void @llvm.dbg.declare(metadata i32** %nothing, metadata !43, metadata !DIExpression()), !dbg !46
  store i32 1, i32* %whatever, align 4, !dbg !47
  br label %OptionalEndIf, !dbg !46

OptionalElse:                                     ; preds = %Entry
  tail call fastcc void @panic(%"[]u8"* @1, %builtin.StackTrace* null), !dbg !48
  unreachable, !dbg !48

OptionalEndIf:                                    ; preds = %OptionalThen
  call void @llvm.dbg.declare(metadata i32* %whatever, metadata !44, metadata !DIExpression()), !dbg !49
  ret void, !dbg !50
}
```

````

## Parents

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

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