Three fixes to match upstream Sema.zig behavior for addhf3:
1. ComptimeReturn: don't rollback air_inst_len at all (upstream keeps
all body instructions as dead instructions in the AIR array).
This preserves nested dead blocks from comptime inline calls.
2. dbg_arg_inline: skip emission when the declared param type is
comptime-only (comptime_int, comptime_float, enum_literal).
Ported from addDbgVar's val_ty.comptimeOnlySema() check.
The C sema doesn't coerce comptime IP values to the param type,
so we check the ZIR param type body directly.
3. Param type body scanning: always register calls in the global
seen_calls set (even when the dead block is skipped due to
type_fn_created). This ensures that after type_fn_created is
reset by analyzeFuncBodyAndRecord, subsequent calls still dedup.
Enables num_passing = 9 (addhf3) and adds comptime_arg_dbg.zig unit test.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>