]> granicus.if.org Git - clang/log
clang
8 years agoEnable support for __float128 in Clang and enable it on pertinent platforms
Nemanja Ivanovic [Mon, 9 May 2016 08:52:33 +0000 (08:52 +0000)]
Enable support for __float128 in Clang and enable it on pertinent platforms

This patch corresponds to reviews:
http://reviews.llvm.org/D15120
http://reviews.llvm.org/D19125

It adds support for the __float128 keyword, literals and target feature to
enable it. Based on the latter of the two aforementioned reviews, this feature
is enabled on Linux on i386/X86 as well as SystemZ.
This is also the second attempt in commiting this feature. The first attempt
did not enable it on required platforms which caused failures when compiling
type_traits with -std=gnu++11.

If you see failures with compiling this header on your platform after this
commit, it is likely that your platform needs to have this feature enabled.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268898 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix spurious warnings about unused private field
Olivier Goffart [Mon, 9 May 2016 07:09:51 +0000 (07:09 +0000)]
Fix spurious warnings about unused private field

If the address of a field is taken as a pointer to member, we should
not warn that the field is not used.

Normaly, yse of fields are done from MemberExpr, but in case of pointer to
member, it is in a DeclRefExpr

Differential Revision: http://reviews.llvm.org/D20054

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268895 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86] Fix up type arguments of __builtin_ia32_cvtss2sd_round_mask and __builtin_ia32_...
Craig Topper [Mon, 9 May 2016 05:34:22 +0000 (05:34 +0000)]
[X86] Fix up type arguments of __builtin_ia32_cvtss2sd_round_mask and __builtin_ia32_cvtsd2ss_round_mask to match the backend.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268893 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoclang-format: Fix space after argument comments.
Daniel Jasper [Sun, 8 May 2016 18:14:01 +0000 (18:14 +0000)]
clang-format: Fix space after argument comments.

Before:
  f(/*a=*/a, /*b=*/ ::b);

After:
  f(/*a=*/a, /*b=*/::b);

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268879 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoclang-format: Support enum type template arguments.
Daniel Jasper [Sun, 8 May 2016 18:12:22 +0000 (18:12 +0000)]
clang-format: Support enum type template arguments.

Before:
  template <enum E> class A { public : E *f(); };

After:
  template <enum E> class A {
  public:
    E *f();
  };

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268878 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoTeach header search about GCC 4.9 header search paths in Gentoo, they
Chandler Carruth [Sun, 8 May 2016 07:59:56 +0000 (07:59 +0000)]
Teach header search about GCC 4.9 header search paths in Gentoo, they
now use the full GCC version in their weird suffix.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268874 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[OpenMP] Check for associated statements with hasAssociatedStmt() when scanning for...
Samuel Antao [Sun, 8 May 2016 06:43:56 +0000 (06:43 +0000)]
[OpenMP] Check for associated statements with hasAssociatedStmt() when scanning for device code.

Summary: `getAssociatedStmt()` contains an assertion that assumes the statement always exists. In device code scanning, we need to look into the associated statement therefore we check its existence. This patch replaces  `getAssociatedStmt` by `hasAssociatedStmt` so that we do not trigger the assertion for directives that happen not to have an associated statement (e.g target enter/exit data).

Reviewers: hfinkel, carlo.bertolli, arpith-jacob, kkwli0, ABataev

Subscribers: cfe-commits, caomhin

Differential Revision: http://reviews.llvm.org/D19812

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268870 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoUpdate \param corresponding to r268819. [-Wdocumentation]
NAKAMURA Takumi [Sat, 7 May 2016 03:12:30 +0000 (03:12 +0000)]
Update \param corresponding to r268819. [-Wdocumentation]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268843 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[CrashReproducer] Always use realpath for destination
Bruno Cardoso Lopes [Fri, 6 May 2016 23:58:58 +0000 (23:58 +0000)]
[CrashReproducer] Always use realpath for destination

When running reproducer scripts we need that original symlinks from the
source filesystem are reproduced in the VFS so that different virtual
paths can map to the same file, allowing the FileManager to share the
same UID between these virtual entries. This avoids all sorts of module
redefinition errors when using frameworks.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268825 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[VFS] Add dump methods to the VFS overlay tree
Bruno Cardoso Lopes [Fri, 6 May 2016 23:21:57 +0000 (23:21 +0000)]
[VFS] Add dump methods to the VFS overlay tree

Useful when debugging issues within the VFS overlay.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268820 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[CrashReproducer] Change module map callback signature. NFC
Bruno Cardoso Lopes [Fri, 6 May 2016 23:21:50 +0000 (23:21 +0000)]
[CrashReproducer] Change module map callback signature. NFC

