svn commit: r256091 - in projects/random_number_generator: contrib/llvm/lib/Target/X86 share/man/man9
Mark Murray
markm at FreeBSD.org
Sun Oct 6 18:56:14 UTC 2013
Author: markm
Date: Sun Oct 6 18:56:13 2013
New Revision: 256091
URL: http://svnweb.freebsd.org/changeset/base/256091
Log:
MFC - tracking commit.
Modified:
projects/random_number_generator/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp
projects/random_number_generator/share/man/man9/lock.9
Directory Properties:
projects/random_number_generator/ (props changed)
projects/random_number_generator/contrib/llvm/ (props changed)
Modified: projects/random_number_generator/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp
==============================================================================
--- projects/random_number_generator/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp Sun Oct 6 16:12:45 2013 (r256090)
+++ projects/random_number_generator/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp Sun Oct 6 18:56:13 2013 (r256091)
@@ -3881,6 +3881,10 @@ MachineInstr* X86InstrInfo::foldMemoryOp
const MachineFrameInfo *MFI = MF.getFrameInfo();
unsigned Size = MFI->getObjectSize(FrameIndex);
unsigned Alignment = MFI->getObjectAlignment(FrameIndex);
+ // If the function stack isn't realigned we don't want to fold instructions
+ // that need increased alignment.
+ if (!RI.needsStackRealignment(MF))
+ Alignment = std::min(Alignment, TM.getFrameLowering()->getStackAlignment());
if (Ops.size() == 2 && Ops[0] == 0 && Ops[1] == 1) {
unsigned NewOpc = 0;
unsigned RCSize = 0;
Modified: projects/random_number_generator/share/man/man9/lock.9
==============================================================================
--- projects/random_number_generator/share/man/man9/lock.9 Sun Oct 6 16:12:45 2013 (r256090)
+++ projects/random_number_generator/share/man/man9/lock.9 Sun Oct 6 18:56:13 2013 (r256091)
@@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd November 16, 2011
+.Dd October 6, 2013
.Dt LOCK 9
.Os
.Sh NAME
@@ -164,11 +164,17 @@ If an exclusive lock has been recursed,
.Xr panic 9 .
.It Dv LK_UPGRADE
Upgrade a shared lock to an exclusive lock.
-If this call fails, the shared lock is lost.
+If this call fails, the shared lock is lost, even if the
+.Dv LK_NOWAIT
+flag is specified.
During the upgrade, the shared lock could
be temporarily dropped.
Attempts to upgrade an exclusive lock will cause a
.Xr panic 9 .
+.It Dv LK_TRYUPGRADE
+Try to upgrade a shared lock to an exclusive lock.
+The failure to upgrade does not result in the dropping
+of the shared lock ownership.
.It Dv LK_RELEASE
Release the lock.
Releasing a lock that is not held can cause a
@@ -333,7 +339,9 @@ fail if:
was requested and another thread had already requested a lock upgrade.
.It Bq Er EBUSY
.Dv LK_NOWAIT
-was set, and a sleep would have been required.
+was set, and a sleep would have been required, or
+.Dv LK_TRYUPGRADE
+operation was not able to upgrade the lock.
.It Bq Er ENOLCK
.Dv LK_SLEEPFAIL
was set and
More information about the svn-src-projects
mailing list