summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [LoopUnroll] Use OptimizationRemarkEmitter directly not via the analysis passAdam Nemet2016-08-263-5/+9
| | | | | | | | | | | | | | | | We can't mark ORE (a function pass) preserved as required by the loop passes because that is how we ensure that the required passes like LazyBFI are all available any time ORE is used. See the new comments in the patch. Instead we use it directly just like the inliner does in D22694. As expected there is some additional overhead after removing the caching provided by analysis passes. The worst case, I measured was LNT/CINT2006_ref/401.bzip2 which regresses by 12%. As before, this only affects -Rpass-with-hotness and not default compilation. llvm-svn: 279829
* [InstCombine] rename variables in foldICmpDivConstant(); NFCSanjay Patel2016-08-261-29/+28
| | | | | | | | | | | Removing the redundant 'CmpRHSV' local variable exposes a bug in the caller foldICmpShrConstant() - it was sending in the div constant instead of the cmp constant. But I have not been able to expose this in a regression test yet - the affected folds all appear to be handled before we ever reach this code. I'll keep trying to find a case as I make changes to allow vector folds in both functions. llvm-svn: 279828
* Add support for -fdiagnostics-absolute-paths: printing absolute paths in ↵Hans Wennborg2016-08-2610-4/+50
| | | | | | | | diagnostics Differential Revision: https://reviews.llvm.org/D23816 llvm-svn: 279827
* Add space between access string and follow-up.Michael Kruse2016-08-264-6/+6
| | | | llvm-svn: 279826
* Add "New access function" to update_check.py classifier.Michael Kruse2016-08-261-0/+2
| | | | | | Lines with this prefix are printed by JSONImporter. llvm-svn: 279825
* Avoid the use of large unsigned values in isl unit testTobias Grosser2016-08-261-1/+3
| | | | | | | | | isl_val_int_from_ui takes an 'unsigned long' which has on 32-bit and LLP64 windows systems only 32 bit. Hence, make sure we do not use it with constants that are larger than 32 bit. Reported-by: Michael Kruse <llvm@meinersbur.de> llvm-svn: 279824
* [lib/LTO] Add an assertion to catch invalid opt levels.Davide Italiano2016-08-261-4/+5
| | | | llvm-svn: 279823
* [AArch64] Avoid materializing constant 1 by using csinc, rather than csel.Chad Rosier2016-08-263-6/+52
| | | | | | | | This is similar to what was done in r261675, but for CSINC rather than CSINV. Differential Revision: https://reviews.llvm.org/D23892 llvm-svn: 279822
* [FIX] Access dimensions should correspond to number of dimensions of the ↵Roman Gareev2016-08-262-4/+6
| | | | | | accesses array. llvm-svn: 279821
* Handle empty functions with debug info in load/store opt passPablo Barrio2016-08-262-1/+55
| | | | | | | | | | | | | | | | | | | | Summary: In fuctions that contained debug info but were empty otherwise, the ARM load/store optimizer could abort. This was because function MergeReturnIntoLDM handled the special case where a Machine Basic BLock is empty by calling MBB.empty(). However, this returns false in presence of debug info, although the function should be considered empty in the eyes of the load/store optimizer. This has been fixed by handling the case where searching through the block finds only debug instructions. Reviewers: rengolin, dexonsmith, llvm-commits, jmolloy Subscribers: t.p.northover, aemerson, rengolin, samparker Differential Revision: https://reviews.llvm.org/D23847 llvm-svn: 279820
* [compiler-rt][XRay] Remove unnecessary assertion.Dean Michael Berris2016-08-261-3/+0
| | | | | | This assert only causes issues with signed/unsigned comparisons. llvm-svn: 279819
* Revert " [compiler-rt] Allow c++ abi to be explictly disabled in cmake ↵Dean Michael Berris2016-08-261-1/+1
| | | | | | | | configuration" This reverts commit 6659b10799b287ad815e49c4f1b01abc4369b03d. llvm-svn: 279818
* unittests: Make the expected value the first argument in EXPECT_EQ [NFC]Tobias Grosser2016-08-261-33/+32
| | | | | | | | | | | This improves the readability of failing test results, as gtest prints always the first argument as the 'expected value'. In the previous commit we already changed the tests for isl_valFromAPInt. In this commit, the tests for IslValToAPInt follow. Suggested-by: Michael Kruse <llvm@meinersbur.de> llvm-svn: 279817
* [compiler-rt] Allow c++ abi to be explictly disabled in cmake configurationDean Michael Berris2016-08-261-1/+1
| | | | | | | | | | | | Summary: This will allow for the sanitizers to be used when c++ abi is unavailable. Reviewers: samsonov, beanz, pcc, rnk Subscribers: llvm-commits, kubabrecka, compnerd, dberris Differential Revision: https://reviews.llvm.org/D23376 llvm-svn: 279816
* Improve documentation and testing for isl_valFromAPIntTobias Grosser2016-08-263-5/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | The recent unit tests we gained made clear that the semantics of isl_valFromAPInt are not clear, due to missing documentation. In this change we document both the calling interface as well as the implementation of isl_valFromAPInt. We also make the implementation easier to read by removing integer wrappig in abs() when passing in the minimal integer value for a given bitwidth. Even though wrapping and subsequently interpreting the result as unsigned value gives the correct result, this is far from obvious. Instead, we explicitly add one more bit to the input type to ensure that abs will never wrap. This change did not uncover a bug in the old implementation, but was introduced to increase readability. We update the tests to add a test case for this special case and use this opportunity to also test a number larger than 64 bit. Finally, we order the arguments of the test cases to make sure the expected output is first. This helps readability in case of failing test cases as gtest assumes the first value to be the exected value. Reviewed-by: Michael Kruse <llvm@meinersbur.de> Differential Revision: https://reviews.llvm.org/D23917 llvm-svn: 279815
* [clang-tidy] Some tweaks on header guard checks.Haojian Wu2016-08-265-26/+34
| | | | | | | | * Implement missing storeOption interfaces. * Remove unnecessary parameter copy in isHeaderFileExtension. * Fix doc style. llvm-svn: 279814
* Improve documentation and testing of APIntFromValTobias Grosser2016-08-263-7/+133
| | | | | | | | | | | | | | The recent unit tests we gained made clear that the semantics of APIntFromVal are not clear, due to missing documentation. In this change we document both the calling interface as well as the implementation of APIntFromVal. We also make the implementation easier to read by removing the use of magic numbers. Finally, we add tests to check the bitwidth of the created values as well as the correct modeling of very large numbers. Reviewed-by: Michael Kruse <llvm@meinersbur.de> Differential Revision: https://reviews.llvm.org/D23910 llvm-svn: 279813
* Switch linux and android CODE_OWNERSPavel Labath2016-08-261-2/+2
| | | | | | | | | | | | | | Summary: Oleksiy is no longer active in LLDB, I'd like to formally assume ownership of the linux and android parts. Reviewers: ovyalov, clayborg Subscribers: tberghammer, danalbert, lldb-commits Differential Revision: https://reviews.llvm.org/D23877 llvm-svn: 279812
* [X86][SSE4A] The EXTRQ/INSERTQ bit extraction/insertion ops should be in the ↵Simon Pilgrim2016-08-263-8/+147
| | | | | | integer domain llvm-svn: 279811
* Implement support for --build-id=uuid switchEugene Leviant2016-08-266-2/+28
| | | | | | Differential revision: https://reviews.llvm.org/D23349 llvm-svn: 279810
* [ELF] Added test case for PROVIDE and PROVIDE_HIDDEN within sectionEugene Leviant2016-08-261-1/+8
| | | | llvm-svn: 279809
* Add cmake option to choose whether to use the builtin demanglerPavel Labath2016-08-262-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously the builting demangler was on for platforms that explicitly set a flag by modifying Mangled.cpp (windows, freebsd). The Xcode build always used builtin demangler by passing a compiler flag. This adds a cmake flag (defaulting to ON) to configure the demangling library used at build time. The flag is only available on non-windows platforms as there the system demangler is not present (in the form we're trying to use it, at least). The impact of this change is: - linux: switches to the builtin demangler - freebsd, windows: NFC (I hope) - netbsd: switches to the builtin demangler - osx cmake build: switches to the builtin demangler (matching the XCode build) The main motivation for this is the cross-platform case, where it should bring more consistency by removing the dependency on the host demangler (which can be completely unrelated to the debug target). Reviewers: zturner, emaste, krytarowski Subscribers: emaste, clayborg, lldb-commits Differential Revision: https://reviews.llvm.org/D23830 llvm-svn: 279808
* Implement getRandomBytes() functionEugene Leviant2016-08-263-0/+42
| | | | | | | | | This function allows getting arbitrary sized block of random bytes. Primary motivation is support for --build-id=uuid in lld. Differential revision: https://reviews.llvm.org/D23671 llvm-svn: 279807
* [X86][SSE] Add CMPSS/CMPSD intrinsic scalar load folding support.Craig Topper2016-08-262-0/+26
| | | | llvm-svn: 279806
* [compiler-rt][XRay] Initial per-thread inmemory logging implementationDean Michael Berris2016-08-268-5/+359
| | | | | | | | | | | | | | | | | | | | | | Depends on D21612 which implements the building blocks for the compiler-rt implementation of the XRay runtime. We use a naive in-memory log of fixed-size entries that get written out to a log file when the buffers are full, and when the thread exits. This implementation lays some foundations on to allowing for more complex XRay records to be written to the log in subsequent changes. It also defines the format that the function call accounting tool in D21987 will start building upon. Once D21987 lands, we should be able to start defining more tests using that tool once the function call accounting tool becomes part of the llvm distribution. Reviewers: echristo, kcc, rnk, eugenis, majnemer, rSerge Subscribers: sdardis, rSerge, dberris, tberghammer, danalbert, srhines, majnemer, llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D21982 llvm-svn: 279805
* Replace subregister uses when processing tied operandsMatt Arsenault2016-08-263-12/+36
| | | | | | | | | | | | | | | | | | | | | This was for some reason skipping operands that are subregisters instead of keeping the same subregister index. v_movreld_b32 expects src0 to be the subregister of the tied super register use/def. e.g. v_movreld_b32 v0, v9, <imp-def, tied3> v[0:3], <imp-use, tied2> v[0:3] was being replaced with v[4:7] = copy v[0:3] v_movreld_b32 v0, v9, <imp-def, tied3> v[4:7], <imp-use, tied2> v[4:7], which really writes to v[0:3] llvm-svn: 279804
* [clang-tidy] Added hh, hxx and hpp to header guard checks.Mads Ravn2016-08-267-9/+62
| | | | | | | | Changed the extension check to include the option of ",h,hh,hpp,hxx" instead of just returning whether the file ended with ".h". Differential revision: https://reviews.llvm.org/D20512 llvm-svn: 279803
* Include tests only if COMPILER_RT_BUILD_XRAY is ON.Dean Michael Berris2016-08-261-23/+25
| | | | | | | | This should un-break users that have not re-generated their CMake configs when they ran it when this was defaulted to OFF. Related to r277975 post-commit review. llvm-svn: 279802
* Fix singlton -> singleton typo.Eric Christopher2016-08-265-5/+5
| | | | llvm-svn: 279801
* Make all the Function implementations different so the compiler won't share ↵Jim Ingham2016-08-262-56/+54
| | | | | | | | | | | | | | them. Clang on ARM64 was making the three Function methods with identical bodies have one implementation that was shared. That threw off the count of breakpoints, since we don't count as separate locations three functions with the same address. I also cleaned up the test case while I was at it. <rdar://problem/27001915> llvm-svn: 279800
* Sort list of driver-known file extensions. It was previously approximatelyRichard Smith2016-08-261-25/+25
| | | | | | ordered by length then alphabetically; apply that order consistently. llvm-svn: 279799
* Additional update missed by r279793, should hopefully make the PPC sanitizer ↵Richard Smith2016-08-261-0/+1
| | | | | | bots happy again. llvm-svn: 279798
* Fix the static_assert added in r279536.Akira Hatanaka2016-08-261-2/+2
| | | | | | | | The assertion doesn't always hold true as sizeof(SDNodeBits) isn't equal to sizeof(uint16_t) for some targets. For example, sizeof(SDNodeBits) evaluates to 1, not 2, for ARM's APCS targets. llvm-svn: 279797
* [libFuzzer] simplify a test to make it pass on the botKostya Serebryany2016-08-261-1/+1
| | | | llvm-svn: 279796
* C++ Modules TS: add frontend support for building pcm files from moduleRichard Smith2016-08-2627-116/+296
| | | | | | | interface files. At the moment, all declarations (and no macros) are exported, and 'export' declarations are not supported yet. llvm-svn: 279794
* [sanitizer] enable random shuffling the memory chunks inside the allocator, ↵Kostya Serebryany2016-08-269-0/+63
| | | | | | under a flag. Set this flag for the scudo allocator, add a test. llvm-svn: 279793
* [libFuzzer] make sure we have symbols on fuzzer testsKostya Serebryany2016-08-251-1/+1
| | | | llvm-svn: 279792
* [asan] remove unused kAsanHeapRightRedzoneMagic (NFC); part 2 (sorry)Kostya Serebryany2016-08-251-1/+0
| | | | llvm-svn: 279790
* [asan] remove unused kAsanHeapRightRedzoneMagic (NFC)Kostya Serebryany2016-08-252-4/+0
| | | | llvm-svn: 279789
* Revert r274613 because it breaks the test suite with AVX512Michael Kuperstein2016-08-2514-481/+1108
| | | | | | | | | | | | This reverts most of r274613 (AKA r274626) and its follow-ups (r276347, r277289), due to miscompiles in the test suite. The FastISel change was left in, because it apparently fixes an unrelated issue. (Recommit of r279782 which was broken due to a bad merge.) This fixes 4 out of the 5 test failures in PR29112. llvm-svn: 279788
* [libFizzer] rename -print_new_cov_pcs=1 into -print_pcs=1 and make it more ↵Kostya Serebryany2016-08-257-12/+30
| | | | | | useful: print PCs only after the initial corpus has been read and symbolize them llvm-svn: 279787
* Widen type of __offset_flags in RTTI on Mingw64Reid Kleckner2016-08-252-4/+27
| | | | | | | | | | | | Otherwise we can't handle secondary base classes at offsets greater than 2**24. This agrees with libstdc++abi. We could extend this change to other LLP64 platforms, but then we would want to update libc++abi and it would require additional review. Fixes PR29116 llvm-svn: 279786
* Revert r279782 due to debug buildbot breakage.Michael Kuperstein2016-08-2514-1112/+480
| | | | llvm-svn: 279785
* Add a notification message in 'type lookup' when the current language ↵Enrico Granata2016-08-251-9/+19
| | | | | | | | doesn't yield results and one has to go across multiple languages to scan for types Fixes rdar://22422313 llvm-svn: 279784
* Fix ArrayRef initializer_list Ctor TestDavid Blaikie2016-08-251-1/+2
| | | | | | | | | | The InitializerList test had undefined behavior by creating a dangling pointer to the temporary initializer list. This patch removes the undefined behavior in the test by creating the initializer list directly. Reviewers: mehdi_amini, dblaikie Differential Revision: https://reviews.llvm.org/D23890 llvm-svn: 279783
* Revert r274613 because it breaks the test suite with AVX512Michael Kuperstein2016-08-2514-480/+1112
| | | | | | | | | | This reverts most of r274613 and its follow-ups (r276347, r277289), due to miscompiles in the test suite. The FastISel change was left in, because it apparently fixes an unrelated issue. This fixes 4 out of the 5 test failures in PR29112. llvm-svn: 279782
* [asan] fix windows botKostya Serebryany2016-08-251-0/+1
| | | | llvm-svn: 279781
* [sanitizer] add __sanitizer_symbolize_pc. ↵Kostya Serebryany2016-08-253-0/+47
| | | | | | https://github.com/google/sanitizers/issues/322 llvm-svn: 279780
* [StreamExecutor] Add Platform and PlatformManagerJason Henline2016-08-255-0/+154
| | | | | | | | | | | | Summary: Abstractions for a StreamExecutor platform Reviewers: jlebar Subscribers: jprice, parallel_libs-commits Differential Revision: https://reviews.llvm.org/D23857 llvm-svn: 279779
* [MemCpy] Add comments for r279769Tim Shen2016-08-252-1/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D23846 llvm-svn: 279778
OpenPOWER on IntegriCloud