Use a StringRef instead of a FileEntry in the moduleMapAddHeader
callback to allow more flexibility on what to collect on further
patches. This changes the interface I introduced in r264971.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268819 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[modules] Attempt to improve performance for declaration merging without a Sema
Richard Smith [Fri, 6 May 2016 23:14:07 +0000 (23:14 +0000)]
[modules] Attempt to improve performance for declaration merging without a Sema
object in C. Rather than using the DeclContext (which is very slow because it
triggers us to build a lookup table for the DeclContext), use a separate map
from identifiers to decls for this case, containing only the ones we've
actually deserialized. For convenience, this map is implemented as an
IdentifierResolver.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268817 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix sysroot-prefix.c on Windows (/ vs \).
Nico Weber [Fri, 6 May 2016 21:17:32 +0000 (21:17 +0000)]
Fix sysroot-prefix.c on Windows (/ vs \).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268797 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAvailability: set location when creating attribute for tvos, watchos.
Manman Ren [Fri, 6 May 2016 21:04:01 +0000 (21:04 +0000)]
Availability: set location when creating attribute for tvos, watchos.

When inferring availability attributes for tvos, watchos from ios, we
use the same source location and set the implicit bit to true.

So when emitting diagnostics on inferred attributes, we have a source
location.

rdar://25893544

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268793 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAvailability: attach the note to the declaration with the attributes.
Manman Ren [Fri, 6 May 2016 19:57:16 +0000 (19:57 +0000)]
Availability: attach the note to the declaration with the attributes.

Sometimes, the declaration we found has inherited availability
attributes, attaching the note to it does not tell us where the
availability attributes are in the source.

Go through the redecl chain to find the declaration with actual
availability attributes.

rdar://25221771

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268786 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agotest: attempt to repair windows build
Saleem Abdulrasool [Fri, 6 May 2016 19:39:00 +0000 (19:39 +0000)]
test: attempt to repair windows build

Replace use of /dev/null with /var/empty.  lit will substitute the /dev/null
include path resulting in failures.  Use a path under /var/empty which is
supposed to be empty to ensure that we can successfully test.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268784 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoObjC kindof: set the type of a conditional expression when involving kindof.
Manman Ren [Fri, 6 May 2016 19:35:02 +0000 (19:35 +0000)]
ObjC kindof: set the type of a conditional expression when involving kindof.

When either LHS or RHS is a kindof type, we return a kindof type.

rdar://problem/20513780

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268781 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFrontend: support -I=path for sysroot expansion
Saleem Abdulrasool [Fri, 6 May 2016 19:13:55 +0000 (19:13 +0000)]
Frontend: support -I=path for sysroot expansion

From the GCC manpage:

  -I dir
    ... If dir begins with =, then the = will be replaced by the sysroot prefix;
    see --sysroot and -isysroot.

Add support to expand the `=` as a prefix of the include path with the sysroot
if specified.  `-isysroot` takes precedence over `--sysroot` as the normal
argument behaviour occurs.  The ordering of the `-isysroot` is relevant to the
path substituted.  If no `--sysroot=` or `-isysroot` option is present, the = is
not expanded.

Resolves PR26965!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268777 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[analyzer] Add tests for Objective-C class properties
Devin Coughlin [Fri, 6 May 2016 18:24:50 +0000 (18:24 +0000)]
[analyzer] Add tests for Objective-C class properties

Add basic tests to ensure the analyzer has support for class properties. This
is a test-only change.

rdar://problem/25256807

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268773 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[www][analyzer] Update recommended suppression mechanism for localization.
Devin Coughlin [Fri, 6 May 2016 18:13:30 +0000 (18:13 +0000)]
[www][analyzer] Update recommended suppression mechanism for localization.

Based on feedback from Jordan Rose, make the recommended suppression function be 'static
inline'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268768 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[www][analyzer] Add FAQ about suppression of missing localization diagnostic.
Devin Coughlin [Fri, 6 May 2016 17:51:34 +0000 (17:51 +0000)]
[www][analyzer] Add FAQ about suppression of missing localization diagnostic.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268764 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoMore fixes to codeblock formatting in documentation.
Richard Smith [Fri, 6 May 2016 16:48:29 +0000 (16:48 +0000)]
More fixes to codeblock formatting in documentation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268749 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRevert "AMDGPU/SI: Use amdgpu_kernel calling convention for OpenCL kernels."
Nikolay Haustov [Fri, 6 May 2016 15:00:51 +0000 (15:00 +0000)]
Revert "AMDGPU/SI: Use amdgpu_kernel calling convention for OpenCL kernels."

This reverts commit f7053ec90d0fc56f0837e43c2c759e85b56c21a1.

It broke calling OpenCL kernel from another kernel.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268740 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRevert r268727, it caused PR27666.
Nico Weber [Fri, 6 May 2016 14:34:29 +0000 (14:34 +0000)]
Revert r268727, it caused PR27666.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268736 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdding omitted column to invalid loc diagnostic.
Ben Craig [Fri, 6 May 2016 13:29:46 +0000 (13:29 +0000)]
Adding omitted column to invalid loc diagnostic.

note_fe_backend_invalid_loc expects three arguments (file, line, column),
and will assert when only given two. The other two places in this file that
use note_fe_backend_invalid_loc already supply the Column for the third
parameter.

http://reviews.llvm.org/D19936

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268732 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[OPENMP 4.5] Tests for 'private|firstprivates' clauses in 'taskloop' directive.
Alexey Bataev [Fri, 6 May 2016 12:04:14 +0000 (12:04 +0000)]
[OPENMP 4.5] Tests for 'private|firstprivates' clauses in 'taskloop' directive.

