From: Marcin Ślusarz Date: Thu, 30 Jul 2020 13:33:09 +0000 (+0200) Subject: intel/perf: don't generate logically dead code X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=289cb6b59aea755ef5e60c711bb91d9f66b3c2af;p=mesa.git intel/perf: don't generate logically dead code When divisor is constant integer != 0 there's no point in checking whether it's 0. Complained about by Coverity. Signed-off-by: Marcin Ślusarz Reviewed-by: Lionel Landwerlin Part-of: --- diff --git a/src/intel/perf/gen_perf.py b/src/intel/perf/gen_perf.py index a64cb86a5f6..0d0aae90b5f 100644 --- a/src/intel/perf/gen_perf.py +++ b/src/intel/perf/gen_perf.py @@ -105,7 +105,11 @@ def emit_uadd(tmp_id, args): def emit_udiv(tmp_id, args): c("uint64_t tmp{0} = {1};".format(tmp_id, args[1])) c("uint64_t tmp{0} = {1};".format(tmp_id + 1, args[0])) - c("uint64_t tmp{0} = tmp{1} ? tmp{2} / tmp{1} : 0;".format(tmp_id + 2, tmp_id + 1, tmp_id)) + if args[0].isdigit(): + assert int(args[0]) > 0 + c("uint64_t tmp{0} = tmp{2} / tmp{1};".format(tmp_id + 2, tmp_id + 1, tmp_id)) + else: + c("uint64_t tmp{0} = tmp{1} ? tmp{2} / tmp{1} : 0;".format(tmp_id + 2, tmp_id + 1, tmp_id)) return tmp_id + 3 def emit_umul(tmp_id, args):