[llvm-branch-commits] [llvm-branch] r279093 - Merging r278999:

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 12:34:01 2016
New Revision: 279093

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

r278999 | hans | 2016-08-17 15:50:18 -0700 (Wed, 17 Aug 2016) | 3 lines

SCEV: Don't assert about non-SCEV-able value in isSCEVExprNeverPoison() 
(PR28932)

Differential Revision: https://reviews.llvm.org/D23594


Modified:
llvm/branches/release_39/   (props changed)
llvm/branches/release_39/lib/Analysis/ScalarEvolution.cpp
llvm/branches/release_39/test/Analysis/ScalarEvolution/flags-from-poison.ll

Propchange: llvm/branches/release_39/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Aug 18 12:34:01 2016
@@ -1,3 +1,3 @@
 /llvm/branches/Apple/Pertwee:110850,110961
 /llvm/branches/type-system-rewrite:133420-134817
-/llvm/trunk:155241,275868-275870,275879,275898,275928,275935,275946,275978,275981,276015,276051,276077,276109,276119,276181,276209,276236-276237,276358,276364,276368,276389,276435,276438,276479,276510,276648,276676,276712,276740,276823,276956,276980,277093,277114,277135,277371,277399,277500,277504,277625,277691,277693,23,278002,278086,278133,278157,278370,278413,278558,278569,278571,278573,278575,278584,278841,278900,278938
+/llvm/trunk:155241,275868-275870,275879,275898,275928,275935,275946,275978,275981,276015,276051,276077,276109,276119,276181,276209,276236-276237,276358,276364,276368,276389,276435,276438,276479,276510,276648,276676,276712,276740,276823,276956,276980,277093,277114,277135,277371,277399,277500,277504,277625,277691,277693,23,278002,278086,278133,278157,278370,278413,278558,278569,278571,278573,278575,278584,278841,278900,278938,278999

Modified: llvm/branches/release_39/lib/Analysis/ScalarEvolution.cpp
URL: 
http://llvm.org/viewvc/llvm-project/llvm/branches/release_39/lib/Analysis/ScalarEvolution.cpp?rev=279093&r1=279092&r2=279093&view=diff
==
--- llvm/branches/release_39/lib/Analysis/ScalarEvolution.cpp (original)
+++ llvm/branches/release_39/lib/Analysis/ScalarEvolution.cpp Thu Aug 18 
12:34:01 2016
@@ -4822,6 +4822,10 @@ bool ScalarEvolution::isSCEVExprNeverPoi
   // from different loops, so that we know which loop to prove that I is
   // executed in.
   for (unsigned OpIndex = 0; OpIndex < I->getNumOperands(); ++OpIndex) {
+// I could be an extractvalue from a call to an overflow intrinsic.
+// TODO: We can do better here in some cases.
+if (!isSCEVable(I->getOperand(OpIndex)->getType()))
+  return false;
 const SCEV *Op = getSCEV(I->getOperand(OpIndex));
 if (auto *AddRec = dyn_cast(Op)) {
   bool AllOtherOpsLoopInvariant = true;

Modified: 
llvm/branches/release_39/test/Analysis/ScalarEvolution/flags-from-poison.ll
URL: 
http://llvm.org/viewvc/llvm-project/llvm/branches/release_39/test/Analysis/ScalarEvolution/flags-from-poison.ll?rev=279093&r1=279092&r2=279093&view=diff
==
--- llvm/branches/release_39/test/Analysis/ScalarEvolution/flags-from-poison.ll 
(original)
+++ llvm/branches/release_39/test/Analysis/ScalarEvolution/flags-from-poison.ll 
Thu Aug 18 12:34:01 2016
@@ -688,3 +688,52 @@ outer.be:
 exit:
   ret void
 }
+
+
+; PR28932: Don't assert on non-SCEV-able value %2.
+%struct.anon = type { i8* }
+@a = common global %struct.anon* null, align 8
+@b = common global i32 0, align 4
+declare { i32, i1 } @llvm.ssub.with.overflow.i32(i32, i32)
+declare void @llvm.trap()
+define i32 @pr28932() {
+entry:
+  %.pre = load %struct.anon*, %struct.anon** @a, align 8
+  %.pre7 = load i32, i32* @b, align 4
+  br label %for.cond
+
+for.cond: ; preds = %cont6, %entry
+  %0 = phi i32 [ %3, %cont6 ], [ %.pre7, %entry ]
+  %1 = phi %struct.anon* [ %.ph, %cont6 ], [ %.pre, %entry ]
+  %tobool = icmp eq %struct.anon* %1, null
+  %2 = tail call { i32, i1 } @llvm.ssub.with.overflow.i32(i32 %0, i32 1)
+  %3 = extractvalue { i32, i1 } %2, 0
+  %4 = extractvalue { i32, i1 } %2, 1
+  %idxprom = sext i32 %3 to i64
+  %5 = getelementptr inbounds %struct.anon, %struct.anon* %1, i64 0, i32 0
+  %6 = load i8*, i8** %5, align 8
+  %7 = getelementptr inbounds i8, i8* %6, i64 %idxprom
+  %8 = load i8, i8* %7, align 1
+  br i1 %tobool, label %if.else, label %if.then
+
+if.then:  ; preds = %for.cond
+  br i1 %4, label %trap, label %cont6
+
+trap: ; preds = %if.else, %if.then
+  tail call void @llvm.trap()
+  unreachable
+
+if.else:  ; preds = %for.cond
+  br i1 %4, label %trap, label %cont1
+
+cont1:; preds = %if.else
+  %conv5 = sext i

[llvm-branch-commits] [cfe-branch] r279103 - Merging r278988:

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 12:56:48 2016
New Revision: 279103

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

r278988 | cbieneman | 2016-08-17 14:54:30 -0700 (Wed, 17 Aug 2016) | 14 lines

[Darwin] Stop linking libclang_rt.eprintf.a

Summary:
The eprintf library was added before the general OS X builtins library existed 
as a place to store one builtin function. Since we have for several years had 
an actual mandated builtin library for OS X > 10.5, we should just merge 
eprintf into the main library.

This change will resolve PR28855.

As a follow up I'll also patch compiler-rt to not generate the eprintf library 
anymore.

Reviewers: ddunbar, bob.wilson

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D23531


Modified:
cfe/branches/release_39/   (props changed)
cfe/branches/release_39/lib/Driver/ToolChains.cpp

Propchange: cfe/branches/release_39/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Aug 18 12:56:48 2016
@@ -1,4 +1,4 @@
 /cfe/branches/type-system-rewrite:134693-134817
-/cfe/trunk:275880,275967,276102,276350,276361,276473,276653,276716,276887,276891,276900,276979,276983,277095,277138,277141,277221,277307,277522,277743,277783,277796-277797,277852,277866,277889,277900,278139,278156,278234-278235,278393,278395,278763,278786
+/cfe/trunk:275880,275967,276102,276350,276361,276473,276653,276716,276887,276891,276900,276979,276983,277095,277138,277141,277221,277307,277522,277743,277783,277796-277797,277852,277866,277889,277900,278139,278156,278234-278235,278393,278395,278763,278786,278988
 /cfe/trunk/test:170344
 /cfe/trunk/test/SemaTemplate:126920

Modified: cfe/branches/release_39/lib/Driver/ToolChains.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_39/lib/Driver/ToolChains.cpp?rev=279103&r1=279102&r2=279103&view=diff
==
--- cfe/branches/release_39/lib/Driver/ToolChains.cpp (original)
+++ cfe/branches/release_39/lib/Driver/ToolChains.cpp Thu Aug 18 12:56:48 2016
@@ -474,21 +474,26 @@ void DarwinClang::AddLinkRuntimeLibArgs(
 else if (isMacosxVersionLT(10, 6))
   CmdArgs.push_back("-lgcc_s.10.5");
 
-// For OS X, we thought we would only need a static runtime library when
-// targeting 10.4, to provide versions of the static functions which were
-// omitted from 10.4.dylib.
+// Originally for OS X, we thought we would only need a static runtime
+// library when targeting 10.4, to provide versions of the static functions
+// which were omitted from 10.4.dylib. This led to the creation of the 10.4
+// builtins library.
 //
 // Unfortunately, that turned out to not be true, because Darwin system
 // headers can still use eprintf on i386, and it is not exported from
 // libSystem. Therefore, we still must provide a runtime library just for
 // the tiny tiny handful of projects that *might* use that symbol.
-if (isMacosxVersionLT(10, 5)) {
+//
+// Then over time, we figured out it was useful to add more things to the
+// runtime so we created libclang_rt.osx.a to provide new functions when
+// deploying to old OS builds, and for a long time we had both eprintf and
+// osx builtin libraries. Which just seems excessive. So with PR 28855, we
+// are removing the eprintf library and expecting eprintf to be provided by
+// the OS X builtins library.
+if (isMacosxVersionLT(10, 5))
   AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.10.4.a");
-} else {
-  if (getTriple().getArch() == llvm::Triple::x86)
-AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.eprintf.a");
+else
   AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.osx.a");
-}
   }
 }
 


___
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] r279107 - Merging r278562:

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 13:14:41 2016
New Revision: 279107

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

