summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* change an assert when generating fmuladd to an ordinary 'if' check (PR25719)Sanjay Patel2015-12-032-11/+21
| | | | | | | | | | | | | | | | | | | We don't want to generate fmuladd if there's a use of the fmul expression, but this shouldn't be an assert. The test case is derived from the commit message for r253337: http://reviews.llvm.org/rL253337 That commit reverted r253269: http://reviews.llvm.org/rL253269 ...but the bug exists independently of the default fp-contract setting. It just became easier to hit with that change. PR25719: https://llvm.org/bugs/show_bug.cgi?id=25719 Differential Revision: http://reviews.llvm.org/D15165 llvm-svn: 254573
* fix typos; NFCSanjay Patel2015-12-021-2/+2
| | | | llvm-svn: 254561
* Add the `pass_object_size` attribute to clang.George Burgess IV2015-12-0233-216/+853
| | | | | | | | | | | | | `pass_object_size` is our way of enabling `__builtin_object_size` to produce high quality results without requiring inlining to happen everywhere. A link to the design doc for this attribute is available at the Differential review link below. Differential Revision: http://reviews.llvm.org/D13263 llvm-svn: 254554
* Fix the clang driver when "-nostdlib" is presentSumanth Gundapaneni2015-12-022-2/+17
| | | | | | | | | | This patch is a fix to r252901 which changed the behavior of clang driver. In the presence of "-nostdlib" none of the standard libraries should be passed to link line. Differential Revision: http://reviews.llvm.org/D15130 llvm-svn: 254535
* Move _mm256_cvtps_ph and _mm256_cvtph_ps to immintrin.h.Paul Robinson2015-12-022-12/+13
| | | | | | | | | This more closely matches their locations as described by Intel documentation, and lets us remove a pair of redundant typedefs. Differential Revision: http://reviews.llvm.org/D15127 llvm-svn: 254528
* [OpenMP] Update target directive codegen to use 4.5 implicit data mappings.Samuel Antao2015-12-0212-269/+1639
| | | | | | | | | | | | | | | Summary: This patch implements the 4.5 specification for the implicit data maps. OpenMP 4.5 specification changes the default way data is captured into a target region. All the non-aggregate kinds are passed by value by default. This required activating the capturing by value during SEMA for the target region. All the non-aggregate values that can be encoded in the size of a pointer are properly casted and forwarded to the runtime library. On top of fixing the previous weird behavior for mapping pointers in nested data regions (an explicit map was always required), this also improves performance as the number of allocations/transactions to the device per non-aggregate map are reduced from two to only one - instead of passing a reference and the value, only the value passed. Explicit maps will be added later on once firstprivate, private, and map clauses' SEMA and parsing are available. Reviewers: hfinkel, rjmccall, ABataev Subscribers: cfe-commits, carlo.bertolli Differential Revision: http://reviews.llvm.org/D14940 llvm-svn: 254521
* Making the deleted copy constructor parameter const; NFC.Aaron Ballman2015-12-021-1/+1
| | | | llvm-svn: 254520
* Add a narrowing AST matcher that matches on a FunctionDecl with a ↵Aaron Ballman2015-12-024-0/+52
| | | | | | non-throwing exception specification. llvm-svn: 254516
* Amending r254423 by deleting the copy constructor and adding a move ↵Aaron Ballman2015-12-021-0/+7
| | | | | | constructor instead; NFC as neither of these constructors are currently called, but this is a safer design. llvm-svn: 254515
* Traverse the NestedNameSpecifier(Loc) of NamespaceAliasDecls.Daniel Jasper2015-12-022-0/+4
| | | | | Review: http://reviews.llvm.org/D15149 llvm-svn: 254510
* Teaches clang about Cortex-A35.Christof Douma2015-12-026-2/+36
| | | | | | | | Adds support for the new Cortex-A35 ARMv8-A core. Differential Revision: http://reviews.llvm.org/D15142 llvm-svn: 254505
* clang/test/Driver/crash-report-modules.m: Avoid using /tmp/.NAKAMURA Takumi2015-12-021-5/+5
| | | | | | Temporary directories should be controlled with $LIT_PRESERVES_TMP. llvm-svn: 254485
* [sanitizer coverage] document -fsanitize-coverage=trace-bbKostya Serebryany2015-12-021-0/+7
| | | | llvm-svn: 254481
* docs: Add design documentation for forward-edge CFI for indirect calls.Peter Collingbourne2015-12-011-3/+88
| | | | llvm-svn: 254464
* Clang-format an 80-column violation.Adrian Prantl2015-12-011-2/+6
| | | | llvm-svn: 254455
* Add an accessor to Decl::LoadedFieldsFromExternalStorage for LLDB.Adrian Prantl2015-12-011-1/+4
| | | | | | | Patch by Greg Clayton Reviewed by Doug Gregor llvm-svn: 254451
* Update for llvm api change.Rafael Espindola2015-12-011-1/+1
| | | | llvm-svn: 254450
* Avoid picking up system headers in unittest by providing a fake libstdc++ ↵Benjamin Kramer2015-12-011-2/+4
| | | | | | | | | with a ridiculously high version number. The host libstdc++ may be horribly broken and we want the fake one to be picked up. This workaround is lame but I don't see a better way. llvm-svn: 254446
* [MS ABI] Correctly mangle nullptr member pointers for variable templatesDavid Majnemer2015-12-012-11/+18
| | | | | | | Variable templates behave the same as class templates with regard to nullptr memeber pointers. llvm-svn: 254439
* It appears that this horrible mutating copy constructor is unused. Kill it ↵Aaron Ballman2015-12-011-5/+0
| | | | | | with fire. llvm-svn: 254423
* clang-format: Make it possible to turn off comment reflowing.Daniel Jasper2015-12-014-4/+19
| | | | llvm-svn: 254414
* clang-format: treat Q_SIGNALS as an access modifierDaniel Jasper2015-12-014-6/+19
| | | | | | Patch by Alexander Richardson, thank you! llvm-svn: 254407
* This fixes https://llvm.org/bugs/show_bug.cgi?id=25329, as well asDaniel Jasper2015-12-013-203/+188
| | | | | | | | | | | misalignments like the following: int a, b = 2; int c = 3; Patch by Beren Minor, thanks! llvm-svn: 254406
* [OPENMP 4.5] Parsing/sema analysis for 'priority' clause.Alexey Bataev2015-12-0154-168/+463
| | | | | | OpenMP 4.5 defines new clause 'priority' for 'task', 'taskloop' and 'taskloop simd' directives. Added parsing and sema analysis for 'priority' clause in 'task' and 'taskloop' directives. llvm-svn: 254398
* [analyzer] Fix IssueHash generation.Gabor Horvath2015-12-018-20/+25
| | | | | | | | Differential Revision: http://reviews.llvm.org/D14919 Original patch by: Gyorgy Orban! llvm-svn: 254394
* Remove superfluous StringRef casts, NFC.Yaron Keren2015-12-011-7/+7
| | | | llvm-svn: 254392
* [X86] Improve codegen for AVX2 gather with an all 1s mask.Craig Topper2015-12-011-30/+39
| | | | | | Use undefined instead of setzero as the pass through input since its going to be fully overwritten. Use cmpeq of two zero vectors to produce the all 1s vector. Casting -1 to a double and vectorizing causes a constant load of a -1.0 floating point value. llvm-svn: 254389
* [OPENMP 4.5] Parsing/sema analysis for 'taskloop' directive.Alexey Bataev2015-12-0130-34/+2927
| | | | | | Adds initial parsing and semantic analysis for 'taskloop' directive. llvm-svn: 254367
* [modules] Don't reject multiple modules providing contents for the same ↵Richard Smith2015-12-012-1/+17
| | | | | | embedded file. llvm-svn: 254365
* Fix use-after-free when a C++ thread_local variable gets replaced (because itsRichard Smith2015-12-017-32/+34
| | | | | | | type changes when the initializer is attached). Don't hold onto the GlobalVariable*; recompute it from the VarDecl* instead. llvm-svn: 254359
* [PR25661] Revert part of r217213 according to r254323.NAKAMURA Takumi2015-11-301-13/+2
| | | | llvm-svn: 254346
* [libFuzzer] clarify the limitation of fsanitize-coverage=trace-cmpKostya Serebryany2015-11-301-0/+1
| | | | llvm-svn: 254337
* [MS Compat] Adjust thiscall to cdecl when deducing template argumentsDavid Majnemer2015-11-302-2/+24
| | | | | | | | | | Function types can be extracted from member pointer types. However, the type is not appropriate without first adjusting the calling convention. This fixes PR25661. llvm-svn: 254323
* Add --gcc-toolchain= to one of the libclang unitests to fix issue related to Samuel Antao2015-11-301-1/+2
| | | | | | | the gcc libraries clang picks for when it was configures with a user defined path. llvm-svn: 254306
* Do not crash when dumping the objc_bridge_related attribute when its ↵Aaron Ballman2015-11-303-2/+8
| | | | | | | | optional arguments are not supplied. Patch thanks to Joe Ranieri! llvm-svn: 254303
* Use range-based for loop to avoid the need for calculating an array size. NFCCraig Topper2015-11-301-4/+1
| | | | llvm-svn: 254282
* Use std::begin() and std::end() instead of doing the same manually. NFCCraig Topper2015-11-301-4/+2
| | | | llvm-svn: 254281
* [X86] _mm256_permutevar8x32_ps should take an integer vector for its shuffle ↵Craig Topper2015-11-293-4/+4
| | | | | | index input. llvm-svn: 254270
* [X86][SSE2] Added SSE2 IR + assembly codegen builtin testsSimon Pilgrim2015-11-291-0/+1656
| | | | | | Improved tests as discussed in PR24580 llvm-svn: 254262
* clang/test/CodeGen/arm-v8.1a-neon-intrinsics.c REQUIRES both arm and aarch64.NAKAMURA Takumi2015-11-291-0/+1
| | | | llvm-svn: 254252
* ARM v8.1a adds Advanced SIMD instructions for Rounding Double MultiplyAlexandros Lamprineas2015-11-292-0/+249
| | | | | | | | | | Add/Subtract. Add missing tests that accidentally were not committed in rL254250. Differential Revision: http://reviews.llvm.org/D14982 llvm-svn: 254251
* ARM v8.1a adds Advanced SIMD instructions for Rounding Double MultiplyAlexandros Lamprineas2015-11-294-0/+60
| | | | | | | | | | | | | | | | | | | | | | | | | Add/Subtract. The following instructions are added to AArch32 instruction set: - VQRDMLAH: Vector Saturating Rounding Doubling Multiply Accumulate Returning High Half - VQRDMLSH: Vector Saturating Rounding Doubling Multiply Subtract Returning High Half The following instructions are added to AArch64 instruction set: - SQRDMLAH: Signed Saturating Rounding Doubling Multiply Accumulate Returning High Half - SQRDMLSH: Signed Saturating Rounding Doubling Multiply Subtract Returning High Half This patch adds intrinsic and ACLE macro support for these instructions, as well as corresponding tests. Differential Revision: http://reviews.llvm.org/D14982 llvm-svn: 254250
* [X86] Remove temporary variables from intrinsic macros. NFCCraig Topper2015-11-291-28/+18
| | | | llvm-svn: 254247
* Fixed default label in fully covered switch warning that was introduced in ↵Daniel Sanders2015-11-271-1/+0
| | | | | | r254203. llvm-svn: 254208
* [OpenMP] Parsing and sema support for thread_limit clause.Kelvin Li2015-11-2716-58/+300
| | | | | | http://reviews.llvm.org/D15029 llvm-svn: 254207
* int function without a return statement is invalid C++.Artyom Skrobov2015-11-272-2/+2
| | | | | | Changing the return type to void. llvm-svn: 254206
* [mips] Interrupt attribute support.Daniel Sanders2015-11-277-5/+251
| | | | | | | | | | | | | | Summary: This patch adds support for the interrupt attribute for mips32r2+. Patch by Simon Dardis. Reviewers: dsanders, aaron.ballman Subscribers: aaron.ballman, cfe-commits Differential Revision: http://reviews.llvm.org/D10802 llvm-svn: 254205
* Revert r254203: [mips] Interrupt attribute support.Daniel Sanders2015-11-277-251/+5
| | | | | | I forgot to credit the author. llvm-svn: 254204
* [mips] Interrupt attribute support.Daniel Sanders2015-11-277-5/+251
| | | | | | | | | | | | Summary: This patch adds support for the interrupt attribute for mips32r2+. Reviewers: dsanders, aaron.ballman Subscribers: aaron.ballman, cfe-commits Differential Revision: http://reviews.llvm.org/D10802 llvm-svn: 254203
* Revert Sparc and SparcV9 to external assembler. Now that the CPUJoerg Sonnenberger2015-11-273-3/+28
| | | | | | | | handling is corrected, the primary reason for forcing IAS as default is gone and the remaining issues are still somewhat problematic in common situations. llvm-svn: 254199
OpenPOWER on IntegriCloud