Commit 544bc42fd9

Andrew Kelley <andrew@ziglang.org>
2020-02-25 02:11:33
expose --verbose-llvm-cpu-features to zig build
1 parent 1d06c82
Changed files (2)
lib/std/special/build_runner.zig
@@ -96,6 +96,8 @@ pub fn main() !void {
                 builder.verbose_cimport = true;
             } else if (mem.eql(u8, arg, "--verbose-cc")) {
                 builder.verbose_cc = true;
+            } else if (mem.eql(u8, arg, "--verbose-llvm-cpu-features")) {
+                builder.verbose_llvm_cpu_features = true;
             } else if (mem.eql(u8, arg, "--")) {
                 builder.args = argsRest(args, arg_idx);
                 break;
@@ -185,16 +187,17 @@ fn usage(builder: *Builder, already_ran_build: bool, out_stream: var) !void {
     try out_stream.write(
         \\
         \\Advanced Options:
-        \\  --build-file [file]      Override path to build.zig
-        \\  --cache-dir [path]       Override path to zig cache directory
-        \\  --override-lib-dir [arg] Override path to Zig lib directory
-        \\  --verbose-tokenize       Enable compiler debug output for tokenization
-        \\  --verbose-ast            Enable compiler debug output for parsing into an AST
-        \\  --verbose-link           Enable compiler debug output for linking
-        \\  --verbose-ir             Enable compiler debug output for Zig IR
-        \\  --verbose-llvm-ir        Enable compiler debug output for LLVM IR
-        \\  --verbose-cimport        Enable compiler debug output for C imports
-        \\  --verbose-cc             Enable compiler debug output for C compilation
+        \\  --build-file [file]         Override path to build.zig
+        \\  --cache-dir [path]          Override path to zig cache directory
+        \\  --override-lib-dir [arg]    Override path to Zig lib directory
+        \\  --verbose-tokenize          Enable compiler debug output for tokenization
+        \\  --verbose-ast               Enable compiler debug output for parsing into an AST
+        \\  --verbose-link              Enable compiler debug output for linking
+        \\  --verbose-ir                Enable compiler debug output for Zig IR
+        \\  --verbose-llvm-ir           Enable compiler debug output for LLVM IR
+        \\  --verbose-cimport           Enable compiler debug output for C imports
+        \\  --verbose-cc                Enable compiler debug output for C compilation
+        \\  --verbose-llvm-cpu-features Enable compiler debug output for LLVM CPU features
         \\
     );
 }
lib/std/build.zig
@@ -38,6 +38,7 @@ pub const Builder = struct {
     verbose_ir: bool,
     verbose_llvm_ir: bool,
     verbose_cimport: bool,
+    verbose_llvm_cpu_features: bool,
     invalid_user_input: bool,
     zig_exe: []const u8,
     default_step: *Step,
@@ -134,6 +135,7 @@ pub const Builder = struct {
             .verbose_ir = false,
             .verbose_llvm_ir = false,
             .verbose_cimport = false,
+            .verbose_llvm_cpu_features = false,
             .invalid_user_input = false,
             .allocator = allocator,
             .user_input_options = UserInputOptionsMap.init(allocator),
@@ -1837,6 +1839,7 @@ pub const LibExeObjStep = struct {
         if (builder.verbose_llvm_ir) zig_args.append("--verbose-llvm-ir") catch unreachable;
         if (builder.verbose_link or self.verbose_link) zig_args.append("--verbose-link") catch unreachable;
         if (builder.verbose_cc or self.verbose_cc) zig_args.append("--verbose-cc") catch unreachable;
+        if (builder.verbose_llvm_cpu_features) zig_args.append("--verbose-llvm-cpu-features") catch unreachable;
 
         if (self.emit_llvm_ir) try zig_args.append("-femit-llvm-ir");
         if (self.emit_asm) try zig_args.append("-femit-asm");