r278562 | efriedma | 2016-08-12 13:39:51 -0700 (Fri, 12 Aug 2016) | 7 lines

[AArch64LoadStoreOptimizer] Check aliasing correctly when creating paired 
loads/stores.

The existing code accidentally skipped the aliasing check in edge cases.

Differential revision: https://reviews.llvm.org/D23372




Added:
llvm/branches/release_39/test/CodeGen/AArch64/ldst-paired-aliasing.ll
  - copied unchanged from r278562, 
llvm/trunk/test/CodeGen/AArch64/ldst-paired-aliasing.ll
Modified:
llvm/branches/release_39/   (props changed)
llvm/branches/release_39/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp

Propchange: llvm/branches/release_39/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Aug 18 13:14:41 2016
@@ -1,3 +1,3 @@
 /llvm/branches/Apple/Pertwee:110850,110961
 /llvm/branches/type-system-rewrite:133420-134817
-/llvm/trunk:155241,275868-275870,275879,275898,275928,275935,275946,275978,275981,276015,276051,276077,276109,276119,276181,276209,276236-276237,276358,276364,276368,276389,276435,276438,276479,276510,276648,276676,276712,276740,276823,276956,276980,277093,277114,277135,277371,277399,277500,277504,277625,277691,277693,23,278002,278086,278133,278157,278370,278413,278558,278569,278571,278573,278575,278584,278841,278900,278938,278999
+/llvm/trunk:155241,275868-275870,275879,275898,275928,275935,275946,275978,275981,276015,276051,276077,276109,276119,276181,276209,276236-276237,276358,276364,276368,276389,276435,276438,276479,276510,276648,276676,276712,276740,276823,276956,276980,277093,277114,277135,277371,277399,277500,277504,277625,277691,277693,23,278002,278086,278133,278157,278370,278413,278558,278562,278569,278571,278573,278575,278584,278841,278900,278938,278999

