summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* [Static Analyzer] Fix tests to reflect the change in the diagnostic message.Gabor Horvath2015-08-251-70/+70
| | | | llvm-svn: 245951
* [Static Analyzer] Fixed a typo in a diagnostic message.Gabor Horvath2015-08-251-1/+1
| | | | llvm-svn: 245949
* Convert SampleProfile pass into a Module pass.Diego Novillo2015-08-251-12/+3
| | | | | | | | | | | Eventually, we will need sample profiles to be incorporated into the inliner's cost models. To do this, we need the sample profile pass to be a module pass. This patch makes no functional changes beyond the mechanical adjustments needed to run SampleProfile as a module pass. llvm-svn: 245941
* Fix possible crash on null base or type for array elements.Alexey Bataev2015-08-252-2/+5
| | | | llvm-svn: 245939
* [OPENMP 4.0] Initial support for array sections.Alexey Bataev2015-08-2539-21/+523
| | | | | | | | Adds parsing/sema analysis/serialization/deserialization for array sections in OpenMP constructs (introduced in OpenMP 4.0). Currently it is allowed to use array sections only in OpenMP clauses that accepts list of expressions. Differential Revision: http://reviews.llvm.org/D10732 llvm-svn: 245937
* Rewrite the PPC target feature handling to more resemble other targets.Eric Christopher2015-08-251-32/+42
| | | | | | | | | This involved specializing handleUserFeatures so that we could perform diagnostics on -only- user supplied features and migrating the rest of the initialization functions to set features based on enabling and disabling full feature sets. No functional change intended. llvm-svn: 245936
* Extract handling of user defined features into a function so we canEric Christopher2015-08-252-6/+18
| | | | | | specialize it on the targets. llvm-svn: 245935
* clang-format: Add space before member function reference qualifiers.Daniel Jasper2015-08-252-33/+36
| | | | | | | | | | | | Before: SomeType MemberFunction(const Deleted &)&; After: SomeType MemberFunction(const Deleted &) &; Seems to be much more common. llvm-svn: 245934
* Revert r245923 since it breaks mingw.Michael Kuperstein2015-08-253-143/+20
| | | | llvm-svn: 245929
* [X86] Expose the various _rot intrinsics on non-MS platformsMichael Kuperstein2015-08-253-20/+143
| | | | | | | | | | | | | | _rotl, _rotwl and _lrotl (and their right-shift counterparts) are official x86 intrinsics, and should be supported regardless of environment. This is in contrast to _rotl8, _rotl16, and _rotl64 which are MS-specific. Note that the MS documentation for _lrotl is different from the Intel documentation. Intel explicitly documents it as a 64-bit rotate, while for MS, since sizeof(unsigned long) for MSVC is always 4, a 32-bit rotate is implied. Differential Revision: http://reviews.llvm.org/D12271 llvm-svn: 245923
* [ARM NEON] Remove the old AArch64 vset_lane tests. NFC.Ahmed Bougacha2015-08-251-33/+0
| | | | | | They are now properly tested, since r245901. llvm-svn: 245915
* Reimplement the PPC explicit option checking to be a bit more obviousEric Christopher2015-08-251-8/+19
| | | | | | that we're looking for conflicting options and give an explanation. llvm-svn: 245914
* [clang-cl] Only respect /Oy- for x86_32David Majnemer2015-08-254-21/+28
| | | | | | | The /Oy- flag should have no effect for 64-bit X86, it has reliable unwind tables. llvm-svn: 245913
* Revert "broken test. uses system ld.gold"Derek Schuff2015-08-243-6/+0
| | | | | | We should check in a basic_nacl_tree that works and also fix --sysroot llvm-svn: 245910
* broken test. uses system ld.goldDerek Schuff2015-08-243-0/+6
| | | | llvm-svn: 245909
* Use GetLinkerPath utility function to find linker for NaCl toolchainDerek Schuff2015-08-241-1/+1
| | | | | | | | | | | | | | Summary: This is more consistent with other targets and also makes the -fuse-ld flag work. Reviewers: jvoung Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10697 llvm-svn: 245908
* [ARM NEON] Use CGF cached Types instead of llvm::Type::get. NFC.Ahmed Bougacha2015-08-241-13/+11
| | | | llvm-svn: 245906
* [ARM NEON] Replace redundant code with a new GetFloatNeonType. NFC.Ahmed Bougacha2015-08-241-63/+22
| | | | llvm-svn: 245904
* [ARM NEON] Add missing AArch64 vget tests.Ahmed Bougacha2015-08-242-13/+348
| | | | llvm-svn: 245901
* [modules] Remove unnecessary deserialization of fully-external ↵Richard Smith2015-08-246-39/+79
| | | | | | HeaderFileInfos for all files we've seen in this compilation. llvm-svn: 245881
* [MS ABI] Don't emit stackrestore in cleanupsDavid Majnemer2015-08-244-33/+16
| | | | | | The stackrestore intrinsic isn't meaningful inside of a cleanup funclet. llvm-svn: 245879
* Revert r245866.Akira Hatanaka2015-08-242-9/+0
| | | | | | This commit was causing buildbot failures. llvm-svn: 245871
* [libclang] For convenience to clients, make sure that nullability and ↵Argyrios Kyrtzidis2015-08-243-0/+30
| | | | | | | | | | __kindof annotations do not hide the underlying type. rdar://22063577 llvm-svn: 245867
* [ARM] Error out on apple darwin platforms if float-abi is "hard".Akira Hatanaka2015-08-242-0/+9
| | | | | | | | | | | | | Error out if the user tries to use float-abi="hard" since it isn't supported on darwin platforms. Previously clang issued no warnings or erros and just passed the option to the backend, which had no effect on code generation for targets using apcs. rdar://problem/22257950 Differential Revision: http://reviews.llvm.org/D12155 llvm-svn: 245866
* Fixing some copy-pasta comments; NFC.Aaron Ballman2015-08-241-1/+1
| | | | llvm-svn: 245861
* clang-format: Always allow break after leading annotations.Daniel Jasper2015-08-242-1/+3
| | | | | | | | | | | Before: DEPRECATED("Use NewClass::NewFunction instead.") int OldFunction( const string &parameter) {} Could not be formatted at all, as clang-format would both require and disallow the break before "int". llvm-svn: 245846
* clang-format: Make formatting of member function reference qualifiersDaniel Jasper2015-08-243-8/+17
| | | | | | | | | | | | | | more consistent. Before: SomeType MemberFunction(const Deleted &)&&; SomeType MemberFunction(const Deleted &) && { ... } After: SomeType MemberFunction(const Deleted &)&&; SomeType MemberFunction(const Deleted &)&& { ... } llvm-svn: 245843
* clang-format: Properly handle braced lists in macros.Daniel Jasper2015-08-242-0/+3
| | | | | | | | | | | | Before: #define A \ { a, a } \ , After: #define A {a, a}, llvm-svn: 245837
* [AArch64] Define the macro __ARM_FP16_ARGSKeith Walker2015-08-242-0/+2
| | | | | | | | | | | | | The ACLE (ARM C Language Extensions) 2.0 defines that the predefined macro __ARM_FP16_ARGS should be defined if __fp16 can be used as an argument and result. The support for __fp16 to be used as an argument and result is already implemented for AArch64 so this change is just adding the missing macro. Differential Revision: http://reviews.llvm.org/D12240 llvm-svn: 245833
* [OPENMP] Info about OpenMP Support in Users Manual, NFC.Alexey Bataev2015-08-241-0/+26
| | | | | | Differential Revision: http://reviews.llvm.org/D12152 llvm-svn: 245823
* [modules] If local submodule visibility is disabled, don't bother checkingRichard Smith2015-08-241-15/+20
| | | | | | whether the owning module of a hidden declaration is visible -- it can't be. llvm-svn: 245822
* [modules] Stop updating all identifiers when writing a module. This isRichard Smith2015-08-244-18/+47
| | | | | | | unnecessary in C++ modules (where we don't need the identifiers for their Decls) and expensive. llvm-svn: 245821
* [test] Fix typos in a few tests (NFC)Vedant Kumar2015-08-233-4/+4
| | | | | | Patch by Kai Zhao! llvm-svn: 245817
* Added missing tests for SSE41 pmovsx/pmovzx extension intrinsicsSimon Pilgrim2015-08-231-0/+72
| | | | llvm-svn: 245815
* Add a missing 'classof' to AST Node TypoExpr to identify its 'Kind'.Faisal Vali2015-08-231-0/+5
| | | | | | | | I'm not sure why TypoExpr had its classof left out - but I expect every AST node should fulfill the 'contract of classof' (http://llvm.org/docs/HowToSetUpLLVMStyleRTTI.html). There should be no functionality change. I just happened to notice it was missing, while messing around with something else. llvm-svn: 245812
* Changes missed from r245810Serge Pavlov2015-08-231-3/+3
| | | | llvm-svn: 245811
* Instantiate function declarations in instantiated functions.Serge Pavlov2015-08-237-16/+49
| | | | | | | | | | | | | | | | | If a function declaration is found inside a template function as in: template<class T> void f() { void g(int x = T::v) except(T::w); } it must be instantiated along with the enclosing template function, including default arguments and exception specification. Together with the patch committed in r240974 this implements DR1484. Differential Revision: http://reviews.llvm.org/D11194 llvm-svn: 245810
* [WinEH] Update to new EH pad/ret signatures (with tokens required)Joseph Tremoulet2015-08-233-8/+6
| | | | | | | | | | | | | | | Summary: The signatures of the methods in LLVM for creating EH pads/rets are changing to require token arguments on rets and assume token return type on pads. Update creation code accordingly. Reviewers: majnemer, rnk Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D12109 llvm-svn: 245798
* Improve the performance of resolving a lookup result. We usually don't need toRichard Smith2015-08-221-4/+37
| | | | | | | pick the most recent declaration, and we can often tell which declaration is more recent without walking the redeclaration chain. Do so when possible. llvm-svn: 245794
* [modules] Further simplification and speedup of redeclaration chain loading.Richard Smith2015-08-229-165/+72
| | | | | | | | Instead of eagerly deserializing a list of DeclIDs when we load a module file and doing a binary search to find the redeclarations of a decl, store a list of redeclarations of each chain before the first declaration and load it directly. llvm-svn: 245789
* [CUDA] Change initializer for CUDA device code based on CUDA documentation.Jingyue Wu2015-08-223-8/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: According to CUDA documentation, global variables declared with __device__, __constant__ can be initialized from host code, so mark them as externally initialized. Because __shared__ variables cannot have an initialization as part of their declaration and since the value maybe kept across different kernel invocation, the value of __shared__ is effectively undefined instead of zero initialized. Wrongly using zero initializer may cause illegitimate optimization, e.g. removing unused __constant__ variable because it's not updated in the device code and the value is initialized with zero. Test Plan: test/CodeGenCUDA/address-spaces.cu Patch by Xuetian Weng Reviewers: jholewinski, eliben, tra, jingyue Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12241 llvm-svn: 245786
* [modules] Remove some dead code after r245779.Richard Smith2015-08-223-177/+35
| | | | llvm-svn: 245780
* [modules] Rearrange how redeclaration chains are loaded, to remove a walk overRichard Smith2015-08-226-147/+162
| | | | | | | | | | | | | | | | | | | | | | | | | all modules and reduce the number of declarations we load when loading a redeclaration chain. The new approach is: * when loading the first declaration of an entity within a module file, we first load all declarations of the entity that were imported into that module file, and then load all the other declarations of that entity from that module file and build a suitable decl chain from them * when loading any other declaration of an entity, we first load the first declaration from the same module file As before, we complete redecl chains through name lookup where necessary. To make this work, I also had to change the way that template specializations are stored -- it no longer suffices to track only canonical specializations; we now emit all "first local" declarations when emitting a list of specializations for a template. On one testcase with several thousand imported module files, this reduces the total runtime by 72%. llvm-svn: 245779
* [ARM NEON] Remove special-case for f16 vcvt handling. NFCI.Ahmed Bougacha2015-08-222-7/+3
| | | | | | | | We can use the 'H' typespec modifier to use 128-bit vectors directly in the only two users of this special-case: the vcvt f16 intrinsics. This also lets us use more meaningful prototype modifiers. llvm-svn: 245778
* When building a pseudo-object assignment, and the RHS isJohn McCall2015-08-222-18/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | a contextually-typed expression that semantic analysis will probably need to invasively rewrite, don't include the RHS OVE as a separate semantic expression, and check the operation with the original RHS expression. There are two contextually-typed expressions that can survive to here: overloaded function references, which are at least safe to double-emit, and C++11 initializer list expressions, which are not at all safe to double-emit and which often don't update the original syntactic InitListExpr with implicit conversions to member types, etc. This means that the original RHS may appear, undecorated by an OVE, in the semantic expressions. Fortunately, it will only ever be used in a single place there, and I don't believe there are clients that rely on being able to pick out the original RHS from the semantic expressions. But this could be problematic if there are clients that do visit the entire tree and rely on not seeing the same expression multiple times, once in the syntactic and once in the semantic expressions. This is a very fiddly part of the compiler. rdar://21801088 llvm-svn: 245771
* [ARM NEON] Use the common naming scheme for vcvt f16 builtins. NFC.Ahmed Bougacha2015-08-213-16/+23
| | | | | | | | | | | We had "vcvt_f16" and "VCVT_HIGH_F16": for other FP types, this naming is used for intrinsics with integer overloads. The FP->FP conversions, on the other hand, use the full "vcvt_f32_f64" name instead. Use the same naming convention for the f16<->f32 conversions. While there, reorder the definitions a little bit. llvm-svn: 245763
* [ARM NEON] Factor out FP-prototype checking. NFC.Ahmed Bougacha2015-08-211-5/+9
| | | | llvm-svn: 245761
* [SemaObjC] Remove unused code from test.Alex Denisov2015-08-211-42/+6
| | | | | | Patch by modocache (Brian Gesiak). llvm-svn: 245731
* Revert "Generating assumption loads of vptr after ctor call (fixed)"Piotr Padlewski2015-08-2113-426/+129
| | | | | | | | Reverting because of 245721 This reverts commit 552658e2b60543c928030b09cc9b5dfcb40c3f28. llvm-svn: 245727
* Generating assumption loads of vptr after ctor call (fixed)Piotr Padlewski2015-08-2113-129/+426
| | | | | | | | | | | | | | | Generating call assume(icmp %vtable, %global_vtable) after constructor call for devirtualization purposes. For more info go to: http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html Edit: Fixed version because of PR24479. http://reviews.llvm.org/D11859 llvm-svn: 245721
OpenPOWER on IntegriCloud