Upgrade our copies of clang, llvm, lld, lldb, compiler-rt and libc++ to
6.0.0 release (upstream r326565). Release notes for llvm, clang and lld will be available here soon: <http://releases.llvm.org/6.0.0/docs/ReleaseNotes.html> <http://releases.llvm.org/6.0.0/tools/clang/docs/ReleaseNotes.html> <http://releases.llvm.org/6.0.0/tools/lld/docs/ReleaseNotes.html> Relnotes: yes MFC after: 3 months X-MFC-With: r327952 PR: 224669
This commit is contained in:
parent
34d79fcc91
commit
ef58aa56fe
@ -840,6 +840,7 @@ bool AArch64InstructionSelector::select(MachineInstr &I,
|
||||
case TargetOpcode::G_EXTRACT: {
|
||||
LLT SrcTy = MRI.getType(I.getOperand(1).getReg());
|
||||
LLT DstTy = MRI.getType(I.getOperand(0).getReg());
|
||||
(void)DstTy;
|
||||
unsigned SrcSize = SrcTy.getSizeInBits();
|
||||
// Larger extracts are vectors, same-size extracts should be something else
|
||||
// by now (either split up or simplified to a COPY).
|
||||
|
@ -35520,7 +35520,7 @@ static SDValue combineFneg(SDNode *N, SelectionDAG &DAG,
|
||||
// If we're negating an FMA node, then we can adjust the
|
||||
// instruction to include the extra negation.
|
||||
unsigned NewOpcode = 0;
|
||||
if (Arg.hasOneUse()) {
|
||||
if (Arg.hasOneUse() && Subtarget.hasAnyFMA()) {
|
||||
switch (Arg.getOpcode()) {
|
||||
case ISD::FMA: NewOpcode = X86ISD::FNMSUB; break;
|
||||
case X86ISD::FMSUB: NewOpcode = X86ISD::FNMADD; break;
|
||||
|
@ -353,7 +353,7 @@ available in C.
|
||||
|
||||
int isdigit(int c);
|
||||
int isdigit(int c) __attribute__((enable_if(c <= -1 || c > 255, "chosen when 'c' is out of range"))) __attribute__((unavailable("'c' must have the value of an unsigned char or EOF")));
|
||||
|
||||
|
||||
void foo(char c) {
|
||||
isdigit(c);
|
||||
isdigit(10);
|
||||
@ -406,7 +406,7 @@ overload out of a number of viable overloads using enable_if.
|
||||
|
||||
void f() __attribute__((enable_if(true, ""))); // #1
|
||||
void f() __attribute__((enable_if(true, ""))) __attribute__((enable_if(true, ""))); // #2
|
||||
|
||||
|
||||
void g(int i, int j) __attribute__((enable_if(i, ""))); // #1
|
||||
void g(int i, int j) __attribute__((enable_if(j, ""))) __attribute__((enable_if(true))); // #2
|
||||
|
||||
@ -918,11 +918,11 @@ default name.
|
||||
can only be placed before an @protocol or @interface declaration:
|
||||
|
||||
.. code-block:: objc
|
||||
|
||||
|
||||
__attribute__((objc_runtime_name("MyLocalName")))
|
||||
@interface Message
|
||||
@end
|
||||
|
||||
|
||||
}];
|
||||
}
|
||||
|
||||
@ -1228,7 +1228,7 @@ potentially-evaluated discarded-value expression that is not explicitly cast to
|
||||
.. code-block: c++
|
||||
struct [[nodiscard]] error_info { /*...*/ };
|
||||
error_info enable_missile_safety_mode();
|
||||
|
||||
|
||||
void launch_missiles();
|
||||
void test_missiles() {
|
||||
enable_missile_safety_mode(); // diagnoses
|
||||
@ -2641,23 +2641,23 @@ used to process multiple arguments from a single invocation from a SIMD loop
|
||||
concurrently.
|
||||
The syntax of the `declare simd` construct is as follows:
|
||||
|
||||
.. code-block:: c
|
||||
.. code-block:: none
|
||||
|
||||
#pragma omp declare simd [clause[[,] clause] ...] new-line
|
||||
[#pragma omp declare simd [clause[[,] clause] ...] new-line]
|
||||
[...]
|
||||
function definition or declaration
|
||||
#pragma omp declare simd [clause[[,] clause] ...] new-line
|
||||
[#pragma omp declare simd [clause[[,] clause] ...] new-line]
|
||||
[...]
|
||||
function definition or declaration
|
||||
|
||||
where clause is one of the following:
|
||||
|
||||
.. code-block:: c
|
||||
.. code-block:: none
|
||||
|
||||
simdlen(length)
|
||||
linear(argument-list[:constant-linear-step])
|
||||
aligned(argument-list[:alignment])
|
||||
uniform(argument-list)
|
||||
inbranch
|
||||
notinbranch
|
||||
simdlen(length)
|
||||
linear(argument-list[:constant-linear-step])
|
||||
aligned(argument-list[:alignment])
|
||||
uniform(argument-list)
|
||||
inbranch
|
||||
notinbranch
|
||||
|
||||
}];
|
||||
}
|
||||
@ -2673,9 +2673,9 @@ The syntax of the declare target directive is as follows:
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
#pragma omp declare target new-line
|
||||
declarations-definition-seq
|
||||
#pragma omp end declare target new-line
|
||||
#pragma omp declare target new-line
|
||||
declarations-definition-seq
|
||||
#pragma omp end declare target new-line
|
||||
}];
|
||||
}
|
||||
|
||||
|
@ -36,7 +36,7 @@ std::string getClangRepositoryPath() {
|
||||
|
||||
// If the SVN_REPOSITORY is empty, try to use the SVN keyword. This helps us
|
||||
// pick up a tag in an SVN export, for example.
|
||||
StringRef SVNRepository("$URL: https://llvm.org/svn/llvm-project/cfe/branches/release_60/lib/Basic/Version.cpp $");
|
||||
StringRef SVNRepository("$URL: https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_600/final/lib/Basic/Version.cpp $");
|
||||
if (URL.empty()) {
|
||||
URL = SVNRepository.slice(SVNRepository.find(':'),
|
||||
SVNRepository.find("/lib/Basic"));
|
||||
|
@ -1,3 +1,3 @@
|
||||
/* $FreeBSD$ */
|
||||
|
||||
#define FREEBSD_CC_VERSION 1200010
|
||||
#define FREEBSD_CC_VERSION 1200011
|
||||
|
@ -8,4 +8,4 @@
|
||||
|
||||
#define CLANG_VENDOR "FreeBSD "
|
||||
|
||||
#define SVN_REVISION "325932"
|
||||
#define SVN_REVISION "326565"
|
||||
|
@ -4,5 +4,5 @@
|
||||
#define LLD_VERSION_STRING "6.0.0"
|
||||
#define LLD_VERSION_MAJOR 6
|
||||
#define LLD_VERSION_MINOR 0
|
||||
#define LLD_REVISION_STRING "325932"
|
||||
#define LLD_REVISION_STRING "326565"
|
||||
#define LLD_REPOSITORY_STRING "FreeBSD"
|
||||
|
@ -1,2 +1,2 @@
|
||||
/* $FreeBSD$ */
|
||||
#define LLVM_REVISION "svn-r325932"
|
||||
#define LLVM_REVISION "svn-r326565"
|
||||
|
@ -60,7 +60,7 @@
|
||||
* in the range 5 to 9.
|
||||
*/
|
||||
#undef __FreeBSD_version
|
||||
#define __FreeBSD_version 1200059 /* Master, propagated to newvers */
|
||||
#define __FreeBSD_version 1200060 /* Master, propagated to newvers */
|
||||
|
||||
/*
|
||||
* __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,
|
||||
|
Loading…
x
Reference in New Issue
Block a user