zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 2ab78937dd29fbc299ac434f962a5ff41002cc43 (tree)
parent eff58d6c18de66cbf0c0dbd7c3ced9ef9ffbcde6
Author: Rahul Prabhu <cupertinorp@gmail.com>
Date:   Sun, 21 Jan 2024 22:45:03 +0530

Don't assume a write if an operand is not in function parameters

Liveness assumes that if the operand is not in the parameters of
a function call it is being written to, resulting in pointless memcpies.

Diffstat:
Msrc/Liveness.zig | 4++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/Liveness.zig b/src/Liveness.zig @@ -489,7 +489,7 @@ pub fn categorizeOperand( for (args, 0..) |arg, i| { if (arg == operand_ref) return matchOperandSmallIndex(l, inst, @as(OperandInt, @intCast(i + 1)), .write); } - return .write; + return .none; } var bt = l.iterateBigTomb(inst); if (bt.feed()) { @@ -504,7 +504,7 @@ pub fn categorizeOperand( if (arg == operand_ref) return .write; } } - return .write; + return .none; }, .select => { const pl_op = air_datas[@intFromEnum(inst)].pl_op;