[llvm-branch-commits] [llvm-branch] r257779 - Merging r257730:

2016-01-14 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Jan 14 11:52:28 2016
New Revision: 257779

URL: http://llvm.org/viewvc/llvm-project?rev=257779&view=rev
Log:
Merging r257730:

r257730 | majnemer | 2016-01-13 17:20:03 -0800 (Wed, 13 Jan 2016) | 11 lines

[X86] Don't alter HasOpaqueSPAdjustment after we've relied on it

We rely on HasOpaqueSPAdjustment not changing after we've calculated
things based on it.  Things like whether or not we can use 'rep;movs' to
copy bytes around, that sort of thing.  If it changes, invariants in the
backend will quietly break.  This situation arose when we had a call to
memcpy *and* a COPY of the FLAGS register where we would attempt to
reference local variables using %esi, a register that was clobbered by
the 'rep;movs'.

This fixes PR26124.


Added:
llvm/branches/release_38/test/CodeGen/X86/x86-repmov-copy-eflags.ll
  - copied unchanged from r257730, 
llvm/trunk/test/CodeGen/X86/x86-repmov-copy-eflags.ll
Modified:
llvm/branches/release_38/   (props changed)
llvm/branches/release_38/include/llvm/CodeGen/MachineFrameInfo.h
llvm/branches/release_38/include/llvm/Target/TargetLowering.h
llvm/branches/release_38/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
llvm/branches/release_38/lib/Target/X86/X86FrameLowering.cpp
llvm/branches/release_38/lib/Target/X86/X86ISelLowering.cpp

Propchange: llvm/branches/release_38/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jan 14 11:52:28 2016
@@ -1,3 +1,3 @@
 /llvm/branches/Apple/Pertwee:110850,110961
 /llvm/branches/type-system-rewrite:133420-134817
-/llvm/trunk:155241,257645,257648
+/llvm/trunk:155241,257645,257648,257730

Modified: llvm/branches/release_38/include/llvm/CodeGen/MachineFrameInfo.h
URL: 
http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/include/llvm/CodeGen/MachineFrameInfo.h?rev=257779&r1=257778&r2=257779&view=diff
==
--- llvm/branches/release_38/include/llvm/CodeGen/MachineFrameInfo.h (original)
+++ llvm/branches/release_38/include/llvm/CodeGen/MachineFrameInfo.h Thu Jan 14 
11:52:28 2016
@@ -251,6 +251,10 @@ class MachineFrameInfo {
   /// opaque mechanism like inline assembly or Win32 EH.
   bool HasOpaqueSPAdjustment;
 
+  /// True if the function contains operations which will lower down to
+  /// instructions which manipulate the stack pointer.
+  bool HasCopyImplyingStackAdjustment;
+
   /// True if the function contains a call to the llvm.vastart intrinsic.
   bool HasVAStart;
 
@@ -288,6 +292,7 @@ public:
 LocalFrameMaxAlign = 0;
 UseLocalStackAllocationBlock = false;
 HasOpaqueSPAdjustment = false;
+HasCopyImplyingStackAdjustment = false;
 HasVAStart = false;
 HasMustTailInVarArgFunc = false;
 Save = nullptr;
@@ -493,6 +498,15 @@ public:
   bool hasOpaqueSPAdjustment() const { return HasOpaqueSPAdjustment; }
   void setHasOpaqueSPAdjustment(bool B) { HasOpaqueSPAdjustment = B; }
 
+  /// Returns true if the function contains operations which will lower down to
+  /// instructions which manipulate the stack pointer.
+  bool hasCopyImplyingStackAdjustment() const {
+return HasCopyImplyingStackAdjustment;
+  }
+  void setHasCopyImplyingStackAdjustment(bool B) {
+HasCopyImplyingStackAdjustment = B;
+  }
+
   /// Returns true if the function calls the llvm.va_start intrinsic.
   bool hasVAStart() const { return HasVAStart; }
   void setHasVAStart(bool B) { HasVAStart = B; }

Modified: llvm/branches/release_38/include/llvm/Target/TargetLowering.h
URL: 
http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/include/llvm/Target/TargetLowering.h?rev=257779&r1=257778&r2=257779&view=diff
==
--- llvm/branches/release_38/include/llvm/Target/TargetLowering.h (original)
+++ llvm/branches/release_38/include/llvm/Target/TargetLowering.h Thu Jan 14 
11:52:28 2016
@@ -2270,7 +2270,7 @@ public:
   }
 
   /// Return true if the MachineFunction contains a COPY which would imply
-  /// HasOpaqueSPAdjustment.
+  /// HasCopyImplyingStackAdjustment.
   virtual bool hasCopyImplyingStackAdjustment(MachineFunction *MF) const {
 return false;
   }

Modified: llvm/branches/release_38/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
URL: 
http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp?rev=257779&r1=257778&r2=257779&view=diff
==
--- llvm/branches/release_38/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp 
(original)
+++ llvm/branches/release_38/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp Thu 
Jan 14 11:52:28 2016
@@ -634,7 +634,7 @@ bool SelectionDAGISel::runOnMachineFunct
   }
 
   

[llvm-branch-commits] [llvm-branch] r257836 - Merging r257791:

2016-01-14 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Jan 14 17:24:17 2016
New Revision: 257836

URL: http://llvm.org/viewvc/llvm-project?rev=257836&view=rev
Log:
Merging r257791:

r257791 | hans | 2016-01-14 11:21:14 -0800 (Thu, 14 Jan 2016) | 4 lines

Exclude test-suite from CMake builds in test-release.sh

It's broken. In 3.7 there wasn't a CMake build for test-suite at all,
so we're not losing something we had before.


Modified:
llvm/branches/release_38/   (props changed)
llvm/branches/release_38/utils/release/test-release.sh

Propchange: llvm/branches/release_38/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Jan 14 17:24:17 2016
@@ -1,3 +1,3 @@
 /llvm/branches/Apple/Pertwee:110850,110961
 /llvm/branches/type-system-rewrite:133420-134817
-/llvm/trunk:155241,257645,257648,257730
+/llvm/trunk:155241,257645,257648,257730,257791

Modified: llvm/branches/release_38/utils/release/test-release.sh
URL: 
http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/utils/release/test-release.sh?rev=257836&r1=257835&r2=257836&view=diff
==
--- llvm/branches/release_38/utils/release/test-release.sh (original)
+++ llvm/branches/release_38/utils/release/test-release.sh Thu Jan 14 17:24:17 
2016
@@ -159,6 +159,12 @@ while [ $# -gt 0 ]; do
 shift
 done
 
+if [ "$use_autoconf" = "no" ]; then
+  # See llvm.org/PR26146.
+  echo Skipping test-suite when using CMake.
+  do_test_suite="no"
+fi
+
 # Check required arguments.
 if [ -z "$Release" ]; then
 echo "error: no release number specified"


___
llvm-branch-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits