diff options
| author | Andrea Canciani <ranma42@gmail.com> | 2015-09-12 17:05:29 +0200 |
|---|---|---|
| committer | Andrea Canciani <ranma42@gmail.com> | 2015-09-12 17:05:29 +0200 |
| commit | 9aa1289a67b6682568b94c6de74d411cdf87d9ee (patch) | |
| tree | 258e43b7f3d006b64b115330766db66016b771d6 | |
| parent | 9ef62a44903df9574b25ca0d04e3a648b6bb54cd (diff) | |
| download | rust-9aa1289a67b6682568b94c6de74d411cdf87d9ee.tar.gz rust-9aa1289a67b6682568b94c6de74d411cdf87d9ee.zip | |
Add a comment to explain the `#[inline(never)]` annotation
and regenerate the platform intrinsics source files.
| -rw-r--r-- | src/etc/platform-intrinsics/generator.py | 2 | ||||
| -rw-r--r-- | src/librustc_platform_intrinsics/aarch64.rs | 2 | ||||
| -rw-r--r-- | src/librustc_platform_intrinsics/arm.rs | 4 | ||||
| -rw-r--r-- | src/librustc_platform_intrinsics/x86.rs | 2 |
4 files changed, 9 insertions, 1 deletions
diff --git a/src/etc/platform-intrinsics/generator.py b/src/etc/platform-intrinsics/generator.py index bc6f17c6c30..e3aa4e688d3 100644 --- a/src/etc/platform-intrinsics/generator.py +++ b/src/etc/platform-intrinsics/generator.py @@ -737,6 +737,8 @@ use {{Intrinsic, i, i_, u, u_, f, v, v_, agg, p, void}}; use IntrinsicDef::Named; use rustc::middle::ty; +// The default inlining settings trigger a pathological behaviour in +// LLVM, which causes makes compilation very slow. See #28273. #[inline(never)] pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option<Intrinsic> {{ if !name.starts_with("{0}") {{ return None }} diff --git a/src/librustc_platform_intrinsics/aarch64.rs b/src/librustc_platform_intrinsics/aarch64.rs index 1db5b3cb9ea..fda65554cd2 100644 --- a/src/librustc_platform_intrinsics/aarch64.rs +++ b/src/librustc_platform_intrinsics/aarch64.rs @@ -17,6 +17,8 @@ use {Intrinsic, i, i_, u, u_, f, v, v_, agg, p, void}; use IntrinsicDef::Named; use rustc::middle::ty; +// The default inlining settings trigger a pathological behaviour in +// LLVM, which causes makes compilation very slow. See #28273. #[inline(never)] pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option<Intrinsic> { if !name.starts_with("aarch64_v") { return None } diff --git a/src/librustc_platform_intrinsics/arm.rs b/src/librustc_platform_intrinsics/arm.rs index eae5c520883..166bf66d819 100644 --- a/src/librustc_platform_intrinsics/arm.rs +++ b/src/librustc_platform_intrinsics/arm.rs @@ -13,10 +13,12 @@ #![allow(unused_imports)] -use {Intrinsic, i, i_, u, u_, f, v, agg, p}; +use {Intrinsic, i, i_, u, u_, f, v, v_, agg, p, void}; use IntrinsicDef::Named; use rustc::middle::ty; +// The default inlining settings trigger a pathological behaviour in +// LLVM, which causes makes compilation very slow. See #28273. #[inline(never)] pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option<Intrinsic> { if !name.starts_with("arm_v") { return None } diff --git a/src/librustc_platform_intrinsics/x86.rs b/src/librustc_platform_intrinsics/x86.rs index 19aeb589e70..144fd5f4e76 100644 --- a/src/librustc_platform_intrinsics/x86.rs +++ b/src/librustc_platform_intrinsics/x86.rs @@ -17,6 +17,8 @@ use {Intrinsic, i, i_, u, u_, f, v, v_, agg, p, void}; use IntrinsicDef::Named; use rustc::middle::ty; +// The default inlining settings trigger a pathological behaviour in +// LLVM, which causes makes compilation very slow. See #28273. #[inline(never)] pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option<Intrinsic> { if !name.starts_with("x86_mm") { return None } |
