summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
...
* [X86] Reuse the EmitX86Select routine to handle the select for masked ↵Craig Topper2016-06-091-16/+7
| | | | | | palignr too. llvm-svn: 272245
* [X86] Add void to the argument list of intrinsics that don't take arguments ↵Craig Topper2016-06-095-11/+11
| | | | | | since empty argument list mean something else in C. llvm-svn: 272244
* Update to match LLVM r272232.Richard Smith2016-06-0910-24/+14
| | | | llvm-svn: 272233
* [docs] Coverage: Clarify return value of __llvm_profile_write_fileVedant Kumar2016-06-081-2/+3
| | | | llvm-svn: 272215
* [docs] Coverage: Flesh out instructions for avoiding static initializeresVedant Kumar2016-06-081-8/+16
| | | | llvm-svn: 272214
* [CMake] Cleanup uses of USES_TERMINALChris Bieneman2016-06-081-2/+1
| | | | | | | | Now that we are on CMake 3.4.3 we no longer need a version check around this. This is the clang side of r272211. llvm-svn: 272213
* [DebugInfo] Add calling conventions to DISubroutineTypeReid Kleckner2016-06-083-15/+83
| | | | | | | | | | | | | | | | | | | | | | | Summary: This should have been a very simple change, but it was greatly complicated by the construction of new Decls during IR generation. In particular, we reconstruct the AST function type in order to get the implicit 'this' parameter into C++ method types. We also have to worry about FunctionDecls whose types are not FunctionTypes because CGBlocks.cpp constructs some dummy FunctionDecls with 'void' type. Depends on D21114 Reviewers: aprantl, dblaikie Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D21141 llvm-svn: 272198
* Specify target in lifetime-asan test.Vitaly Buka2016-06-081-3/+2
| | | | | | | | | | | | Summary: Some target platforms -fsanitize=address. Reviewers: pcc, eugenis Subscribers: cfe-commits, christof, chapuni, kubabrecka Differential Revision: http://reviews.llvm.org/D21117 llvm-svn: 272185
* [Sema] Don't permit catching variably modified typesDavid Majnemer2016-06-083-0/+21
| | | | | | | | Variably modified types shouldn't be permitted in catch clauses. This fixes PR28047. llvm-svn: 272159
* Prune away some unused using decls. NFC.Benjamin Kramer2016-06-085-13/+0
| | | | | | Found by clang's misc-unused-using-decls. llvm-svn: 272156
* [OpenCL] Fix __builtin_astype for vec3 types.Yaxun Liu2016-06-083-38/+117
| | | | | | | | __builtin_astype does not generate correct LLVM IR for vec3 types. This patch inserts bitcasts to/from vec4 when necessary in addition to generating vector shuffle. Sema and codegen tests are added. Differential Revision: http://reviews.llvm.org/D20133 llvm-svn: 272153
* [Sparc] Complex return value ABI compliance.Chris Dewhurst2016-06-081-0/+45
| | | | | | | | | | | | According to the Sparc V8 ABI, complex numbers should be passed and returned as pairs of registers: https://docs.oracle.com/cd/E26502_01/html/E28387/gentextid-2734.html This fix ensures this is the case. Without this, complex numbers are returned as a struct of two floats, which breaks the ABI rules. Differential Review: http://reviews.llvm.org/D20955 llvm-svn: 272149
* [Sparc] Complex return value ABI compliance.Chris Dewhurst2016-06-081-0/+19
| | | | | | | | | | | | According to the Sparc V8 ABI, complex numbers should be passed and returned as pairs of registers: https://docs.oracle.com/cd/E26502_01/html/E28387/gentextid-2734.html This fix ensures this is the case. Without this, complex numbers are returned as a struct of two floats, which breaks the ABI rules. Differential Review: http://reviews.llvm.org/D20955 llvm-svn: 272148
* clang-format: [JS] fix a FIXME.Martin Probst2016-06-081-1/+1
| | | | llvm-svn: 272143
* clang-format: [JS] fix an assertion failure caused by shrinking sources.Martin Probst2016-06-082-2/+28
| | | | | | | | | | | | | | | | | | Summary: The JavaScript import sorter has a corner condition that can cause the overall source text length to shrink. This change circumvents the issue by appending trailing space in the line after the import blocks to match at least the previous source code length. This needs a better long term fix, but this fixes the immediate issue. Reviewers: alexeagle, djasper Subscribers: klimek Differential Revision: http://reviews.llvm.org/D21108 llvm-svn: 272142
* [AVX512] Emit select instruction instead of using x86 specific instrinsics.Igor Breger2016-06-0810-283/+274
| | | | | | | | This will allow us to remove the x86 instrinics from the backend. Differential Revision: http://reviews.llvm.org/D21060 llvm-svn: 272141
* Correcting a typo in a comment; NFC.Aaron Ballman2016-06-081-1/+1
| | | | llvm-svn: 272136
* clang-format: Fix incorrect calculation of "length" of /**/ comments.Daniel Jasper2016-06-082-3/+14
| | | | | | This could lead to column limit violations. llvm-svn: 272125
* clang-format: Fix bug in function ref qualifier identification.Daniel Jasper2016-06-082-4/+2
| | | | | | | | | | | | | | .. and simplify it. Before: void A::f()&& {} void f() && {} After: void A::f() && {} void f() && {} llvm-svn: 272124
* [Clang][AVX512][BUILTIN]Adding intrinsics for range_round_{sd|ss}Michael Zuckerman2016-06-083-0/+80
| | | | | | Differential Revision: http://reviews.llvm.org/D21002 llvm-svn: 272123
* Add doxygen comments to xmmintrin.h's intrinsics.Ekaterina Romanova2016-06-081-0/+944
| | | | | | | | | | | | | Only half of the intrinsics in this file is documented here. The patch for the o ther half will be sent out later. The doxygen comments are automatically generated based on Sony's intrinsics docu ment. I got an OK from Eric Christopher to commit doxygen comments without prior code review upstream. llvm-svn: 272121
* [AVX512] Reformat macro intrinsics, ensure arguments have proper typecasts, ↵Craig Topper2016-06-082-329/+260
| | | | | | ensure result is typecasted back to the generic types. llvm-svn: 272119
* [X86] Put parentheses around macro arguments in intrinsics.Craig Topper2016-06-081-8/+10
| | | | llvm-svn: 272118
* AMDGPU: Verify subtarget specific builtinsMatt Arsenault2016-06-087-70/+133
| | | | | | Cleanup setup of subtarget features. llvm-svn: 272091
* [Sema] Teach CheckPlaceholderExpr about unaddressable functions.George Burgess IV2016-06-085-25/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Given the following C++: ``` void foo(); void foo() __attribute__((enable_if(false, ""))); bool bar() { auto P = foo; return P == foo; } ``` We'll currently happily (and correctly) resolve `foo` to the `foo` overload without `enable_if` when assigning to `P`. However, we'll complain about an ambiguous overload on the `P == foo` line, because `Sema::CheckPlaceholderExpr` doesn't recognize that there's only one `foo` that could possibly work here. This patch teaches `Sema::CheckPlaceholderExpr` how to properly deal with such cases. Grepping for other callers of things like `Sema::ResolveAndFixSingleFunctionTemplateSpecialization`, it *looks* like this is the last place that needed to be fixed up. If I'm wrong, I'll see if there's something we can do that beats what amounts to whack-a-mole with bugs. llvm-svn: 272080
* [ItaniumMangle] Mangle dependent __underlying_type correctlyDavid Majnemer2016-06-082-1/+11
| | | | | | | | | | We attempted to use the UnaryTransformType's UnderlyingType instead of it's BaseType. This is not correct for dependent UnaryTransformType because the have no underlying type. This fixes PR28045. llvm-svn: 272079
* [docs] Coverage: Explain how to avoid static initializersVedant Kumar2016-06-071-0/+16
| | | | llvm-svn: 272067
* Make isNoThrow and hasDynamicExceptionSpec polymorphic so they can be used ↵Aaron Ballman2016-06-074-13/+82
| | | | | | | | with both functionDecl and functionPrototype matchers. Patch by Don Hinton. llvm-svn: 272028
* [clang][AVX512][Intrinsics] Adding intrinsics reduce_[round]_{ss|sd} to clangMichael Zuckerman2016-06-073-0/+146
| | | | | | Differential Revision: http://reviews.llvm.org/D21014 llvm-svn: 272012
* Reapply [Coverage] Fix an assertion failure if the definition of an unused ↵Igor Kudrin2016-06-074-11/+70
| | | | | | | | | | | | | | | function spans multiple files. We have an assertion failure if, for example, the definition of an unused inline function starts in one macro and ends in another. This patch fixes the issue by finding the common ancestor of the start and end locations of that function's body and changing the locations accordingly. Thanks to NAKAMURA Takumi for helping with fixing the test failure on Windows. Differential Revision: http://reviews.llvm.org/D20997 llvm-svn: 271995
* Revert "[analyzer] Reapply r271907 (2nd try)."Devin Coughlin2016-06-0715-1548/+0
| | | | | | | | Even with the fix in r271981, ASan is finding a stack use after return. This reverts commits r271977 and r271981. llvm-svn: 271984
* [analyzer] Speculative fix for r271907.Devin Coughlin2016-06-071-1/+1
| | | | | | | | Fix a compilation error on the bots involving brace initialization. Differential Revision: http://reviews.llvm.org/D12761 llvm-svn: 271981
* [OPENCL] Fix wrongly vla error for OpenCL array.Xiuli Pan2016-06-073-2/+24
| | | | | | | | | | | | | | | | | Summary: OpenCL should support array with const value size length, those const varibale in global and constant address space and variable in constant address space. Fixed test case error. Reviewers: Anastasia, yaxunl, bader Subscribers: bader, cfe-commits Differential Revision: http://reviews.llvm.org/D20090 llvm-svn: 271978
* [analyzer] Reapply r271907 (2nd try).Devin Coughlin2016-06-0715-0/+1548
| | | | | | | | | | | | | | Second try at reapplying "[analyzer] Add checker for correct usage of MPI API in C and C++." Special thanks to Dan Liew for helping test the fix for the template specialization compiler error with gcc. The original patch is by Alexander Droste! Differential Revision: http://reviews.llvm.org/D12761 llvm-svn: 271977
* Revert [Coverage] Fix an assertion failure if the definition of an unused ↵Igor Kudrin2016-06-074-70/+11
| | | | | | | | function spans multiple files. r271969 The test case fails on Windows. llvm-svn: 271976
* Revert "[OPENCL] Fix wrongly vla error for OpenCL array."Xiuli Pan2016-06-073-24/+2
| | | | | | | | Test case break on system-z. This reverts commit 9a7212e1e87f1396952d74f8c62314a775ccbb1c. llvm-svn: 271975
* [OPENCL] Fix wrongly vla error for OpenCL array.Xiuli Pan2016-06-073-2/+24
| | | | | | | | | | | | | Summary: OpenCL should support array with const value size length, those const varibale in global and constant address space and variable in constant address space. Reviewers: Anastasia, yaxunl, bader Subscribers: bader, cfe-commits Differential Revision: http://reviews.llvm.org/D20090 llvm-svn: 271971
* [Coverage] Fix an assertion failure if the definition of an unused function ↵Igor Kudrin2016-06-074-11/+70
| | | | | | | | | | | | | spans multiple files. We have an assertion failure if, for example, the definition of an unused inline function starts in one macro and ends in another. This patch fixes the issue by finding the common ancestor of the start and end locations of that function's body and changing the locations accordingly. Differential Revision: http://reviews.llvm.org/D20997 llvm-svn: 271969
* Improve Visual Studio visualization of DeclaratorDeclMike Spertus2016-06-071-0/+4
| | | | | | With this change, you can now expand its name and type. llvm-svn: 271966
* [CUDA] Add implicit conversion of __launch_bounds__ arguments to rvalue.Artem Belevich2016-06-063-14/+38
| | | | | | | | Fixes clang crash reported in PR27778. Differential Revision: http://reviews.llvm.org/D20985 llvm-svn: 271951
* Improved Visual Studio visualizations for template argument listsMike Spertus2016-06-061-1/+22
| | | | | | | | | | Improved the visualizer for TemplateArgumentList to show type arguments in the DisplayString. E.g., <double, long>. Added a visualizer for MultiLevelTemplateArgumentList. I decided to display them by how they would appear in a template with the (non-existent) template-id's omitted, so the DisplayString naturally presents as something like <double, long>::<char *>. llvm-svn: 271944
* [CMake] Fixing a typo in a CMake optionChris Bieneman2016-06-061-1/+1
| | | | | | CMake defines are set with -D, forgetting the D doesn’t work. llvm-svn: 271937
* Adding an AST matcher to ignore parenthesis in *types* (rather than ↵Aaron Ballman2016-06-064-0/+39
| | | | | | expressions). This is required for traversing certain types (like function pointer types). llvm-svn: 271927
* Revert "Reapply "[analyzer] Add checker for correct usage of MPI API in C ↵Devin Coughlin2016-06-0615-1548/+0
| | | | | | | | and C++."" This reverts commit r271914. It is still breaking bots. llvm-svn: 271920
* Add a release note about the --build-id change.Rafael Espindola2016-06-061-1/+4
| | | | llvm-svn: 271918
* Reapply "[analyzer] Add checker for correct usage of MPI API in C and C++."Devin Coughlin2016-06-0615-0/+1548
| | | | | | | | | Reapply r271907 with a fix for the compiler error with gcc about specializing clang::ento::ProgramStateTrait in a different namespace. Differential Revision: http://reviews.llvm.org/D12761 llvm-svn: 271914
* Fix typo in last submission to visualize proper template argumentMike Spertus2016-06-061-1/+1
| | | | llvm-svn: 271911
* Better Visual Studio visualization of TemplateArgument and TemplateArgumentListMike Spertus2016-06-061-2/+32
| | | | | | | For pack TemplateArguments, visualize all of the items in the pack Visualize a TemplateArgumentList as a template argument list. E.g., <int, double> llvm-svn: 271910
* Revert "[analyzer] Add checker for correct usage of MPI API in C and C++."Devin Coughlin2016-06-0615-1546/+0
| | | | | | | This reverts commit r271907. It broke a bunch of bots with compile errors about specializations in different namespaces. llvm-svn: 271909
* [analyzer] Add checker for correct usage of MPI API in C and C++.Devin Coughlin2016-06-0615-0/+1546
| | | | | | | | | | | | | | | | | | | | | | | | This commit adds a static analysis checker to check for the correct usage of the MPI API in C and C++. 3 path-sensitive checks are included: - Double nonblocking: Double request usage by nonblocking calls without intermediate wait. - Missing wait: Nonblocking call without matching wait. - Unmatched wait: Waiting for a request that was never used by a nonblocking call. Examples of how to use the checker can be found at https://github.com/0ax1/MPI-Checker Reviewers: zaks.anna A patch by Alexander Droste! Differential Revision: http://reviews.llvm.org/D12761 llvm-svn: 271907
OpenPOWER on IntegriCloud