aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/llvm/ir.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/codegen/llvm/ir.zig')
-rw-r--r--src/codegen/llvm/ir.zig14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/codegen/llvm/ir.zig b/src/codegen/llvm/ir.zig
index 4d7effdaaf..271e87c995 100644
--- a/src/codegen/llvm/ir.zig
+++ b/src/codegen/llvm/ir.zig
@@ -19,6 +19,7 @@ const LineAbbrev = AbbrevOp{ .vbr = 8 };
const ColumnAbbrev = AbbrevOp{ .vbr = 8 };
const BlockAbbrev = AbbrevOp{ .vbr = 6 };
+const BlockArrayAbbrev = AbbrevOp{ .array_vbr = 6 };
/// Unused tags are commented out so that they are omitted in the generated
/// bitcode, which scans over this enum using reflection.
@@ -1294,6 +1295,7 @@ pub const FunctionBlock = struct {
DebugLoc,
DebugLocAgain,
ColdOperandBundle,
+ IndirectBr,
};
pub const DeclareBlocks = struct {
@@ -1813,6 +1815,18 @@ pub const FunctionBlock = struct {
.{ .literal = 0 },
};
};
+
+ pub const IndirectBr = struct {
+ pub const ops = [_]AbbrevOp{
+ .{ .literal = 31 },
+ .{ .fixed_runtime = Builder.Type },
+ ValueAbbrev,
+ BlockArrayAbbrev,
+ };
+ ty: Builder.Type,
+ addr: Builder.Value,
+ targets: []const Builder.Function.Block.Index,
+ };
};
pub const FunctionValueSymbolTable = struct {