Added tests for codegen for private|firstprivate clauses in taskloop-based directives.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268729 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agos/codeblock/code-block to fix the Sphinx build.
Aaron Ballman [Fri, 6 May 2016 11:56:57 +0000 (11:56 +0000)]
s/codeblock/code-block to fix the Sphinx build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268728 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[MSVC] Implementation of __unaligned as a proper type qualifier
Andrey Bokhanko [Fri, 6 May 2016 11:47:55 +0000 (11:47 +0000)]
[MSVC] Implementation of __unaligned as a proper type qualifier

This patch implements __unaligned (MS extension) as a proper type qualifier
(before that, it was implemented as an ignored attribute).

It also fixes PR27367.

Differential Revision: http://reviews.llvm.org/D19654

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268727 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[OPENMP 4.0] Codegen for 'declare simd' directive.
Alexey Bataev [Fri, 6 May 2016 09:40:08 +0000 (09:40 +0000)]
[OPENMP 4.0] Codegen for 'declare simd' directive.

OpenMP 4.0 adds support for elemental functions using declarative
directive '#pragma omp declare simd'. Patch adds mangling for simd
functions in accordance with
https://sourceware.org/glibc/wiki/libmvec?action=AttachFile&do=view&target=VectorABI.txt

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268721 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU/SI: Use amdgpu_kernel calling convention for OpenCL kernels.
Nikolay Haustov [Fri, 6 May 2016 09:15:24 +0000 (09:15 +0000)]
AMDGPU/SI: Use amdgpu_kernel calling convention for OpenCL kernels.

Reviewers: tstellarAMD, arsenm

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D19918

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268718 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[CMake] Removing LLVM_ENABLE_TIMESTAMPS from the cache files
Chris Bieneman [Thu, 5 May 2016 21:08:41 +0000 (21:08 +0000)]
[CMake] Removing LLVM_ENABLE_TIMESTAMPS from the cache files

Since the option was removed in r268670, the cache scripts should stop referring to it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268685 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix some Clang-tidy readability-simplify-boolean-expr and Include What You Use warnings.
Eugene Zelenko [Thu, 5 May 2016 20:15:31 +0000 (20:15 +0000)]
Fix some Clang-tidy readability-simplify-boolean-expr and Include What You Use warnings.

Differential revision: http://reviews.llvm.org/D19947

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268674 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd forgotten test from r268594.
Richard Smith [Thu, 5 May 2016 19:16:58 +0000 (19:16 +0000)]
Add forgotten test from r268594.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268665 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd a FixItHint for the new diagnostic for a non-class-scope using-declaration that...
Richard Smith [Thu, 5 May 2016 19:16:15 +0000 (19:16 +0000)]
Add a FixItHint for the new diagnostic for a non-class-scope using-declaration that names a class-scope enumerator.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268664 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoSome release note updates for C++ language acceptance changes since Clang 3.8.
Richard Smith [Thu, 5 May 2016 18:40:37 +0000 (18:40 +0000)]
Some release note updates for C++ language acceptance changes since Clang 3.8.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268663 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAMDGPU: Use lld as the linker again
Tom Stellard [Thu, 5 May 2016 17:03:41 +0000 (17:03 +0000)]
AMDGPU: Use lld as the linker again

Summary:
Now that LLVM is emitting version 2 of the AMD code object, we can
start using lld again for linking instead of our custom tool.

Reviewers: arsenm, kzhuravl

Subscribers: rafael, cfe-commits

Differential Revision: http://reviews.llvm.org/D19952

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268648 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[CMake][Apple-stage2] Don't link with -fno-pie
Chris Bieneman [Thu, 5 May 2016 16:31:28 +0000 (16:31 +0000)]
[CMake][Apple-stage2] Don't link with -fno-pie

On Darwin the default is to build PIC and link PIE. We shouldn't need to override that in the Apple Clang distributions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268642 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Hexagon] Add a testcase for __builtin_HEXAGON_A2_tfrpi
Krzysztof Parzyszek [Thu, 5 May 2016 15:55:54 +0000 (15:55 +0000)]
[Hexagon] Add a testcase for __builtin_HEXAGON_A2_tfrpi

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268637 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd a test for PR26076.
Nico Weber [Thu, 5 May 2016 11:51:22 +0000 (11:51 +0000)]
Add a test for PR26076.

r262056 accidentally fixed this.  Add a test to ensure it
doesn't regress.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268625 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoSema.h: Prune a redundant \return. [-Wdocumentation]
NAKAMURA Takumi [Thu, 5 May 2016 10:29:11 +0000 (10:29 +0000)]
Sema.h: Prune a redundant \return. [-Wdocumentation]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268621 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[OPENMP 4.5] Codegen for 'lastprivate' clauses in 'taskloop' directives.
Alexey Bataev [Thu, 5 May 2016 08:46:22 +0000 (08:46 +0000)]
[OPENMP 4.5] Codegen for 'lastprivate' clauses in 'taskloop' directives.

