File tree Expand file tree Collapse file tree 3 files changed +629
-541
lines changed Expand file tree Collapse file tree 3 files changed +629
-541
lines changed Original file line number Diff line number Diff line change @@ -1034,15 +1034,11 @@ pub const Object = struct {
1034
1034
1035
1035
fn genModuleLevelAssembly(object: *Object) !void {
1036
1036
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();
1046
1042
}
1047
1043
1048
1044
fn resolveExportExternCollisions(object: *Object) !void {
You can’t perform that action at this time.
0 commit comments