Modified: 
llvm/branches/release_39/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
URL: 
http://llvm.org/viewvc/llvm-project/llvm/branches/release_39/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp?rev=279107&r1=279106&r2=279107&view=diff
==
--- llvm/branches/release_39/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp 
(original)
+++ llvm/branches/release_39/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp 
Thu Aug 18 13:14:41 2016
@@ -1258,8 +1258,11 @@ AArch64LoadStoreOpt::findMatchingInsn(Ma
 if (MIIsUnscaled) {
   // If the unscaled offset isn't a multiple of the MemSize, we can't
   // pair the operations together: bail and keep looking.
-  if (MIOffset % MemSize)
+  if (MIOffset % MemSize) {
+trackRegDefsUses(MI, ModifiedRegs, UsedRegs, TRI);
+MemInsns.push_back(&MI);
 continue;
+  }
   MIOffset /= MemSize;
 } else {
   MIOffset *= MemSize;


___
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] r279123 - Merging r278559:

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 14:43:50 2016
New Revision: 279123

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

r278559 | efriedma | 2016-08-12 13:28:02 -0700 (Fri, 12 Aug 2016) | 7 lines

[AArch64LoadStoreOpt] Handle offsets correctly for post-indexed paired loads.

Trunk would try to create something like "stp x9, x8, [x0], #512", which isn't 
actually a valid instruction.

Differential revision: https://reviews.llvm.org/D23368




Modified:
llvm/branches/release_39/   (props changed)
llvm/branches/release_39/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
llvm/branches/release_39/test/CodeGen/AArch64/ldst-opt.ll

Propchange: llvm/branches/release_39/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Aug 18 14:43:50 2016
@@ -1,3 +1,3 @@
 /llvm/branches/Apple/Pertwee:110850,110961
 /llvm/branches/type-system-rewrite:133420-134817
-/llvm/trunk:155241,275868-275870,275879,275898,275928,275935,275946,275978,275981,276015,276051,276077,276109,276119,276181,276209,276236-276237,276358,276364,276368,276389,276435,276438,276479,276510,276648,276676,276712,276740,276823,276956,276980,277093,277114,277135,277371,277399,277500,277504,277625,277691,277693,23,278002,278086,278133,278157,278370,278413,278558,278562,278569,278571,278573,278575,278584,278841,278900,278938,278999
+/llvm/trunk:155241,275868-275870,275879,275898,275928,275935,275946,275978,275981,276015,276051,276077,276109,276119,276181,276209,276236-276237,276358,276364,276368,276389,276435,276438,276479,276510,276648,276676,276712,276740,276823,276956,276980,277093,277114,277135,277371,277399,277500,277504,277625,277691,277693,23,278002,278086,278133,278157,278370,278413,278558-278559,278562,278569,278571,278573,278575,278584,278841,278900,278938,278999

Modified: 
llvm/branches/release_39/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
URL: 
http://llvm.org/viewvc/llvm-project/llvm/branches/release_39/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp?rev=279123&r1=279122&r2=279123&view=diff
==
--- llvm/branches/release_39/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp 
(original)
+++ llvm/branches/release_39/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp 
Thu Aug 18 14:43:50 2016
@@ -1427,9 +1427,6 @@ bool AArch64LoadStoreOpt::isMatchingUpda
   default:
 break;
   case AArch64::SUBXri:
-// Negate the offset for a SUB instruction.
-Offset *= -1;
-  // FALLTHROUGH
   case AArch64::ADDXri:
 // Make sure it's a vanilla immediate operand, not a relocation or
 // anything else we can't handle.
@@ -1447,6 +1444,9 @@ bool AArch64LoadStoreOpt::isMatchingUpda
 
 bool IsPairedInsn = isPairedLdSt(MemMI);
 int UpdateOffset = MI.getOperand(2).getImm();
+if (MI.getOpcode() == AArch64::SUBXri)
+  UpdateOffset = -UpdateOffset;
+
 // For non-paired load/store instructions, the immediate must fit in a
 // signed 9-bit integer.
 if (!IsPairedInsn && (UpdateOffset > 255 || UpdateOffset < -256))
@@ -1461,13 +1461,13 @@ bool AArch64LoadStoreOpt::isMatchingUpda
 break;
 
   int ScaledOffset = UpdateOffset / Scale;
-  if (ScaledOffset > 64 || ScaledOffset < -64)
+  if (ScaledOffset > 63 || ScaledOffset < -64)
 break;
 }
 
 // If we have a non-zero Offset, we check that it matches the amount
 // we're adding to the register.
-if (!Offset || Offset == MI.getOperand(2).getImm())
+if (!Offset || Offset == UpdateOffset)
   return true;
 break;
   }

Modified: llvm/branches/release_39/test/CodeGen/AArch64/ldst-opt.ll
URL: 
http://llvm.org/viewvc/llvm-project/llvm/branches/release_39/test/CodeGen/AArch64/ldst-opt.ll?rev=279123&r1=279122&r2=279123&view=diff
==
--- llvm/branches/release_39/test/CodeGen/AArch64/ldst-opt.ll (original)
+++ llvm/branches/release_39/test/CodeGen/AArch64/ldst-opt.ll Thu Aug 18 
14:43:50 2016
@@ -1,4 +1,4 @@
-; RUN: llc -mtriple=aarch64-linux-gnu -aarch64-atomic-cfg-tidy=0 
-verify-machineinstrs -o - %s | FileCheck %s
+; RUN: llc -mtriple=aarch64-linux-gnu -aarch64-atomic-cfg-tidy=0 -disable-lsr 
-verify-machineinstrs -o - %s | FileCheck %s
 
 ; This file contains tests for the AArch64 load/store optimizer.
 
@@ -1230,5 +1230,106 @@ for.body:
   %cond = icmp sgt i64 %dec.i, 0
   br i1 %cond, label %for.body, label %end
 end:
+  ret void
+}
+
+define void @post-indexed-sub-doubleword-offset-min(i64* %a, i64* %b, i64 
%count) nounwind {
+; CHECK-LABEL: post-indexed-sub-doubleword-offset-min
+; CHECK: ldr x{{[0-9]+}}, [x{{[0-9]+}}], #-256
+; CHECK: str x{{[0-9]+}}, [x{{[0-9]+}}], #-256
+  br label %for.body
+for.body:
+  %phi1 = 

[llvm-branch-commits] [llvm-branch] r279128 - ReleaseNotes: reduced jump table density

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 15:07:07 2016
New Revision: 279128

URL: http://llvm.org/viewvc/llvm-project?rev=279128&view=rev
Log:
ReleaseNotes: reduced jump table density

Modified:
llvm/branches/release_39/docs/ReleaseNotes.rst

Modified: llvm/branches/release_39/docs/ReleaseNotes.rst
URL: 
http://llvm.org/viewvc/llvm-project/llvm/branches/release_39/docs/ReleaseNotes.rst?rev=279128&r1=279127&r2=279128&view=diff
==
--- llvm/branches/release_39/docs/ReleaseNotes.rst (original)
+++ llvm/branches/release_39/docs/ReleaseNotes.rst Thu Aug 18 15:07:07 2016
@@ -79,6 +79,10 @@ Non-comprehensive list of changes in thi
   faster than MemDep. Currently, GVNHoist (which is off by default) makes use 
of
   MemorySSA.
 
+* The minimum density for lowering switches with jump tables has been reduced
+  from 40% to 10% for functions which are not marked ``optsize`` (that is,
+  compiled with ``-Os``).
+
 .. NOTE
For small 1-3 sentence descriptions, just add an entry at the end of
this list. If your description won't fit comfortably in one bullet


___
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] r279130 - ReleaseNotes: drop in-progress warning

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 15:15:53 2016
New Revision: 279130

URL: http://llvm.org/viewvc/llvm-project?rev=279130&view=rev
Log:
ReleaseNotes: drop in-progress warning

Modified:
polly/branches/release_39/docs/ReleaseNotes.rst

Modified: polly/branches/release_39/docs/ReleaseNotes.rst
URL: 
http://llvm.org/viewvc/llvm-project/polly/branches/release_39/docs/ReleaseNotes.rst?rev=279130&r1=279129&r2=279130&view=diff
==
--- polly/branches/release_39/docs/ReleaseNotes.rst (original)
+++ polly/branches/release_39/docs/ReleaseNotes.rst Thu Aug 18 15:15:53 2016
@@ -4,12 +4,6 @@ Release Notes (upcoming)
 
 In Polly 3.9 the following important changes have been incorporated.
 
-.. warning::
-
-  These releaes notes are for the next release of Polly and describe
-  the new features that have recently been committed to our development
-  branch.
-
 Polly directly available in clang/opt/bugpoint
 --
 


___
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-branch] r279131 - ReleaseNotes: remove in-progress warning

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 15:18:58 2016
New Revision: 279131

URL: http://llvm.org/viewvc/llvm-project?rev=279131&view=rev
Log:
ReleaseNotes: remove in-progress warning

Modified:
cfe/branches/release_39/docs/ReleaseNotes.rst

Modified: cfe/branches/release_39/docs/ReleaseNotes.rst
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_39/docs/ReleaseNotes.rst?rev=279131&r1=279130&r2=279131&view=diff
==
--- cfe/branches/release_39/docs/ReleaseNotes.rst (original)
+++ cfe/branches/release_39/docs/ReleaseNotes.rst Thu Aug 18 15:18:58 2016
@@ -1,6 +1,6 @@
-=
-Clang 3.9 (In-Progress) Release Notes
-=
+===
+Clang 3.9 Release Notes
+===
 
 .. contents::
:local:
@@ -8,12 +8,6 @@ Clang 3.9 (In-Progress) Release Notes
 
 Written by the `LLVM Team `_
 
-.. warning::
-
-   These are in-progress notes for the upcoming Clang 3.9 release. You may
-   prefer the `Clang 3.8 Release Notes
-   `_.
-
 Introduction
 
 
@@ -31,11 +25,6 @@ the latest release, please check out the
 Site `_ or the `LLVM Web
 Site `_.
 
-Note that if you are reading this file from a Subversion checkout or the
-main Clang web page, this document applies to the *next* release, not
-the current one. To see the release notes for a specific release, please
-see the `releases page `_.
-
 What's New in Clang 3.9?
 
 


___
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-branch] r279134 - ReleaseNotes: clean up

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 15:32:21 2016
New Revision: 279134

URL: http://llvm.org/viewvc/llvm-project?rev=279134&view=rev
Log:
ReleaseNotes: clean up

Modified:
cfe/branches/release_39/docs/ReleaseNotes.rst

Modified: cfe/branches/release_39/docs/ReleaseNotes.rst
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_39/docs/ReleaseNotes.rst?rev=279134&r1=279133&r2=279134&view=diff
==
--- cfe/branches/release_39/docs/ReleaseNotes.rst (original)
+++ cfe/branches/release_39/docs/ReleaseNotes.rst Thu Aug 18 15:32:21 2016
@@ -41,7 +41,7 @@ Major New Features
   with -Wl,--build-id. To have clang always pass it, build clang with
   -DENABLE_LINKER_BUILD_ID.
 - On Itanium ABI targets, attribute abi_tag is now supported for compatibility
-  with GCC. Clang implementation of abi_tag is mostly compatible with GCC ABI
+  with GCC. Clang's implementation of abi_tag is mostly compatible with GCC ABI
   version 10.
 
 Improvements to Clang's diagnostics
@@ -54,23 +54,11 @@ about them. The improvements since the 3
 - -Wcomma is a new warning to show most uses of the builtin comma operator.
 - -Wfloat-conversion has two new sub-warnings to give finer grain control for
   floating point to integer conversion warnings.
-  - -Wfloat-overflow-convserion detects when a constant floating point value
+  - -Wfloat-overflow-conversion detects when a constant floating point value
 is converted to an integer type and will overflow the target type.
   - -Wfloat-zero-conversion detects when a non-zero floating point value is
 converted to a zero integer value.
 
-New Compiler Flags
---
-
-The option 
-
-
-New Pragmas in Clang

-
-Clang now supports the ...
-
-
 Attribute Changes in Clang
 --
 
@@ -83,9 +71,7 @@ Attribute Changes in Clang
 Windows Support
 ---
 
-Clang's support for building native Windows programs ...
-
-TLS is enabled for Cygwin defaults to -femulated-tls.
+TLS is enabled for Cygwin and defaults to -femulated-tls.
 
 Proper support, including correct mangling and overloading, added for
 MS-specific "__unaligned" type qualifier.
@@ -93,12 +79,12 @@ MS-specific "__unaligned" type qualifier
 clang-cl now has limited support for the precompiled header flags /Yc, /Yu, and
 /Fp.  If the precompiled header is passed on the compile command with /FI, then
 the precompiled header flags are honored.  But if the precompiled header is
-included by an `#include ` in each source file instead of by a
-`/FIstdafx.h` flag, these flag continue to be ignored.
+included by an ``#include `` in each source file instead of by a
+``/FIstdafx.h`` flag, these flag continue to be ignored.
 
-clang-cl has a new flag, `/imsvc `, for adding a directory to the system
-include search path (where warnings are disabled default) without having to
-set `%INCLUDE`.
+clang-cl has a new flag, ``/imsvc ``, for adding a directory to the system
+include search path (where warnings are disabled by default) without having to
+set ``%INCLUDE``.
 
 C Language Changes in Clang
 ---
@@ -106,15 +92,9 @@ The -faltivec and -maltivec flags no lon
 
 `RenderScript
 `_
-support added to the Frontend and enabled by the '-x renderscript' option or
-the '.rs' file extension.
+support has been added to the frontend and enabled by the '-x renderscript'
+option or the '.rs' file extension.
 
-...
-
-C11 Feature Support
-^^^
-
-...
 
 C++ Language Changes in Clang
 -
@@ -139,7 +119,6 @@ C++ Language Changes in Clang
 using Foo::e; // error
 static constexpr auto e = Foo::e; // ok
 
-...
 
 C++1z Feature Support
 ^
@@ -174,13 +153,6 @@ Changes to C++1z features since Clang 3.
 - Unary *fold-expression*\s over an empty pack are now rejected for all 
operators
   other than ``&&``, ``||``, and ``,``.
 
-...
-
-Objective-C Language Changes in Clang
--
-
-...
-
 OpenCL C Language Changes in Clang
 --
 
@@ -246,19 +218,10 @@ default. User may change this value usin
 The codegen for OpenMP constructs was significantly improved to produce much
 more stable and faster code.
 
-Internal API Changes
-
-
-These are major API changes that have happened since the 3.8 release of
-Clang. If upgrading an external codebase that uses Clang as a library,
-this section should help get you past the largest hurdles of upgrading.
-
--  ...
-
 AST Matchers
 
 
-- has and hasAnyArgument: Matchers no longer ignores parentheses and implicit
+- has and hasAnyArgument: Matchers no longer ignore parentheses and implicit
   casts on the argument before applying the inner matcher. The fix was done to
   allow for greater control by the user. In all existing checkers that

[llvm-branch-commits] [clang-tools-extra-branch] r279135 - ReleaseNotes: remove in-progress warning

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 15:34:11 2016
New Revision: 279135

URL: http://llvm.org/viewvc/llvm-project?rev=279135&view=rev
Log:
ReleaseNotes: remove in-progress warning

Modified:
clang-tools-extra/branches/release_39/docs/ReleaseNotes.rst

Modified: clang-tools-extra/branches/release_39/docs/ReleaseNotes.rst
URL: 
http://llvm.org/viewvc/llvm-project/clang-tools-extra/branches/release_39/docs/ReleaseNotes.rst?rev=279135&r1=279134&r2=279135&view=diff
==
--- clang-tools-extra/branches/release_39/docs/ReleaseNotes.rst (original)
+++ clang-tools-extra/branches/release_39/docs/ReleaseNotes.rst Thu Aug 18 
15:34:11 2016
@@ -1,6 +1,6 @@
-=
-Extra Clang Tools 3.9 (In-Progress) Release Notes
-=
+===
+Extra Clang Tools 3.9 Release Notes
+===
 
 .. contents::
:local:
@@ -8,12 +8,6 @@ Extra Clang Tools 3.9 (In-Progress) Rele
 
 Written by the `LLVM Team `_
 
-.. warning::
-
-   These are in-progress notes for the upcoming Clang 3.9 release. You may
-   prefer the `Clang 3.8 Release Notes
-   `_.
-
 Introduction
 
 
@@ -29,11 +23,6 @@ For more information about Clang or LLVM
 the latest release, please see the `Clang Web Site `_ or
 the `LLVM Web Site `_.
 
-Note that if you are reading this file from a Subversion checkout or the
-main Clang web page, this document applies to the *next* release, not
-the current one. To see the release notes for a specific release, please
-see the `releases page `_.
-
 What's New in Extra Clang Tools 3.9?
 
 


___
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-branch] r279136 - ReleaseNotes: tidy up

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 15:36:59 2016
New Revision: 279136

URL: http://llvm.org/viewvc/llvm-project?rev=279136&view=rev
Log:
ReleaseNotes: tidy up

Modified:
clang-tools-extra/branches/release_39/docs/ReleaseNotes.rst

Modified: clang-tools-extra/branches/release_39/docs/ReleaseNotes.rst
URL: 
http://llvm.org/viewvc/llvm-project/clang-tools-extra/branches/release_39/docs/ReleaseNotes.rst?rev=279136&r1=279135&r2=279136&view=diff
==
--- clang-tools-extra/branches/release_39/docs/ReleaseNotes.rst (original)
+++ clang-tools-extra/branches/release_39/docs/ReleaseNotes.rst Thu Aug 18 
15:36:59 2016
@@ -43,16 +43,6 @@ Major New Features
 
 .. _include-fixer documentation: http://clang.llvm.org/extra/include-fixer.html
 
-Improvements to clang-query

-
-The improvements are...
-
-Improvements to clang-rename
-
-
-The improvements are...
-
 Improvements to clang-tidy
 --
 
@@ -393,8 +383,3 @@ The 3.8 release didn't include release n
   2. Value-initialize every non-member instance of a record type needing
  initialization that lacks a user-provided default constructor, e.g.
  a POD.
-
-Improvements to modularize
---
-
-The improvements are...


___
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] r279139 - ReleaseNotes: drop in-progress warning

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 15:39:47 2016
New Revision: 279139

URL: http://llvm.org/viewvc/llvm-project?rev=279139&view=rev
Log:
ReleaseNotes: drop in-progress warning

Modified:
llvm/branches/release_39/docs/ReleaseNotes.rst

Modified: llvm/branches/release_39/docs/ReleaseNotes.rst
URL: 
http://llvm.org/viewvc/llvm-project/llvm/branches/release_39/docs/ReleaseNotes.rst?rev=279139&r1=279138&r2=279139&view=diff
==
--- llvm/branches/release_39/docs/ReleaseNotes.rst (original)
+++ llvm/branches/release_39/docs/ReleaseNotes.rst Thu Aug 18 15:39:47 2016
@@ -5,12 +5,6 @@ LLVM 3.9 Release Notes
 .. contents::
 :local:
 
-.. warning::
-   These are in-progress notes for the upcoming LLVM 3.9 release.  You may
-   prefer the `LLVM 3.8 Release Notes `_.
-
-
 Introduction
 
 
@@ -26,11 +20,6 @@ have questions or comments, the `LLVM De
 `_ is a good place to send
 them.
 
-Note that if you are reading this file from a Subversion checkout or the main
-LLVM web page, this document applies to the *next* release, not the current
-one.  To see the release notes for a specific release, please see the `releases
-page `_.
-
 Non-comprehensive list of changes in this release
 =
 * The LLVMContext gains a new runtime check (see


___
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] r279142 - ReleaseNotes: tidy up

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 15:52:16 2016
New Revision: 279142

URL: http://llvm.org/viewvc/llvm-project?rev=279142&view=rev
Log:
ReleaseNotes: tidy up

Modified:
llvm/branches/release_39/docs/ReleaseNotes.rst

Modified: llvm/branches/release_39/docs/ReleaseNotes.rst
URL: 
http://llvm.org/viewvc/llvm-project/llvm/branches/release_39/docs/ReleaseNotes.rst?rev=279142&r1=279141&r2=279142&view=diff
==
--- llvm/branches/release_39/docs/ReleaseNotes.rst (original)
+++ llvm/branches/release_39/docs/ReleaseNotes.rst Thu Aug 18 15:52:16 2016
@@ -34,10 +34,10 @@ Non-comprehensive list of changes in thi
   please see the documentation on :doc:`CMake`. For information about the CMake
   language there is also a :doc:`CMakePrimer` document available.
 
-* .. note about C API functions LLVMParseBitcode,
-   LLVMParseBitcodeInContext, LLVMGetBitcodeModuleInContext and
-   LLVMGetBitcodeModule having been removed. LLVMGetTargetMachineData has been
-   removed (use LLVMGetDataLayout instead).
+* C API functions LLVMParseBitcode,
+  LLVMParseBitcodeInContext, LLVMGetBitcodeModuleInContext and
+  LLVMGetBitcodeModule having been removed. LLVMGetTargetMachineData has been
+  removed (use LLVMGetDataLayout instead).
 
 * The C API function LLVMLinkModules has been removed.
 
@@ -57,12 +57,10 @@ Non-comprehensive list of changes in thi
   iterator to the next instruction instead of ``void``. Targets that previously
   did ``MBB.erase(I); return;`` now probably want ``return MBB.erase(I);``.
 
-* ``SelectionDAGISel::Select`` now returns ``void``. Out of tree targets will
+* ``SelectionDAGISel::Select`` now returns ``void``. Out-of-tree targets will
   need to be updated to replace the argument node and remove any dead nodes in
   cases where they currently return an ``SDNode *`` from this interface.
 
