diff options
| author | bjorn3 <17426603+bjorn3@users.noreply.github.com> | 2024-10-17 17:57:34 +0200 |
|---|---|---|
| committer | bjorn3 <17426603+bjorn3@users.noreply.github.com> | 2024-10-17 17:57:34 +0200 |
| commit | 16067fdea148adb7ad6c1414f0c253dc0592d809 (patch) | |
| tree | 3a5113fd96a60df687ff62f7d7609dfe38e9ae8e | |
| parent | 47a7e994f2b7d8663b0559bc9327190fefe9e4ef (diff) | |
| download | rust-16067fdea148adb7ad6c1414f0c253dc0592d809.tar.gz rust-16067fdea148adb7ad6c1414f0c253dc0592d809.zip | |
Mark blocks as cold in a couple more places
| -rw-r--r-- | src/base.rs | 4 | ||||
| -rw-r--r-- | src/intrinsics/mod.rs | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/base.rs b/src/base.rs index f3361989472..5d860bf6e0e 100644 --- a/src/base.rs +++ b/src/base.rs @@ -379,7 +379,6 @@ fn codegen_fn_body(fx: &mut FunctionCx<'_, '_, '_>, start_block: Block) { let target = fx.get_block(*target); let failure = fx.bcx.create_block(); - fx.bcx.set_cold_block(failure); if *expected { fx.bcx.ins().brif(cond, target, &[], failure, &[]); @@ -544,6 +543,7 @@ fn codegen_fn_body(fx: &mut FunctionCx<'_, '_, '_>, start_block: Block) { fx.bcx.ins().trap(TrapCode::UnreachableCodeReached); } TerminatorKind::Unreachable => { + fx.bcx.set_cold_block(block); fx.bcx.ins().trap(TrapCode::UnreachableCodeReached); } TerminatorKind::Yield { .. } @@ -1075,6 +1075,8 @@ fn codegen_panic_inner<'tcx>( args: &[Value], span: Option<Span>, ) { + fx.bcx.set_cold_block(fx.bcx.current_block().unwrap()); + let def_id = fx.tcx.require_lang_item(lang_item, span); let instance = Instance::mono(fx.tcx, def_id).polymorphize(fx.tcx); diff --git a/src/intrinsics/mod.rs b/src/intrinsics/mod.rs index 35f0ccff3f9..e96ab1e90a2 100644 --- a/src/intrinsics/mod.rs +++ b/src/intrinsics/mod.rs @@ -449,6 +449,7 @@ fn codegen_regular_intrinsic_call<'tcx>( match intrinsic { sym::abort => { + fx.bcx.set_cold_block(fx.bcx.current_block().unwrap()); fx.bcx.ins().trap(TrapCode::User(0)); return Ok(()); } |
