diff options
| author | bjorn3 <17426603+bjorn3@users.noreply.github.com> | 2022-07-26 16:26:35 +0000 |
|---|---|---|
| committer | bjorn3 <17426603+bjorn3@users.noreply.github.com> | 2022-07-26 16:26:35 +0000 |
| commit | d3099a40c77b7782b031d05c60d595a236306dba (patch) | |
| tree | fa8002fc48ab3dd496864e270a6797ee9f05a53a | |
| parent | 54eb0d992a824da4579f7e8db252cba18f7f6f0d (diff) | |
| download | rust-d3099a40c77b7782b031d05c60d595a236306dba.tar.gz rust-d3099a40c77b7782b031d05c60d595a236306dba.zip | |
Outline a bug! invocation
This reduces the amount of llvm ir lines for intrinsic related code from 23801 to 20478.
| -rw-r--r-- | src/intrinsics/mod.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/intrinsics/mod.rs b/src/intrinsics/mod.rs index 49c0fa34340..b2a83e1d4eb 100644 --- a/src/intrinsics/mod.rs +++ b/src/intrinsics/mod.rs @@ -7,7 +7,7 @@ macro_rules! intrinsic_args { let ($($arg),*) = if let [$($arg),*] = $args { ($(codegen_operand($fx, $arg)),*) } else { - bug!("wrong number of args for intrinsic {}", $intrinsic); + $crate::intrinsics::bug_on_incorrect_arg_count($intrinsic); }; } } @@ -26,6 +26,10 @@ use rustc_span::symbol::{kw, sym, Symbol}; use crate::prelude::*; use cranelift_codegen::ir::AtomicRmwOp; +fn bug_on_incorrect_arg_count(intrinsic: impl std::fmt::Display) -> ! { + bug!("wrong number of args for intrinsic {}", intrinsic); +} + fn report_atomic_type_validation_error<'tcx>( fx: &mut FunctionCx<'_, '_, 'tcx>, intrinsic: Symbol, |