OpenMP 4.5 adds taskloop/taskloop simd directives. These directives
allow to use lastprivate clause. Patch adds codegen for this clause.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268618 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoDocumentation updates for recent changes to VLAs and default-initialization of const...
Richard Smith [Thu, 5 May 2016 02:53:55 +0000 (02:53 +0000)]
Documentation updates for recent changes to VLAs and default-initialization of const-qualified class objects.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268600 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoUpdate FIXME.
Richard Smith [Thu, 5 May 2016 02:14:06 +0000 (02:14 +0000)]
Update FIXME.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268595 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix implementation of C++'s restrictions on using-declarations referring to enumerators:
Richard Smith [Thu, 5 May 2016 02:13:49 +0000 (02:13 +0000)]
Fix implementation of C++'s restrictions on using-declarations referring to enumerators:

 * an unscoped enumerator whose enumeration is a class member is itself a class
   member, so can only be the subject of a class-scope using-declaration.

 * a scoped enumerator cannot be the subject of a class-scope using-declaration.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268594 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoDo not add uwtable attribute by default for MachO targets.
Akira Hatanaka [Thu, 5 May 2016 01:41:07 +0000 (01:41 +0000)]
Do not add uwtable attribute by default for MachO targets.

r217178 changed clang to add function attribute uwtable by default on
Win64, which caused the __eh_frame section to be emitted by default.
This commit restores the previous behavior for MachO targets.

rdar://problem/25282627

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268589 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[modules] Enforce the rules that an explicit or partial specialization must be
Richard Smith [Thu, 5 May 2016 00:56:12 +0000 (00:56 +0000)]
[modules] Enforce the rules that an explicit or partial specialization must be
declared before it is used. Because we don't use normal name lookup to find
these, the normal code to filter out non-visible names from name lookup results
does not apply.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268585 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[SystemZ] Add -mbackchain option.
Marcin Koscielnicki [Wed, 4 May 2016 23:37:40 +0000 (23:37 +0000)]
[SystemZ] Add -mbackchain option.

This option, like the corresponding gcc option, is SystemZ-specific and
enables storing frame backchain links, as specified in the ABI.

Differential Revision: http://reviews.llvm.org/D19891

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268575 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd the Pure attribute to C99 builtin functions from ctype.h. This is a corrected...
Aaron Ballman [Wed, 4 May 2016 21:08:13 +0000 (21:08 +0000)]
Add the Pure attribute to C99 builtin functions from ctype.h. This is a corrected version of r266199 with test case fixes.

Patch by Taewook Oh.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268553 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix the doc extraction script to work with hasAnyName and with equalsNode.
Samuel Benzaquen [Wed, 4 May 2016 20:45:00 +0000 (20:45 +0000)]
Fix the doc extraction script to work with hasAnyName and with equalsNode.

The change from llvm::VariadicFunction to internal::VariadicFunction
broke the extraction of hasAnyName().
equalsNode was broken because the argument type is 'const XXXX*' and
the internal space caused a failure on the regex.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268548 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agofix docs
Kostya Serebryany [Wed, 4 May 2016 20:24:54 +0000 (20:24 +0000)]
fix docs

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268541 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agodocument -f[no-]sanitize-recover=all and mention it in warning messages
Kostya Serebryany [Wed, 4 May 2016 20:21:47 +0000 (20:21 +0000)]
document -f[no-]sanitize-recover=all and mention it in warning messages

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268540 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[CodeGenObjCXX] Fix handling of blocks in lambda.
Akira Hatanaka [Wed, 4 May 2016 18:40:33 +0000 (18:40 +0000)]
[CodeGenObjCXX] Fix handling of blocks in lambda.

This fixes a crash that occurs when a block captures a reference that is
captured by its enclosing lambda.

rdar://problem/18586651

Differential Revision: http://reviews.llvm.org/D19536

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268532 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[ObjC] Enter a new evaluation context before calling
Akira Hatanaka [Wed, 4 May 2016 18:07:20 +0000 (18:07 +0000)]
[ObjC] Enter a new evaluation context before calling
BuildBlockForLambdaConversion.

Previously, clang would build an incorrect AST for the following code:

id test() {
  return @{@"a": [](){}, @"b": [](){}};
}

ReturnStmt 0x10d080448
`-ExprWithCleanups 0x10d080428
  |-cleanup Block 0x10d0801f0 // points to the second BlockDecl
    ...
    -BlockDecl 0x10d07f150 // First block
    ...
    -BlockDecl 0x10d0801f0 // Second block
    ...
     `-ExprWithCleanups 0x10d0801d0
       |-cleanup Block 0x10d07f150 // points to the first BlockDecl

To fix the bug, this commit enters a new evaluation context to reset
ExprNeedsCleanups before each block is parsed.

rdar://problem/16879958

Differential Revision: http://reviews.llvm.org/D18815

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268527 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoUpdate test CHECK lines after r268509. NFC.
Pete Cooper [Wed, 4 May 2016 17:37:27 +0000 (17:37 +0000)]
Update test CHECK lines after r268509.  NFC.

r268509 causes this test case to be fully unrolled, so checking for an icmp is
no longer valid.  Given that this test is for ARC anyway, checking for the icmp seems
unecessary.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268523 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Coverage] Fix an issue where a coverage region might not be created for a macro...
Igor Kudrin [Wed, 4 May 2016 15:38:26 +0000 (15:38 +0000)]
[Coverage] Fix an issue where a coverage region might not be created for a macro containing a loop statement.

The issue happened when a macro contained a full for or
while statement, which body ended at the end of the macro.

Differential Revision: http://reviews.llvm.org/D19725

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268511 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoDo not disable completely loop unroll when optimizing for size.
Marianne Mailhot-Sarrasin [Wed, 4 May 2016 15:26:28 +0000 (15:26 +0000)]
Do not disable completely loop unroll when optimizing for size.

Let the loop unroll pass handle /Os. It already checks that option and adjust its thresholds accordingly. Also, will allow the #pragma unroll to have an effect in /Os.

Differential Revision: http://reviews.llvm.org/D19827

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268509 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[ASTMatchers] New matcher forFunction
Gabor Horvath [Wed, 4 May 2016 11:59:39 +0000 (11:59 +0000)]
[ASTMatchers] New matcher forFunction

Summary: Matcher proposed in the review of checker misc-assign-operator (name pending). Its goal is to find the direct enclosing function declaration of a statement and run the inner matcher on it. Two version is attached in this patch (thus it will not compile), to be decided which approach to take. The second one always chooses one single parent while the first one does a depth-first search upwards (thus a height-first search) and returns the first positive match of the inner matcher (thus it always returns zero or one matches, not more). Further questions: is it enough to implement it in-place, or ASTMatchersInternals or maybe ASTMatchFinder should be involved?

Reviewers: sbenza

Subscribers: aaron.ballman, klimek, o.gyorgy, xazax.hun, cfe-commits

Differential Revision: http://reviews.llvm.org/D19357

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268490 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86] Add -m[no-]x87 and -m[no-]80387 options to control FeatureX87.
Andrey Turetskiy [Wed, 4 May 2016 11:28:22 +0000 (11:28 +0000)]
[X86] Add -m[no-]x87 and -m[no-]80387 options to control FeatureX87.

Add -m[no-]x87 and -m[no-]80387 options to control FeatureX87.
-m[no-]80387 options is added for compatibility with GCC.

Differential Revision: http://reviews.llvm.org/D19658

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268489 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd missing -mno-cx16 driver option.
Andrey Turetskiy [Wed, 4 May 2016 11:19:41 +0000 (11:19 +0000)]
Add missing -mno-cx16 driver option.

Differential Revision: http://reviews.llvm.org/D19658

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268488 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd a test for driver options from m_x86_Features_Group.
Andrey Turetskiy [Wed, 4 May 2016 11:10:29 +0000 (11:10 +0000)]
Add a test for driver options from m_x86_Features_Group.

Differential Revision: http://reviews.llvm.org/D19658

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268487 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Sparc] Implement __builtin_setjmp, __builtin_longjmp back-end.
Chris Dewhurst [Wed, 4 May 2016 09:33:30 +0000 (09:33 +0000)]
[Sparc] Implement __builtin_setjmp, __builtin_longjmp back-end.

This code implements builtin_setjmp and builtin_longjmp exception handling intrinsics for 32-bit Sparc back-ends.

The code started as a mash-up of the PowerPC and X86 versions, although there are sufficient differences to both that had to be made for Sparc handling.

Note: I have manual tests running. I'll work on a unit test and add that to the rest of this diff in the next day.

Also, this implementation is only for 32-bit Sparc. I haven't focussed on a 64-bit version, although I have left the code in a prepared state for implementing this, including detecting pointer size and comments indicating where I suspect there may be differences.

