summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [StaticAnalyzer] Fix some Clang-tidy modernize and Include What You Use ↵Eugene Zelenko2018-03-084-320/+336
| | | | | | warnings; other minor fixes (NFC). llvm-svn: 327074
* [DWARF] Fix mixing assembler -g with DWARF .file directives.Paul Robinson2018-03-082-15/+30
| | | | | | | | | | | We were effectively overriding an explicit '.file' directive with info for the assembler source. That shouldn't happen. Fixes PR36636. Differential Revision: https://reviews.llvm.org/D44265 llvm-svn: 327073
* [DebugInfo] Add DW_AT_byte_size to vectorsMatt Davis2018-03-082-1/+79
| | | | | | | | | | | | | | | | | | | | | | Summary: This patch adds the DW_AT_byte_size dwarf attribute to vectors. This fixes PR21924 LLVM will round a vector up to the next alignable address, which can result in the vector's representation in the object file being larger than what the debugger will calculate via NumberOfElements * ElementSize. In such a case calling sizeof(MyVec) in the source will result in a different value than what a debugger might present. This situation can occur because LLVM permits non-power of two 'vector_size' attributes. Reviewers: echristo, dexonsmith, aprantl Reviewed By: aprantl Subscribers: probinson, aprantl, llvm-commits, JDevlieghere Tags: #debug-info Differential Revision: https://reviews.llvm.org/D44048 llvm-svn: 327072
* [Reassociate] fix test to be independent of FP undefSanjay Patel2018-03-081-14/+17
| | | | llvm-svn: 327071
* [Support] Pacify -Wsign-compare in unit test.Benjamin Kramer2018-03-081-2/+2
| | | | llvm-svn: 327070
* [TargetLowering] Remove redundant if condition in SimplifySetcc. NFCCraig Topper2018-03-081-1/+1
| | | | | | We were checking the condition code a second time when we were already in a block with this same condition code check. llvm-svn: 327069
* [asan] Fix bug where suppression of overlapping accesses was ignored onDan Liew2018-03-085-9/+200
| | | | | | | | | | `strcpy()`, `strncpy()`, `strcat()`, and `strncat()`. rdar://problem/35576899 Differential Revision: https://reviews.llvm.org/D43702 llvm-svn: 327068
* [DebugInfo] Move RangeListEntries instead of copying.Benjamin Kramer2018-03-081-2/+2
| | | | | | | This is needed for correctness as RangeListEntry is not copy-assignable, which std::vector might rely on. llvm-svn: 327067
* [AMDGPU] fix test to survive more FP undef constant foldingSanjay Patel2018-03-081-5/+6
| | | | llvm-svn: 327066
* [NFC] Factor out a helper function for checking if a block has a potential ↵Philip Reames2018-03-084-10/+21
| | | | | | early implicit exit. llvm-svn: 327065
* Low-hanging fruit optimization in string::__move_assign().Vedant Kumar2018-03-082-6/+69
| | | | | | | | | | | | | | | shrink_to_fit() ends up doing a lot work to get information that we already know since we just called clear(). This change seems concise enough to be worth the couple extra lines and my benchmarks show that it is indeed a pretty decent win. It looks like the same thing is going on twice in __copy_assign_alloc(), but I didn't want to go overboard since this is my first contribution to llvm/libc++. Patch by Timothy VanSlyke! Differential Revision: https://reviews.llvm.org/D41976 llvm-svn: 327064
* Fix compilation failure with MSVC.Zachary Turner2018-03-081-1/+1
| | | | llvm-svn: 327063
* [asan] Fix a false positive ODR violation due to LTO ConstantMerge pass ↵Kuba Mracek2018-03-082-9/+17
| | | | | | | | | | [compiler-rt part, take 3] This fixes a false positive ODR violation that is reported by ASan when using LTO. In cases, where two constant globals have the same value, LTO will merge them, which breaks ASan's ODR detection. See the included testcase for an example. Differential Revision: https://reviews.llvm.org/D43959 llvm-svn: 327062
* [asan] Fix a false positive ODR violation due to LTO ConstantMerge pass ↵Kuba Mracek2018-03-082-0/+40
| | | | | | | | | | [llvm part, take 3] This fixes a false positive ODR violation that is reported by ASan when using LTO. In cases, where two constant globals have the same value, LTO will merge them, which breaks ASan's ODR detection. Differential Revision: https://reviews.llvm.org/D43959 llvm-svn: 327061
* Fix signed-unsigned comparison warning.Zachary Turner2018-03-081-1/+1
| | | | llvm-svn: 327060
* [DWARF v5] Support for verbose dumping of .debug_rnglist entriesWolfgang Pieb2018-03-0811-69/+211
| | | | | | | | | | | | | | | | Adding verbose dumping to the recent implementation of dumping of v5 range list entries. We're capturing the entries as is as they come in during extraction, including their file offset, so we can dump them in more detail. The offset table entries which are table-relative are shown as is (as in non-verbose mode) and with the actual file offset they map to. Reviewers: dblaikie, aprantl, jdevlieghere, jhenderson Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D43366 llvm-svn: 327059
* [ConstantFold] fp_binop undef, undef --> undefSanjay Patel2018-03-085-14/+19
| | | | | | | | | | | | | | | | | These are uncontroversial and independent of a proposed LangRef edits (D44216). I tried to fix tests that would fold away: rL327004 rL327028 rL327030 rL327034 I'm not sure if the Reassociate tests are meaningless yet, but they probably will be as we add more folds, so if anyone has suggestions or wants to fix those, please do. Differential Revision: https://reviews.llvm.org/D44258 llvm-svn: 327058
* [Support] Add WriteThroughMemoryBuffer.Zachary Turner2018-03-086-15/+151
| | | | | | | | | | | This is like MemoryBuffer (read-only) and WritableMemoryBuffer (writable private), but where the underlying file can be modified after writing. This is useful when you want to open a file, make some targeted edits, and then write it back out. Differential Revision: https://reviews.llvm.org/D44230 llvm-svn: 327057
* [llvm-mca] Fix handling of zero-latency instructions.Andrea Di Biagio2018-03-086-5/+102
| | | | | | | | | | | | | | | | | | | | This patch fixes a problem found when testing zero latency instructions on target AArch64 -mcpu=exynos-m3 / -mcpu=exynos-m1. On Exynos-m3/m1, direct branches are zero-latency instructions that don't consume any processor resources. The DispatchUnit marks zero-latency instructions as "executed", so that no scheduling is required. The event of instruction executed is then notified to all the listeners, and the reorder buffer (managed by the RetireControlUnit) is updated. In particular, the entry associated to the zero-latency instruction in the reorder buffer is marked as executed. Before this patch, the DispatchUnit forgot to assign a retire control unit token (RCUToken) to the zero-latency instruction. As a consequence, the RCUToken was used uninitialized. This was causing a crash in the RetireControlUnit logic. Fixes PR36650. llvm-svn: 327056
* Revert r327053.Kuba Mracek2018-03-082-37/+0
| | | | llvm-svn: 327055
* [X86][AVX] Pull out variable permute creation from ↵Simon Pilgrim2018-03-081-136/+140
| | | | | | | | LowerBUILD_VECTORAsVariablePermute. NFCI. This will make it easier to handle more complex cases than basic scaling or index masks. llvm-svn: 327054
* [asan] Fix a false positive ODR violation due to LTO ConstantMerge pass ↵Kuba Mracek2018-03-082-0/+37
| | | | | | | | | | [llvm part, take 2] This fixes a false positive ODR violation that is reported by ASan when using LTO. In cases, where two constant globals have the same value, LTO will merge them, which breaks ASan's ODR detection. Differential Revision: https://reviews.llvm.org/D43959 llvm-svn: 327053
* [test] Skip a test when using an out-of-tree debugserverVedant Kumar2018-03-086-0/+22
| | | | | | | | | | | | | | | | | | | | The test "test_fp_special_purpose_register_read" in TestRegisters.py fails on Darwin machines configured to use an out-of-tree debugserver. The error message is: 'register read ftag' returns expected result, got 'ftag = 0x80'. This indicates that the debugserver in use is too old. This commit introduces a decorator which can be used to skip tests which rely on having a just-built debugserver. This resolves the issue: $ ./bin/llvm-dotest -p TestRegisters.py -v 1 out of 617 test suites processed - TestRegisters.py Test Methods: 7 Success: 6 Skip: 1 ... llvm-svn: 327052
* Specify that test from r327041 requires assertsVlad Tsyrklevich2018-03-081-0/+1
| | | | llvm-svn: 327051
* Fix detection of COFF executable files.Zachary Turner2018-03-081-8/+6
| | | | | | | | | | | | One overload of this function would try to identify a file by opening it and using the first 32 bytes to identify the magic of the file. This didn't work properly when more than 32 bytes is actually needed for magic detection to succeed. So now we have this overload read in the entire file. Differential Revision: https://reviews.llvm.org/D44225 llvm-svn: 327050
* Resubmit "Write a hash of the executable into the PE timestamp fields."Zachary Turner2018-03-084-18/+54
| | | | | | | | | This fixes the broken tests that were causing failures. The tests before were verifying that the time stamp was 0, but now that we are actually writing a timestamp, I just removed the match against the timestamp value. llvm-svn: 327049
* [DebugInfo] Add verifier for DICompositeType vectorMatt Davis2018-03-082-0/+44
| | | | | | | | | | | | | | | | | | | Summary: This patch adds verification logic for DICompositeType vectors, ensuring that they only have one element, and that element is of type subrange. This patch complements https://reviews.llvm.org/D44048 Reviewers: aprantl Reviewed By: aprantl Subscribers: JDevlieghere, llvm-commits Tags: #debug-info Differential Revision: https://reviews.llvm.org/D44262 llvm-svn: 327048
* Fix test failure introduced in r327041Vlad Tsyrklevich2018-03-081-1/+1
| | | | | | | The "Assertion: `...' failed" error message format is not identical across platforms. llvm-svn: 327047
* [MemorySSA] Split PtrIntPair as this fails on win/arm.Alina Sbirlea2018-03-081-21/+7
| | | | | | | | | | Summary: Split PtrIntPair into Instruction and OptionalAlias<Result>. The latter needs 3 bits, which appear unavailable on certain archs. Subscribers: sanjoy, jlebar, Prazek, llvm-commits, kristof.beyls Differential Revision: https://reviews.llvm.org/D44268 llvm-svn: 327046
* amdgcn,popcount: Workaround broken llvm.ctpop intrinsic on some GCN ASICsJan Vesely2018-03-083-0/+24
| | | | | | | | | | This is only really needed for VI+ ASICs. However, llvm would cast the value to i32 for older asics anyway. The proper fix is in LLVM-7 (r326535). Fixes CTS popcount on carrizo. Reviewer: Aaron Watry <awatry@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 327044
* integer/gentype: Add __CLC_VECSIZE macroJan Vesely2018-03-081-0/+96
| | | | | | Reviewer: Aaron Watry <awatry@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 327043
* popcount: Provide function implementation rather than intrinsic redirectJan Vesely2018-03-087-6/+21
| | | | | | | | amdgcn will need to override this Reviewer: Aaron Watry <awatry@gmail.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 327042
* [ThinLTO] Keep available_externally symbols liveVlad Tsyrklevich2018-03-084-3/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This change fixes PR36483. The bug was originally introduced by a change that marked non-prevailing symbols dead. This broke LowerTypeTests handling of available_externally functions, which are non-prevailing. LowerTypeTests uses liveness information to avoid emitting thunks for unused functions. Marking available_externally functions dead is incorrect, the functions are used though the function definitions are not. This change keeps them live, and lets the EliminateAvailableExternally/GlobalDCE passes remove them later instead. I've also enabled EliminateAvailableExternally for all optimization levels, I believe it being disabled for O1 was an oversight. Reviewers: pcc, tejohnson Reviewed By: tejohnson Subscribers: grimar, mehdi_amini, inglorion, eraman, llvm-commits Differential Revision: https://reviews.llvm.org/D43690 llvm-svn: 327041
* [OpenMP][libomptarget] Fix union.Gheorghe-Teodor Bercea2018-03-082-45/+41
| | | | | | | | | | | | | | Summary: To make the two parts of the union have the same size, the size of vect needs to be increased by 16 bits. Reviewers: grokos, carlo.bertolli, caomhin, ABataev Reviewed By: grokos, ABataev Subscribers: fedor.sergeev, guansong, openmp-commits Differential Revision: https://reviews.llvm.org/D44254 llvm-svn: 327040
* [InstCombine] add min/max tests with not ops; NFCSanjay Patel2018-03-081-44/+108
| | | | | | | | | | These are based on: https://bugs.llvm.org/show_bug.cgi?id=35875 It's not clear if/how instcombine can reduce these, but we should have the tests here either way to document current behavior. llvm-svn: 327039
* More revert of r327031Kuba Mracek2018-03-081-0/+0
| | | | llvm-svn: 327038
* [Hexagon] Ignore indexed loads when handling unaligned loadsKrzysztof Parzyszek2018-03-082-3/+71
| | | | llvm-svn: 327037
* [Tests] Remove empty test file that causes the test suite to failDavid Zarzycki2018-03-081-0/+0
| | | | | | | This empty file was "created" by r327033, which attempted to revert r327029, which introduced the file. llvm-svn: 327036
* Expose must/may alias info in MemorySSA.Alina Sbirlea2018-03-083-39/+321
| | | | | | | | | | | | | | | | Summary: Building MemorySSA gathers alias information for Defs/Uses. Store and expose this information when optimizing uses (when building MemorySSA), and when optimizing defs or updating uses (getClobberingMemoryAccess). Current patch does not propagate alias information through MemoryPhis. Reviewers: gbiv, dberlin Subscribers: Prazek, sanjoy, llvm-commits Differential Revision: https://reviews.llvm.org/D38569 llvm-svn: 327035
* [AMDGPU] fix test to survive the most basic undef constant foldingSanjay Patel2018-03-081-1/+1
| | | | | | | This will likely need to be changed again for anything more than: fmul undef, undef -> undef llvm-svn: 327034
* Revert r327029Kuba Mracek2018-03-082-36/+0
| | | | llvm-svn: 327033
* Revert r327031Kuba Mracek2018-03-082-17/+9
| | | | llvm-svn: 327032
* [asan] Fix a false positive ODR violation due to LTO ConstantMerge pass ↵Kuba Mracek2018-03-082-9/+17
| | | | | | | | | | [compiler-rt part] This fixes a false positive ODR violation that is reported by ASan when using LTO. In cases, where two constant globals have the same value, LTO will merge them, which breaks ASan's ODR detection. Differential Revision: https://reviews.llvm.org/D43959 llvm-svn: 327031
* [x86] fix test to be independent of FP undef Sanjay Patel2018-03-081-10/+11
| | | | llvm-svn: 327030
* [asan] Fix a false positive ODR violation due to LTO ConstantMerge pass ↵Kuba Mracek2018-03-082-0/+36
| | | | | | | | | | [llvm part] This fixes a false positive ODR violation that is reported by ASan when using LTO. In cases, where two constant globals have the same value, LTO will merge them, which breaks ASan's ODR detection. Differential Revision: https://reviews.llvm.org/D43959 llvm-svn: 327029
* [StructurizeCFG] fix test to be independent of FP undefSanjay Patel2018-03-081-5/+7
| | | | llvm-svn: 327028
* [llvm-mca] add override keyword to method ResourcePressureView::printView().Andrea Di Biagio2018-03-081-1/+1
| | | | | | NFC. llvm-svn: 327027
* [x86] regenerate checks; NFCSanjay Patel2018-03-081-4/+20
| | | | | | This test will fail if we fix FP undef constant folding. llvm-svn: 327026
* [llvm-mca] HWEventListener is a class, not struct.Andrea Di Biagio2018-03-082-2/+2
| | | | | | This should appease the buildbots. llvm-svn: 327025
* merge-request.sh: Update 6.0 metabug for 6.0.1Tom Stellard2018-03-081-1/+1
| | | | llvm-svn: 327024
OpenPOWER on IntegriCloud