diff options
| author | bors <bors@rust-lang.org> | 2021-11-17 17:13:41 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-11-17 17:13:41 +0000 |
| commit | c9c4b5d7276297679387189d96a952f2b760e7ad (patch) | |
| tree | 0b49f054a4bcead6f39c6cab5f42741335b767aa /compiler/rustc_codegen_ssa | |
| parent | faea820643f9acec1bb787941063393f9508a775 (diff) | |
| parent | 469faa2b667dc1d6cb6ca902a1d2c9a116fb096a (diff) | |
| download | rust-c9c4b5d7276297679387189d96a952f2b760e7ad.tar.gz rust-c9c4b5d7276297679387189d96a952f2b760e7ad.zip | |
Auto merge of #90984 - matthiaskrgr:rollup-j5bs96a, r=matthiaskrgr
Rollup of 8 pull requests Successful merges: - #89610 (warn on must_use use on async fn's) - #90667 (Improve diagnostics when a static lifetime is expected) - #90687 (Permit const panics in stable const contexts in stdlib) - #90772 (Add Vec::retain_mut) - #90861 (Print escaped string if char literal has multiple characters, but only one printable character) - #90884 (Fix span for non-satisfied trivial trait bounds) - #90900 (Remove workaround for the forward progress handling in LLVM) - #90901 (Improve ManuallyDrop suggestion) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_codegen_ssa')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/mir/block.rs | 11 | ||||
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/traits/intrinsic.rs | 4 |
2 files changed, 0 insertions, 15 deletions
diff --git a/compiler/rustc_codegen_ssa/src/mir/block.rs b/compiler/rustc_codegen_ssa/src/mir/block.rs index a9471f7b771..c8f388bfa1d 100644 --- a/compiler/rustc_codegen_ssa/src/mir/block.rs +++ b/compiler/rustc_codegen_ssa/src/mir/block.rs @@ -980,17 +980,6 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> { } mir::TerminatorKind::Goto { target } => { - if bb == target { - // This is an unconditional branch back to this same basic block. That means we - // have something like a `loop {}` statement. LLVM versions before 12.0 - // miscompile this because they assume forward progress. For older versions - // try to handle just this specific case which comes up commonly in practice - // (e.g., in embedded code). - // - // NB: the `sideeffect` currently checks for the LLVM version used internally. - bx.sideeffect(); - } - helper.funclet_br(self, &mut bx, target); } diff --git a/compiler/rustc_codegen_ssa/src/traits/intrinsic.rs b/compiler/rustc_codegen_ssa/src/traits/intrinsic.rs index 78bf22ef9f2..02be6cd360c 100644 --- a/compiler/rustc_codegen_ssa/src/traits/intrinsic.rs +++ b/compiler/rustc_codegen_ssa/src/traits/intrinsic.rs @@ -20,10 +20,6 @@ pub trait IntrinsicCallMethods<'tcx>: BackendTypes { fn abort(&mut self); fn assume(&mut self, val: Self::Value); fn expect(&mut self, cond: Self::Value, expected: bool) -> Self::Value; - /// Emits a forced side effect. - /// - /// Currently has any effect only when LLVM versions prior to 12.0 are used as the backend. - fn sideeffect(&mut self); /// Trait method used to test whether a given pointer is associated with a type identifier. fn type_test(&mut self, pointer: Self::Value, typeid: Self::Value) -> Self::Value; /// Trait method used to inject `va_start` on the "spoofed" `VaListImpl` in |