-* Raised the minimum required CMake version to 3.4.3.
-
 * Added the MemorySSA analysis, which hopes to replace 
MemoryDependenceAnalysis.
   It should provide higher-quality results than MemDep, and be algorithmically
   faster than MemDep. Currently, GVNHoist (which is off by default) makes use 
of
@@ -72,41 +70,22 @@ Non-comprehensive list of changes in thi
   from 40% to 10% for functions which are not marked ``optsize`` (that is,
   compiled with ``-Os``).
 
-.. NOTE
-   For small 1-3 sentence descriptions, just add an entry at the end of
-   this list. If your description won't fit comfortably in one bullet
-   point (e.g. maybe you would like to give an example of the
-   functionality, or simply have a lot to talk about), see the `NOTE` below
-   for adding a new subsection.
-
-* ... next change ...
-
-.. NOTE
-   If you would like to document a larger change, then you can add a
-   subsection about it right here. You can copy the following boilerplate
-   and un-indent it (the indentation causes it to be inside this comment).
-
-   Special New Feature
-   ---
-
-   Makes programs 10x faster by doing Special New Thing.
-
 GCC ABI Tag
 ---
 
-Recently, many of the Linux distributions (ex. `Fedora 
`_,
+Recently, many of the Linux distributions (e.g. `Fedora 
`_,
 `Debian `_, `Ubuntu 
`_)
 have moved on to use the new `GCC ABI 
`_
 to work around `C++11 incompatibilities in libstdc++ 
`_.
 This caused `incompatibility problems 
`_
-with other compilers (ex. Clang), which needed to be fixed, but due to the
+with other compilers (e.g. Clang), which needed to be fixed, but due to the
 experimental nature of GCC's own implementation, it took a long time for it to
 land in LLVM (`here `_ and
 `here `_), not in time for the 3.8 release.
 
-Those patches are now present in the 3.9.0 release and should be working on the
+Those patches are now present in the 3.9.0 release and should be working in the
 majority of cases, as they have been tested thoroughly. However, some bugs were
-`filled in GCC `_ and have 
not
+`filed in GCC `_ and have 
not
 yet been fixed, so there may be corner cases not covered by either GCC or 
Clang.
 Bug fixes to those problems should be reported in Bugzilla (either LLVM or 
GCC),
 and patches to LLVM's trunk are very likely to be back-ported to future 3.9.x
@@ -124,6 +103,10 @@ Changes to the LLVM IR
   ``llvm.masked.gather`` and ``llvm.masked.scatter`` were introduced to the
   LLVM IR to allow selective memory access for vector data types.
 
+* The new ``notail`` attri

[llvm-branch-commits] [clang-tools-extra-branch] r279144 - Drop doxygen link; the release ships it in tarball instead

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 15:54:38 2016
New Revision: 279144

URL: http://llvm.org/viewvc/llvm-project?rev=279144&view=rev
Log:
Drop doxygen link; the release ships it in tarball instead

Modified:
clang-tools-extra/branches/release_39/docs/index.rst

Modified: clang-tools-extra/branches/release_39/docs/index.rst
URL: 
http://llvm.org/viewvc/llvm-project/clang-tools-extra/branches/release_39/docs/index.rst?rev=279144&r1=279143&r2=279144&view=diff
==
--- clang-tools-extra/branches/release_39/docs/index.rst (original)
+++ clang-tools-extra/branches/release_39/docs/index.rst Thu Aug 18 15:54:38 
2016
@@ -27,24 +27,6 @@ Contents
clang-rename
 
 
-Doxygen Documentation
-=
-The Doxygen documentation describes the **internal** software that makes up the
-tools of clang-tools-extra, not the **external** use of these tools. The 
Doxygen
-documentation contains no instructions about how to use the tools, only the 
APIs
-that make up the software. For usage instructions, please see the user's guide
-or reference manual for each tool.
-
-* `Doxygen documentation`_
-
-.. _`Doxygen documentation`: doxygen/annotated.html
-
-..  note::
-This documentation is generated directly from the source code with doxygen.
-Since the tools of clang-tools-extra are constantly under active
-development, what you're about to read is out of date!
-
-
 Indices and tables
 ==
 


___
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-branch] r279146 - ReleaseNotes: sphinx build fixes

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 16:09:19 2016
New Revision: 279146

URL: http://llvm.org/viewvc/llvm-project?rev=279146&view=rev
Log:
ReleaseNotes: sphinx build fixes

Modified:
cfe/branches/release_39/docs/ReleaseNotes.rst

Modified: cfe/branches/release_39/docs/ReleaseNotes.rst
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_39/docs/ReleaseNotes.rst?rev=279146&r1=279145&r2=279146&view=diff
==
--- cfe/branches/release_39/docs/ReleaseNotes.rst (original)
+++ cfe/branches/release_39/docs/ReleaseNotes.rst Thu Aug 18 16:09:19 2016
@@ -36,10 +36,10 @@ sections with improvements to Clang's su
 Major New Features
 --
 
-- Clang will no longer pass --build-id by default to the linker. In modern
+- Clang will no longer pass ``--build-id`` by default to the linker. In modern
   linkers that is a relatively expensive option. It can be passed explicitly
-  with -Wl,--build-id. To have clang always pass it, build clang with
-  -DENABLE_LINKER_BUILD_ID.
+  with ``-Wl,--build-id``. To have clang always pass it, build clang with
+  ``-DENABLE_LINKER_BUILD_ID``.
 - On Itanium ABI targets, attribute abi_tag is now supported for compatibility
   with GCC. Clang's implementation of abi_tag is mostly compatible with GCC ABI
   version 10.
@@ -51,12 +51,15 @@ Clang's diagnostics are constantly being
 explain them more clearly, and provide more accurate source information
 about them. The improvements since the 3.8 release include:
 
-- -Wcomma is a new warning to show most uses of the builtin comma operator.
-- -Wfloat-conversion has two new sub-warnings to give finer grain control for
+- ``-Wcomma`` is a new warning to show most uses of the builtin comma operator.
+
+- ``-Wfloat-conversion`` has two new sub-warnings to give finer grain control 
for
   floating point to integer conversion warnings.
-  - -Wfloat-overflow-conversion detects when a constant floating point value
+
+  - ``-Wfloat-overflow-conversion`` detects when a constant floating point 
value
 is converted to an integer type and will overflow the target type.
-  - -Wfloat-zero-conversion detects when a non-zero floating point value is
+
+  - ``-Wfloat-zero-conversion`` detects when a non-zero floating point value is
 converted to a zero integer value.
 
 Attribute Changes in Clang


