From owner-svn-src-projects@freebsd.org Thu Feb 11 20:00:23 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 86DA8AA48DB for ; Thu, 11 Feb 2016 20:00:23 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 59CBF15D3; Thu, 11 Feb 2016 20:00:23 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u1BK0M0l091452; Thu, 11 Feb 2016 20:00:22 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u1BK0MAk091451; Thu, 11 Feb 2016 20:00:22 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201602112000.u1BK0MAk091451@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Thu, 11 Feb 2016 20:00:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r295543 - projects/clang380-import/contrib/llvm/lib/Target/X86 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Feb 2016 20:00:23 -0000 Author: dim Date: Thu Feb 11 20:00:22 2016 New Revision: 295543 URL: https://svnweb.freebsd.org/changeset/base/295543 Log: For now, disable shrink-wrapping (a new optimization pass that computes the safe point to insert the prologue and epilogue of the function) on X86. This prevents problems with some functions using TLS, such as in jemalloc, and which was the cause for Address Sanitizer crashes. The correct fix is still being discussed upstream. Modified: projects/clang380-import/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp Modified: projects/clang380-import/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp ============================================================================== --- projects/clang380-import/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp Thu Feb 11 18:37:02 2016 (r295542) +++ projects/clang380-import/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp Thu Feb 11 20:00:22 2016 (r295543) @@ -2593,6 +2593,9 @@ bool X86FrameLowering::canUseAsEpilogue( bool X86FrameLowering::enableShrinkWrapping(const MachineFunction &MF) const { // If we may need to emit frameless compact unwind information, give // up as this is currently broken: PR25614. +#if 1 + return false; +#else return (MF.getFunction()->hasFnAttribute(Attribute::NoUnwind) || hasFP(MF)) && // The lowering of segmented stack and HiPE only support entry blocks // as prologue blocks: PR26107. @@ -2601,6 +2604,7 @@ bool X86FrameLowering::enableShrinkWrapp // - adjustForHiPEPrologue MF.getFunction()->getCallingConv() != CallingConv::HiPE && !MF.shouldSplitStack(); +#endif } MachineBasicBlock::iterator X86FrameLowering::restoreWin32EHStackPointers(