summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [Sema] Handle leading and trailing __ for GNU attributesDavid Majnemer2015-08-252-8/+19
| | | | | | | | | | GNU attributes can have a leading and trailing __ appended/prepended to the attribute name. While the parser and AttributeList::getKind did the right thing, AttributeList::getAttributeSpellingListIndex did not. This fixes PR24565. llvm-svn: 245953
* The patch replace the overflow check in loop vectorization with the minimum ↵Wei Mi2015-08-253-24/+72
| | | | | | | | | | | loop iterations check. The loop minimum iterations check below ensures the loop has enough trip count so the generated vector loop will likely be executed, and it covers the overflow check. Differential Revision: http://reviews.llvm.org/D12107. llvm-svn: 245952
* [Static Analyzer] Fix tests to reflect the change in the diagnostic message.Gabor Horvath2015-08-251-70/+70
| | | | llvm-svn: 245951
* make fast unaligned memory accesses implicit with SSE4.2 or SSE4aSanjay Patel2015-08-252-0/+12
| | | | | | | | | | | | | | | | | | | | | | This is a follow-on from the discussion in http://reviews.llvm.org/D12154. This change allows memset/memcpy to use SSE or AVX memory accesses for any chip that has generally fast unaligned memory ops. A motivating use case for this change is a clang invocation that doesn't explicitly set the CPU, but does target a feature that we know only exists on a CPU that supports fast unaligned memops. For example: $ clang -O1 foo.c -mavx This resolves a difference in lowering noted in PR24449: https://llvm.org/bugs/show_bug.cgi?id=24449 Before this patch, we used different store types depending on whether the example can be lowered as a memset or not. Differential Revision: http://reviews.llvm.org/D12288 llvm-svn: 245950
* [Static Analyzer] Fixed a typo in a diagnostic message.Gabor Horvath2015-08-251-1/+1
| | | | llvm-svn: 245949
* [lit] Speculatively fix PR24554 by manually closing the process handleReid Kleckner2015-08-251-0/+3
| | | | | | | | | | | My theory is that somehow Python's refcounting and GC strategy isn't closing the subprocess handle in a timely fashion. This accesses the private '_handle' field of the Popen object, but I see no other way to do this. If this doesn't address the problem on the sanitizer-windows buildbot, we can revert this change. If it does, then let's keep the hack. llvm-svn: 245946
* [cmake] Pass /manifest:no to the linker when asan is enabledReid Kleckner2015-08-251-1/+5
| | | | | | This is a workaround for PR24476. llvm-svn: 245945
* Set the symbol value in the symbol table.Rafael Espindola2015-08-253-15/+65
| | | | llvm-svn: 245943
* Avoid LoopConvertCheck replacements in template instantiations.Angel Garcia Gomez2015-08-252-0/+24
| | | | | | | | | | | | Summary: Prevent LoopConvertCheck from doing replacements in template instantiations, and add a test. Reviewers: alexfh Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D12321 llvm-svn: 245942
* 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
* Convert SampleProfile pass into a Module pass.Diego Novillo2015-08-257-21/+38
| | | | | | | | | | | 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: 245940
* Fix possible crash on null base or type for array elements.Alexey Bataev2015-08-252-2/+5
| | | | llvm-svn: 245939
* [MachO] Introduce MinVersion API.Davide Italiano2015-08-252-0/+24
| | | | | | | | | | | | | While introducing support for MinVersionLoadCommand in llvm-readobj I noticed there's no API to extract Major/Minor/Update components conveniently. Currently consumers do the bit twiddling on their own, but this will change from now on. I'll convert llvm-objdump (and llvm-readobj) in a later commit. Differential Revision: http://reviews.llvm.org/D12282 Reviewed by: rafael llvm-svn: 245938
* [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
* Add replace-auto_ptr check.Angel Garcia Gomez2015-08-256-0/+675
| | | | | | | | | | | | Summary: Migrate replace-auto_ptr check from clang-modernize to modernize module in clang-tidy. Reviewers: alexfh Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D12287 llvm-svn: 245933
* Handle DW_OP_GNU_addr_index in DWARF expressionsTamas Berghammer2015-08-257-15/+119
| | | | | | Differential revision: http://reviews.llvm.org/D12290 llvm-svn: 245932
* Add support for DW_FORM_GNU_[addr,str]_indexTamas Berghammer2015-08-2517-120/+208
| | | | | | | | | These are 2 new value currently in experimental status used when split debug info is enabled. Differential revision: http://reviews.llvm.org/D12238 llvm-svn: 245931
* Fix buffer overflow for fixed_form_sizesTamas Berghammer2015-08-258-38/+108
| | | | | | | | | | The array is indexed by the value in the DW_FORM filed what can be bigger then the size of the array. This CL add bound checking to avoid buffer overflows Differential revision: http://reviews.llvm.org/D12239 llvm-svn: 245930
* Revert r245923 since it breaks mingw.Michael Kuperstein2015-08-253-143/+20
| | | | llvm-svn: 245929
* Fix source manager regression caused by r245905Tamas Berghammer2015-08-251-1/+0
| | | | llvm-svn: 245928
* Fix build on mipsSagar Thakur2015-08-251-10/+3
| | | | | | | | | | Setting and getting register values as bytes instead of depending on the 128 bit integer support in register value. This patch will fix the build failure in the release branch. Reviewers: tberghammer, clayborg, hans Subscribers: bhushan, nitesh.jain, jaydeep, lldb-commits Differential: http://reviews.llvm.org/D12275 llvm-svn: 245927
* Tests no longer need the 'REQUIRES: SHELL' line.Angel Garcia Gomez2015-08-251-1/+0
| | | | | | | | | | | | Summary: Update python script, so that it doesn't print that line in new tests. Reviewers: alexfh Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D12281 llvm-svn: 245926
* [X86] Remove references to _ftol2Michael Kuperstein2015-08-256-222/+0
| | | | | | | As of r245924, _ftol2 is no longer used for fptoui on MS platforms. Remove the dead code associated with it. llvm-svn: 245925
* [X86] Fix fptoui conversionsMichael Kuperstein2015-08-255-76/+287
| | | | | | | | | | | | | | | This fixes two issues in x86 fptoui lowering. 1) Makes conversions from f80 go through the right path on AVX-512. 2) Implements an inline sequence for fptoui i64 instead of a library call. This improves performance by 6X on SSE3+ and 3X otherwise. Incidentally, it also removes the use of ftol2 for fptoui, which was wrong to begin with, as ftol2 converts to a signed i64, producing wrong results for values >= 2^63. Patch by: mitch.l.bodart@intel.com Differential Revision: http://reviews.llvm.org/D11316 llvm-svn: 245924
* [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
* Mark test as XFAIL with MSAN until D12311 gets committedEric Fiselier2015-08-251-0/+5
| | | | llvm-svn: 245922
* Pass function attributes instead of boolean in isIntDivCheap().Steve King2015-08-256-15/+60
| | | | llvm-svn: 245921
* assume.ll test fixupPiotr Padlewski2015-08-251-1/+1
| | | | llvm-svn: 245920
* Assume intrinsic handling in global optPiotr Padlewski2015-08-252-0/+25
| | | | | | | | | | | | | | It doesn't solve the problem, when for example we load something, and then assume that it is the same as some constant value, because globalopt will fail on unknown load instruction. The proposed solution would be to skip some instructions that we can't evaluate and they are safe to skip (f.e. load, assume and many others) and see if they are required to perform optimization (f.e. we don't care about ephemeral instructions that may appear using @llvm.assume()) http://reviews.llvm.org/D12266 llvm-svn: 245919
* Refactor and fix more flaky shared_mutex testsEric Fiselier2015-08-256-37/+123
| | | | llvm-svn: 245918
* Revert "Fix LLVM C API for DataLayout"Mehdi Amini2015-08-252-21/+22
| | | | | | | | This reverts commit 433bfd94e4b7e3cc3f8b08f8513ce47817941b0c. Broke some bot, have to see why it passed locally. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 245917
* Fix LLVM C API for DataLayoutMehdi Amini2015-08-252-22/+21
| | | | | | | | | | | | | | | | | | | | | | | | | We removed access to the DataLayout on the TargetMachine and deprecated the C API function LLVMGetTargetMachineData() in r243114. However the way I tried to be backward compatible was broken: I changed the wrapper of the TargetMachine to be a structure that includes the DataLayout as well. However the TargetMachine is also wrapped by the ExecutionEngine, in the more classic way. A client using the TargetMachine wrapped by the ExecutionEngine and trying to get the DataLayout would break. It seems tricky to solve the problem completely in the C API implementation. This patch tries to address this backward compatibility in a more lighter way in the C++ API. The C API is restored in its original state and the removed C++ API is reintroduced, but privately. The C API is friended to the TargetMachine and should be the only consumer for this API. Reviewers: ributzka Differential Revision: http://reviews.llvm.org/D12263 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 245916
* [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
* [docs] Improvements to CMake.rstVedant Kumar2015-08-251-94/+110
| | | | | | | | | | | | | | | | | - Fix some grammatical and typographical errors. - Try to improve upon some awkward/nonstandard phrasings. - Expand slightly the treatment of how you specify arguments to cmake. - Update the list of possible LLVM_BUILD_TESTS and state where to find the definitive list. - Correct the name of llvm-tblgen. - Expand slightly the treatment of several build options, including LLVM_LIT_TOOLS_DIR, LLVM_ENABLE_FFI, and LLVM_EXTERNAL_project_SOURCE_DIR. Patch by Brian R. Gaeke! Differential Revision: http://reviews.llvm.org/D11862 llvm-svn: 245911
* 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
* [PowerPC] PPCVSXFMAMutate should ignore trivial-copy addendsHal Finkel2015-08-242-5/+46
| | | | | | | | We might end up with a trivial copy as the addend, and if so, we should ignore the corresponding FMA instruction. The trivial copy can be coalesced away later, so there's nothing to do here. We should not, however, assert. Fixes PR24544. llvm-svn: 245907
* [ARM NEON] Use CGF cached Types instead of llvm::Type::get. NFC.Ahmed Bougacha2015-08-241-13/+11
| | | | llvm-svn: 245906
* Final bit of type system cleanup that abstracts declaration contexts into ↵Greg Clayton2015-08-24127-1955/+2102
| | | | | | | | | | | | | | | | | | | | lldb_private::CompilerDeclContext and renames ClangType to CompilerType in many accessors and functions. Create a new "lldb_private::CompilerDeclContext" class that will replace all direct uses of "clang::DeclContext" when used in compiler agnostic code, yet still allow for conversion to clang::DeclContext subclasses by clang specific code. This completes the abstraction of type parsing by removing all "clang::" references from the SymbolFileDWARF. The new "lldb_private::CompilerDeclContext" class abstracts decl contexts found in compiler type systems so they can be used in internal API calls. The TypeSystem is required to support CompilerDeclContexts with new pure virtual functions that start with "DeclContext" in the member function names. Converted all code that used lldb_private::ClangNamespaceDecl over to use the new CompilerDeclContext class and removed the ClangNamespaceDecl.cpp and ClangNamespaceDecl.h files. Removed direct use of clang APIs from SBType and now use the abstract type systems to correctly explore types. Bulk renames for things that used to return a ClangASTType which is now CompilerType: "Type::GetClangFullType()" to "Type::GetFullCompilerType()" "Type::GetClangLayoutType()" to "Type::GetLayoutCompilerType()" "Type::GetClangForwardType()" to "Type::GetForwardCompilerType()" "Value::GetClangType()" to "Value::GetCompilerType()" "Value::SetClangType (const CompilerType &)" to "Value::SetCompilerType (const CompilerType &)" "ValueObject::GetClangType ()" to "ValueObject::GetCompilerType()" many more renames that are similar. llvm-svn: 245905
* [ARM NEON] Replace redundant code with a new GetFloatNeonType. NFC.Ahmed Bougacha2015-08-241-63/+22
| | | | llvm-svn: 245904
* Revert r245355 "Release script: correctly symlink clang-tools-extra into the ↵Hans Wennborg2015-08-241-2/+2
| | | | | | | | build (PR22765)" This worked with the CMake build but broke the Autoconf one. llvm-svn: 245902
* [ARM NEON] Add missing AArch64 vget tests.Ahmed Bougacha2015-08-242-13/+348
| | | | llvm-svn: 245901
* Try to fix buildbotsMatthias Braun2015-08-241-1/+2
| | | | | | | | Apparently std::vector::erase(const_iterator) (as opposed to the non-const iterator) is a part of C++11 but it seems this is not available on all the buildbots. llvm-svn: 245900
* fix typos; NFCSanjay Patel2015-08-241-1/+1
| | | | llvm-svn: 245899
OpenPOWER on IntegriCloud