q/src/core/CheckDeadCode.go
Eduard Urbach b77d876ebb
All checks were successful
/ test (push) Successful in 32s
Reduced interface bloat
2025-07-03 20:12:11 +02:00

23 lines
No EOL
427 B
Go

package core
import (
"git.urbach.dev/cli/q/src/errors"
"git.urbach.dev/cli/q/src/ssa"
)
// CheckDeadCode checks for dead values.
func (f *Function) CheckDeadCode() error {
for instr := range f.Values {
if !instr.IsConst() {
continue
}
if len(instr.(ssa.HasLiveness).Users()) > 0 {
continue
}
return errors.New(&UnusedValue{Value: instr.String()}, f.File, instr.(ssa.HasSource).Start())
}
return nil
}