authorgravatar for michael.dusan@gmail.comMichael Dusan <michael.dusan@gmail.com> 2023-09-04 13:40:42-04:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2023-09-04 22:31:39+02:00
log64d03faae7f0f444149a179a1534c3488f59dca7
treeaa7d54bd923849ab58bb1b276e06d8a128bddbde
parentfda087ed8183dfd1abdf93da1e2b1af948f1f54f

Compilation: support --verbose_llvm_cpu_features


1 files changed, 12 insertions(+), 0 deletions(-)

src/Compilation.zig+12
...@@ -1048,6 +1048,18 @@ pub fn create(gpa: Allocator, options: InitOptions) !*Compilation {...@@ -1048,6 +1048,18 @@ pub fn create(gpa: Allocator, options: InitOptions) !*Compilation {
1048 break :blk buf.items[0 .. buf.items.len - 1 :0].ptr;1048 break :blk buf.items[0 .. buf.items.len - 1 :0].ptr;
1049 } else null;1049 } else null;
10501050
1051 if (options.verbose_llvm_cpu_features) {
1052 if (llvm_cpu_features) |cf| print: {
1053 std.debug.getStderrMutex().lock();
1054 defer std.debug.getStderrMutex().unlock();
1055 const stderr = std.io.getStdErr().writer();
1056 nosuspend stderr.print("compilation: {s}\n", .{options.root_name}) catch break :print;
1057 nosuspend stderr.print(" target: {s}\n", .{try options.target.zigTriple(arena)}) catch break :print;
1058 nosuspend stderr.print(" cpu: {s}\n", .{options.target.cpu.model.name}) catch break :print;
1059 nosuspend stderr.print(" features: {s}\n", .{cf}) catch {};
1060 }
1061 }
1062
1051 const strip = options.strip orelse !target_util.hasDebugInfo(options.target);1063 const strip = options.strip orelse !target_util.hasDebugInfo(options.target);
1052 const red_zone = options.want_red_zone orelse target_util.hasRedZone(options.target);1064 const red_zone = options.want_red_zone orelse target_util.hasRedZone(options.target);
1053 const omit_frame_pointer = options.omit_frame_pointer orelse (options.optimize_mode != .Debug);1065 const omit_frame_pointer = options.omit_frame_pointer orelse (options.optimize_mode != .Debug);