summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [Driver] Consider -fno-sanitize=... state when filtering out ↵Petr Hosek2017-07-212-1/+13
| | | | | | | | | | | | | | | | -fsanitize-coverage=... The driver ignores -fsanitize-coverage=... flags when also given -fsanitize=... flags for sanitizer flavors that don't support the coverage runtime. This logic failed to account for subsequent -fno-sanitize=... flags that disable the sanitizer flavors that conflict with -fsanitize-coverage=... flags. Patch by Roland McGrath Differential Revision: https://reviews.llvm.org/D35603 llvm-svn: 308707
* [ELF] Remove processNonSectionCommandsPetr Hosek2017-07-212-10/+0
| | | | | | | | This method is no longer being used anywhere. Differential Revision: https://reviews.llvm.org/D35706 llvm-svn: 308706
* [CMake] Use ABI version 2 for C++ library in FuchsiaPetr Hosek2017-07-211-0/+1
| | | | | | | | | Fuchsia has always been using ABI version 2 but I forgot this option when setting up the cache file for runtimes build. Differential Revision: https://reviews.llvm.org/D35705 llvm-svn: 308705
* [DWARF] Generalized verification of .debug_abbrev to be applicable to both ↵Spyridoula Gravani2017-07-214-23/+90
| | | | | | | | .debug_abbrev and .debug_abbrev.dwo sections. Differential Revision: https://reviews.llvm.org/D35698 llvm-svn: 308703
* [AVX-512] Fix a bug that prevented some non-temporal loads from using the ↵Craig Topper2017-07-212-33/+12
| | | | | | | | movntdqa instruction. The bitconverts here had an input type of 128-bits and an output type of 256 bits. The input type should also have been 256 bits. llvm-svn: 308702
* [XRay][compiler-rt] Update test to account for change in logging format.Dean Michael Berris2017-07-211-1/+1
| | | | | | | Fixes build breakage for some bots after we've started logging both the process id and the thread id. llvm-svn: 308701
* Explicitly disable libxml2 on android.Eric Beckmann2017-07-201-1/+1
| | | | llvm-svn: 308699
* Generate a compile_commands.json DB for external projects.George Karpenkov2017-07-201-0/+1
| | | | | | | | | | | compile_commands.json file is very useful both for tooling and for reproducible builds. For files generated from recursive CMake invocation this information was not previously generated. Differential Review: https://reviews.llvm.org/D35219 llvm-svn: 308698
* [AArch64] Adjust the cost model for Exynos M1 and M2Evandro Menezes2017-07-201-10/+16
| | | | | | | Add the cost for the EXT instructions and explicitly add the cost for a few instructions that were implied by the coarse model. llvm-svn: 308697
* Only defined CombinedRoot if libxml2 is used.Eric Beckmann2017-07-201-0/+2
| | | | llvm-svn: 308694
* Whitespace.NAKAMURA Takumi2017-07-201-8/+7
| | | | llvm-svn: 308693
* [ELF] Align the value if needed when computing the expressionPetr Hosek2017-07-203-2/+31
| | | | | | | | | Also add the test cases for the addition and subtraction both for the relative and absolute case. Differential Revision: https://reviews.llvm.org/D35346 llvm-svn: 308692
* lld matching change for llvm change r308690 to add error handling toKevin Enderby2017-07-201-1/+4
| | | | | | the dyld compact export entries in libObject. llvm-svn: 308691
* Add error handling to the dyld compact export entries in libObject.Kevin Enderby2017-07-2017-31/+218
| | | | | | | | | | | | | | | | | | | | | lld needs a matching change for this will be my next commit. Expect it to fail build until that matching commit is picked up by the bots. Like the changes in r296527 for dyld bind entires and the changes in r298883 for lazy bind, weak bind and rebase entries the export entries are the last of the dyld compact info to have error handling added. This follows the model of iterators that can fail that Lang Hanes designed when fixing the problem for bad archives r275316 (or r275361). So that iterating through the exports now terminates if there is an error and returns an llvm::Error with an error message in all cases for malformed input. This change provides the plumbing for the error handling, all the needed testing of error conditions and test cases for all of the unique error messages. llvm-svn: 308690
* Only enable libxml2 on linux, because systems like android lack libiconvEric Beckmann2017-07-201-1/+1
| | | | llvm-svn: 308689
* Recommit: GlobalISel: select G_EXTRACT and G_INSERT instructions on AArch64.Tim Northover2017-07-202-1/+103
| | | | | | | | It revealed a bug in the Localizer pass which has now been fixed. This includes the fix for SUBREG_TO_REG committed separately last time. llvm-svn: 308688
* GlobalISel: stop localizer putting constants before EH_LABELsTim Northover2017-07-202-1/+50
| | | | | | | | If the localizer pass puts one of its constants before the label that tells the unwinder "jump here to handle your exception" then control-flow will skip it, leaving uninitialized registers at runtime. That's bad. llvm-svn: 308687
* Add a missing tool dependency.Rui Ueyama2017-07-201-1/+1
| | | | | | This dependency was introduced in r308681. llvm-svn: 308686
* Make a file end with n and remove trailing whitespace.Rui Ueyama2017-07-201-1/+0
| | | | llvm-svn: 308685
* [clang-format] Put '/**' and '*/' on own lines in multiline jsdocsKrasimir Georgiev2017-07-205-3/+205
| | | | | | | | | | | | Reviewers: mprobst Reviewed By: mprobst Subscribers: cfe-commits, klimek Differential Revision: https://reviews.llvm.org/D35683 llvm-svn: 308684
* [mips] Add support for -m(no-)local-sdataSimon Dardis2017-07-203-0/+32
| | | | | | | | | | | Teach the driver to support -mlocal-sdata. The backend already matches GCC's default behaviour. Reviewers: atanasyan, slthakur Differential Revision: https://reviews.llvm.org/D35549 llvm-svn: 308683
* Make tests always depend on llvm-mt, because some tests are run even w/oEric Beckmann2017-07-201-6/+1
| | | | | | xml2. llvm-svn: 308682
* Fix symbol type with icf.Rafael Espindola2017-07-203-2/+22
| | | | | | | | | | We were not looking at Repl and so thinking there was no output section associated with the merged symbol. Because of that it was produced as absolute. This was found by an internal round of testing. llvm-svn: 308681
* Do not strip SHF_GROUP in elf::decompressAndMergeSections().Rui Ueyama2017-07-201-4/+3
| | | | | | | | SHF_GROUP flag should have been removed when the control reaches here because InputSectionBase turns the flag off. So this code should be redundant. llvm-svn: 308680
* Implement parsing and writing of a single xml manifest file.Eric Beckmann2017-07-2016-6/+251
| | | | | | | | | | Summary: Implement parsing and writing of a single xml manifest file. Subscribers: mgorny, llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D35425 llvm-svn: 308679
* [clang-tools-extra] Add support for plain C structs in clang-reorder-fieldsAlexander Shaposhnikov2017-07-202-13/+32
| | | | | | | | | | | This diff updates the tool clang-reorder-fields to enable reordering of fields of plain C structs. Test plan: make check-all Differential revision: https://reviews.llvm.org/D35329 llvm-svn: 308678
* Add end-to-end tests for overflows of byval arguments.Vitaly Buka2017-07-203-0/+97
| | | | | | | | | | | | | | | | | | Summary: Included is one test for passing structs by value and one test for passing C++ objects by value. Submitted on behalf of Matt Morehouse. Reviewers: eugenis, vitalybuka Reviewed By: eugenis Subscribers: srhines, kubamracek, llvm-commits Differential Revision: https://reviews.llvm.org/D34827 llvm-svn: 308677
* Revert "Add MemoryMappedSection struct for two-level memory map iteration"Francis Ricci2017-07-202-57/+9
| | | | | | | | This probably broke lib0 tsan unit test on 10.11 buildbots This reverts commit 35ad307c385e384f47a7fb348c14b3602d3a33c4. llvm-svn: 308676
* [NVPTX] Add lowering of i128 params.Artem Belevich2017-07-208-15/+129
| | | | | | | | | | | | | | | | | The patch adds support of i128 params lowering. The changes are quite trivial to support i128 as a "special case" of integer type. With this patch, we lower i128 params the same way as aggregates of size 16 bytes: .param .b8 _ [16]. Currently, NVPTX can't deal with the 128 bit integers: * in some cases because of failed assertions like ValVTs.size() == OutVals.size() && "Bad return value decomposition" * in other cases emitting PTX with .i128 or .u128 types (which are not valid [1]) [1] http://docs.nvidia.com/cuda/parallel-thread-execution/index.html#fundamental-types Differential Revision: https://reviews.llvm.org/D34555 Patch by: Denys Zariaiev (denys.zariaiev@gmail.com) llvm-svn: 308675
* AMDGPU: Rename _RTN atomic instructionsMatt Arsenault2017-07-202-26/+26
| | | | | | | | | | | Move the _RTN to the end of the name. It reads better if the other addressing mode components line up with the non-RTN version. It is also more convenient to define saddr variants of FLAT atomics to have the RTN last, and it is good to have a consistent naming scheme. llvm-svn: 308674
* Add an ID field to StackObjectsMatt Arsenault2017-07-2020-77/+271
| | | | | | | | | | | | | | | | | | | | | On AMDGPU SGPR spills are really spilled to another register. The spiller creates the spills to new frame index objects, which is used as a placeholder. This will eventually be replaced with a reference to a position in a VGPR to write to and the frame index deleted. It is most likely not a real stack location that can be shared with another stack object. This is a problem when StackSlotColoring decides it should combine a frame index used for a normal VGPR spill with a real stack location and a frame index used for an SGPR. Add an ID field so that StackSlotColoring has a way of knowing the different frame index types are incompatible. llvm-svn: 308673
* [X86] Adding ISel tests for strided-shuffles with non-zero offset. NFC.Zvi Rackover2017-07-203-0/+3641
| | | | llvm-svn: 308672
* Changed EOL back to LF. NFC.Artem Belevich2017-07-202-7832/+7832
| | | | llvm-svn: 308671
* Generate error reports when a fuzz target exits.Matt Morehouse2017-07-2021-20/+59
| | | | | | | | | | | | | | | | | | | | | | Summary: Implements https://github.com/google/sanitizers/issues/835. Flush stdout before exiting in test cases. Since the atexit hook is used for exit reports, pending prints to stdout can be lost if they aren't flushed before calling exit(). Expect tests to have non-zero exit code if exit() is called. Reviewers: vitalybuka, kcc Reviewed By: kcc Subscribers: eraman, llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D35602 llvm-svn: 308669
* [PGO] Move the PGOInstrumentation pass to new OptRemark API.Davide Italiano2017-07-202-6/+6
| | | | | | This fixes PR33791. llvm-svn: 308668
* [CodeGen][mips] Support `long_call/far/near` attributesSimon Atanasyan2017-07-2010-45/+176
| | | | | | | | | | | This patch adds support for the `long_call`, `far`, and `near` attributes for MIPS targets. The `long_call` and `far` attributes are synonyms. All these attributes override `-mlong-calls` / `-mno-long-calls` command line options for particular function. Differential revision: https://reviews.llvm.org/D35479 llvm-svn: 308667
* [PEI] Fix refactoring from r308664Francis Visoiu Mistrih2017-07-201-1/+1
| | | | llvm-svn: 308666
* [COFF, ARM64, CodeView] Add support to emit CodeView debug info for ARM64 COFFMandeep Singh Grang2017-07-208-1/+156
| | | | | | | | | | | | Reviewers: compnerd, ruiu, rnk, zturner Reviewed By: rnk Subscribers: majnemer, aemerson, aprantl, javed.absar, kristof.beyls, llvm-commits Differential Revision: https://reviews.llvm.org/D35518 llvm-svn: 308665
* [PEI] Separate saving and restoring CSRs into different functions. NFCFrancis Visoiu Mistrih2017-07-201-66/+51
| | | | | | | | | | | Split insertCSRSpillsAndRestores into insertCSRSaves + insertCSRRestores. This is mostly useful for future shrink-wrapping improvements where we want to save / restore a specific part of the CSRs in a specific block. Differential Revision: https://reviews.llvm.org/D35644 llvm-svn: 308664
* [libFuzzer] delete stale codeKostya Serebryany2017-07-201-23/+0
| | | | llvm-svn: 308663
* [clang] Fix handling of "%zd" in scanfAlexander Shaposhnikov2017-07-203-9/+40
| | | | | | | | | | | | | This diff addresses FIXMEs in lib/Analysis/ScanfFormatString.cpp for the case of ssize_t format specifier and adds tests. In particular, this change enables Clang to emit a warning on incorrect using of "%zd"/"%zn". Test plan: make check-all Differential revision: https://reviews.llvm.org/D35652 llvm-svn: 308662
* [SPARC] Clean up the support for disabling fsmuld and fmuls instructions.James Y Knight2017-07-2011-292/+63
| | | | | | | | | | | | | | | | | Summary: Also enable no-fsmuld for sparcv7 (which doesn't have the instruction). The previous code which used a post-processing pass to do this was unnecessary; disabling the instruction is entirely sufficient. Reviewers: jacob_hansen, ekedaigle Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D35576 llvm-svn: 308661
* [tsan] Update unittest for logging changes of r308637Vitaly Buka2017-07-201-2/+2
| | | | llvm-svn: 308660
* [IslNodeBuilder] Relax complexity check in invariant loads and run it earlyTobias Grosser2017-07-204-93/+111
| | | | | | | | | | | | | | | | | | | | | | | | When performing invariant load hoisting we check that invariant load expressions are not too complex. Up to this commit, we performed this check by counting the sum of dimensions in the access range as a very simple heuristic. This heuristic is a little too conservative, as it prevents hoisting for any scops with a very large number of parameters. Hence, we update the heuristic to only count existentially quantified dimensions and set dimensions. We expect this to still detect the problematic expressions in h264 because of which this check was originally introduced. For some unknown reason, this complexity check was originally committed in IslNodeBuilder. It really belongs in ScopInfo, as there is no point in optimizing a program which we could have known earlier cannot be code generated. The benefit of running the check early is that we can avoid to even hoist checks that are expensive to code generate as invariant loads. This can be seen in the changed tests, where we now indeed detect the scop, but just not invariant load hoist the complicated access. We also improve the formatting of the code, document it, and use isl++ to simplify expressions. llvm-svn: 308659
* Implement LaneBitmask::getNumLanes and LaneBitmask::getHighestLaneKrzysztof Parzyszek2017-07-205-12/+14
| | | | | | | This should eliminate most uses of countPopulation and Log2_32 on the lane mask values. llvm-svn: 308658
* [X86] Allow masks with more than 6 bits set on the x << (y & mask) ↵Craig Topper2017-07-202-2/+1
| | | | | | optimization for the 64-bit memory shifts. llvm-svn: 308657
* [X86] Add test case to demonstrate that we don't allow masks wider than 6 ↵Craig Topper2017-07-201-0/+15
| | | | | | | | | | bits in the (shift x, (and y, mask)) patterns for the 64-bit memory form. We allow wider than 5 bits in the 16 and 32 bit store forms. And we allow wider than 6 bits on the 64-bit regsiter form.:w I'm assuming this was a mistake made back in r148024. llvm-svn: 308656
* Use LaneBitmask::getLane in a few more placesKrzysztof Parzyszek2017-07-202-3/+3
| | | | llvm-svn: 308655
* [compiler-rt] Use NOINLE to shrink stack framesVitaly Buka2017-07-201-5/+7
| | | | llvm-svn: 308654
* [libFuzzer] make sure CheckExitOnSrcPosOrItem is called after the new input ↵Kostya Serebryany2017-07-202-4/+6
| | | | | | is saved to the corpus llvm-svn: 308653
OpenPOWER on IntegriCloud