]> granicus.if.org Git - clang/log
clang
8 years agoObjC lifetime: pull sugar off when the qualifiers conflict.
Manman Ren [Wed, 1 Jun 2016 17:14:19 +0000 (17:14 +0000)]
ObjC lifetime: pull sugar off when the qualifiers conflict.

It's possible to have multiple local ObjCLifetime qualifiers. When there is
a conflict, we can't stop after we reach a type that is directly qualified.
We need to keep pulling sugar off and removing the ObjCLifetime qualifers.

rdar://25804796

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

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

8 years agoclang-format: [JS] no ASI on `import {x as\n y}`.
Martin Probst [Wed, 1 Jun 2016 15:22:47 +0000 (15:22 +0000)]
clang-format: [JS] no ASI on `import {x as\n y}`.

Summary: ASI did not handle the ES6 `as` operator correctly.

Reviewers: djasper

Subscribers: klimek, cfe-commits

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

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

8 years agoclang-format: [JS] Sort imported symbols.
Martin Probst [Wed, 1 Jun 2016 15:19:53 +0000 (15:19 +0000)]
clang-format: [JS] Sort imported symbols.

Summary: E.g. sort `import {b, a} from 'x';` into `import {a, b} from 'x';`.

Reviewers: djasper

Subscribers: cfe-commits, klimek

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

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

8 years agoIt seems we need to add SemaExpr.cpp to the /bigobj list; I am getting consistent...
Aaron Ballman [Wed, 1 Jun 2016 15:17:54 +0000 (15:17 +0000)]
It seems we need to add SemaExpr.cpp to the /bigobj list; I am getting consistent failures of hitting the section count limit.

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

8 years ago[Clang][Intrinsics][avx512] Continue Adding round cvt to clang
Michael Zuckerman [Wed, 1 Jun 2016 14:41:41 +0000 (14:41 +0000)]
[Clang][Intrinsics][avx512] Continue Adding round cvt to clang

And remove trailing spaces in intrinsic f test
Differential Revision: http://reviews.llvm.org/D20810

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

8 years agoFix the CLANG_ENABLE_STATIC_ANALYZER=OFF build.
Yaron Keren [Wed, 1 Jun 2016 13:47:26 +0000 (13:47 +0000)]
Fix the CLANG_ENABLE_STATIC_ANALYZER=OFF build.

tools/clang/tools/CMakeLists.txt does not create the
clang-check target when CLANG_ENABLE_STATIC_ANALYZER=OFF.

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

