1
Fork 0

Auto merge of #28370 - ranma42:slow_pat_gen, r=alexcrichton

Commit 9104a902c0 fixed the generated
files, but that change would be lost (or require additional manual
intervention) if they are re-generated of if new architectures are
added.

cc #28273
This commit is contained in:
bors 2015-09-13 00:01:28 +00:00
commit fd230ff124
4 changed files with 10 additions and 1 deletions

View file

@ -737,6 +737,9 @@ use {{Intrinsic, i, i_, u, u_, f, v, v_, agg, p, void}};
use IntrinsicDef::Named; use IntrinsicDef::Named;
use rustc::middle::ty; 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> {{ pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option<Intrinsic> {{
if !name.starts_with("{0}") {{ return None }} if !name.starts_with("{0}") {{ return None }}
Some(match &name["{0}".len()..] {{'''.format(platform.intrinsic_prefix()) Some(match &name["{0}".len()..] {{'''.format(platform.intrinsic_prefix())

View file

@ -17,6 +17,8 @@ use {Intrinsic, i, i_, u, u_, f, v, v_, agg, p, void};
use IntrinsicDef::Named; use IntrinsicDef::Named;
use rustc::middle::ty; use rustc::middle::ty;
// The default inlining settings trigger a pathological behaviour in
// LLVM, which causes makes compilation very slow. See #28273.
#[inline(never)] #[inline(never)]
pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option<Intrinsic> { pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option<Intrinsic> {
if !name.starts_with("aarch64_v") { return None } if !name.starts_with("aarch64_v") { return None }

View file

@ -13,10 +13,12 @@
#![allow(unused_imports)] #![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 IntrinsicDef::Named;
use rustc::middle::ty; use rustc::middle::ty;
// The default inlining settings trigger a pathological behaviour in
// LLVM, which causes makes compilation very slow. See #28273.
#[inline(never)] #[inline(never)]
pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option<Intrinsic> { pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option<Intrinsic> {
if !name.starts_with("arm_v") { return None } if !name.starts_with("arm_v") { return None }

View file

@ -17,6 +17,8 @@ use {Intrinsic, i, i_, u, u_, f, v, v_, agg, p, void};
use IntrinsicDef::Named; use IntrinsicDef::Named;
use rustc::middle::ty; use rustc::middle::ty;
// The default inlining settings trigger a pathological behaviour in
// LLVM, which causes makes compilation very slow. See #28273.
#[inline(never)] #[inline(never)]
pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option<Intrinsic> { pub fn find<'tcx>(_tcx: &ty::ctxt<'tcx>, name: &str) -> Option<Intrinsic> {
if !name.starts_with("x86_mm") { return None } if !name.starts_with("x86_mm") { return None }