From 289cb6b59aea755ef5e60c711bb91d9f66b3c2af Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marcin=20=C5=9Alusarz?= Date: Thu, 30 Jul 2020 15:33:09 +0200 Subject: [PATCH] intel/perf: don't generate logically dead code MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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: --- src/intel/perf/gen_perf.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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): -- 2.30.2