8 years agoAdding front-end support to several intrinsics (bit scanning, conversion and state...
Michael Zuckerman [Wed, 1 Jun 2016 12:21:00 +0000 (12:21 +0000)]
Adding front-end support to several intrinsics (bit scanning, conversion and state reading intrinsics)

Adding LLVM front-end support to two intrinsics dealing with bit scan: _bit_scan_forward and _bit_scan_reverse.
 Their functionality is as described in Intel intrinsics guide:
 https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_bit_scan_forward&expand=371,370
 https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_bit_scan_reverse&expand=371,370

 Furthermore, adding clang front-end support to these conversion intrinsics: _mm256_cvtsd_f64, _mm256_cvtsi256_si32 and _mm256_cvtss_f32.

 Finally, adding tests to all of the above, as well as to the state reading intrinsics _rdpmc and _rdtsc.
  Their functionality is also specified in the Intel intrinsics guide.

Commit on behalf of Omer Paparo Bivas

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

8 years ago[Clang][Intrinsics][avx512] Adding round intrinsics fot max/min/sqrt instruction...
Michael Zuckerman [Wed, 1 Jun 2016 08:34:03 +0000 (08:34 +0000)]
[Clang][Intrinsics][avx512] Adding round intrinsics fot max/min/sqrt instruction set to clang

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

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

8 years ago[Clang][Intrinsics][avx512] Adding round roundscale to clang
Michael Zuckerman [Wed, 1 Jun 2016 07:35:44 +0000 (07:35 +0000)]
[Clang][Intrinsics][avx512] Adding round roundscale to clang

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

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

8 years agoCodeGen: tweak CFString emission for COFF targets
Saleem Abdulrasool [Wed, 1 Jun 2016 04:22:24 +0000 (04:22 +0000)]
CodeGen: tweak CFString emission for COFF targets

The `isa' member was previously not given the correct DLL Storage.  Ensure that
we give the `isa' constant `__CFConstantStringClassReference' the correct DLL
storage.  Default to dllimport unless an explicit specification gives it a
dllexport storage.

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

8 years agoIndexer: add CXObjCPropertyAttr_class for class properties.
Manman Ren [Tue, 31 May 2016 23:22:04 +0000 (23:22 +0000)]
Indexer: add CXObjCPropertyAttr_class for class properties.

rdar://25963227

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

8 years ago[AMDGPU] Set default dwarf version to 2
Konstantin Zhuravlyov [Tue, 31 May 2016 22:47:11 +0000 (22:47 +0000)]
[AMDGPU] Set default dwarf version to 2

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

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

8 years ago[CUDA] Conservatively mark inline asm as convergent.
Justin Lebar [Tue, 31 May 2016 21:27:13 +0000 (21:27 +0000)]
[CUDA] Conservatively mark inline asm as convergent.

Summary:
This is particularly important because a some convergent CUDA intrinsics
(e.g.  __shfl_down) are implemented in terms of inline asm.

Reviewers: tra

Subscribers: cfe-commits

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

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

8 years ago[Coverage] Remove redundant handleFileExit() call (NFC)
Vedant Kumar [Tue, 31 May 2016 20:35:12 +0000 (20:35 +0000)]
[Coverage] Remove redundant handleFileExit() call (NFC)

I added this call in r271308. It's redundant because it's dominated by a
call to extendRegion().

Thanks to Justin Bogner for pointing this out!

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

8 years ago[CMake] Update to requiring CMake 3.4.3
Chris Bieneman [Tue, 31 May 2016 20:21:38 +0000 (20:21 +0000)]
[CMake] Update to requiring CMake 3.4.3

Summary:
This is as per the discussions on developer lists:

http://lists.llvm.org/pipermail/llvm-dev/2016-April/098780.html
http://lists.llvm.org/pipermail/llvm-dev/2016-May/100058.html

Subscribers: cfe-commits

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

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

8 years ago[Parser] Fix look ahead after EOF while parsing objc message and lambdas
Bruno Cardoso Lopes [Tue, 31 May 2016 18:46:31 +0000 (18:46 +0000)]
[Parser] Fix look ahead after EOF while parsing objc message and lambdas

If a closing ')' isn't found for a macro instantiation inside a '[',
the next token is EOF, this leads to crashes if we try to look ahead of
that. This could be triggered whenever trying to parse lambdas or objs
message expressions.

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

rdar://problem/25662647

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

8 years agoPCH + module: make sure we write out macros associated with builtin identifiers.
Manman Ren [Tue, 31 May 2016 18:19:32 +0000 (18:19 +0000)]
PCH + module: make sure we write out macros associated with builtin identifiers.

When we import a module that defines a builtin identifier from prefix header and
precompile the prefix header, the macro information related to the identifier
is lost.

If we don't precompile the prefix header, the source file can still see the
macro information. The reason is that we write out the identifier in the pch
but not the macro information since the macro is not defined locally.

This is related to r251565. In that commit, if we read a builtin identifier from
a module that wasn't "interesting" to that module, we will still write it out to
a PCH that imports that module.

The fix is to write exported module macros for PCH as well.

rdar://24666630

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

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

8 years ago[Coverage] Fix crash on a switch partially covered by a macro (PR27948)
Vedant Kumar [Tue, 31 May 2016 18:06:19 +0000 (18:06 +0000)]
[Coverage] Fix crash on a switch partially covered by a macro (PR27948)

We have to handle file exits before and after visiting regions in the
switch body. Fixes PR27948.

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

8 years agoWork around MinGW's macro definition of 'interface' to 'struct'
Reid Kleckner [Tue, 31 May 2016 17:42:56 +0000 (17:42 +0000)]
Work around MinGW's macro definition of 'interface' to 'struct'

Previous attempts to rename the IBOutletCollection argument to something
other than "Interface" were undone (r127127 and r139620).  Instead of
renaming it, work around this in tablegen, so the public facing getter
can have the usual name of 'getInterface'.

Fixes PR26682

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

8 years agoAMDGPU: Update datalayout string
Matt Arsenault [Tue, 31 May 2016 16:58:18 +0000 (16:58 +0000)]
AMDGPU: Update datalayout string

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

8 years agoFixed bug
Piotr Padlewski [Tue, 31 May 2016 15:56:26 +0000 (15:56 +0000)]
Fixed bug

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

8 years agoclang-c: Add the clang_getCursorVisibility() API
Ehsan Akhgari [Tue, 31 May 2016 15:55:51 +0000 (15:55 +0000)]
clang-c: Add the clang_getCursorVisibility() API

This patch adds an API for querying the visibility of the entity
referred to by a cursor.

Patch by Michael Wu <mwu@mozilla.com>.

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

8 years agoRevert r253909 because it was committed with an incorrect message
Ehsan Akhgari [Tue, 31 May 2016 15:39:10 +0000 (15:39 +0000)]
Revert r253909 because it was committed with an incorrect message

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

8 years ago[ASTMatchers] Breaking change of `has` matcher
Piotr Padlewski [Tue, 31 May 2016 15:25:05 +0000 (15:25 +0000)]
[ASTMatchers] Breaking change of `has` matcher

has matcher can now match to implicit and paren casts

http://reviews.llvm.org/D20801

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

8 years agoAvoid unused variable warning in release builds.
Benjamin Kramer [Tue, 31 May 2016 14:14:42 +0000 (14:14 +0000)]
Avoid unused variable warning in release builds.

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

8 years ago[clang-format] insert new #includes into correct blocks when cleaning up Replacement...
Eric Liu [Tue, 31 May 2016 13:34:20 +0000 (13:34 +0000)]
[clang-format] insert new #includes into correct blocks when cleaning up Replacement with cleanupAroundReplacements().

Summary:
When a replacement's offset is set to UINT_MAX or -1U, it is treated as
a header insertion replacement by cleanupAroundReplacements(). The new #include
directive is then inserted into the correct block.

Reviewers: klimek, djasper

Subscribers: klimek, cfe-commits, bkramer

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

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

8 years ago[ARM] Add load/store co-processor intrinsics.
Ranjeet Singh [Tue, 31 May 2016 13:31:25 +0000 (13:31 +0000)]
[ARM] Add load/store co-processor intrinsics.

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

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

8 years ago[Clang][Intrinsics][avx512] Adding round cvt to clang
Michael Zuckerman [Tue, 31 May 2016 11:27:34 +0000 (11:27 +0000)]
[Clang][Intrinsics][avx512] Adding round cvt to clang

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

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

8 years ago[OPENMP] Update in ReleaseNotes for OpenMP support.
Alexey Bataev [Tue, 31 May 2016 11:17:08 +0000 (11:17 +0000)]
[OPENMP] Update in ReleaseNotes for OpenMP support.

Added notes about full support of all non-offloading features of OpenMP
4.5 + info about option -fopenmp-version=[31|40|45] that allows to
control supported OpenMP version.

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

8 years ago[CommonOptionsParser] Return source paths as const ref.
Benjamin Kramer [Tue, 31 May 2016 10:17:46 +0000 (10:17 +0000)]
[CommonOptionsParser] Return source paths as const ref.

This saves a superfluous copy and makes managing the lifetime of the
returned strings a bit easier.

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

8 years ago[AVX512] Convert masked load builtins to generic masked load intrinsics instead of...
Craig Topper [Tue, 31 May 2016 06:58:07 +0000 (06:58 +0000)]
[AVX512] Convert masked load builtins to generic masked load intrinsics instead of the x86 specific ones.

This will allow the x86 intrinsics to be removed from the backend.

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

8 years ago[MSVC] Fix stack overflow in unqualified type lookup logic, by Will
Alexey Bataev [Tue, 31 May 2016 06:21:27 +0000 (06:21 +0000)]
[MSVC] Fix stack overflow in unqualified type lookup logic, by Will
Wilson.

An unqualified lookup for in base classes may cause stack overflow if
the base class is a specialization of current class.
Patch by Will Wilson.

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

8 years ago[X86] Use unaligned load intrinsics to implement other intrinsics instead of manually...
Craig Topper [Tue, 31 May 2016 05:49:13 +0000 (05:49 +0000)]
[X86] Use unaligned load intrinsics to implement other intrinsics instead of manually creating the unaligned load.

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

8 years ago[AVX512] Emit generic masked store instrinsics instead of using x86 specific intrinsics.
Craig Topper [Tue, 31 May 2016 01:50:10 +0000 (01:50 +0000)]
[AVX512] Emit generic masked store instrinsics instead of using x86 specific intrinsics.

This will allow us to remove the x86 instrinics from the backend.

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

8 years ago[X86] Ensure load/store tests unaligned pointers really are align 1
Simon Pilgrim [Mon, 30 May 2016 19:20:55 +0000 (19:20 +0000)]
[X86] Ensure load/store tests unaligned pointers really are align 1

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

8 years agoCodeGen: address post-commit review comments
Saleem Abdulrasool [Mon, 30 May 2016 18:26:06 +0000 (18:26 +0000)]
CodeGen: address post-commit review comments

David Majnemer pointed out that isOSBinFormatMachO is more compact.  NFC.

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

8 years ago[X86][SSE] Added missing tests (merge failure)
Simon Pilgrim [Mon, 30 May 2016 17:58:38 +0000 (17:58 +0000)]
[X86][SSE] Added missing tests (merge failure)

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

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

8 years ago[X86][SSE] _mm_store1_ps/_mm_store1_pd should require an aligned pointer
Simon Pilgrim [Mon, 30 May 2016 17:55:25 +0000 (17:55 +0000)]
[X86][SSE] _mm_store1_ps/_mm_store1_pd should require an aligned pointer

According to the gcc headers, intel intrinsics docs and msdn codegen the _mm_store1_pd (and its _mm_store_pd1 equivalent) should use an aligned pointer - the clang headers are the only implementation I can find that assume non-aligned stores (by storing with _mm_storeu_pd).

Additionally, according to the intel intrinsics docs and msdn codegen the _mm_store1_ps (_mm_store_ps1) requires a similarly aligned pointer.

This patch raises the alignment requirements to match the other implementations by calling _mm_store_ps/_mm_store_pd instead.

I've also added the missing _mm_store_pd1 intrinsic (which maps to _mm_store1_pd like _mm_store_ps1 does to _mm_store1_ps).

As a followup I'll update the llvm fast-isel tests to match this codegen.

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

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

8 years ago[CUDA] Fix order of vectorized ldg intrinsics' elements.
Justin Lebar [Mon, 30 May 2016 17:12:55 +0000 (17:12 +0000)]
[CUDA] Fix order of vectorized ldg intrinsics' elements.

Summary: The order is [x, y, z, w], not [w, x, y, z].

Subscribers: cfe-commits, tra

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

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

8 years ago[X86] Replace unaligned store builtins in SSE/AVX intrinsic files with code that...
Craig Topper [Mon, 30 May 2016 17:10:30 +0000 (17:10 +0000)]
[X86] Replace unaligned store builtins in SSE/AVX intrinsic files with code that will compile to a native unaligned store. Remove the builtins since they are no longer used.

Intrinsics will be removed from llvm in a future commit.

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

8 years agotest: add explicit targets for some tests
Saleem Abdulrasool [Mon, 30 May 2016 16:36:48 +0000 (16:36 +0000)]
test: add explicit targets for some tests

These tests currently expect MachO section names and do not provide a target.
Explicitly provide one.

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

8 years agoCodeGen: tweak CFConstantStrings for COFF and ELF
Saleem Abdulrasool [Mon, 30 May 2016 16:23:07 +0000 (16:23 +0000)]
CodeGen: tweak CFConstantStrings for COFF and ELF

Adjust the constant CFString emission to emit into more appropriate sections on
ELF and COFF targets.  It would previously try to use MachO section names
irrespective of the file format.

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

8 years ago[ASTMatchers] Add support of hasCondition for SwitchStmt.
Etienne Bergeron [Mon, 30 May 2016 15:25:25 +0000 (15:25 +0000)]
[ASTMatchers] Add support of hasCondition for SwitchStmt.

Summary:
The switch statement could be added to the hasCondition matcher.

Example:
```
clang-query> match switchStmt(hasCondition(ignoringImpCasts(declRefExpr())))
```

Output:
```
Match #1:

Binding for "root":
SwitchStmt 0x2f9b528 </usr/local/google/home/etienneb/examples/enum.cc:35:3, line:38:3>
|-<<<NULL>>>
|-ImplicitCastExpr 0x2f9b510 <line:35:11> 'int' <IntegralCast>
| `-ImplicitCastExpr 0x2f9b4f8 <col:11> 'enum Color' <LValueToRValue>
|   `-DeclRefExpr 0x2f9b4d0 <col:11> 'enum Color' lvalue Var 0x2f9a118 'C' 'enum Color'
`-CompoundStmt 0x2f9b610 <col:14, line:38:3>
  |-CaseStmt 0x2f9b578 <line:36:3, col:22>
  | |-ImplicitCastExpr 0x2f9b638 <col:8> 'int' <IntegralCast>
  | | `-DeclRefExpr 0x2f9b550 <col:8> 'enum Size' EnumConstant 0x2f99e40 'Small' 'enum Size'
  | |-<<<NULL>>>
  | `-ReturnStmt 0x2f9b5d0 <col:15, col:22>
  |   `-IntegerLiteral 0x2f9b5b0 <col:22> 'int' 1
  `-DefaultStmt 0x2f9b5f0 <line:37:3, col:12>
    `-BreakStmt 0x2f9b5e8 <col:12>

1 match.
```

Reviewers: aaron.ballman, sbenza, klimek

Subscribers: klimek, cfe-commits

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

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

8 years ago[Clang][avx512][builtin] Adding missing intrinsics for cvt
Michael Zuckerman [Mon, 30 May 2016 13:22:12 +0000 (13:22 +0000)]
[Clang][avx512][builtin] Adding missing intrinsics for cvt

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

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

8 years ago[OPENMP 4.5] Additional codegen for statically scheduled loops with
Alexey Bataev [Mon, 30 May 2016 13:05:14 +0000 (13:05 +0000)]
[OPENMP 4.5] Additional codegen for statically scheduled loops with
'simd' modifier.

Runtime library defines new schedule constant kmp_sch_static_balanced_chunked = 45 for static loop-based directives  static with chunk adjustment (e.g., simd). Added codegen for this kind of schedule.

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

8 years ago[OPENMP 4.5] Fixed codegen for 'priority' and destructors in task-based
Alexey Bataev [Mon, 30 May 2016 09:06:50 +0000 (09:06 +0000)]
[OPENMP 4.5] Fixed codegen for 'priority' and destructors in task-based
directives.

'kmp_task_t' record type added a new field for 'priority' clause and
changed the representation of pointer to destructors for privates used
within loop-based directives.
Old representation:

typedef struct kmp_task {                   /* GEH: Shouldn't this be
aligned somehow? */
  void *shareds;                            /**< pointer to block of
    pointers to shared vars   */
  kmp_routine_entry_t routine;              /**< pointer to routine
    to call for executing task */
  kmp_int32 part_id;                        /**< part id for the
    task                          */
  kmp_routine_entry_t destructors;        /* pointer to function to
  invoke deconstructors of firstprivate C++ objects */
  /*  private vars  */
} kmp_task_t;

New representation:

typedef struct kmp_task {                   /* GEH: Shouldn't this be
aligned somehow? */
  void *shareds;                            /**< pointer to block of
    pointers to shared vars   */
  kmp_routine_entry_t routine;              /**< pointer to routine
    to call for executing task */
  kmp_int32 part_id;                        /**< part id for the
    task                          */
  kmp_cmplrdata_t data1; /* Two known
optional additions: destructors and priority */
  kmp_cmplrdata_t data2; /* Process
destructors first, priority second */
/* future data */
  /*  private vars  */
} kmp_task_t;

Also excessive initialization of 'destructors' fields to 'null' was
removed from codegen if it is known that no destructors shal be used.
Currently a special bit is used in 'kmp_tasking_flags_t' bitfields
('destructors_thunk' bitfield).

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

8 years ago[OpenCL] Remove tests without triple from test/Headers/opencl-c-header.cl.
Yaxun Liu [Mon, 30 May 2016 06:42:48 +0000 (06:42 +0000)]
[OpenCL] Remove tests without triple from test/Headers/opencl-c-header.cl.

This test requires triples with Itanium C++ ABI whereas triples with MSVC environment uses Microsoft C++ ABI.

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

8 years ago[OpenCL] Add the default header file opencl-c.h for OpenCL C language
Yaxun Liu [Mon, 30 May 2016 02:22:28 +0000 (02:22 +0000)]
[OpenCL] Add the default header file opencl-c.h for OpenCL C language

OpenCL has large number of "builtin" functions ("builtin" in the sense of OpenCL spec) which are defined in header files. To compile OpenCL kernels using these builtin functions, a header file is needed.

This header file is based on the Khronos implementation (https://github.com/KhronosGroup/SPIR/blob/spirv-1.0/lib/Headers/opencl.h) with heavy refactoring.

Re-commit after fixing failures on ppc64/systemz etc.

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

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

8 years agoclang-format: Fix segfault introduced by allowing wraps after comments.
Daniel Jasper [Sun, 29 May 2016 22:07:22 +0000 (22:07 +0000)]
clang-format: Fix segfault introduced by allowing wraps after comments.

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

8 years agoEnable some accidentally dead tests and fix up the bitrot
David Blaikie [Sun, 29 May 2016 19:50:23 +0000 (19:50 +0000)]
Enable some accidentally dead tests and fix up the bitrot

Problem found by Nico, originally committed by me in r213213. The .test
prefix wasn't actually being run. Once that was fixed the test cases had
outdated command line syntax and IR debug info format, so updated for
those issues to get them back up and running.

Thanks Nico!

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

8 years ago[X86][SSE] Make unsigned integer vector types generally available
Simon Pilgrim [Sun, 29 May 2016 18:49:08 +0000 (18:49 +0000)]
[X86][SSE] Make unsigned integer vector types generally available

As discussed on http://reviews.llvm.org/D20684, move the unsigned integer vector types used for zero extension to make them available for general use.

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

8 years agoclang-format: [JS] Support shebang lines on the very first line.
Martin Probst [Sun, 29 May 2016 14:41:36 +0000 (14:41 +0000)]
clang-format: [JS] Support shebang lines on the very first line.

Summary:
Shebang lines (`#!/bin/blah`) can be used in JavaScript scripts to indicate
they should be run using e.g. node. This change treats # lines on the first line
as line comments.

Reviewers: djasper

Subscribers: klimek, cfe-commits

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

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

8 years agoclang-format: [JS] fix async parsing.
Martin Probst [Sun, 29 May 2016 14:41:07 +0000 (14:41 +0000)]
clang-format: [JS] fix async parsing.

Summary:
Only treat the sequence `async function` as the start of a function expression,
as opposed to every occurrence of the token `async` (whoops).

Reviewers: djasper

Subscribers: klimek, cfe-commits

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

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

8 years agoclang-format: [JS] FormatToken.startsSequence/endsSequence.
Martin Probst [Sun, 29 May 2016 14:41:02 +0000 (14:41 +0000)]
clang-format: [JS] FormatToken.startsSequence/endsSequence.

Refactors AnnotatedLine.startsWith/endsWith by extracting the core functionality
into FormatToken.startsSequence/endsSequence. This allows checking tokens within
the pointered linked list structure with a lookahead, automatically ignoring
comments, which is useful in many places (e.g. see subsequent commit).

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

8 years agoAvoid unnecessary std::string copies. NFC.
Benjamin Kramer [Sun, 29 May 2016 11:04:56 +0000 (11:04 +0000)]
Avoid unnecessary std::string copies. NFC.

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

8 years ago[X86] Simplify alignr builtin support by recognizing that NumLaneElts is always 16...
Craig Topper [Sun, 29 May 2016 07:06:02 +0000 (07:06 +0000)]
[X86] Simplify alignr builtin support by recognizing that NumLaneElts is always 16. NFC

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

8 years agoFix typo.
Rafael Espindola [Sun, 29 May 2016 03:03:22 +0000 (03:03 +0000)]
Fix typo.

Thanks to David Majnemer for noticing.

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

8 years ago[CodeGen] Use the ArrayRef form CreateShuffleVector instead of building ConstantVecto...
Craig Topper [Sun, 29 May 2016 02:39:30 +0000 (02:39 +0000)]
[CodeGen] Use the ArrayRef form CreateShuffleVector instead of building ConstantVectors or ConstantDataVectors and calling the other form.

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

8 years agoMark test as requiring x86-registered-target.
Rafael Espindola [Sun, 29 May 2016 02:36:16 +0000 (02:36 +0000)]
Mark test as requiring x86-registered-target.

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

8 years agoHandle -Wa,--mrelax-relocations=[no|yes].
Rafael Espindola [Sun, 29 May 2016 02:01:14 +0000 (02:01 +0000)]
Handle -Wa,--mrelax-relocations=[no|yes].

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

8 years agoRevert r271136 [OpenCL] Add the default header file opencl-c.h for OpenCL C language...
Yaxun Liu [Sat, 28 May 2016 19:50:40 +0000 (19:50 +0000)]
Revert r271136 [OpenCL] Add the default header file opencl-c.h for OpenCL C language due to build failure on ppc64/hexagon/systemz.

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

8 years agoCodeGen: support blocks on COFF targets in DLLs
Saleem Abdulrasool [Sat, 28 May 2016 19:41:35 +0000 (19:41 +0000)]
CodeGen: support blocks on COFF targets in DLLs

This extends the blocks support to support blocks with a dynamically linked
blocks runtime.  The previous code generation would work only for static builds
of the blocks runtime.  Mark the block "isa" pointers and functions as dllimport
if no explicit declaration marked with __declspec(dllexport) is found.  This
additional check allows for the use of the functionality in the runtime library
if desired.

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

8 years ago[OpenCL] Add the default header file opencl-c.h for OpenCL C language
Yaxun Liu [Sat, 28 May 2016 19:09:01 +0000 (19:09 +0000)]
[OpenCL] Add the default header file opencl-c.h for OpenCL C language

OpenCL has large number of "builtin" functions ("builtin" in the sense of OpenCL spec) which are defined in header files. To compile OpenCL kernels using these builtin functions, a header file is needed.

This header file is based on the Khronos implementation (https://github.com/KhronosGroup/SPIR/blob/spirv-1.0/lib/Headers/opencl.h) with heavy refactoring.

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

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

8 years ago[AVX512] Add masked v16i32 and v8i64 unaligned store tests.
Craig Topper [Sat, 28 May 2016 18:59:06 +0000 (18:59 +0000)]
[AVX512] Add masked v16i32 and v8i64 unaligned store tests.

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

8 years ago[driver][mips] Fix local variable naming. NFC
Simon Atanasyan [Sat, 28 May 2016 09:44:15 +0000 (09:44 +0000)]
[driver][mips] Fix local variable naming. NFC

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

8 years ago[driver][mips] Revert support for CodeSourcery MIPS toolchain
Simon Atanasyan [Sat, 28 May 2016 09:44:04 +0000 (09:44 +0000)]
[driver][mips] Revert support for CodeSourcery MIPS toolchain

This is revert of r270366. The support for CS toolchain were dropped too early.

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

8 years ago[X86][SSE] Replace VPMOVSX and (V)PMOVZX integer extension intrinsics with generic...
Simon Pilgrim [Sat, 28 May 2016 08:12:45 +0000 (08:12 +0000)]
[X86][SSE] Replace VPMOVSX and (V)PMOVZX integer extension intrinsics with generic IR (clang)

The VPMOVSX and (V)PMOVZX sign/zero extension intrinsics can be safely represented as generic __builtin_convertvector calls instead of x86 intrinsics.

This patch removes the clang builtins and their use in the sse2/avx headers - a companion patch will remove/auto-upgrade the llvm intrinsics.

Note: We already did this for SSE41 PMOVSX sometime ago.

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

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

8 years agoAMDGPU: Add fract builtin
Matt Arsenault [Sat, 28 May 2016 00:43:27 +0000 (00:43 +0000)]
AMDGPU: Add fract builtin

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

8 years agoClean up: remove trailing spaces in x86 intrinsic headers.
Ekaterina Romanova [Sat, 28 May 2016 00:18:59 +0000 (00:18 +0000)]
Clean up: remove trailing spaces in x86 intrinsic headers.

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

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

8 years agodocs: Clarify that LTO visibility is based on source-level symbol visibility.
Peter Collingbourne [Fri, 27 May 2016 22:31:30 +0000 (22:31 +0000)]
docs: Clarify that LTO visibility is based on source-level symbol visibility.

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

8 years ago[Driver] Fix driver support for color diagnostics
Bruno Cardoso Lopes [Fri, 27 May 2016 20:43:00 +0000 (20:43 +0000)]
[Driver] Fix driver support for color diagnostics

Diagnostics that happen during driver time do not have color output support
unless -fcolor-diagonostic is explicitly passed into the driver.  This is not a
problem for cc1 since dianostic arguments are properly handled and color is
enabled by default if the terminal supports it.

Make the driver behave like CC1. There are tests that already check for these
flags, but for the color itself there's no sensible way to test it.

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

rdar://problem/26290980

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

8 years ago[Headers] Remove redundant typedef. NFC.
Ahmed Bougacha [Fri, 27 May 2016 17:57:23 +0000 (17:57 +0000)]
[Headers] Remove redundant typedef. NFC.

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

8 years agoAdd instcombine pass if sampleprofile pass is enabled.
Dehao Chen [Fri, 27 May 2016 16:14:35 +0000 (16:14 +0000)]
Add instcombine pass if sampleprofile pass is enabled.

Summary: Sample profile pass need to have instcombine pass. A related change is http://reviews.llvm.org/D17742. But we should not explicitly add dependency between to non-analysis passes. So we add the dependency here.

Reviewers: davidxl, dnovillo

Subscribers: llvm-commits

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

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

8 years ago[msan] add a sentence about inline assembly
Kostya Serebryany [Fri, 27 May 2016 15:49:32 +0000 (15:49 +0000)]
[msan] add a sentence about inline assembly

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

8 years ago[OpenMP] Fix SEMA bug in the capture of global variables in template functions.
Samuel Antao [Fri, 27 May 2016 15:21:27 +0000 (15:21 +0000)]
[OpenMP] Fix SEMA bug in the capture of global variables in template functions.

Summary:
Target regions require globals to be captured. This patch fixes a bug exposed when that happens in a template function.

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

Subscribers: guansong, ABataev, cfe-commits, caomhin, fraggamuffin

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

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

8 years ago[mips] Compact branch policy setting.
Simon Dardis [Fri, 27 May 2016 15:13:31 +0000 (15:13 +0000)]
[mips] Compact branch policy setting.

This patch adds the commandline option -mcompact-branches={never,optimal,always),
which controls how LLVM generates compact branches for MIPSR6 targets. By default,
the compact branch policy is 'optimal' where LLVM will generate the most
appropriate branch for any situation. The 'never' and 'always' policy will disable
or always generate compact branches wherever possible respectfully.

Reviewers: dsanders, vkalintiris, atanasyan

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

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

8 years ago[mips] Kill 'support' for untested EABI.
Daniel Sanders [Fri, 27 May 2016 14:30:23 +0000 (14:30 +0000)]
[mips] Kill 'support' for untested EABI.

Summary:
There are no llvm backend tests* for EABI and no EABI buildbots. There were only
three clang tests, all of which checked that -mabi=eabi was passed to the
assembler.

*There is a single backend test that specifies EABI but it actually tests MIPS16.

Reviewers: atanasyan

Subscribers: emaste, sdardis, atanasyan, cfe-commits

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

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

8 years agoApply clang-tidy's misc-move-constructor-init throughout Clang.
Benjamin Kramer [Fri, 27 May 2016 14:27:13 +0000 (14:27 +0000)]
Apply clang-tidy's misc-move-constructor-init throughout Clang.

No functionality change intended, maybe a tiny performance improvement.

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

8 years agoTurn copies into references as suggested by clang-tidy's performance-unnecessary...
Benjamin Kramer [Fri, 27 May 2016 13:36:58 +0000 (13:36 +0000)]
Turn copies into references as suggested by clang-tidy's performance-unnecessary-copy-initialization.

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

8 years ago[Frontend] StringRefize and fix bad indentation.
Benjamin Kramer [Fri, 27 May 2016 12:52:19 +0000 (12:52 +0000)]
[Frontend] StringRefize and fix bad indentation.

NFC intended.

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

8 years agoUpdate for following LLVM commit.
George Rimar [Fri, 27 May 2016 12:15:25 +0000 (12:15 +0000)]
Update for following LLVM commit.

It will be:
Recommit 270977 - [llvm-mc] - Teach llvm-mc to generate zlib styled compression sections.

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

8 years ago[mips] Fold MipsTargetInfoBase subclasses into MipsTargetInfoBase and rename to MipsT...
Daniel Sanders [Fri, 27 May 2016 11:51:02 +0000 (11:51 +0000)]
[mips] Fold MipsTargetInfoBase subclasses into MipsTargetInfoBase and rename to MipsTargetInfo. NFC

Summary:
This unifies mips/mipsel and mips64/mips64el into a single class so that we can
later support O32 on mips64/mips64el and N32/N64 on mips/mipsel (when an
appropriate CPU selected).

Reviewers: atanasyan

Subscribers: atanasyan, jfb, cfe-commits, dschuff

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

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

8 years agoConvert assert to static_assert. NFC.
Benjamin Kramer [Fri, 27 May 2016 11:48:53 +0000 (11:48 +0000)]
Convert assert to static_assert. NFC.

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

8 years agoclang-format: Allow splitting the line after /**/-comments.
Daniel Jasper [Fri, 27 May 2016 08:59:34 +0000 (08:59 +0000)]
clang-format: Allow splitting the line after /**/-comments.

While it might change the meaning of the comment in rare circumstances,
it is better than violating the column limit.

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

8 years ago[MSVC2015] Fix mangling for static variables initialization guards
Dmitry Polukhin [Fri, 27 May 2016 08:52:34 +0000 (08:52 +0000)]
[MSVC2015] Fix mangling for static variables initialization guards

It seems that suffix '@4HA' was omitted for unknown reason. It is
non-cont non-volatile 'int' type of normal variable TSS.

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

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

8 years ago[clang-format] moved unit tests related to replacements cleaner from FormatTest.cpp...
Eric Liu [Fri, 27 May 2016 08:20:02 +0000 (08:20 +0000)]
[clang-format] moved unit tests related to replacements cleaner from FormatTest.cpp to CleanUpTest.cpp.

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

8 years ago[AVX512][Builtin] Fix palignr intrinsic for avx512vlbw. The immediate should not...
Craig Topper [Fri, 27 May 2016 06:59:39 +0000 (06:59 +0000)]
[AVX512][Builtin] Fix palignr intrinsic for avx512vlbw. The immediate should not be multiplied by 8.

The 512-bit version was fixed recently but this was missed.

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

8 years ago[OPENMP] Fixed processing of '-fopenmp-version=' option and test.
Alexey Bataev [Fri, 27 May 2016 04:13:39 +0000 (04:13 +0000)]
[OPENMP] Fixed processing of '-fopenmp-version=' option and test.

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

8 years ago[CodeGen] Don't crash when sizeof(long) != 4 for some intrins
David Majnemer [Fri, 27 May 2016 02:06:19 +0000 (02:06 +0000)]
[CodeGen] Don't crash when sizeof(long) != 4 for some intrins

_InterlockedIncrement and _InterlockedDecrement have 'long' in their
prototypes.  We assumed 'long' was the same size as an i32 which is
incorrect for other targets.

This fixes PR27892.

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

8 years ago[Intrin.h] Sort the __read[fg]s intrinsics
David Majnemer [Fri, 27 May 2016 02:06:14 +0000 (02:06 +0000)]
[Intrin.h] Sort the __read[fg]s intrinsics

No functional change is intended.

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

8 years agoOpenMPClause.h: Fix r270882. [-Wdocumentation]
NAKAMURA Takumi [Fri, 27 May 2016 00:15:11 +0000 (00:15 +0000)]
OpenMPClause.h: Fix r270882. [-Wdocumentation]

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

8 years agoProduce better pretty stack traces from crashes in template instantiation: add
Richard Smith [Thu, 26 May 2016 20:23:13 +0000 (20:23 +0000)]
Produce better pretty stack traces from crashes in template instantiation: add
pretty stack trace entries for all cases where we instantiate the definition of
something, and include the fully-qualified name with template arguments in the
name of the instantiated entity.

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

8 years agoRe-commit r270748 "clang-cl: Treat dllimport explicit template instantiation definiti...
Hans Wennborg [Thu, 26 May 2016 19:42:56 +0000 (19:42 +0000)]
Re-commit r270748 "clang-cl: Treat dllimport explicit template instantiation definitions as declarations (PR27810, PR27811)"

Also make explicit instantiation decls not apply to nested classes when
targeting MSVC. That dll attributes are not inherited by inner classes
might be the explanation for MSVC's behaviour here.

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

8 years ago[AMDGPU] Remove individual debugger options + update features
Konstantin Zhuravlyov [Thu, 26 May 2016 19:36:39 +0000 (19:36 +0000)]
[AMDGPU] Remove individual debugger options + update features

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

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

8 years ago[OpenMP] Codegen for target update directive.
Samuel Antao [Thu, 26 May 2016 18:30:22 +0000 (18:30 +0000)]
[OpenMP] Codegen for target update directive.

Summary: This patch implements the code generation for the `target update` directive. The implemntation relies on the logic already in place for target data standalone directives, i.e. target enter/exit data.

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

Subscribers: caomhin, cfe-commits

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

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

8 years ago[OpenMP] Parsing and sema support for the from clause
Samuel Antao [Thu, 26 May 2016 17:49:04 +0000 (17:49 +0000)]
[OpenMP] Parsing and sema support for the from clause

Summary:
The patch contains the parsing and sema support for the `from` clause.

Patch based on the original post by Kelvin Li.

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

Subscribers: caomhin, cfe-commits

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

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

8 years ago[OpenMP] Parsing and sema support for the to clause
Samuel Antao [Thu, 26 May 2016 17:39:58 +0000 (17:39 +0000)]
[OpenMP] Parsing and sema support for the to clause

Summary:
The patch contains the parsing and sema support for the `to` clause.

Patch based on the original post by Kelvin Li.

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

Subscribers: caomhin, cfe-commits

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

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

8 years ago[OpenMP] Parsing and sema support for target update directive
Samuel Antao [Thu, 26 May 2016 17:30:50 +0000 (17:30 +0000)]
[OpenMP] Parsing and sema support for target update directive

Summary:
This patch is to add parsing and sema support for `target update` directive. Support for the `to` and `from` clauses will be added by a different patch.  This patch also adds support for other clauses that are already implemented upstream and apply to `target update`, e.g. `device` and `if`.

This patch is based on the original post by Kelvin Li.

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

Subscribers: caomhin, cfe-commits

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

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

8 years ago[OpenMP] Add support for the 'private pointer' flag to signal variables captured...
Samuel Antao [Thu, 26 May 2016 16:53:38 +0000 (16:53 +0000)]
[OpenMP] Add support for the 'private pointer' flag to signal variables captured in target regions and used in first-private clauses.

Summary: If a variable is implicitly mapped (doesn't show in a map clause), the runtime library has to be informed if the corresponding capture shows up in first-private clause, so that the storage previously allocated in the device is used. This patch adds the support for that.

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

Subscribers: caomhin, cfe-commits

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

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

8 years ago[OpenMP] Adjust map type bits according to latest spec and use zero size array sectio...
Samuel Antao [Thu, 26 May 2016 16:48:10 +0000 (16:48 +0000)]
[OpenMP] Adjust map type bits according to latest spec and use zero size array sections for pointers.

Summary: This patch changes the bits used to specify the map types according to the latest version of the libomptarget document and add the support for zero size array section when pointers are being implicitly mapped. This completes the missing new 4.5 map semantics.

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

Subscribers: caomhin, cfe-commits

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

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