The Zig Programming Language 0.4.0 Documentationstatements that return errors), Zig generates a call to this function: // marked as "no-inline" in LLVM IR fn __zig_return_error(stack_trace: *StackTrace) void { stack_trace.instruction_addresses[stack_trace happens even in a debug build; in a release build these generated functions still pass through rigorous LLVM optimizations. The important thing to note, however, is not that this is a way to write more optimized program, Zig generates the constants with the answer pre-computed. Here are the lines from the generated LLVM IR: @0 = internal unnamed_addr constant [25 x i32] [i32 2, i32 3, i32 5, i32 @1 = internal unnamed_addr0 码力 | 207 页 | 5.29 MB | 1 年前3
The Zig Programming Language 0.3.0 Documentationstatements that return errors), Zig generates a call to this function: // marked as "no-inline" in LLVM IR fn __zig_return_error(stack_trace: *StackTrace) void { stack_trace.instruction_addresses[stack_trace export fn entry() void { var x: void = {}; var y: void = {}; x = y; } When this turns into LLVM IR, there is no code generated in the body of entry, even in debug mode. For example, on x86_64: happens even in a debug build; in a release build these generated functions still pass through rigorous LLVM optimizations. The important thing to note, however, is not that this is a way to write more optimized0 码力 | 175 页 | 4.08 MB | 1 年前3
The Zig Programming Language 0.7.1 Documentationstatements that return errors), Zig generates a call to this function: // marked as "no-inline" in LLVM IR fn __zig_return_error(stack_trace: *StackTrace) void { stack_trace.instruction_addresses[stack_trace happens even in a debug build; in a release build these generated functions still pass through rigorous LLVM optimizations. The important thing to note, however, is not that this is a way to write more optimized Zig generates the constants with the answer pre- computed. Here are the lines from the generated LLVM IR: @0 = internal unnamed_addr constant [25 x i32] [i32 2, i32 3, i32 5 @1 = internal unnamed_addr0 码力 | 225 页 | 5.74 MB | 1 年前3
The Zig Programming Language 0.6.0 Documentationstatements that return errors), Zig generates a call to this function: // marked as "no-inline" in LLVM IR fn __zig_return_error(stack_trace: *StackTrace) void { stack_trace.instruction_addresses[stack_trace happens even in a debug build; in a release build these generated functions still pass through rigorous LLVM optimizations. The important thing to note, however, is not that this is a way to write more optimized Zig generates the constants with the answer pre- computed. Here are the lines from the generated LLVM IR: @0 = internal unnamed_addr constant [25 x i32] [i32 2, i32 3, i32 5 @1 = internal unnamed_addr0 码力 | 214 页 | 5.37 MB | 1 年前3
The Zig Programming Language 0.5.0 Documentationstatements that return errors), Zig generates a call to this function: // marked as "no-inline" in LLVM IR fn __zig_return_error(stack_trace: *StackTrace) void { stack_trace.instruction_addresses[stack_trace happens even in a debug build; in a release build these generated functions still pass through rigorous LLVM optimizations. The important thing to note, however, is not that this is a way to write more optimized program, Zig generates the constants with the answer pre-computed. Here are the lines from the generated LLVM IR: @0 = internal unnamed_addr constant [25 x i32] [i32 2, i32 3, i32 5, i32 @1 = internal unnamed_addr0 码力 | 224 页 | 5.80 MB | 1 年前3
The Zig Programming Language 0.8.1 Documentationstatements that return errors), Zig generates a call to this function: // marked as "no-inline" in LLVM IR fn __zig_return_error(stack_trace: *StackTrace) void { stack_trace.instruction_addresses[stack_trace happens even in a debug build; in a release build these generated functions still pass through rigorous LLVM optimizations. The important thing to note, however, is not that this is a way to write more optimized Zig generates the constants with the answer pre- computed. Here are the lines from the generated LLVM IR: @0 = internal unnamed_addr constant [25 x i32] [i32 2, i32 3, i32 5 @1 = internal unnamed_addr0 码力 | 234 页 | 6.01 MB | 1 年前3
The Zig Programming Language 0.12.0 Documentationerrors), Zig generates a call to this function: zig_return_error_fn.zig // marked as "no-inline" in LLVM IR fn __zig_return_error(stack_trace: *StackTrace) void { stack_trace.instruction_addresses[stack_trace program, Zig generates the constants with the answer pre-computed. Here are the lines from the generated LLVM IR: @0 = internal unnamed_addr constant [25 x i32] [i32 2, i32 3, i32 5, i32 7, i32 11, i32 @1 = is still // considered unstable in Zig, and so LLVM/GCC documentation // must be used to understand the semantics. // http://releases.llvm.org/10.0.0/docs/LangRef.html#inline-asm-constraint-string0 码力 | 241 页 | 7.37 MB | 1 年前3
The Zig Programming Language 0.11.0 Documentationerrors), Zig generates a call to this function: zig_return_error_fn.zig 1 // marked as "no-inline" in LLVM IR 2 fn __zig_return_error(stack_trace: *StackTrace) void { 3 stack_trace.instruction_addresses[stack_trace happens even in a debug build; in a release build these generated functions still pass through rigorous LLVM optimizations. The important thing to note, however, is not that this is a way to write more optimized program, Zig generates the constants with the answer pre-computed. Here are the lines from the generated LLVM IR: @0 = internal unnamed_addr constant [25 x i32] [i32 2, i32 3, i32 5, i32 7, i32 11, i32 @1 =0 码力 | 238 页 | 7.80 MB | 1 年前3
The Zig Programming Language 0.9.1 Documentationerrors), Zig generates a call to this function: zig_return_error_fn.zig 1 // marked as "no-inline" in LLVM IR 2 fn __zig_return_error(stack_trace: *StackTrace) void { 3 stack_trace.instruction_addresses[stack_trace happens even in a debug build; in a release build these generated functions still pass through rigorous LLVM optimizations. The important thing to note, however, is not that this is a way to write more optimized program, Zig generates the constants with the answer pre-computed. Here are the lines from the generated LLVM IR: @0 = internal unnamed_addr constant [25 x i32] [i32 2, i32 3, i32 5, i32 7, i32 11, i32 @1 =0 码力 | 234 页 | 7.90 MB | 1 年前3
The Zig Programming Language 0.10.1 Documentationerrors), Zig generates a call to this function: zig_return_error_fn.zig 1 // marked as "no-inline" in LLVM IR 2 fn __zig_return_error(stack_trace: *StackTrace) void { 3 stack_trace.instruction_addresses[stack_trace happens even in a debug build; in a release build these generated functions still pass through rigorous LLVM optimizations. The important thing to note, however, is not that this is a way to write more optimized program, Zig generates the constants with the answer pre-computed. Here are the lines from the generated LLVM IR: @0 = internal unnamed_addr constant [25 x i32] [i32 2, i32 3, i32 5, i32 7, i32 11, i32 @1 =0 码力 | 239 页 | 8.03 MB | 1 年前3
共 12 条
- 1
- 2













