summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ARM: maintain BB ordering when expanding WIN__DBZCHKSaleem Abdulrasool2016-03-253-26/+65
| | | | | | | | | | | | | It is possible to have a fallthrough MBB prior to MBB placement. The original addition of the BB would result in reordering the BB as not preceding the successor. Because of the fallthrough nature of the BB, we could end up executing incorrect code or even a constant pool island! Insert the spliced BB into the same location to avoid that. Thanks to Tim Northover for invaluable hints and Fiora for the discussion on what may have been occurring! llvm-svn: 264454
* [ASTMatchers] Don't use brace-init lists.Samuel Benzaquen2016-03-251-1/+1
| | | | | | | They are not supported everywhere yet. This fixes the MSVC build. llvm-svn: 264453
* Update to isl-0.16.1-145-g243bf7cTobias Grosser2016-03-2571-1115/+2766
| | | | | | | Just an import to keep track with the latest version of isl. We are not looking for specific features. llvm-svn: 264452
* [sanitizer] Add memset, memmove, and memcpy to the common interceptorsDerek Bruening2016-03-257-36/+78
| | | | | | | | | | | | | | | | | | | | | | | | Summary: Currently, sanitizer_common_interceptors.inc has an implicit, undocumented assumption that the sanitizer including it has previously declared interceptors for memset and memmove. Since the memset, memmove, and memcpy routines require interception by many sanitizers, we add them to the set of common interceptions, both to address the undocumented assumption and to speed future tool development. They are intercepted under a new flag intercept_intrin. The tsan interceptors are removed in favor of the new common versions. The asan and msan interceptors for these are more complex (they incur extra interception steps and their function bodies are exposed to the compiler) so they opt out of the common versions and keep their own. Reviewers: vitalybuka Subscribers: zhaoqin, llvm-commits, kcc Differential Revision: http://reviews.llvm.org/D18465 llvm-svn: 264451
* [SetVector] Add erase() methodJun Bum Lim2016-03-253-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | This is a recommit of r264414 after fixing the buildbot failure caused by incompatible use of std::vector.erase(). The original message: Add erase() which returns an iterator pointing to the next element after the erased one. This makes it possible to erase selected elements while iterating over the SetVector : while (I != E) if (test(*I)) I = SetVector.erase(I); else ++I; Reviewers: qcolombet, mcrosier, MatzeB, dblaikie Subscribers: dberlin, dblaikie, mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D18281 llvm-svn: 264450
* Fix now-ambiguous references to Error.Lang Hames2016-03-251-5/+5
| | | | llvm-svn: 264449
* Add title above the release notesTobias Grosser2016-03-251-0/+6
| | | | llvm-svn: 264448
* docs: Show two levels of content in index:Tobias Grosser2016-03-252-1/+1
| | | | llvm-svn: 264447
* docs: Describe Polly in the LLVM pass pipelineTobias Grosser2016-03-2510-0/+79
| | | | llvm-svn: 264446
* [ThinLTO] Rename edges() to calls() for clarity (NFC)Teresa Johnson2016-03-252-5/+5
| | | | | | Helps distinguish from refs() which iterates over non-call references. llvm-svn: 264445
* [ObjCXX] Warn undeclared identifiers.Manman Ren2016-03-253-2/+28
| | | | | | | | | | | | | | | | | | | | Instantiation dependence were not being handled correctly for OpqaueValueExpr AST nodes. As a result, if an undeclared identifier was used in a CXXNewExpr that is assigned to a ObjC property, there would be no error during parsing, and there would be a crash during code gen. This patch makes sure that an error will be issued during parsing in this case. Before the fix, if CXXNewExpr has a typo, its InstantiationDependent will be set to true, but if it is wrapped in a OpaqueValueExpr, the OpaqueValueExpr will not be instantiation dependent, causing the TypoExpr not be to resolved. The fix propagates InstantiationDependent to OpaqueValueExpr from its SourceExpr. It also propagates the other instantiation bits. rdar://24975562 Differential Revision: http://reviews.llvm.org/D18461 llvm-svn: 264444
* CodeGen: Fix a use-after-free in TIIJustin Bogner2016-03-251-2/+4
| | | | | | Found by ASAN with the recycling allocator changes from PR26808. llvm-svn: 264443
* AMDGPU: Fix a use-after free and a missing breakJustin Bogner2016-03-251-1/+2
| | | | | | | | | | | | | | | | We're erasing MI here, but then immediately using it again inside the `if`. This moves the erase after we're done using it. Doing that reveals a second problem though - this case is missing a break, so we fall through to the default and dereference MI again. This is obviously a bug, though I don't know how to write a test that triggers it - all we do in the error case is print some extra debug output. Both of these issue crash on lots of tests under ASAN with the recycling allocator changes from PR26808 applied. llvm-svn: 264442
* Remove declaration of SymbolTable::codegen, this method was deleted in r264091Reid Kleckner2016-03-251-1/+0
| | | | llvm-svn: 264441
* [X86] Use "and $0" and "orl $-1" to store 0 and -1 when optimizing for minsizeHans Wennborg2016-03-253-1/+101
| | | | | | | | | | | | 64-bit, 32-bit and 16-bit move-immediate instructions are 7, 6, and 5 bytes, respectively, whereas and/or with 8-bit immediate is only three bytes. Since these instructions imply an additional memory read (which the CPU could elide, but we don't think it does), restrict these patterns to minsize functions. Differential Revision: http://reviews.llvm.org/D18374 llvm-svn: 264440
* [coff] Accept and ignore another link.exe flag for compatibilityReid Kleckner2016-03-252-0/+2
| | | | | | | | | | | This flag disables link.exe's crash handler so that normal windows error reporting and crash dumping occurs. For now it is reasonable for LLD to ignore the flag. Chromium is currently using this flag to collect minidumps of link.exe crashing, and it breaks the LLD build. llvm-svn: 264439
* [InstCombine] use FileCheck for better checkingSanjay Patel2016-03-251-5/+10
| | | | | | (testing script for autogeneration of check lines) llvm-svn: 264438
* [InstCombine] use FileCheck for better checkingSanjay Patel2016-03-251-23/+42
| | | | | | (testing script for autogeneration of check lines) llvm-svn: 264437
* [Object] Remove empty private section from BinaryError.Lang Hames2016-03-251-1/+0
| | | | llvm-svn: 264436
* [InstCombine] use FileCheck for better checkingSanjay Patel2016-03-251-2/+11
| | | | | | (testing script for autogeneration of check lines) llvm-svn: 264435
* [InstCombine] use FileCheck for better checkingSanjay Patel2016-03-251-1/+10
| | | | | | (testing script for autogeneration of check lines) llvm-svn: 264434
* [InstCombine] use FileCheck for better checkingSanjay Patel2016-03-251-7/+10
| | | | | | (testing script for autogeneration of check lines) llvm-svn: 264433
* [InstCombine] use FileCheck for better checkingSanjay Patel2016-03-251-5/+12
| | | | | | (testing script for autogeneration of check lines) llvm-svn: 264432
* [InstCombine] use FileCheck for better checkingSanjay Patel2016-03-251-1/+10
| | | | | | (testing script for autogeneration of check lines) llvm-svn: 264431
* [InstCombine] use FileCheck for better checkingSanjay Patel2016-03-251-6/+13
| | | | | | (testing script for autogeneration of check lines) llvm-svn: 264430
* Consider regmasks when computing register-based DBG_VALUE live rangesReid Kleckner2016-03-259-42/+194
| | | | | | | | | | | | | | Now register parameters that aren't saved to the stack or CSRs are considered dead after the first call. Previously the debugger would show whatever was in the register. Fixes PR26589 Reviewers: aprantl Differential Revision: http://reviews.llvm.org/D17211 llvm-svn: 264429
* [ASTMatchers] Fix build for VariadicFunction.Samuel Benzaquen2016-03-251-1/+1
| | | | | | | | Under some conditions the implicit conversion from array to ArrayRef<> is not working. Fix the build by making it explicit. llvm-svn: 264428
* [Kaleidoscope] Rename Error -> LogError in Chapters 2-5.Lang Hames2016-03-257-92/+92
| | | | | | | This keeps the naming consistent with Chapters 6-8, where Error was renamed to LogError in r264426 to avoid clashes with the new Error class in libSupport. llvm-svn: 264427
* [Kaleidoscope] Fix 'Error' name clashes.Lang Hames2016-03-255-103/+103
| | | | llvm-svn: 264426
* [Object] Start threading Error through MachOObjectFile construction.Lang Hames2016-03-255-115/+213
| | | | llvm-svn: 264425
* [InstCombine] consolidate regression tests of the ancients (2002)Sanjay Patel2016-03-255-44/+50
| | | | | | Testing out the check-generator-script that's now in the utils folder. llvm-svn: 264424
* [index] Remove redundancy between symbol kind and languageBen Langmuir2016-03-255-103/+107
| | | | | | | | | Condense the ObjCKIND and CXXKIND options into just KIND, since the language was already specified on a per-symbol basis and this information was redundant. This only changes the internal representation; naturally the libclang interface remains the same. llvm-svn: 264423
* fix IR function name regex to allow hyphensSanjay Patel2016-03-251-2/+2
| | | | llvm-svn: 264422
* Document the purpose of this testcase.Adrian Prantl2016-03-251-1/+2
| | | | llvm-svn: 264421
* Revert "[SetVector] Add erase() method"Jun Bum Lim2016-03-253-46/+0
| | | | | | This reverts commit r264414. llvm-svn: 264420
* Fix Narrowing conversion warning introduced by r264415Hemant Kulkarni2016-03-251-1/+1
| | | | llvm-svn: 264419
* Improve StringMap unittests: reintroduce move count, but shield against ↵Mehdi Amini2016-03-251-5/+12
| | | | | | | std::pair internals From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 264418
* [ASTMatchers] Add own version of VariadicFunction.Samuel Benzaquen2016-03-254-16/+53
| | | | | | | | | | | | | | | | Summary: llvm::VariadicFunction is only being used by ASTMatchers. Having our own copy here allows us to remove the other one from llvm/ADT. Also, we can extend the API to meet our needs without modifying the common implementation. Reviewers: alexfh Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D18275 llvm-svn: 264417
* Ensure that the StringMap does not grow during the test for ↵Mehdi Amini2016-03-251-0/+3
| | | | | | | pre-allocation/reserve From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 264416
* [llvm-readobj] Impl GNU style program headers printHemant Kulkarni2016-03-254-20/+304
| | | | | | | | readelf -lW Differential Revision: http://reviews.llvm.org/D18372 llvm-svn: 264415
* [SetVector] Add erase() methodJun Bum Lim2016-03-253-0/+46
| | | | | | | | | | | | | | | | | | | | Summary: Add erase() which returns an iterator pointing to the next element after the erased one. This makes it possible to erase selected elements while iterating over the SetVector : while (I != E) if (test(*I)) I = SetVector.erase(I); else ++I; Reviewers: qcolombet, mcrosier, MatzeB, dblaikie Subscribers: dberlin, dblaikie, mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D18281 llvm-svn: 264414
* Implement is_always_lock_freeJF Bastien2016-03-252-11/+133
| | | | | | | | | | | | | | | | | | Summary: This was voted into C++17 at the Jacksonville meeting. The final P0152R1 paper will be in the upcoming post-Jacksonville mailing, and is also available here: http://jfbastien.github.io/papers/P0152R1.html Reviewers: mclow.lists, rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D17951 llvm-svn: 264413
* Disable counting the number of move in the unittest, it seems to rely on ↵Mehdi Amini2016-03-252-4/+9
| | | | | | | move-construction elision From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 264412
* [SystemZ] Remove isBranch and isTerminator flags on BRCT and BRCTG.Jonas Paulsson2016-03-251-1/+1
| | | | | | | | The BranchUnaryRI instruction class already sets these flags. Reviewed by Ulrich Weigand. llvm-svn: 264411
* Revert "Bitcode: Collect all MDString records into a single blob"Duncan P. N. Exon Smith2016-03-2511-142/+50
| | | | | | | This reverts commit r264409 since it failed to bootstrap: http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_build/8302/ llvm-svn: 264410
* Bitcode: Collect all MDString records into a single blobDuncan P. N. Exon Smith2016-03-2511-50/+142
| | | | | | | | | | | | | | | | | | | | | | | Optimize output of MDStrings in bitcode. This emits them in big blocks (currently 1024) in a pair of records: - BULK_STRING_SIZES: the sizes of the strings in the block, and - BULK_STRING_DATA: a single blob, which is the concatenation of all the strings. Inspired by Mehdi's similar patch, http://reviews.llvm.org/D18342, this should (a) slightly reduce bitcode size, since there is less record overhead, and (b) greatly improve reading speed, since blobs are super cheap to deserialize. I needed to add support for blobs to streaming input to get the test suite passing. - StreamingMemoryObject::getPointer reads ahead and returns the address of the blob. - To avoid a possible reallocation of StreamingMemoryObject::Bytes, BitstreamCursor::readRecord needs to move the call to JumpToEnd forward so that getPointer is the last bitstream operation. llvm-svn: 264409
* [AArch64] Fix typo. NFC.Chad Rosier2016-03-251-2/+1
| | | | llvm-svn: 264408
* Enable non-power-of-2 #pragma unroll counts.David L Kreitzer2016-03-253-26/+72
| | | | | | | | Patch by Evgeny Stupachenko. Differential Revision: http://reviews.llvm.org/D18202 llvm-svn: 264407
* docs: Clearify that our release note describe the upcoming release of PollyTobias Grosser2016-03-251-3/+9
| | | | llvm-svn: 264406
* www: Directly link to our new SPHINX documentationTobias Grosser2016-03-251-1/+1
| | | | llvm-svn: 264405
OpenPOWER on IntegriCloud