Differential Revision: http://reviews.llvm.org/D19798

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268483 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Clang][Builtin][AVX512] Adding intrinsics fot cvt{u}si2s{d|s} cvt{sd|ss}2{ss|sd...
Michael Zuckerman [Wed, 4 May 2016 08:55:11 +0000 (08:55 +0000)]
[Clang][Builtin][AVX512] Adding intrinsics fot cvt{u}si2s{d|s} cvt{sd|ss}2{ss|sd} instruction set

Differential Revision: http://reviews.llvm.org/D19765

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268481 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[X86] Add -malign-double support
Reid Kleckner [Wed, 4 May 2016 02:58:24 +0000 (02:58 +0000)]
[X86] Add -malign-double support

The -malign-double flag causes i64 and f64 types to have alignment 8
instead of 4. On x86-64, the behavior of -malign-double is enabled by default.

Rebases and cleans phosek's work here: http://reviews.llvm.org/D12860

Patch by Sean Klein

Reviewers: rnk

Subscribers: rnk, jfb, dschuff, phosek

Differential Revision: http://reviews.llvm.org/D19734

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268473 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix CodeCompletion & TypoCorrection when combining a PCH with Modules
Ben Langmuir [Wed, 4 May 2016 00:53:13 +0000 (00:53 +0000)]
Fix CodeCompletion & TypoCorrection when combining a PCH with Modules

This commit fixes the IdentifierIterator to actually include identifiers
from a PCH or precompiled preamble when there is also a global module
index. This was causing code-completion (outside of C++) and
typo-correction to be missing global identifiers defined in the
PCH/preamble. Typo-correction has been broken since we first started
using the module index, whereas code-completion only started relying on
identifier iterator in r232793.

rdar://problem/25642879

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268471 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[modules][debuginfo] Only include imported modules when targeting LLDB
David Blaikie [Tue, 3 May 2016 23:06:40 +0000 (23:06 +0000)]
[modules][debuginfo] Only include imported modules when targeting LLDB

These constructs are only applicable to a debugger capable of loading a
Clang AST, so omit them for brevity when not doing so.

We could potentially propagate more of CodeGenOptions through the
ObjectFilePCGContainerOperations for consistency (so the next person who
adds some CodeGenOpts feature that tweaks debug info output doesn't get
caught by this), so I'm open to objections/alternatives there, but went
with this for now.

Tested just a couple of basic cases (one direct, one indirect (through
the ObjectFilePCHContainerOperations) & fixed up other cases to pass the
-debugger-tuning flag as appropriate.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268460 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[scan-build] fix dead store warnings emitted on clang code base
David Blaikie [Tue, 3 May 2016 22:14:14 +0000 (22:14 +0000)]
[scan-build] fix dead store warnings emitted on clang code base

This fixes dead store warnings of the type "dead assignment" reported
by CLang Static Analyzer on the following file:

- tools/c-index-test/c-index-test.c.

Patch by Apelete Seketeli <apelete@seketeli.net>!

Differential Revision: http://reviews.llvm.org/D19831

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268453 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdd address space 258 (X86 SS segment) to clang documentation.
David L Kreitzer [Tue, 3 May 2016 20:20:59 +0000 (20:20 +0000)]
Add address space 258 (X86 SS segment) to clang documentation.
The change reflects llvm r268431.

Patch by Michael Lemay (michael.lemay@intel.com)

Differential Revision: http://reviews.llvm.org/D19458

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268432 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAArch64: fixup comment after change
Tim Northover [Tue, 3 May 2016 19:24:47 +0000 (19:24 +0000)]
AArch64: fixup comment after change

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268423 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAArch64: simplify illegal vector check. NFC.
Tim Northover [Tue, 3 May 2016 19:22:41 +0000 (19:22 +0000)]
AArch64: simplify illegal vector check. NFC.

Use a utility function to check whether the number of elements is a power of 2
and drop the redundant upper limit (a 128-bit vector with more than 16 elements
would have each element < 8 bits, not possible).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268422 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix use of LLVM IR names in lit test
Reid Kleckner [Tue, 3 May 2016 18:48:50 +0000 (18:48 +0000)]
Fix use of LLVM IR names in lit test

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268419 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[MS] Pass CalleeDecl to adjustThisArgumentForVirtualFunctionCall
Reid Kleckner [Tue, 3 May 2016 18:44:29 +0000 (18:44 +0000)]
[MS] Pass CalleeDecl to adjustThisArgumentForVirtualFunctionCall

If we are devirtualizing, then we want to compute the 'this' adjustment
of the devirtualized target, not the adjustment of the base's method
definition, which is usually zero.

Fixes PR27621

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268418 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoChange test to use regex instead of explicit value numbers. NFC.
Pete Cooper [Tue, 3 May 2016 18:32:01 +0000 (18:32 +0000)]
Change test to use regex instead of explicit value numbers.  NFC.

We were seeing an internal failure when running this test.  I can't
see a good reason for the difference, but the simple fix is to use
%{{.*}} instead of %1.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268416 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[clang][AVX512][BuiltIn] Adding intrinsics for cast{pd|ps|si}128_{pd|ps|si}512 and...
Michael Zuckerman [Tue, 3 May 2016 14:26:52 +0000 (14:26 +0000)]
[clang][AVX512][BuiltIn] Adding intrinsics for cast{pd|ps|si}128_{pd|ps|si}512 and castsi256_si512 instruction set

Differential Revision: http://reviews.llvm.org/D19858

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268387 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Clang][avx512][Builtin] Adding intrinsics for cvtw2mask{128|256|512} instruction set
Michael Zuckerman [Tue, 3 May 2016 14:12:23 +0000 (14:12 +0000)]
[Clang][avx512][Builtin] Adding intrinsics for cvtw2mask{128|256|512} instruction set

Differential Revision: http://reviews.llvm.org/D19766

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268385 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Clang][AVX512][Builtin] Adding intrinsics for vcvt{ph|ps}2{ps|ph} instruction set
Michael Zuckerman [Tue, 3 May 2016 12:45:04 +0000 (12:45 +0000)]
[Clang][AVX512][Builtin] Adding intrinsics for vcvt{ph|ps}2{ps|ph} instruction set

Differential Revision: http://reviews.llvm.org/D19767

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268376 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Clang][AVX512][Builtin] Adding intrinsics for vcvttpd2udq instruction set
Michael Zuckerman [Tue, 3 May 2016 11:05:24 +0000 (11:05 +0000)]
[Clang][AVX512][Builtin] Adding intrinsics for vcvttpd2udq instruction set

