diff --git a/lib/codegen/meta/gen_instr.py b/lib/codegen/meta/gen_instr.py index da9699ee97..3a33110a00 100644 --- a/lib/codegen/meta/gen_instr.py +++ b/lib/codegen/meta/gen_instr.py @@ -266,7 +266,7 @@ def gen_instruction_data_impl(fmt): n = '&InstructionData::' + f.name members = ['opcode'] if f.typevar_operand is None: - args_eq = 'true' + args_eq = None elif f.has_value_list: members.append('args') args_eq = 'args1.as_slice(pool) == ' \ @@ -285,11 +285,12 @@ def gen_instruction_data_impl(fmt): for x in members) with fmt.indented('({} {{ {} }}, {} {{ {} }}) => {{' .format(n, pat1, n, pat2), '}'): - fmt.line('opcode1 == opcode2 &&') + fmt.line('opcode1 == opcode2') for field in f.imm_fields: - fmt.line('{}1 == {}2 &&' + fmt.line('&& {}1 == {}2' .format(field.member, field.member)) - fmt.line(args_eq) + if args_eq is not None: + fmt.line('&& {}'.format(args_eq)) fmt.line('_ => unsafe { ' '::std::hint::unreachable_unchecked() }') fmt.line() diff --git a/lib/codegen/src/fx.rs b/lib/codegen/src/fx.rs index b59bac27be..eb3b7f2b36 100644 --- a/lib/codegen/src/fx.rs +++ b/lib/codegen/src/fx.rs @@ -50,8 +50,8 @@ const K: usize = 0x517cc1b727220a95; impl Default for FxHasher { #[inline] - fn default() -> FxHasher { - FxHasher { hash: 0 } + fn default() -> Self { + Self { hash: 0 } } } diff --git a/lib/codegen/src/ir/extname.rs b/lib/codegen/src/ir/extname.rs index ed723be6fe..371b70664f 100644 --- a/lib/codegen/src/ir/extname.rs +++ b/lib/codegen/src/ir/extname.rs @@ -111,7 +111,7 @@ impl FromStr for ExternalName { // Try to parse as a libcall name, otherwise it's a test case. match s.parse() { Ok(lc) => Ok(ExternalName::LibCall(lc)), - Err(_) => Ok(ExternalName::testcase(s.as_bytes())), + Err(_) => Ok(Self::testcase(s.as_bytes())), } } } diff --git a/lib/codegen/src/timing.rs b/lib/codegen/src/timing.rs index 961c6fea30..0dd0eb7991 100644 --- a/lib/codegen/src/timing.rs +++ b/lib/codegen/src/timing.rs @@ -154,8 +154,7 @@ mod details { fn fmtdur(mut dur: Duration, f: &mut fmt::Formatter) -> fmt::Result { // Round to nearest ms by adding 500us. dur += Duration::new(0, 500_000); - let ms = dur.subsec_nanos() / 1_000_000; - write!(f, "{:4}.{:03} ", dur.as_secs(), ms) + write!(f, "{:4}.{:03} ", dur.as_secs(), dur.subsec_millis()) } fmtdur(time.total, f)?; diff --git a/lib/codegen/src/verifier/locations.rs b/lib/codegen/src/verifier/locations.rs index d7378f50b7..97dfbdc6fb 100644 --- a/lib/codegen/src/verifier/locations.rs +++ b/lib/codegen/src/verifier/locations.rs @@ -69,10 +69,8 @@ impl<'a> LocationVerifier<'a> { let opcode = dfg[inst].opcode(); if opcode.is_return() { self.check_return_abi(inst, &divert)?; - } else if opcode.is_branch() { - if !divert.is_empty() { - self.check_cfg_edges(inst, &divert)?; - } + } else if opcode.is_branch() && !divert.is_empty() { + self.check_cfg_edges(inst, &divert)?; } self.update_diversions(inst, &mut divert)?;