about summary refs log tree commit diff
path: root/compiler/rustc_mir_transform/src/inline.rs
diff options
context:
space:
mode:
authorBen Kimock <kimockb@gmail.com>2023-02-24 16:33:22 -0500
committerBen Kimock <kimockb@gmail.com>2023-03-18 14:29:13 -0400
commita98ddb6de1723a30777c68983c74bcb45ec52580 (patch)
tree4bd90af22f174b82ccd7257e917fd7de3bb93394 /compiler/rustc_mir_transform/src/inline.rs
parent2a628bd99c39b69e88b24c622e3d246dd5573353 (diff)
downloadrust-a98ddb6de1723a30777c68983c74bcb45ec52580.tar.gz
rust-a98ddb6de1723a30777c68983c74bcb45ec52580.zip
Enable inlining of diverging functions
Diffstat (limited to 'compiler/rustc_mir_transform/src/inline.rs')
-rw-r--r--compiler/rustc_mir_transform/src/inline.rs7
1 files changed, 0 insertions, 7 deletions
diff --git a/compiler/rustc_mir_transform/src/inline.rs b/compiler/rustc_mir_transform/src/inline.rs
index 9cba8870f23..27fad8a655e 100644
--- a/compiler/rustc_mir_transform/src/inline.rs
+++ b/compiler/rustc_mir_transform/src/inline.rs
@@ -424,13 +424,6 @@ impl<'tcx> Inliner<'tcx> {
         debug!("    final inline threshold = {}", threshold);
 
         // FIXME: Give a bonus to functions with only a single caller
-        let diverges = matches!(
-            callee_body.basic_blocks[START_BLOCK].terminator().kind,
-            TerminatorKind::Unreachable | TerminatorKind::Call { target: None, .. }
-        );
-        if diverges && !matches!(callee_attrs.inline, InlineAttr::Always) {
-            return Err("callee diverges unconditionally");
-        }
 
         let mut checker = CostChecker {
             tcx: self.tcx,