Differential Revision: http://reviews.llvm.org/D19768

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268373 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Clang][AVX512][BUILTIN] Adding intrinsics for compressstore{df|di|sf|si} instruction...
Michael Zuckerman [Tue, 3 May 2016 10:42:46 +0000 (10:42 +0000)]
[Clang][AVX512][BUILTIN] Adding intrinsics for compressstore{df|di|sf|si} instruction set.

Differential Revision: http://reviews.llvm.org/D19808

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268372 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[libclang] Expose the ElaboratedType
Sergey Kalinichev [Tue, 3 May 2016 06:58:29 +0000 (06:58 +0000)]
[libclang] Expose the ElaboratedType

Differential Revision: http://reviews.llvm.org/D11797

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268366 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[OpenCL] Fix pipe type dump.
Xiuli Pan [Tue, 3 May 2016 05:37:07 +0000 (05:37 +0000)]
[OpenCL] Fix pipe type dump.

Summary:
Fix the dump of PipeType.
Now we will have "pipe int" and element type.

Reviewers: yaxunl, Anastasia

Subscribers: cfe-commits, bader

Differential Revision: http://reviews.llvm.org/D19524

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268364 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoAdding a test for a compiler crash that was fixed in r248069.
Douglas Yung [Tue, 3 May 2016 00:29:56 +0000 (00:29 +0000)]
Adding a test for a compiler crash that was fixed in r248069.

Differential Revision: http://reviews.llvm.org/D19048

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268344 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[CMake] Enable LIBCXX HEADERS in Apple-Stage2.cmake
Chris Bieneman [Mon, 2 May 2016 22:43:23 +0000 (22:43 +0000)]
[CMake] Enable LIBCXX HEADERS in Apple-Stage2.cmake

This enables installing the libcxx headers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268322 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoFix argument expansion of reference fields of structs
Reid Kleckner [Mon, 2 May 2016 22:42:34 +0000 (22:42 +0000)]
Fix argument expansion of reference fields of structs

r268261 made Clang "expand" more struct arguments on Windows. It removed
the check for 'RD->isCLike()', which was preventing us from attempting
to expand structs with reference type fields.

Our expansion code was attempting to load and pass each field of the
type in turn. We were accidentally doing one to many loads on reference
type fields.

On the function prologue side, we can use
EmitLValueForFieldInitialization, which obviously gets the address of
the field. On the call side, I tweaked EmitRValueForField directly,
since this is the only use of this method.

Fixes PR27607

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268321 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[CMake] Install libcxx-headers as part of the Apple-stage2 distribution
Chris Bieneman [Mon, 2 May 2016 22:42:09 +0000 (22:42 +0000)]
[CMake] Install libcxx-headers as part of the Apple-stage2 distribution

This installs the clang headers as part of the install-distribution target.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268320 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[CMake] Adding clang-headers to the Apple-stage2 distribution
Chris Bieneman [Mon, 2 May 2016 22:38:06 +0000 (22:38 +0000)]
[CMake] Adding clang-headers to the Apple-stage2 distribution

This installs the clang headers as part of the install-distribution target.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268319 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRemove unneeded test in tryCaptureAsConstant.
Akira Hatanaka [Mon, 2 May 2016 22:29:40 +0000 (22:29 +0000)]
Remove unneeded test in tryCaptureAsConstant.

It isn't necessary to call hasDefaultArg because we can't rematerialize
a captured variable that is a function parameter, regardless of whether
or not it has a default argument. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268318 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[CodeGenObjCXX] Don't rematerialize default arguments of function
Akira Hatanaka [Mon, 2 May 2016 21:52:57 +0000 (21:52 +0000)]
[CodeGenObjCXX] Don't rematerialize default arguments of function
parameters in the body of a block.

This fixes a bug where clang would materialize the default argument
inside the body of a block instead of passing the value via the block
descriptor.

For example, in the code below, foo1 would always print 42 regardless
of the value of argument "a" passed to foo1.

void foo1(const int a = 42 ) {
  auto block = ^{
    printf("%d\n", a);
  };
  block();
}

rdar://problem/24449235

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268314 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[CUDA] Make sure device-side __global__ functions are always visible.
Artem Belevich [Mon, 2 May 2016 20:30:03 +0000 (20:30 +0000)]
[CUDA] Make sure device-side __global__ functions are always visible.

__global__ functions are a special case in CUDA.

Even when the symbol would normally not be externally
visible according to C++ rules, they still must be visible
in CUDA GPU object so host-side stub can launch them.

Differential Revision: http://reviews.llvm.org/D19748

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268299 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoRevert "[Driver] Quote clang full version in dwarf producer when invoking cc1as"
Bruno Cardoso Lopes [Mon, 2 May 2016 20:20:49 +0000 (20:20 +0000)]
Revert "[Driver] Quote clang full version in dwarf producer when invoking cc1as"

This reverts commit r264813 / 6484b95d634f53dd929c75265ef3c4decf397584.

While using it in the shell is fine, this a problem when cc1as is
invoked directly by the driver because single quoting the clang full
version makes cc1as write out the version with the quotes in the final
binary.

If the user wants to copy-n-pastable output, it could use either -###
or CC_PRINT_OPTIONS=1 clang -v ...

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268297 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoExpand aggregate arguments more often on 32-bit Windows
Reid Kleckner [Mon, 2 May 2016 17:41:07 +0000 (17:41 +0000)]
Expand aggregate arguments more often on 32-bit Windows

