summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [fuzzer] Fix reload.test on Linux/aarch64Adhemerval Zanella2019-04-241-2/+2
| | | | | | | | | | The compiler generates a 'brk' instruction for __builtin_trap on aarch64 and Linux kernel issues a SIGTRAP. It is different from x86, where compiler emits an 'ud2' and kernel issues a SIGILL. A straightforward is to use abort instead. llvm-svn: 359126
* [compiler-rt] Fix warning about virtual destructor in sanitizer_flag_parser.hVitaly Buka2019-04-241-0/+3
| | | | llvm-svn: 359125
* [EditLineTests] Call setenv() before editline is initialized.Davide Italiano2019-04-241-3/+5
| | | | llvm-svn: 359124
* [llvm-symbolizer] Quick fix for broken sanitizer botMitch Phillips2019-04-241-0/+1
| | | | | | | | | | | | | | | | | | | (sanitizer-x86_64-linux) until I can triage the issue properly. The build has been broken due to the symbolizer build checks failing. As the symbolizer build script relies on the old svn repo layout, it may take a little while longer to find the responsible patch for the breakage. This may be a completely valid fix, but I will need to confirm it. For now, it unbreaks the build. Tracking data: Build where the break first occurred: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/21211 Changelist authors: @grimar, @maskray, @whitequark, @spatel, @dpreobra For the authors, no action needed (yet). Will follow up when I can identify the cause. llvm-svn: 359123
* DebugInfo: Emit only declarations (not whole definitions) of non-unit user ↵David Blaikie2019-04-247-13/+126
| | | | | | | | | | | | | | | | | | | | defined types into type units While this doesn't come up in reasonable cases currently (the only user defined types not in type units are ones without linkage - which makes for near-ODR violations, because it'd be a type with linkage referencing a type without linkage - such a type can't be validly defined in more than one TU, so arguably it shouldn't be in a type unit to begin with - but it's a convenient way to demonstrate an issue that will become more revalent with homed modular debug info type definitions - which also don't need to be in type units but more legitimately so). Precursor to the Clang change to de-type-unit (by omitting the 'identifier') types homed due to strong linkage vtables. (making that change without this one would lead to major type duplication in type units) llvm-svn: 359122
* [X86] Remove dead nodes left after ReplaceAllUsesWith calls during address ↵Craig Topper2019-04-243-26/+31
| | | | | | | | | | | | matching ReplaceAllUsesWith doesn't remove the node that was replaced. So its left around in the graph messing up use counts on other nodes. One thing to note, is that this isn't valid if the node being deleted is the root node of an LEA match that gets rejected. In that case the node needs to stay alive because the isel table walking code would still have a reference to it that its going to try to match next. I don't think that's the case here though because the nodes being deleted here should be "and", "srl", and "zero_extend" none of which can be the root node of an LEA match. Differential Revision: https://reviews.llvm.org/D61048 llvm-svn: 359121
* [lldb] Use local definition of get_cpuid_countJoseph Tremoulet2019-04-241-1/+18
| | | | | | | | | | | | | | | | | | Summary: This is needed for gcc/cstdlib++ 5.4.0, where __get_cpuid_count is not defined in cpuid.h. Reviewers: labath Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D61036 llvm-svn: 359120
* Add std::is_constant_evaluated.Eric Fiselier2019-04-2410-10/+103
| | | | | | | | | Clang recently added __builtin_is_constant_evaluated() and GCC 9.0 has it as well. This patch adds support for it in libc++. llvm-svn: 359119
* [DataFormatters] Adjusting libc++ std::list formatter to act better with ↵Shafik Yaghmour2019-04-243-2/+7
| | | | | | | | | | | | | pointers and references and adding a test to cover a previous related fix Summary: This previous fix https://github.com/llvm-mirror/lldb/commit/5469bda296c183d1b6bf74597c88c9ed667b3145 did not have a test since we did not have a reproducer. This is related to how formatters deal with pointers and references. The added tests both the new behavior and covers the previous bug fix as well. Differential Revision: https://reviews.llvm.org/D60588 llvm-svn: 359118
* [AMDGPU] gfx1010 sgpr register changesStanislav Mekhanoshin2019-04-2411-43/+138
| | | | | | Differential Revision: https://reviews.llvm.org/D61045 llvm-svn: 359117
* [X86][SSE] Add tests for bitcasting vXi1 bool vectors to non-simple types.Simon Pilgrim2019-04-241-0/+2319
| | | | llvm-svn: 359116
* [JITLink] Add support for passing arguments to jit-linked code.Lang Hames2019-04-241-2/+13
| | | | | | | | | | | | | | The --args option can now be used to pass arguments to code linked with llvm-jitlink. E.g. $ llvm-jitlink file1.o file2.o --args a b c is equivalent to: $ ld -o program file1.o file2.o $ ./program a b c llvm-svn: 359115
* [LLVM-C] Deprecate the LLVMValueRef-returning metadata creation functionsRobert Widmann2019-04-242-21/+31
| | | | | | | | | | | | | | | | Summary: There is still some value in using these functions while the remaining LLVMValueRef-based accessors are still around, but LLVMMDNodeInContext in particular has some wonky semantics that make it worth replacing outright. Reviewers: whitequark, deadalnix Reviewed By: whitequark Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D60524 llvm-svn: 359114
* [AMDGPU] Add gfx1010 target definitionsStanislav Mekhanoshin2019-04-2422-118/+570
| | | | | | Differential Revision: https://reviews.llvm.org/D61041 llvm-svn: 359113
* [clangd] Fix broken helper deep in unit test. NFCSam McCall2019-04-241-9/+3
| | | | llvm-svn: 359112
* [InstCombine][X86] Use generic expansion of PACKSS/PACKUS for constant ↵Simon Pilgrim2019-04-241-51/+45
| | | | | | | | | | folding. NFCI. This patch rewrites the existing PACKSS/PACKUS constant folding code to expand as a generic expansion. This is a first NFCI step toward expanding PACKSS/PACKUS intrinsics which are acting as non-saturating truncations (although technically the expansion could be used in all cases - but we'll probably want to be conservative). llvm-svn: 359111
* Revert "[llvm-objdump] errorToErrorCode+message -> toString"JF Bastien2019-04-241-3/+4
| | | | | | | | Revert r359100 It breaks llvm/test/Object/elf-invalid-phdr.test llvm-svn: 359110
* llvm-undname: Fix assert-on->4GiB-string-literal, found by oss-fuzzNico Weber2019-04-242-1/+9
| | | | llvm-svn: 359109
* Make the test object callable. libstdc++'s bind checks that (libc++ ↵Marshall Clow2019-04-241-1/+1
| | | | | | currently does not). Thanks to Jonathan Wakely for the fix. llvm-svn: 359108
* clang-cl: List valid values for /std: in /? outputNico Weber2019-04-241-1/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D61029 llvm-svn: 359107
* Fix a one more compare test that assumed -1/0/1 instsad of <0/0/>0. NFC.Marshall Clow2019-04-241-1/+1
| | | | llvm-svn: 359106
* [JITLink] Refer to FDE's CIE (not the most recent CIE) when parsing eh-frame.Lang Hames2019-04-246-49/+74
| | | | | | | | | | | | | | | Frame Descriptor Entries (FDEs) have a pointer back to a Common Information Entry (CIE) that describes how the rest FDE should be parsed. JITLink had been assuming that FDEs always referred to the most recent CIE encountered, but the spec allows them to point back to any previously encountered CIE. This patch fixes JITLink to look up the correct CIE for the FDE. The testcase is a MachO binary with an FDE that refers to a CIE that is not the one immediately proceeding it (the layout can be viewed wit 'dwarfdump --eh-frame <testcase>'. This test case had to be a binary as llvm-mc now sorts FDEs (as of r356216) to ensure FDEs *do* point to the most recent CIE. llvm-svn: 359105
* Fix a couple of tests that assumed that compare retunred -1/0/1 instead of ↵Marshall Clow2019-04-244-7/+7
| | | | | | <0/0/>0. Thanks to Jonathan Wakely for the report. llvm-svn: 359104
* [docs] Copy-edit lld/docs/WebAssembly.rstSam Clegg2019-04-241-17/+14
| | | | | | | | | | | Fixes small typos in WebAssembly documentation. I first noticed the sub-heading "Bahavior", and then decided to review the whole file. Patch by Christoph Siedentop! Differential Revision: https://reviews.llvm.org/D60987 llvm-svn: 359103
* [llvm-objdump] Delete redundant checkFangrui Song2019-04-241-4/+1
| | | | llvm-svn: 359102
* [obj2yamp] - Simplify and cleanup the code in ELFDumper<ELFT>::dumpGroup a ↵George Rimar2019-04-241-27/+25
| | | | | | | | | | bit. NFC. This makes the variables naming to match LLVM style, simplifies the code used to extract the group members, simplifies the loop and reorders the code around a bit. llvm-svn: 359101
* [llvm-objdump] errorToErrorCode+message -> toStringFangrui Song2019-04-241-4/+3
| | | | llvm-svn: 359100
* [ELF] Delete a redundant SHT_NOBITS -> SHT_PROGBITS after D60131Fangrui Song2019-04-241-1/+0
| | | | | | Differential Revision: https://reviews.llvm.org/D61006 llvm-svn: 359099
* Use llvm::stable_sortFangrui Song2019-04-2420-84/+58
| | | | llvm-svn: 359098
* [scudo][standalone] Introduce the Secondary allocatorKostya Kortchinsky2019-04-2414-88/+476
| | | | | | | | | | | | | | | | | | | | | | | | Summary: The Secondary allocator wraps the platform allocation primitives. It is meant to be used for larger sizes that the Primary can't fullfill, as it will be slower, and sizes are multiple of the system page size. This also changes some of the existing code, notably the opaque platform data being passed to the platform specific functions: we can shave a couple of syscalls on Fuchsia by storing additional data (this addresses a TODO). Reviewers: eugenis, vitalybuka, hctim, morehouse Reviewed By: morehouse Subscribers: mgorny, delcypher, jfb, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D60787 llvm-svn: 359097
* [AMDGPU][MC] Parser cleanup and refactoringDmitry Preobrazhensky2019-04-241-93/+48
| | | | | | | | Reviewers: artem.tamazov, arsenm Differential Revision: https://reviews.llvm.org/D60767 llvm-svn: 359096
* [x86] make sure horizontal op and broadcast types match to simplify (PR41414)Sanjay Patel2019-04-242-3/+71
| | | | | | | | | If the types don't match, we can't just remove the shuffle. There may be some other opportunity for optimization here, but this should prevent the crashing seen in: https://bugs.llvm.org/show_bug.cgi?id=41414 llvm-svn: 359095
* [PPC64] Consider localentry offset when computing branch distanceFangrui Song2019-04-242-1/+34
| | | | | | | | | | | | | | | Summary: We don't take localentry offset into account, and thus may fail to create a long branch when the gap is just a few bytes smaller than 2^25. relocation R_PPC64_REL24 out of range: 33554432 is not in [-33554432, 33554431] relocation R_PPC64_REL24 out of range: 33554436 is not in [-33554432, 33554431] Fix that by adding the offset to the symbol VA. Differential Revision: https://reviews.llvm.org/D61058 llvm-svn: 359094
* [LLVM-C] Use dyn_cast instead of unwrap in LLVMGetDebugLoc functionswhitequark2019-04-241-15/+21
| | | | | | | | | | | | | | | | | | | | | Summary: The `unwrap<Type>` calls can assert with: ``` Assertion failed: (isa<X>(Val) && "cast<Ty>() argument of incompatible type!"), function cast ``` so replace them with `dyn_cast`. Reviewers: whitequark, abdulras, hiraditya, compnerd Reviewed By: whitequark Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D60473 llvm-svn: 359093
* Kill modify-python-lldb.pyPavel Labath2019-04-244-191/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: After the last round of cleanups, this script was almost a no-op. The only piece of functionality that remained was the one which tried to make the swig-generated function signatures more pythonic. The "tried" part is important here, as it wasn't doing a really good job and the end result was not valid python nor c (e.g., SetExecutable(SBAttachInfo self, str const * path)). Doing these transformations another way is not possible, as these signatures are generated by swig, and not present in source. However, given that this is the only reason why we need a swig post-process step, and that the current implementation is pretty sub-optimal, this patch simply abandons the signature fixup idea, and chooses to simplify our build process instead. Reviewers: amccarth, jingham, clayborg Subscribers: mgorny, lldb-commits Differential Revision: https://reviews.llvm.org/D61000 llvm-svn: 359092
* [yaml2obj] Replace num_zeros with write_zerosFangrui Song2019-04-241-35/+24
| | | | llvm-svn: 359091
* [yaml2elf] - Replace a loop with write_zeros(). NFC.George Rimar2019-04-241-6/+5
| | | | | | And apply clang-format to the method changed. llvm-svn: 359090
* Minor code style fix in ClangUserExpression.cpp [NFC]Raphael Isemann2019-04-241-2/+1
| | | | llvm-svn: 359089
* [X86] Add shouldFoldConstantShiftPairToMask override placeholder. NFCI.Simon Pilgrim2019-04-242-0/+9
| | | | | | Prep work toward fixing PR40758 llvm-svn: 359088
* Shorten comment line to be below 80 characters [NFC]Raphael Isemann2019-04-241-1/+1
| | | | llvm-svn: 359087
* [LLD][ELF] - Remove binding.elf binary from test case. NFCI.George Rimar2019-04-243-7/+21
| | | | | | This introduces YAML based invalid-binding.test instead. llvm-svn: 359086
* Add an any_cast test for array types. Thanks to Jonathan Wakely for the ↵Marshall Clow2019-04-242-8/+25
| | | | | | suggestion. llvm-svn: 359085
* [LLD][ELD] - Remove excessive lines from test. NFC.George Rimar2019-04-241-5/+0
| | | | | | They are not used. llvm-svn: 359084
* Let llvm-cvtres (and lld-link) report duplicate resourcesNico Weber2019-04-247-30/+103
| | | | | | | | | | | | | | | | | If two .res files contain the same resource, cvtres.exe (and hence link.exe) reject the input with this message: CVTRES : fatal error CVT1100: duplicate resource. type:STRING, name:101, language:0x0409 LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt llvm-cvtres (and lld-link) used to silently pick one of the duplicate resources instead. This patch makes them report an error as well. We slightly improve on cvtres by printing the name of two .res files containing duplicate entries as well. Differential Revision: https://reviews.llvm.org/D61049 llvm-svn: 359083
* [X86][SSE] Add masked bit test cases for PR26697Simon Pilgrim2019-04-242-20/+150
| | | | llvm-svn: 359082
* Add 'REQUIRES: shell' to verbose-output-quoting.cHans Wennborg2019-04-241-0/+1
| | | | | | The lit shell couldn't handle these run lines. llvm-svn: 359081
* Avoid name conflict with kernel headersEric Fiselier2019-04-244-9/+12
| | | | llvm-svn: 359080
* [clangd] Fix handling of include paths in windows testsKadir Cetinkaya2019-04-242-8/+12
| | | | llvm-svn: 359079
* [clang][HeaderSuggestion] Handle the case of dotdot with an absolute pathKadir Cetinkaya2019-04-243-4/+15
| | | | | | | | | | | | | | | | | Summary: Include insertion in clangd was inserting absolute paths when the include directory was an absolute path with a double dot. This patch makes sure double dots are handled both with absolute and relative paths. Reviewers: sammccall Subscribers: ilya-biryukov, ioeric, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D60873 llvm-svn: 359078
* Fix unquoted spaces in args in clang --verbose outputHans Wennborg2019-04-242-1/+10
| | | | | | | | | | | The behaviour of not quoting spaces appears to have been introduced by mistake in r190620. Patch by Brad Moody! Differential revision: https://reviews.llvm.org/D60997 llvm-svn: 359077
OpenPOWER on IntegriCloud