Skip to content

Commit de4abe4

Browse files
committed
llvm: convert global assembly
1 parent c7c2013 commit de4abe4

File tree

3 files changed

+629
-541
lines changed

3 files changed

+629
-541
lines changed

src/codegen/llvm.zig

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1034,15 +1034,11 @@ pub const Object = struct {
10341034

10351035
fn genModuleLevelAssembly(object: *Object) !void {
10361036
const mod = object.module;
1037-
if (mod.global_assembly.count() == 0) return;
1038-
var buffer = std.ArrayList(u8).init(mod.gpa);
1039-
defer buffer.deinit();
1040-
var it = mod.global_assembly.iterator();
1041-
while (it.next()) |kv| {
1042-
try buffer.appendSlice(kv.value_ptr.*);
1043-
try buffer.append('\n');
1044-
}
1045-
object.llvm_module.setModuleInlineAsm2(buffer.items.ptr, buffer.items.len - 1);
1037+
1038+
const writer = object.builder.setModuleAsm();
1039+
var it = mod.global_assembly.valueIterator();
1040+
while (it.next()) |assembly| try writer.print("{s}\n", .{assembly.*});
1041+
try object.builder.finishModuleAsm();
10461042
}
10471043

10481044
fn resolveExportExternCollisions(object: *Object) !void {

0 commit comments

Comments
 (0)