___
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] r279147 - ReleaseNotes: sphinx build fixes

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 16:09:28 2016
New Revision: 279147

URL: http://llvm.org/viewvc/llvm-project?rev=279147&view=rev
Log:
ReleaseNotes: sphinx build fixes

Modified:
llvm/branches/release_39/docs/ReleaseNotes.rst

Modified: llvm/branches/release_39/docs/ReleaseNotes.rst
URL: 
http://llvm.org/viewvc/llvm-project/llvm/branches/release_39/docs/ReleaseNotes.rst?rev=279147&r1=279146&r2=279147&view=diff
==
--- llvm/branches/release_39/docs/ReleaseNotes.rst (original)
+++ llvm/branches/release_39/docs/ReleaseNotes.rst Thu Aug 18 16:09:28 2016
@@ -80,8 +80,8 @@ to work around `C++11 incompatibilities
 This caused `incompatibility problems 
`_
 with other compilers (e.g. Clang), which needed to be fixed, but due to the
 experimental nature of GCC's own implementation, it took a long time for it to
-land in LLVM (`here `_ and
-`here `_), not in time for the 3.8 release.
+land in LLVM (`D18035 `_ and
+`D17567 `_), not in time for the 3.8 release.
 
 Those patches are now present in the 3.9.0 release and should be working in the
 majority of cases, as they have been tested thoroughly. However, some bugs were


___
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] r279174 - Merging r279125 and r278343:

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 17:38:06 2016
New Revision: 279174

URL: http://llvm.org/viewvc/llvm-project?rev=279174&view=rev
Log:
Merging r279125 and r278343:

r279125 | mssimpso | 2016-08-18 12:50:32 -0700 (Thu, 18 Aug 2016) | 14 lines

[SLP] Initialize VectorizedValue when gathering

We abort building vectorizable trees in some cases (e.g., if the maximum
recursion depth is reached, if the region size is too large, etc.). If this
happens for a reduction, we can be left with a root entry that needs to be
gathered. For these cases, we need make sure we actually set VectorizedValue to
the resulting vector.

This patch ensures we properly set VectorizedValue, and it also ensures the
insertelement sequence generated for the gathers is inserted at the correct
location.

Reference: https://llvm.org/bugs/show_bug.cgi?id=28330
Differential Revison: https://reviews.llvm.org/D23410



r278343 | mssimpso | 2016-08-11 08:28:45 -0700 (Thu, 11 Aug 2016) | 1 line

[SLP] Make RecursionMaxDepth a command line option (NFC)


Added:

llvm/branches/release_39/test/Transforms/SLPVectorizer/AArch64/gather-root.ll
  - copied unchanged from r279125, 
llvm/trunk/test/Transforms/SLPVectorizer/AArch64/gather-root.ll
Modified:
llvm/branches/release_39/   (props changed)
llvm/branches/release_39/lib/Transforms/Vectorize/SLPVectorizer.cpp

Propchange: llvm/branches/release_39/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Aug 18 17:38:06 2016
@@ -1,3 +1,3 @@
 /llvm/branches/Apple/Pertwee:110850,110961
 /llvm/branches/type-system-rewrite:133420-134817
-/llvm/trunk:155241,275868-275870,275879,275898,275928,275935,275946,275978,275981,276015,276051,276077,276109,276119,276181,276209,276236-276237,276358,276364,276368,276389,276435,276438,276479,276510,276648,276676,276712,276740,276823,276956,276980,277093,277114,277135,277371,277399,277500,277504,277625,277691,277693,23,278002,278086,278133,278157,278370,278413,278558-278559,278562,278569,278571,278573,278575,278584,278841,278900,278938,278999
+/llvm/trunk:155241,275868-275870,275879,275898,275928,275935,275946,275978,275981,276015,276051,276077,276109,276119,276181,276209,276236-276237,276358,276364,276368,276389,276435,276438,276479,276510,276648,276676,276712,276740,276823,276956,276980,277093,277114,277135,277371,277399,277500,277504,277625,277691,277693,23,278002,278086,278133,278157,278343,278370,278413,278558-278559,278562,278569,278571,278573,278575,278584,278841,278900,278938,278999,279125

Modified: llvm/branches/release_39/lib/Transforms/Vectorize/SLPVectorizer.cpp
URL: 
http://llvm.org/viewvc/llvm-project/llvm/branches/release_39/lib/Transforms/Vectorize/SLPVectorizer.cpp?rev=279174&r1=279173&r2=279174&view=diff
==
--- llvm/branches/release_39/lib/Transforms/Vectorize/SLPVectorizer.cpp 
(original)
+++ llvm/branches/release_39/lib/Transforms/Vectorize/SLPVectorizer.cpp Thu Aug 
18 17:38:06 2016
@@ -82,8 +82,9 @@ static cl::opt MinVectorRegSizeOpti
 "slp-min-reg-size", cl::init(128), cl::Hidden,
 cl::desc("Attempt to vectorize for this register size in bits"));
 
-// FIXME: Set this via cl::opt to allow overriding.
-static const unsigned RecursionMaxDepth = 12;
+static cl::opt RecursionMaxDepth(
+"slp-recursion-max-depth", cl::init(12), cl::Hidden,
+cl::desc("Limit the recursion depth when building a vectorizable tree"));
 
 // Limit the number of alias checks. The limit is chosen so that
 // it has no negative effect on the llvm benchmarks.
@@ -2124,11 +2125,61 @@ void BoUpSLP::reorderInputsAccordingToOp
 }
 
 void BoUpSLP::setInsertPointAfterBundle(ArrayRef VL) {
-  Instruction *VL0 = cast(VL[0]);
-  BasicBlock::iterator NextInst(VL0);
-  ++NextInst;
-  Builder.SetInsertPoint(VL0->getParent(), NextInst);
-  Builder.SetCurrentDebugLocation(VL0->getDebugLoc());
+
+  // Get the basic block this bundle is in. All instructions in the bundle
+  // should be in this block.
+  auto *Front = cast(VL.front());
+  auto *BB = Front->getParent();
+  assert(all_of(make_range(VL.begin(), VL.end()), [&](Value *V) -> bool {
+return cast(V)->getParent() == BB;
+  }));
+
+  // The last instruction in the bundle in program order.
+  Instruction *LastInst = nullptr;
+
+  // Find the last instruction. The common case should be that BB has been
+  // scheduled, and the last instruction is VL.back(). So we start with
+  // VL.back() and iterate over schedule data until we reach the end of the
+  // bundle. The end of the bundle is marked by null ScheduleData.
+  if (BlocksSchedules.count(BB)) {
+auto *Bundle =

[llvm-branch-commits] [cfe-branch] r279176 - ReleaseNotes: missing char

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 18:01:18 2016
New Revision: 279176

URL: http://llvm.org/viewvc/llvm-project?rev=279176&view=rev
Log:
ReleaseNotes: missing char

Modified:
cfe/branches/release_39/docs/ReleaseNotes.rst

Modified: cfe/branches/release_39/docs/ReleaseNotes.rst
URL: 
http://llvm.org/viewvc/llvm-project/cfe/branches/release_39/docs/ReleaseNotes.rst?rev=279176&r1=279175&r2=279176&view=diff
==
--- cfe/branches/release_39/docs/ReleaseNotes.rst (original)
+++ cfe/branches/release_39/docs/ReleaseNotes.rst Thu Aug 18 18:01:18 2016
@@ -87,7 +87,7 @@ included by an ``#include `` i
 
 clang-cl has a new flag, ``/imsvc ``, for adding a directory to the system
 include search path (where warnings are disabled by default) without having to
-set ``%INCLUDE``.
+set ``%INCLUDE%``.
 
 C Language Changes in Clang
 ---


___
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] r279184 - Creating release candidate rc2 from release_390 branch

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 20:42:23 2016
New Revision: 279184

URL: http://llvm.org/viewvc/llvm-project?rev=279184&view=rev
Log:
Creating release candidate rc2 from release_390 branch

Added:
llvm/tags/RELEASE_390/rc2/   (props changed)
  - copied from r279183, llvm/branches/release_39/

Propchange: llvm/tags/RELEASE_390/rc2/
--
--- svn:ignore (added)
+++ svn:ignore Thu Aug 18 20:42:23 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_390/rc2/
--
--- svn:mergeinfo (added)
+++ svn:mergeinfo Thu Aug 18 20:42:23 2016
@@ -0,0 +1,3 @@
+/llvm/branches/Apple/Pertwee:110850,110961
+/llvm/branches/type-system-rewrite:133420-134817
+/llvm/trunk:155241,275868-275870,275879,275898,275928,275935,275946,275978,275981,276015,276051,276077,276109,276119,276181,276209,276236-276237,276358,276364,276368,276389,276435,276438,276479,276510,276648,276676,276712,276740,276823,276956,276980,277093,277114,277135,277371,277399,277500,277504,277625,277691,277693,23,278002,278086,278133,278157,278343,278370,278413,278558-278559,278562,278569,278571,278573,278575,278584,278841,278900,278938,278999,279125


___
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] r279185 - Creating release candidate rc2 from release_390 branch

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 20:42:26 2016
New Revision: 279185

URL: http://llvm.org/viewvc/llvm-project?rev=279185&view=rev
Log:
Creating release candidate rc2 from release_390 branch

Added:
cfe/tags/RELEASE_390/rc2/   (props changed)
  - copied from r279184, cfe/branches/release_39/

Propchange: cfe/tags/RELEASE_390/rc2/
--
--- svn:ignore (added)
+++ svn:ignore Thu Aug 18 20:42:26 2016
@@ -0,0 +1,3 @@
+configure.out
+cscope.files
+cscope.out

Propchange: cfe/tags/RELEASE_390/rc2/
--
--- svn:mergeinfo (added)
+++ svn:mergeinfo Thu Aug 18 20:42:26 2016
@@ -0,0 +1,4 @@
+/cfe/branches/type-system-rewrite:134693-134817
+/cfe/trunk:275880,275967,276102,276350,276361,276473,276653,276716,276887,276891,276900,276979,276983,277095,277138,277141,277221,277307,277522,277743,277783,277796-277797,277852,277866,277889,277900,278139,278156,278234-278235,278393,278395,278763,278786,278988
+/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] [compiler-rt-tag] r279187 - Creating release candidate rc2 from release_390 branch

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 20:42:32 2016
New Revision: 279187

URL: http://llvm.org/viewvc/llvm-project?rev=279187&view=rev
Log:
Creating release candidate rc2 from release_390 branch

Added:
compiler-rt/tags/RELEASE_390/rc2/   (props changed)
  - copied from r279186, compiler-rt/branches/release_39/

Propchange: compiler-rt/tags/RELEASE_390/rc2/
--
--- svn:ignore (added)
+++ svn:ignore Thu Aug 18 20:42:32 2016
@@ -0,0 +1,3 @@
+Debug
+Profile
+Release

Propchange: compiler-rt/tags/RELEASE_390/rc2/
--
svn:mergeinfo = /compiler-rt/trunk:275946,275948,276015,277297,277300,278454


___
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] r279191 - Creating release candidate rc2 from release_390 branch

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 20:42:44 2016
New Revision: 279191

URL: http://llvm.org/viewvc/llvm-project?rev=279191&view=rev
Log:
Creating release candidate rc2 from release_390 branch

Added:
polly/tags/RELEASE_390/rc2/
  - copied from r279190, polly/branches/release_39/

___
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] r279192 - Creating release candidate rc2 from release_390 branch

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 20:42:47 2016
New Revision: 279192

URL: http://llvm.org/viewvc/llvm-project?rev=279192&view=rev
Log:
Creating release candidate rc2 from release_390 branch

Added:
lldb/tags/RELEASE_390/rc2/   (props changed)
  - copied from r279191, lldb/branches/release_39/

Propchange: lldb/tags/RELEASE_390/rc2/
--
--- svn:ignore (added)
+++ svn:ignore Thu Aug 18 20:42:47 2016
@@ -0,0 +1,4 @@
+build
+intermediates
+llvm
+llvm-build

Propchange: lldb/tags/RELEASE_390/rc2/
--
--- svn:mergeinfo (added)
+++ svn:mergeinfo Thu Aug 18 20:42:47 2016
@@ -0,0 +1,3 @@
+/lldb/branches/apple/python-GIL:156467-162159
+/lldb/branches/iohandler:198360-200250
+/lldb/trunk:277343,277426,277997,277999,278001


___
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] r279190 - Creating release candidate rc2 from release_390 branch

2016-08-18 Thread Hans Wennborg via llvm-branch-commits
Author: hans
Date: Thu Aug 18 20:42:41 2016
New Revision: 279190

URL: http://llvm.org/viewvc/llvm-project?rev=279190&view=rev
Log:
Creating release candidate rc2 from release_390 branch

Added:
clang-tools-extra/tags/RELEASE_390/rc2/   (props changed)
  - copied from r279189, clang-tools-extra/branches/release_39/

Propchange: clang-tools-extra/tags/RELEASE_390/rc2/
--
svn:mergeinfo = /clang-tools-extra/trunk:275943,277097,278949


___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits