[llvm-branch-commits] [llvm-branch] r258146 - Merging r257905:
Author: hans Date: Tue Jan 19 11:28:24 2016 New Revision: 258146 URL: http://llvm.org/viewvc/llvm-project?rev=258146&view=rev Log: Merging r257905: r257905 | hans | 2016-01-15 09:04:45 -0800 (Fri, 15 Jan 2016) | 3 lines test-release.sh: Fix clang-tools-extra symlink for CMake build The CMake and Autoconf builds want the symlink set up differently. 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 Tue Jan 19 11:28:24 2016 @@ -1,3 +1,3 @@ /llvm/branches/Apple/Pertwee:110850,110961 /llvm/branches/type-system-rewrite:133420-134817 -/llvm/trunk:155241,257645,257648,257730,257791 +/llvm/trunk:155241,257645,257648,257730,257791,257905 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=258146&r1=258145&r2=258146&view=diff == --- llvm/branches/release_38/utils/release/test-release.sh (original) +++ llvm/branches/release_38/utils/release/test-release.sh Tue Jan 19 11:28:24 2016 @@ -288,10 +288,20 @@ function export_sources() { if [ ! -h clang ]; then ln -s ../../cfe.src clang fi -cd $BuildDir/llvm.src/tools/clang/tools -if [ ! -h extra ]; then -ln -s ../../../../clang-tools-extra.src extra + +# The autoconf and CMake builds want different symlinks here: +if [ "$use_autoconf" = "yes" ]; then + cd $BuildDir/llvm.src/tools/clang/tools + if [ ! -h extra ]; then + ln -s ../../../../clang-tools-extra.src extra + fi +else + cd $BuildDir/cfe.src/tools + if [ ! -h extra ]; then + ln -s ../../clang-tools-extra.src extra + fi fi + cd $BuildDir/llvm.src/projects if [ -d $BuildDir/test-suite.src ] && [ ! -h test-suite ]; then ln -s ../../test-suite.src test-suite ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm-branch] r258155 - Merging r257902 (and r257775)
Author: hans Date: Tue Jan 19 12:26:37 2016 New Revision: 258155 URL: http://llvm.org/viewvc/llvm-project?rev=258155&view=rev Log: Merging r257902 (and r257775) r257775 | jyknight | 2016-01-14 08:33:21 -0800 (Thu, 14 Jan 2016) | 3 lines Revert "Stop increasing alignment of externally-visible globals on ELF platforms." This reverts commit r257719, due to PR26144. r257902 | jyknight | 2016-01-15 08:33:06 -0800 (Fri, 15 Jan 2016) | 17 lines Stop increasing alignment of externally-visible globals on ELF platforms. With ELF, the alignment of a global variable in a shared library will get copied into an executables linked against it, if the executable even accesss the variable. So, it's not possible to implicitly increase alignment based on access patterns, or you'll break existing binaries. This happened to affect libc++'s std::cout symbol, for example. See thread: http://thread.gmane.org/gmane.comp.compilers.clang.devel/45311 (This is a re-commit of r257719, without the bug reported in PR26144. I've tweaked the code to not assert-fail in enforceKnownAlignment when computeKnownBits doesn't recurse far enough to find the underlying Alloca/GlobalObject value.) Differential Revision: http://reviews.llvm.org/D16145 Modified: llvm/branches/release_38/ (props changed) llvm/branches/release_38/include/llvm/IR/GlobalValue.h llvm/branches/release_38/lib/CodeGen/CodeGenPrepare.cpp llvm/branches/release_38/lib/IR/Globals.cpp llvm/branches/release_38/lib/Transforms/Utils/Local.cpp llvm/branches/release_38/test/CodeGen/ARM/memfunc.ll Propchange: llvm/branches/release_38/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Jan 19 12:26:37 2016 @@ -1,3 +1,3 @@ /llvm/branches/Apple/Pertwee:110850,110961 /llvm/branches/type-system-rewrite:133420-134817 -/llvm/trunk:155241,257645,257648,257730,257791,257905 +/llvm/trunk:155241,257645,257648,257730,257775,257791,257902,257905 Modified: llvm/branches/release_38/include/llvm/IR/GlobalValue.h URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/include/llvm/IR/GlobalValue.h?rev=258155&r1=258154&r2=258155&view=diff == --- llvm/branches/release_38/include/llvm/IR/GlobalValue.h (original) +++ llvm/branches/release_38/include/llvm/IR/GlobalValue.h Tue Jan 19 12:26:37 2016 @@ -346,6 +346,10 @@ public: return !(isDeclarationForLinker() || isWeakForLinker()); } + // Returns true if the alignment of the value can be unilaterally + // increased. + bool canIncreaseAlignment() const; + /// This method unlinks 'this' from the containing module, but does not delete /// it. virtual void removeFromParent() = 0; Modified: llvm/branches/release_38/lib/CodeGen/CodeGenPrepare.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/lib/CodeGen/CodeGenPrepare.cpp?rev=258155&r1=258154&r2=258155&view=diff == --- llvm/branches/release_38/lib/CodeGen/CodeGenPrepare.cpp (original) +++ llvm/branches/release_38/lib/CodeGen/CodeGenPrepare.cpp Tue Jan 19 12:26:37 2016 @@ -1742,8 +1742,8 @@ bool CodeGenPrepare::optimizeCallInst(Ca // over-aligning global variables that have an explicit section is // forbidden. GlobalVariable *GV; - if ((GV = dyn_cast(Val)) && GV->hasUniqueInitializer() && - !GV->hasSection() && GV->getAlignment() < PrefAlign && + if ((GV = dyn_cast(Val)) && GV->canIncreaseAlignment() && + GV->getAlignment() < PrefAlign && DL->getTypeAllocSize(GV->getType()->getElementType()) >= MinSize + Offset2) GV->setAlignment(PrefAlign); Modified: llvm/branches/release_38/lib/IR/Globals.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/lib/IR/Globals.cpp?rev=258155&r1=258154&r2=258155&view=diff == --- llvm/branches/release_38/lib/IR/Globals.cpp (original) +++ llvm/branches/release_38/lib/IR/Globals.cpp Tue Jan 19 12:26:37 2016 @@ -12,11 +12,12 @@ // //===--===// -#include "llvm/IR/GlobalValue.h" #include "llvm/ADT/SmallPtrSet.h" +#include "llvm/ADT/Triple.h" #include "llvm/IR/Constants.h" #include "llvm/IR/DerivedTypes.h" #include "llvm/IR/GlobalAlias.h" +#include "llvm/IR/GlobalValue.h" #include "llvm/IR/GlobalVariable.h" #include "llvm/IR/Module.h" #include "llvm/IR/Operator.h" @@ -134,6 +135,47 @@ bool GlobalValue::isDeclaration() const re
[llvm-branch-commits] [llvm-branch] r258162 - Merging r257925, r257929, r257930, and r257997:
Author: hans Date: Tue Jan 19 12:53:02 2016 New Revision: 258162 URL: http://llvm.org/viewvc/llvm-project?rev=258162&view=rev Log: Merging r257925, r257929, r257930, and r257997: r257925 | mren | 2016-01-15 11:35:42 -0800 (Fri, 15 Jan 2016) | 10 lines CXX_FAST_TLS calling convention: fix issue on X86-64. When we have a single basic block, the explicit copy-back instructions should be inserted right before the terminator. Before this fix, they were wrongly placed at the beginning of the basic block. I will commit fixes to other platforms as well. PR26136 r257929 | mren | 2016-01-15 12:13:28 -0800 (Fri, 15 Jan 2016) | 10 lines CXX_FAST_TLS calling convention: fix issue on AArch64. When we have a single basic block, the explicit copy-back instructions should be inserted right before the terminator. Before this fix, they were wrongly placed at the beginning of the basic block. I will commit fixes to other platforms as well. PR26136 r257930 | mren | 2016-01-15 12:24:11 -0800 (Fri, 15 Jan 2016) | 8 lines CXX_FAST_TLS calling convention: fix issue on ARM. When we have a single basic block, the explicit copy-back instructions should be inserted right before the terminator. Before this fix, they were wrongly placed at the beginning of the basic block. PR26136 r257997 | mren | 2016-01-16 08:39:46 -0800 (Sat, 16 Jan 2016) | 12 lines CXX_FAST_TLS calling convention: fix issue on x86-64. %RBP can't be handled explicitly. We generate the following code: pushq %rbp movq %rsp, %rbp ... movq %rbx, (%rbp) ## 8-byte Spill where %rbp will be overwritten by the spilled value. The fix is to let PEI handle %RBP. PR26136 Modified: llvm/branches/release_38/ (props changed) llvm/branches/release_38/lib/Target/AArch64/AArch64ISelLowering.cpp llvm/branches/release_38/lib/Target/ARM/ARMISelLowering.cpp llvm/branches/release_38/lib/Target/X86/X86CallingConv.td llvm/branches/release_38/lib/Target/X86/X86ISelLowering.cpp llvm/branches/release_38/test/CodeGen/AArch64/cxx-tlscc.ll llvm/branches/release_38/test/CodeGen/ARM/cxx-tlscc.ll llvm/branches/release_38/test/CodeGen/X86/cxx_tlscc64.ll Propchange: llvm/branches/release_38/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Jan 19 12:53:02 2016 @@ -1,3 +1,3 @@ /llvm/branches/Apple/Pertwee:110850,110961 /llvm/branches/type-system-rewrite:133420-134817 -/llvm/trunk:155241,257645,257648,257730,257775,257791,257902,257905 +/llvm/trunk:155241,257645,257648,257730,257775,257791,257902,257905,257925,257929-257930,257997 Modified: llvm/branches/release_38/lib/Target/AArch64/AArch64ISelLowering.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/lib/Target/AArch64/AArch64ISelLowering.cpp?rev=258162&r1=258161&r2=258162&view=diff == --- llvm/branches/release_38/lib/Target/AArch64/AArch64ISelLowering.cpp (original) +++ llvm/branches/release_38/lib/Target/AArch64/AArch64ISelLowering.cpp Tue Jan 19 12:53:02 2016 @@ -10133,6 +10133,7 @@ void AArch64TargetLowering::insertCopies const TargetInstrInfo *TII = Subtarget->getInstrInfo(); MachineRegisterInfo *MRI = &Entry->getParent()->getRegInfo(); + MachineBasicBlock::iterator MBBI = Entry->begin(); for (const MCPhysReg *I = IStart; *I; ++I) { const TargetRegisterClass *RC = nullptr; if (AArch64::GPR64RegClass.contains(*I)) @@ -10152,13 +10153,13 @@ void AArch64TargetLowering::insertCopies Attribute::NoUnwind) && "Function should be nounwind in insertCopiesSplitCSR!"); Entry->addLiveIn(*I); -BuildMI(*Entry, Entry->begin(), DebugLoc(), TII->get(TargetOpcode::COPY), -NewVR) +BuildMI(*Entry, MBBI, DebugLoc(), TII->get(TargetOpcode::COPY), NewVR) .addReg(*I); +// Insert the copy-back instructions right before the terminator. for (auto *Exit : Exits) - BuildMI(*Exit, Exit->begin(), DebugLoc(), TII->get(TargetOpcode::COPY), - *I) + BuildMI(*Exit, Exit->getFirstTerminator(), DebugLoc(), + TII->get(TargetOpcode::COPY), *I) .addReg(NewVR); } } Modified: llvm/branches/release_38/lib/Target/ARM/ARMISelLowering.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/lib/Target/ARM/ARMISel
[llvm-branch-commits] [llvm-branch] r258170 - Merging r258168:
Author: hans Date: Tue Jan 19 13:28:41 2016 New Revision: 258170 URL: http://llvm.org/viewvc/llvm-project?rev=258170&view=rev Log: Merging r258168: r258168 | hans | 2016-01-19 11:21:58 -0800 (Tue, 19 Jan 2016) | 3 lines test-release.sh: Use CMake also for Darwin This didn't work for 3.7, but hopefully it should work now. 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 Tue Jan 19 13:28:41 2016 @@ -1,3 +1,3 @@ /llvm/branches/Apple/Pertwee:110850,110961 /llvm/branches/type-system-rewrite:133420-134817 -/llvm/trunk:155241,257645,257648,257730,257775,257791,257902,257905,257925,257929-257930,257997 +/llvm/trunk:155241,257645,257648,257730,257775,257791,257902,257905,257925,257929-257930,257997,258168 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=258170&r1=258169&r2=258170&view=diff == --- llvm/branches/release_38/utils/release/test-release.sh (original) +++ llvm/branches/release_38/utils/release/test-release.sh Tue Jan 19 13:28:41 2016 @@ -65,11 +65,6 @@ function usage() { echo " -no-openmp Disable check-out & build libomp" } -if [ `uname -s` = "Darwin" ]; then - # compiler-rt doesn't yet build with CMake on Darwin. - use_autoconf="yes" -fi - while [ $# -gt 0 ]; do case $1 in -release | --release ) ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm-branch] r258180 - Merging r257875:
Author: hans Date: Tue Jan 19 14:49:25 2016 New Revision: 258180 URL: http://llvm.org/viewvc/llvm-project?rev=258180&view=rev Log: Merging r257875: r257875 | jamesm | 2016-01-15 01:20:19 -0800 (Fri, 15 Jan 2016) | 11 lines [InstCombine] Rewrite bswap/bitreverse handling completely. There are several requirements that ended up with this design; 1. Matching bitreversals is too heavyweight for InstCombine and doesn't really need to be done so early. 2. Bitreversals and byteswaps are very related in their matching logic. 3. We want to implement support for matching more advanced bswap/bitreverse patterns like partial bswaps/bitreverses. 4. Bswaps are best matched early in InstCombine. The result of these is that a new utility function is created in Transforms/Utils/Local.h that can be configured to search for bswaps, bitreverses or both. InstCombine uses it to find only bswaps, CGP uses it to find only bitreversals. We can then extend the matching logic in one place only. Added: llvm/branches/release_38/test/Transforms/CodeGenPrepare/ARM/ - copied from r257875, llvm/trunk/test/Transforms/CodeGenPrepare/ARM/ llvm/branches/release_38/test/Transforms/CodeGenPrepare/bitreverse-hang.ll - copied unchanged from r257875, llvm/trunk/test/Transforms/CodeGenPrepare/bitreverse-hang.ll llvm/branches/release_38/test/Transforms/InstCombine/bitreverse-hang.ll - copied unchanged from r257875, llvm/trunk/test/Transforms/InstCombine/bitreverse-hang.ll Removed: llvm/branches/release_38/test/Transforms/InstCombine/bitreverse-recognize.ll Modified: llvm/branches/release_38/ (props changed) llvm/branches/release_38/include/llvm/Transforms/Utils/Local.h llvm/branches/release_38/lib/CodeGen/CodeGenPrepare.cpp llvm/branches/release_38/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp llvm/branches/release_38/lib/Transforms/Utils/Local.cpp Propchange: llvm/branches/release_38/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Jan 19 14:49:25 2016 @@ -1,3 +1,3 @@ /llvm/branches/Apple/Pertwee:110850,110961 /llvm/branches/type-system-rewrite:133420-134817 -/llvm/trunk:155241,257645,257648,257730,257775,257791,257902,257905,257925,257929-257930,257997,258168 +/llvm/trunk:155241,257645,257648,257730,257775,257791,257875,257902,257905,257925,257929-257930,257997,258168 Modified: llvm/branches/release_38/include/llvm/Transforms/Utils/Local.h URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/include/llvm/Transforms/Utils/Local.h?rev=258180&r1=258179&r2=258180&view=diff == --- llvm/branches/release_38/include/llvm/Transforms/Utils/Local.h (original) +++ llvm/branches/release_38/include/llvm/Transforms/Utils/Local.h Tue Jan 19 14:49:25 2016 @@ -331,6 +331,25 @@ unsigned replaceDominatedUsesWith(Value /// during lowering by the GC infrastructure. bool callsGCLeafFunction(ImmutableCallSite CS); +//===--===// +// Intrinsic pattern matching +// + +/// Try and match a bitreverse or bswap idiom. +/// +/// If an idiom is matched, an intrinsic call is inserted before \c I. Any added +/// instructions are returned in \c InsertedInsts. They will all have been added +/// to a basic block. +/// +/// A bitreverse idiom normally requires around 2*BW nodes to be searched (where +/// BW is the bitwidth of the integer type). A bswap idiom requires anywhere up +/// to BW / 4 nodes to be searched, so is significantly faster. +/// +/// This function returns true on a successful match or false otherwise. +bool recognizeBitReverseOrBSwapIdiom( +Instruction *I, bool MatchBSwaps, bool MatchBitReversals, +SmallVectorImpl &InsertedInsts); + } // End llvm namespace #endif Modified: llvm/branches/release_38/lib/CodeGen/CodeGenPrepare.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/lib/CodeGen/CodeGenPrepare.cpp?rev=258180&r1=258179&r2=258180&view=diff == --- llvm/branches/release_38/lib/CodeGen/CodeGenPrepare.cpp (original) +++ llvm/branches/release_38/lib/CodeGen/CodeGenPrepare.cpp Tue Jan 19 14:49:25 2016 @@ -5211,6 +5211,24 @@ bool CodeGenPrepare::optimizeInst(Instru return false; } +/// Given an OR instruction, check to see if this is a bitreverse +/// idiom. If so, insert the new intrinsic and return true. +static bool makeBitReverse(Instruction &I, const DataLayout &DL, + const TargetLowering &TLI) { + if (!I.getType()->isIntegerTy() || + !TLI.isOperationLegalOrCustom(ISD::BITREVERSE, +TLI.getValueType(DL, I.getType
[llvm-branch-commits] [llvm-tag] r258224 - Creating release directory for release_380.
Author: hans Date: Tue Jan 19 17:40:41 2016 New Revision: 258224 URL: http://llvm.org/viewvc/llvm-project?rev=258224&view=rev Log: Creating release directory for release_380. Added: llvm/tags/RELEASE_380/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [compiler-rt-tag] r258231 - Creating release directory for release_380.
Author: hans Date: Tue Jan 19 17:40:55 2016 New Revision: 258231 URL: http://llvm.org/viewvc/llvm-project?rev=258231&view=rev Log: Creating release directory for release_380. Added: compiler-rt/tags/RELEASE_380/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [cfe-tag] r258226 - Creating release directory for release_380.
Author: hans Date: Tue Jan 19 17:40:46 2016 New Revision: 258226 URL: http://llvm.org/viewvc/llvm-project?rev=258226&view=rev Log: Creating release directory for release_380. Added: cfe/tags/RELEASE_380/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [compiler-rt-tag] r258232 - Creating release candidate rc1 from release_380 branch
Author: hans Date: Tue Jan 19 17:40:57 2016 New Revision: 258232 URL: http://llvm.org/viewvc/llvm-project?rev=258232&view=rev Log: Creating release candidate rc1 from release_380 branch Added: compiler-rt/tags/RELEASE_380/rc1/ - copied from r258231, compiler-rt/branches/release_38/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [cfe-tag] r258227 - Creating release candidate rc1 from release_380 branch
Author: hans Date: Tue Jan 19 17:40:48 2016 New Revision: 258227 URL: http://llvm.org/viewvc/llvm-project?rev=258227&view=rev Log: Creating release candidate rc1 from release_380 branch Added: cfe/tags/RELEASE_380/rc1/ (props changed) - copied from r258226, cfe/branches/release_38/ Propchange: cfe/tags/RELEASE_380/rc1/ -- --- svn:ignore (added) +++ svn:ignore Tue Jan 19 17:40:48 2016 @@ -0,0 +1,3 @@ +configure.out +cscope.files +cscope.out Propchange: cfe/tags/RELEASE_380/rc1/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Tue Jan 19 17:40:48 2016 @@ -0,0 +1,4 @@ +/cfe/branches/type-system-rewrite:134693-134817 +/cfe/trunk:257652,257695 +/cfe/trunk/test:170344 +/cfe/trunk/test/SemaTemplate:126920 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm-tag] r258225 - Creating release candidate rc1 from release_380 branch
Author: hans Date: Tue Jan 19 17:40:44 2016 New Revision: 258225 URL: http://llvm.org/viewvc/llvm-project?rev=258225&view=rev Log: Creating release candidate rc1 from release_380 branch Added: llvm/tags/RELEASE_380/rc1/ (props changed) - copied from r258224, llvm/branches/release_38/ Propchange: llvm/tags/RELEASE_380/rc1/ -- --- svn:ignore (added) +++ svn:ignore Tue Jan 19 17:40:44 2016 @@ -0,0 +1,25 @@ +Debug +Release +Release-Asserts +mklib +Makefile.config +config.log +config.status +cvs.out +autom4te.cache +configure.out +LLVM-* +_distcheckdir +llvm.spec +svn-commit.* +*.patch +*.patch.raw +cscope.* +Debug+Coverage-Asserts +Release+Coverage-Asserts +Debug+Coverage +Release+Coverage +Debug+Checks +Debug+Asserts +Release+Asserts +build Propchange: llvm/tags/RELEASE_380/rc1/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Tue Jan 19 17:40:44 2016 @@ -0,0 +1,3 @@ +/llvm/branches/Apple/Pertwee:110850,110961 +/llvm/branches/type-system-rewrite:133420-134817 +/llvm/trunk:155241,257645,257648,257730,257775,257791,257875,257902,257905,257925,257929-257930,257997,258168 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [polly] r258240 - Creating release candidate rc1 from release_380 branch
Author: hans Date: Tue Jan 19 17:41:15 2016 New Revision: 258240 URL: http://llvm.org/viewvc/llvm-project?rev=258240&view=rev Log: Creating release candidate rc1 from release_380 branch Added: polly/tags/RELEASE_380/rc1/ - copied from r258239, polly/branches/release_38/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [lldb] r258242 - Creating release candidate rc1 from release_380 branch
Author: hans Date: Tue Jan 19 17:41:20 2016 New Revision: 258242 URL: http://llvm.org/viewvc/llvm-project?rev=258242&view=rev Log: Creating release candidate rc1 from release_380 branch Added: lldb/tags/RELEASE_380/rc1/ (props changed) - copied from r258241, lldb/branches/release_38/ Propchange: lldb/tags/RELEASE_380/rc1/ -- --- svn:ignore (added) +++ svn:ignore Tue Jan 19 17:41:20 2016 @@ -0,0 +1,4 @@ +build +intermediates +llvm +llvm-build Propchange: lldb/tags/RELEASE_380/rc1/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Tue Jan 19 17:41:20 2016 @@ -0,0 +1,3 @@ +/lldb/branches/apple/python-GIL:156467-162159 +/lldb/branches/iohandler:198360-200250 +/lldb/trunk:257691-257692 ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [polly] r258239 - Creating release directory for release_380.
Author: hans Date: Tue Jan 19 17:41:13 2016 New Revision: 258239 URL: http://llvm.org/viewvc/llvm-project?rev=258239&view=rev Log: Creating release directory for release_380. Added: polly/tags/RELEASE_380/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [lldb] r258241 - Creating release directory for release_380.
Author: hans Date: Tue Jan 19 17:41:17 2016 New Revision: 258241 URL: http://llvm.org/viewvc/llvm-project?rev=258241&view=rev Log: Creating release directory for release_380. Added: lldb/tags/RELEASE_380/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [clang-tools-extra-tag] r258237 - Creating release directory for release_380.
Author: hans Date: Tue Jan 19 17:41:08 2016 New Revision: 258237 URL: http://llvm.org/viewvc/llvm-project?rev=258237&view=rev Log: Creating release directory for release_380. Added: clang-tools-extra/tags/RELEASE_380/ ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm-branch] r258265 - [r257732] Mark remote-JIT tests as XFAIL, as well as win32, for targeting mingw32.
Author: chapuni Date: Tue Jan 19 18:28:22 2016 New Revision: 258265 URL: http://llvm.org/viewvc/llvm-project?rev=258265&view=rev Log: [r257732] Mark remote-JIT tests as XFAIL, as well as win32, for targeting mingw32. Modified: llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/test-common-symbols-remote.ll llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/test-data-align-remote.ll llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/test-fp-no-external-funcs-remote.ll llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-remote.ll llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-remote.ll llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll llvm/branches/release_38/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll llvm/branches/release_38/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll llvm/branches/release_38/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll llvm/branches/release_38/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll llvm/branches/release_38/test/ExecutionEngine/OrcMCJIT/remote/test-common-symbols-remote.ll llvm/branches/release_38/test/ExecutionEngine/OrcMCJIT/remote/test-data-align-remote.ll llvm/branches/release_38/test/ExecutionEngine/OrcMCJIT/remote/test-fp-no-external-funcs-remote.ll llvm/branches/release_38/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-remote.ll llvm/branches/release_38/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll llvm/branches/release_38/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-remote.ll llvm/branches/release_38/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll Modified: llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll?rev=258265&r1=258264&r2=258265&view=diff == --- llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll (original) +++ llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/cross-module-a.ll Tue Jan 19 18:28:22 2016 @@ -1,5 +1,5 @@ ; RUN: %lli -extra-module=%p/Inputs/cross-module-b.ll -disable-lazy-compilation=true -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null -; XFAIL: win32 +; XFAIL: mingw32,win32 declare i32 @FB() Modified: llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll?rev=258265&r1=258264&r2=258265&view=diff == --- llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll (original) +++ llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/multi-module-a.ll Tue Jan 19 18:28:22 2016 @@ -1,5 +1,5 @@ ; RUN: %lli -extra-module=%p/Inputs/multi-module-b.ll -extra-module=%p/Inputs/multi-module-c.ll -disable-lazy-compilation=true -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null -; XFAIL: win32 +; XFAIL: mingw32,win32 declare i32 @FB() Modified: llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll?rev=258265&r1=258264&r2=258265&view=diff == --- llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll (original) +++ llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/simpletest-remote.ll Tue Jan 19 18:28:22 2016 @@ -1,5 +1,5 @@ ; RUN: %lli -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null -; XFAIL: win32 +; XFAIL: mingw32,win32 define i32 @bar() nounwind { ret i32 0 Modified: llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll?rev=258265&r1=258264&r2=258265&view=diff == --- llvm/branches/release_38/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll (original) +++ llvm/branches/relea
[llvm-branch-commits] [llvm-branch] r258266 - [r257857] lli: use llvm::utostr() instead of std::to_string().
Author: chapuni Date: Tue Jan 19 18:32:09 2016 New Revision: 258266 URL: http://llvm.org/viewvc/llvm-project?rev=258266&view=rev Log: [r257857] lli: use llvm::utostr() instead of std::to_string(). Modified: llvm/branches/release_38/tools/lli/lli.cpp Modified: llvm/branches/release_38/tools/lli/lli.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/tools/lli/lli.cpp?rev=258266&r1=258265&r2=258266&view=diff == --- llvm/branches/release_38/tools/lli/lli.cpp (original) +++ llvm/branches/release_38/tools/lli/lli.cpp Tue Jan 19 18:32:09 2016 @@ -16,6 +16,7 @@ #include "OrcLazyJIT.h" #include "RemoteJITUtils.h" #include "llvm/IR/LLVMContext.h" +#include "llvm/ADT/StringExtras.h" #include "llvm/ADT/Triple.h" #include "llvm/Bitcode/ReaderWriter.h" #include "llvm/CodeGen/LinkAllCodegenComponents.h" @@ -741,11 +742,11 @@ std::unique_ptr launchRemo ChildPath.reset(new char[ChildExecPath.size() + 1]); std::copy(ChildExecPath.begin(), ChildExecPath.end(), &ChildPath[0]); ChildPath[ChildExecPath.size()] = '\0'; - std::string ChildInStr = std::to_string(PipeFD[0][0]); + std::string ChildInStr = utostr(PipeFD[0][0]); ChildIn.reset(new char[ChildInStr.size() + 1]); std::copy(ChildInStr.begin(), ChildInStr.end(), &ChildIn[0]); ChildIn[ChildInStr.size()] = '\0'; - std::string ChildOutStr = std::to_string(PipeFD[1][1]); + std::string ChildOutStr = utostr(PipeFD[1][1]); ChildOut.reset(new char[ChildOutStr.size() + 1]); std::copy(ChildOutStr.begin(), ChildOutStr.end(), &ChildOut[0]); ChildOut[ChildOutStr.size()] = '\0'; ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm-branch] r258267 - Merging r257977:
Author: hans Date: Tue Jan 19 18:48:30 2016 New Revision: 258267 URL: http://llvm.org/viewvc/llvm-project?rev=258267&view=rev Log: Merging r257977: r257977 | kfischer | 2016-01-15 17:11:33 -0800 (Fri, 15 Jan 2016) | 1 line [DwarfDebug] Move MergeValues to .cpp, NFC Merging r257979: r257979 | kfischer | 2016-01-15 17:15:32 -0800 (Fri, 15 Jan 2016) | 11 lines [DwarfDebug] Don't merge DebugLocEntries if their pieces overlap Summary: Later in DWARF emission we check that DebugLocEntries have non-overlapping pieces, so we should create any such entries by merging here. Fixes PR26163. Reviewers: aprantl Differential Revision: http://reviews.llvm.org/D16249 Added: llvm/branches/release_38/test/DebugInfo/ARM/PR26163.ll - copied unchanged from r257979, llvm/trunk/test/DebugInfo/ARM/PR26163.ll Modified: llvm/branches/release_38/ (props changed) llvm/branches/release_38/lib/CodeGen/AsmPrinter/DebugLocEntry.h llvm/branches/release_38/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Propchange: llvm/branches/release_38/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Jan 19 18:48:30 2016 @@ -1,3 +1,3 @@ /llvm/branches/Apple/Pertwee:110850,110961 /llvm/branches/type-system-rewrite:133420-134817 -/llvm/trunk:155241,257645,257648,257730,257775,257791,257875,257902,257905,257925,257929-257930,257997,258168 +/llvm/trunk:155241,257645,257648,257730,257775,257791,257875,257902,257905,257925,257929-257930,257977,257979,257997,258168 Modified: llvm/branches/release_38/lib/CodeGen/AsmPrinter/DebugLocEntry.h URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/lib/CodeGen/AsmPrinter/DebugLocEntry.h?rev=258267&r1=258266&r2=258267&view=diff == --- llvm/branches/release_38/lib/CodeGen/AsmPrinter/DebugLocEntry.h (original) +++ llvm/branches/release_38/lib/CodeGen/AsmPrinter/DebugLocEntry.h Tue Jan 19 18:48:30 2016 @@ -93,18 +93,7 @@ public: /// variable, merge them by appending Next's values to the current /// list of values. /// Return true if the merge was successful. - bool MergeValues(const DebugLocEntry &Next) { -if (Begin == Next.Begin) { - auto *Expr = cast_or_null(Values[0].Expression); - auto *NextExpr = cast_or_null(Next.Values[0].Expression); - if (Expr->isBitPiece() && NextExpr->isBitPiece()) { -addValues(Next.Values); -End = Next.End; -return true; - } -} -return false; - } + bool MergeValues(const DebugLocEntry &Next); /// \brief Attempt to merge this DebugLocEntry with Next and return /// true if the merge was successful. Entries can be merged if they Modified: llvm/branches/release_38/lib/CodeGen/AsmPrinter/DwarfDebug.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=258267&r1=258266&r2=258267&view=diff == --- llvm/branches/release_38/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original) +++ llvm/branches/release_38/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Tue Jan 19 18:48:30 2016 @@ -805,6 +805,24 @@ static bool piecesOverlap(const DIExpres return (l1 < r2) && (l2 < r1); } +/// \brief If this and Next are describing different pieces of the same +/// variable, merge them by appending Next's values to the current +/// list of values. +/// Return true if the merge was successful. +bool DebugLocEntry::MergeValues(const DebugLocEntry &Next) { + if (Begin == Next.Begin) { +auto *Expr = cast_or_null(Values[0].Expression); +auto *NextExpr = cast_or_null(Next.Values[0].Expression); +if (Expr->isBitPiece() && NextExpr->isBitPiece() && +!piecesOverlap(Expr, NextExpr)) { + addValues(Next.Values); + End = Next.End; + return true; +} + } + return false; +} + /// Build the location list for all DBG_VALUEs in the function that /// describe the same variable. If the ranges of several independent /// pieces of the same variable overlap partially, split them up and ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm-branch] r258268 - Merging r258207:
Author: qcolombet Date: Tue Jan 19 19:09:12 2016 New Revision: 258268 URL: http://llvm.org/viewvc/llvm-project?rev=258268&view=rev Log: Merging r258207: r258207 | qcolombet | 2016-01-19 14:31:12 -0800 (Tue, 19 Jan 2016) | 1 line [MachineFunction] Constify getter. NFC. Modified: llvm/branches/release_38/ (props changed) llvm/branches/release_38/include/llvm/CodeGen/MachineFunction.h llvm/branches/release_38/lib/CodeGen/MachineFunction.cpp Propchange: llvm/branches/release_38/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Jan 19 19:09:12 2016 @@ -1,3 +1,3 @@ /llvm/branches/Apple/Pertwee:110850,110961 /llvm/branches/type-system-rewrite:133420-134817 -/llvm/trunk:155241,257645,257648,257730,257775,257791,257875,257902,257905,257925,257929-257930,257977,257979,257997,258168 +/llvm/trunk:155241,257645,257648,257730,257775,257791,257875,257902,257905,257925,257929-257930,257977,257979,257997,258168,258207 Modified: llvm/branches/release_38/include/llvm/CodeGen/MachineFunction.h URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/include/llvm/CodeGen/MachineFunction.h?rev=258268&r1=258267&r2=258268&view=diff == --- llvm/branches/release_38/include/llvm/CodeGen/MachineFunction.h (original) +++ llvm/branches/release_38/include/llvm/CodeGen/MachineFunction.h Tue Jan 19 19:09:12 2016 @@ -295,7 +295,7 @@ public: } /// Should we be emitting segmented stack stuff for the function - bool shouldSplitStack(); + bool shouldSplitStack() const; /// getNumBlockIDs - Return the number of MBB ID's allocated. /// Modified: llvm/branches/release_38/lib/CodeGen/MachineFunction.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/lib/CodeGen/MachineFunction.cpp?rev=258268&r1=258267&r2=258268&view=diff == --- llvm/branches/release_38/lib/CodeGen/MachineFunction.cpp (original) +++ llvm/branches/release_38/lib/CodeGen/MachineFunction.cpp Tue Jan 19 19:09:12 2016 @@ -163,7 +163,7 @@ getOrCreateJumpTableInfo(unsigned EntryK } /// Should we be emitting segmented stack stuff for the function -bool MachineFunction::shouldSplitStack() { +bool MachineFunction::shouldSplitStack() const { return getFunction()->hasFnAttribute("split-stack"); } ___ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
[llvm-branch-commits] [llvm-branch] r258269 - Merging r258221:
Author: qcolombet Date: Tue Jan 19 19:14:03 2016 New Revision: 258269 URL: http://llvm.org/viewvc/llvm-project?rev=258269&view=rev Log: Merging r258221: r258221 | qcolombet | 2016-01-19 15:29:03 -0800 (Tue, 19 Jan 2016) | 8 lines [X86] Do not run shrink-wrapping on function with split-stack attribute or HiPE calling convention. The implementation of the related callbacks in the x86 backend for such functions are not ready to deal with a prologue block that is not the entry block of the function. This fixes PR26107, but the longer term solution would be to fix those callbacks. Modified: llvm/branches/release_38/ (props changed) llvm/branches/release_38/lib/Target/X86/X86FrameLowering.cpp llvm/branches/release_38/test/CodeGen/X86/x86-shrink-wrap-unwind.ll Propchange: llvm/branches/release_38/ -- --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Jan 19 19:14:03 2016 @@ -1,3 +1,3 @@ /llvm/branches/Apple/Pertwee:110850,110961 /llvm/branches/type-system-rewrite:133420-134817 -/llvm/trunk:155241,257645,257648,257730,257775,257791,257875,257902,257905,257925,257929-257930,257977,257979,257997,258168,258207 +/llvm/trunk:155241,257645,257648,257730,257775,257791,257875,257902,257905,257925,257929-257930,257977,257979,257997,258168,258207,258221 Modified: llvm/branches/release_38/lib/Target/X86/X86FrameLowering.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/lib/Target/X86/X86FrameLowering.cpp?rev=258269&r1=258268&r2=258269&view=diff == --- llvm/branches/release_38/lib/Target/X86/X86FrameLowering.cpp (original) +++ llvm/branches/release_38/lib/Target/X86/X86FrameLowering.cpp Tue Jan 19 19:14:03 2016 @@ -2031,6 +2031,10 @@ void X86FrameLowering::adjustForSegmente unsigned TlsReg, TlsOffset; DebugLoc DL; + // To support shrink-wrapping we would need to insert the new blocks + // at the right place and update the branches to PrologueMBB. + assert(&(*MF.begin()) == &PrologueMBB && "Shrink-wrapping not supported yet"); + unsigned ScratchReg = GetScratchRegister(Is64Bit, IsLP64, MF, true); assert(!MF.getRegInfo().isLiveIn(ScratchReg) && "Scratch register is live-in"); @@ -2271,6 +2275,11 @@ void X86FrameLowering::adjustForHiPEProl MachineFunction &MF, MachineBasicBlock &PrologueMBB) const { MachineFrameInfo *MFI = MF.getFrameInfo(); DebugLoc DL; + + // To support shrink-wrapping we would need to insert the new blocks + // at the right place and update the branches to PrologueMBB. + assert(&(*MF.begin()) == &PrologueMBB && "Shrink-wrapping not supported yet"); + // HiPE-specific values const unsigned HipeLeafWords = 24; const unsigned CCRegisteredArgs = Is64Bit ? 6 : 5; @@ -2584,7 +2593,14 @@ 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. - return MF.getFunction()->hasFnAttribute(Attribute::NoUnwind) || hasFP(MF); + return (MF.getFunction()->hasFnAttribute(Attribute::NoUnwind) || hasFP(MF)) && + // The lowering of segmented stack and HiPE only support entry blocks + // as prologue blocks: PR26107. + // This limitation may be lifted if we fix: + // - adjustForSegmentedStacks + // - adjustForHiPEPrologue + MF.getFunction()->getCallingConv() != CallingConv::HiPE && + !MF.shouldSplitStack(); } MachineBasicBlock::iterator X86FrameLowering::restoreWin32EHStackPointers( Modified: llvm/branches/release_38/test/CodeGen/X86/x86-shrink-wrap-unwind.ll URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_38/test/CodeGen/X86/x86-shrink-wrap-unwind.ll?rev=258269&r1=258268&r2=258269&view=diff == --- llvm/branches/release_38/test/CodeGen/X86/x86-shrink-wrap-unwind.ll (original) +++ llvm/branches/release_38/test/CodeGen/X86/x86-shrink-wrap-unwind.ll Tue Jan 19 19:14:03 2016 @@ -1,11 +1,5 @@ ; RUN: llc %s -o - | FileCheck %s --check-prefix=CHECK ; -; This test checks that we do not use shrink-wrapping when -; the function does not have any frame pointer and may unwind. -; This is a workaround for a limitation in the emission of -; the CFI directives, that are not correct in such case. -; PR25614 -; ; Note: This test cannot be merged with the shrink-wrapping tests ; because the booleans set on the command line take precedence on ; the target logic that disable shrink-wrapping. @@ -13,6 +7,12 @@ target datalayout = "e-m:o-i64:64-i128:1 target triple = "x86_64-apple-macosx" +; This test checks that we do