diff options
| author | Ben Kimock <kimockb@gmail.com> | 2023-02-24 16:33:22 -0500 |
|---|---|---|
| committer | Ben Kimock <kimockb@gmail.com> | 2023-03-18 14:29:13 -0400 |
| commit | a98ddb6de1723a30777c68983c74bcb45ec52580 (patch) | |
| tree | 4bd90af22f174b82ccd7257e917fd7de3bb93394 /compiler/rustc_mir_transform/src/inline.rs | |
| parent | 2a628bd99c39b69e88b24c622e3d246dd5573353 (diff) | |
| download | rust-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.rs | 7 |
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, |
