Skip to content

Commit 9aa1289

Browse files
committed
Add a comment to explain the #[inline(never)] annotation
and regenerate the platform intrinsics source files.
1 parent 9ef62a4 commit 9aa1289

File tree

4 files changed

+9
-1
lines changed

4 files changed

+9
-1
lines changed

src/etc/platform-intrinsics/generator.py

+2
Original file line numberDiff line numberDiff line change
@@ -737,6 +737,8 @@ def open(self, platform):
737737
use IntrinsicDef::Named;
738738
use rustc::middle::ty;
739739
740+
// The default inlining settings trigger a pathological behaviour in
741+
// LLVM, which causes makes compilation very slow. See #28273.
740742
#[inline(never)]
741743
pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option<Intrinsic> {{
742744
if !name.starts_with("{0}") {{ return None }}

src/librustc_platform_intrinsics/aarch64.rs

+2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ use {Intrinsic, i, i_, u, u_, f, v, v_, agg, p, void};
1717
use IntrinsicDef::Named;
1818
use rustc::middle::ty;
1919

20+
// The default inlining settings trigger a pathological behaviour in
21+
// LLVM, which causes makes compilation very slow. See #28273.
2022
#[inline(never)]
2123
pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option<Intrinsic> {
2224
if !name.starts_with("aarch64_v") { return None }

src/librustc_platform_intrinsics/arm.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@
1313

1414
#![allow(unused_imports)]
1515

16-
use {Intrinsic, i, i_, u, u_, f, v, agg, p};
16+
use {Intrinsic, i, i_, u, u_, f, v, v_, agg, p, void};
1717
use IntrinsicDef::Named;
1818
use rustc::middle::ty;
1919

20+
// The default inlining settings trigger a pathological behaviour in
21+
// LLVM, which causes makes compilation very slow. See #28273.
2022
#[inline(never)]
2123
pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option<Intrinsic> {
2224
if !name.starts_with("arm_v") { return None }

src/librustc_platform_intrinsics/x86.rs

+2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ use {Intrinsic, i, i_, u, u_, f, v, v_, agg, p, void};
1717
use IntrinsicDef::Named;
1818
use rustc::middle::ty;
1919

20+
// The default inlining settings trigger a pathological behaviour in
21+
// LLVM, which causes makes compilation very slow. See #28273.
2022
#[inline(never)]
2123
pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option<Intrinsic> {
2224
if !name.starts_with("x86_mm") { return None }

0 commit comments

Comments
 (0)