Before this change, we would pass all non-HFA record arguments on
Windows with byval. Byval often blocks optimizations and results in bad
code generation. Windows now uses the existing workaround that other
x86_32 platforms use.

I also expanded the workaround to handle C++ records with constructors
on Windows. On non-Windows platforms, we have to keep generating the
same LLVM IR prototypes if we want our bitcode to be ABI compatible.
Otherwise we will encounter mismatch issues like PR21573.

Essentially fixes PR27522 in Clang instead of LLVM.

Reviewers: hans

Differential Revision: http://reviews.llvm.org/D19756

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268261 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[WebAssembly] Rename memory_size intrinsic to current_memory
Derek Schuff [Mon, 2 May 2016 17:26:19 +0000 (17:26 +0000)]
[WebAssembly] Rename memory_size intrinsic to current_memory

This follows the recent change in the wasm spec.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268256 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[CLANG][AVX512][BUILTIN]movap{d|s}{128|256|512}
Michael Zuckerman [Mon, 2 May 2016 14:02:01 +0000 (14:02 +0000)]
[CLANG][AVX512][BUILTIN]movap{d|s}{128|256|512}

Differential Revision: http://reviews.llvm.org/D17818

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268230 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Clang][AVX512][BuiltIn] Adding intrinsics for cvtps2pd instruction set
Michael Zuckerman [Mon, 2 May 2016 09:42:31 +0000 (09:42 +0000)]
[Clang][AVX512][BuiltIn] Adding intrinsics for cvtps2pd instruction set

Differential Revision: http://reviews.llvm.org/D19774

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268217 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Clang][avx512][builtin] Adding intrinsics for vexpand{d|q|ps|pd} instrctuon set
Michael Zuckerman [Mon, 2 May 2016 08:36:41 +0000 (08:36 +0000)]
[Clang][avx512][builtin] Adding intrinsics for vexpand{d|q|ps|pd} instrctuon set

Differential Revision: http://reviews.llvm.org/D19467

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268214 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[Clang][BuiltIn][avx512] Adding intrinsics for vpshufd instruction set
Michael Zuckerman [Mon, 2 May 2016 07:35:27 +0000 (07:35 +0000)]
[Clang][BuiltIn][avx512] Adding intrinsics for vpshufd instruction set

Differential Revision: http://reviews.llvm.org/D19580

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268213 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[clang][Builtin][AVX512] Adding intrinsics for vmovshdup and vmovsldup instruction set
Michael Zuckerman [Sun, 1 May 2016 14:43:43 +0000 (14:43 +0000)]
[clang][Builtin][AVX512] Adding intrinsics for vmovshdup and vmovsldup instruction set

Differential Revision: http://reviews.llvm.org/D19595

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268196 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agopython: add bindings for children of diagnostics
Saleem Abdulrasool [Sat, 30 Apr 2016 21:14:01 +0000 (21:14 +0000)]
python: add bindings for children of diagnostics

This exposes the Clang API bindings clang_getChildDiagnostics (which returns a
CXDiagnosticSet) and clang_getNumDiagnosticsInSet / clang_getDiagnosticInSet (to
traverse the CXDiagnosticSet), and adds a helper children property in the Python
Diagnostic wrapper.

Also, this adds the missing OVERLOAD_CANDIDATE (700) cursor type.

Patch by Hanson Wang!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268167 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoStab in the dark to fix the PS4 bot
Chris Bieneman [Sat, 30 Apr 2016 05:27:17 +0000 (05:27 +0000)]
Stab in the dark to fix the PS4 bot

r268127 is causing the PS4 bots to fail. Not sure what is causing it, but hopefully this will fix it.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268156 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoReverting 268055 as it caused PR27579.
Amjad Aboud [Sat, 30 Apr 2016 01:44:38 +0000 (01:44 +0000)]
Reverting 268055 as it caused PR27579.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268151 91177308-0d34-0410-b5e6-96231b3b80d8

8 years agoDelete store to Target option PositionIndependentExecutable as PIE is now set in...
Sriraman Tallam [Fri, 29 Apr 2016 23:38:53 +0000 (23:38 +0000)]
Delete store to Target option PositionIndependentExecutable as PIE is now set in module flags.

Differential Revision: http://reviews.llvm.org/D19749

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268137 91177308-0d34-0410-b5e6-96231b3b80d8

8 years ago[CUDA] Copy host builtin types to NVPTXTargetInfo.
Justin Lebar [Fri, 29 Apr 2016 23:05:19 +0000 (23:05 +0000)]
[CUDA] Copy host builtin types to NVPTXTargetInfo.

Summary:
Host and device types must match, otherwise when we pass values back and
forth between the host and device, we will get the wrong result.

This patch makes NVPTXTargetInfo inherit most of its type information
from the host's target info.

Reviewers: rsmith

Subscribers: cfe-commits, jhen, tra

Differential Revision: http://reviews.llvm.org/D19346

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268131 91177308-0d34-0410-b5e6-96231b3b80d8