summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [ASTImporter] Do not import FunctionTemplateDecl in record twice.Balazs Keri2019-08-072-2/+58
| | | | | | | | | | | | | | | | | | | | | Summary: For functions there is a check to not duplicate the declaration if it is in a record (class). For function templates there was no similar check, if a template (in the same class) was imported multiple times the FunctionTemplateDecl was created multiple times with the same templated FunctionDecl. This can result in problems with the declaration chain. Reviewers: martong, a.sidorin, shafik, a_sidorin Reviewed By: a_sidorin Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D65203 llvm-svn: 368163
* [mips] Make a couple of class methods plain static functions. NFCSimon Atanasyan2019-08-072-12/+9
| | | | llvm-svn: 368162
* [mips] Use isMicroMips() function to check enabled feature flag. NFCSimon Atanasyan2019-08-071-2/+1
| | | | llvm-svn: 368161
* [Mips] Instruction `sc` now accepts symbol as an argumentSimon Atanasyan2019-08-074-29/+187
| | | | | | | | | | | | | Function MipsAsmParser::expandMemInst() did not properly handle instruction `sc` with a symbol as an argument because first argument would be counted twice. We add additional checks and handle this case separately. Patch by Mirko Brkusanin. Differential Revision: https://reviews.llvm.org/D64252 llvm-svn: 368160
* ObjectFileELF: Remove NT_*** constantsPavel Labath2019-08-071-36/+1
| | | | | | | llvm now has definitions of those in BinaryFormat/ELF.h. Use those instead. llvm-svn: 368159
* [Support] Base SmartMutex on std::recursive_mutexBenjamin Kramer2019-08-075-315/+12
| | | | | | | | | | | - Remove support for non-recursive mutexes. This was unused. - The std::recursive_mutex is now created/destroyed unconditionally. Locking is still only done if threading is enabled. - Alias SmartScopedLock to std::lock_guard. This should make no semantic difference on the existing APIs. llvm-svn: 368158
* Replace non-recursive sys::Mutex users with std::mutexBenjamin Kramer2019-08-074-13/+11
| | | | | | | Also remove a use of sys::MutexImpl, that's just evil. No functionality change intended. llvm-svn: 368157
* Remove support for 32-bit offsets in utility classes (5/5)Igor Kudrin2019-08-078-212/+14
| | | | | | Differential Revision: https://reviews.llvm.org/D65641 llvm-svn: 368156
* [TargetLowering] SimplifyDemandedBits - call SimplifyMultipleUseDemandedBits ↵Simon Pilgrim2019-08-0718-598/+570
| | | | | | | | for ISD::VECTOR_SHUFFLE In particular this helps the SSE vector shift cvttps2dq+add+shl pattern by avoiding the need for zeros in shuffle style extensions to vXi32 types as we'll be shifting out those bits anyway llvm-svn: 368155
* A more robust way of testing debug_line parser near the end of modulePavel Labath2019-08-072-3/+28
| | | | | | | | | | | | | | | | | | Summary: While removing -z separate-code makes lld produce place the code at the end of a segment right now, it's possible that future changes to the linker will change that, thereby removing the coverage for the changes in r367983. This patch adds a linker script to one of the line table tests, which ensures that the code (and its line table) will be placed at the very end of a module. Reviewers: MaskRay Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D65789 llvm-svn: 368154
* [ELF] Fix splitting messages for duplicate symbols.Igor Kudrin2019-08-072-2/+41
| | | | | | | | | D65213 (rL367536) does not work for the case when a source file path includes subdirectories. Differential Revision: https://reviews.llvm.org/D65810 llvm-svn: 368153
* [clang] Fix mismatched args constructing AddressSpaceAttr.Anton Bikineev2019-08-072-3/+16
| | | | | | Differential Revision: https://reviews.llvm.org/D65589 llvm-svn: 368152
* [lldb][CMake] Workaround debugserver code-signing issue in generated Xcode ↵Stefan Granitz2019-08-071-0/+28
| | | | | | | | | | | | | | | | | | | | | project Summary: Explicitly code-sign the LLDB.framework copy of debugserver in the build-tree. This is necessary, because the Xcode-specific logic in `llvm_codesign` [1] has the side-effect that Xcode code-signs after post-build steps (here: after copying debugserver over into the framework). The special case for Xcode was necessary to avoid double-signing errors in the past (see D55116 and D55816). [1] https://github.com/llvm/llvm-project/blob/36fb93982f0e/llvm/cmake/modules/AddLLVM.cmake#L1676 Reviewers: jingham, davide, JDevlieghere, teemperor Reviewed By: JDevlieghere Subscribers: beanz, mgorny, lldb-commits, #lldb Tags: #lldb Differential Revision: https://reviews.llvm.org/D65566 llvm-svn: 368151
* [lldb][NFC] Remove commented out code in ↵Raphael Isemann2019-08-071-18/+0
| | | | | | ClangASTContext::AddMethodToCXXRecordType llvm-svn: 368150
* Replace llvm::MutexGuard/UniqueLock with their standard equivalentsBenjamin Kramer2019-08-0718-183/+72
| | | | | | | All supported platforms have <mutex> now, so we don't need our own copies any longer. No functionality change intended. llvm-svn: 368149
* [lldb][CMake] Fix one more detail in r368066Stefan Granitz2019-08-071-1/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D65797 llvm-svn: 368148
* gsl::Owner/gsl::Pointer: Add implicit annotations for some std typesMatthias Gehre2019-08-076-2/+268
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Hard code gsl::Owner/gsl::Pointer for std types. The paper mentions some types explicitly. Generally, all containers and their iterators are covered. For iterators, we cover both the case that they are defined as an nested class or as an typedef/using. I have started to test this implementation against some real standard library implementations, namely libc++ 7.1.0, libc++ 8.0.1rc2, libstdc++ 4.6.4, libstdc++ 4.8.5, libstdc++ 4.9.4, libstdc++ 5.4.0, libstdc++ 6.5.0, libstdc++ 7.3.0, libstdc++ 8.3.0 and libstdc++ 9.1.0. The tests are currently here https://github.com/mgehre/llvm-project/blob/lifetime-ci/lifetime-attr-test.sh https://github.com/mgehre/llvm-project/blob/lifetime-ci/lifetime-attr-test.cpp I think due to their dependency on a standard library, they are not a good fit for clang/test/. Where else could I put them? Reviewers: gribozavr, xazax.hun Subscribers: rnkovacs, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64448 llvm-svn: 368147
* [ARM] Generate MVE VHADDs/VHSUBsOliver Cruickshank2019-08-072-0/+335
| | | | llvm-svn: 368146
* Handle /align option.Rui Ueyama2019-08-074-4/+60
| | | | | | Differential Revision: https://reviews.llvm.org/D65736 llvm-svn: 368145
* Simplify error message output. NFC.Rui Ueyama2019-08-071-16/+13
| | | | | | Differential Revision: https://reviews.llvm.org/D65855 llvm-svn: 368144
* [lldb][NFC] Fix typo in 368066Stefan Granitz2019-08-071-1/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D65797 llvm-svn: 368143
* [ELF][X86] Add --no-show-raw-insn and -soname to some i386 testsFangrui Song2019-08-077-136/+138
| | | | llvm-svn: 368142
* [InstCombine] Recommit: Shift amount reassociation: shl-trunc-shl patternRoman Lebedev2019-08-073-68/+112
| | | | | | | | | | | | | | | | | This was initially committed in r368059 but got reverted in r368084 because there was a faulty logic in how the shift amounts type mismatch was being handled (it simply wasn't). I've added an explicit bailout before we SimplifyAddInst() - i don't think it's designed in general to handle differently-typed values, even though the actual problem only comes from ConstantExpr's. I have also changed the common type deduction, to not just blindly look past zext, but try to do that so that in the end types match. Differential Revision: https://reviews.llvm.org/D65380 llvm-svn: 368141
* [obj2yaml] - MIPS: move and improve testing of the e_flagsGeorge Rimar2019-08-073-188/+380
| | | | | | | | | | | | | | Mips/elf-flags.yaml and Mips/elf-abi.yaml are tests that intention was to show that yaml2obj/obj2yaml are able to read/dump MIPS specific e_flags. They were not complete, contained an excessive YAML parts and were placed at a wrong location. I removed them and created the obj2yaml/elf-mips-eflags.yaml instead. Differential revision: https://reviews.llvm.org/D65807 llvm-svn: 368140
* [ELF.h] - Check the case when e_shstrndx=SHN_XINDEX, but the corresponding ↵George Rimar2019-08-072-1/+20
| | | | | | | | | | | | | | | | | | sh_link is broken. When e_shstrndx is equal to SHN_XINDEX, the index of the section string table section should be taken from the sh_link field of the section header at index 0. If sh_link is broken, e.g. contains an index that is larger than number of sections, then error is reported. This error message was untested before. Differential revision: https://reviews.llvm.org/D65391 llvm-svn: 368139
* [llvm-readelf] --notes: move 'Data size' column left by 1Fangrui Song2019-08-072-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | readelf -n: ``` // "Data size" is not left justified Owner Data size Description GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag) ``` llvm-readelf -n (before): ``` // "Data size" column shifted by 1 Owner Data size Description GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag) ``` llvm-readelf -n (after): ``` Owner Data size Description GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag) ``` This change is made to reduce the diff with readelf -n, so that it is slightly easier to check what features readelf implements but we don't. Reviewed By: grimar, jhenderson Differential Revision: https://reviews.llvm.org/D65847 llvm-svn: 368138
* [clangd] Added a TextMate theme parser to the vscode extension.Johan Vikstrom2019-08-075-1/+167
| | | | | | | | | | | | | | | Summary: Adds a TextMate parser module to the vscode extension. It parses a theme into an array of a pair of TextMate scopes and text colors. Reviewers: hokein, ilya-biryukov Subscribers: MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D65738 llvm-svn: 368136
* [unittests] Mark private gmock headers with IWYU pragmas. NFCIlya Biryukov2019-08-0713-0/+26
| | | | | | | | | | | | | | | | Summary: To prevent clangd from adding #include of those headers. Reviewers: gribozavr Reviewed By: gribozavr Subscribers: kadircet, llvm-commits, cfe-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65849 llvm-svn: 368135
* Remove inclusion of a private gmock header from a testDmitri Gribenko2019-08-071-1/+0
| | | | llvm-svn: 368132
* Re-submit r367649: Improve raw_ostream so that you can "write" colors using ↵Rui Ueyama2019-08-0713-92/+130
| | | | | | | | | operator<< The original patch broke buildbots, perhaps because it changed the default setting whether colors are enabled or not. llvm-svn: 368131
* [ARM][LowOverheadLoops] Revert after read/writeSam Parker2019-08-073-13/+274
| | | | | | | | | | | | | | | | | Currently we check whether LR is stored/loaded to/from inbetween the loop decrement and loop end pseudo instructions. There's two problems here: - It relies on all load/store instructions being labelled as such in tablegen. - Actually any use of loop decrement is troublesome because the value doesn't exist! So we need to check for any read/write of LR that occurs between the two instructions and revert if we find anything. Differential Revision: https://reviews.llvm.org/D65792 llvm-svn: 368130
* Force check prof branch_weights consistency in SwitchInstProfUpdateWrapperYevgeny Rouban2019-08-071-1/+1
| | | | | | | | | | | | | | | | | | This patch turns on the prof branch_weights metadata consistency check in SwitchInstProfUpdateWrapper. If this patch causes a failure then please before reverting do report the IR that hits the assertion and try identifying the pass that introduces the inconsistency. We have to fix all such passes. See also the upcoming change https://reviews.llvm.org/D61179 in the Verifier. Reviewers: davidx, nikic, eraman, reames, chandlerc Reviewed By: davidx Differential Revision: https://reviews.llvm.org/D64061 llvm-svn: 368129
* [RISCV] Remove duplicated logic when determining the target ABIRoger Ferrer Ibanez2019-08-072-13/+9
| | | | | | | | We were calculating twice ilp32/lp64. Do this in one place instead. Differential Revision: https://reviews.llvm.org/D48357 llvm-svn: 368128
* [X86] Allow any 8-bit immediate to be used with bt/btc/btr/bts memory aliases.Craig Topper2019-08-072-4/+8
| | | | | | | | We have aliases that disambiguate memory forms of bt/btc/btr/bts without suffixes to the 32-bit form. These aliases should have been updated when the instructions were updated in r356413. llvm-svn: 368127
* [X86] Use isInt<8> to simplify some code. NFCCraig Topper2019-08-071-1/+1
| | | | llvm-svn: 368126
* Detect HAVE_SYS_TYPES_H in lldbHaibo Huang2019-08-078-2/+16
| | | | | | | | | | | | | | | | Summary: After rL368069 I noticed that HAVE_SYS_TYPES_H is not defined in Platform.h, or anywhere else in lldb. This change fixes that. Reviewers: labath Subscribers: mgorny, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D65822 llvm-svn: 368125
* [MachineCSE][NFC] Use 'profitable' rather than 'beneficial' to name method.Kai Luo2019-08-071-8/+8
| | | | llvm-svn: 368124
* [X86] Limit vpermil2pd/vpermil2ps immediates to 4 bits in the assembly parser.Craig Topper2019-08-078-16/+49
| | | | | | | | | | The upper 4 bits of the immediate byte are used to encode a register. We need to limit the explicit immediate to fit in the remaining 4 bits. Fixes PR42899. llvm-svn: 368123
* Reverts commit r368117, r368115 and r368112Petr Hosek2019-08-0719-943/+0
| | | | | | | | | | | | This reverts commits: "Added Delta IR Reduction Tool" "[Bugpoint redesign] Added Pass to Remove Global Variables" "Added Tool as Dependency to tests & fixed warnings" Reduce/remove-funcs.ll is failing on bots. llvm-svn: 368122
* Append an executable suffix to the toolchain tool paths on Windows platform.Galina Kistanova2019-08-071-12/+12
| | | | | | | | | | | Append a default CMake suffix (CMAKE_EXECUTABLE_SUFFIX) for the build host to the toolchain tool path when adding a LLVM external project. The tool binary files should contain .exe suffix to run them properly on Windows platform when building the projects. Patch by Vlad Vereschaka. Differential Revision: https://reviews.llvm.org/D65824 llvm-svn: 368121
* Fixes failing test cases on Windows for rL368119Alex Brachet2019-08-075-7/+7
| | | | | | | | Windows test cases were failing because the executable is called yaml2obj.exe not just yaml2obj. I removed FileCheck patterns including yaml2obj so they start matching at the error message not the program name. llvm-svn: 368120
* [yaml2obj] Move core yaml2obj code into lib and include for use in unit testsAlex Brachet2019-08-0718-151/+292
| | | | | | | | | | | | | | Reviewers: jhenderson, rupprecht, MaskRay, grimar, labath Reviewed By: rupprecht Subscribers: gribozavr, mgrang, seiya, mgorny, sbc100, hiraditya, aheejin, jakehehrlich, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65255 llvm-svn: 368119
* Upstream a few small Apple changes to debugserver - arm64_32, CatalystJason Molenda2019-08-0710-30/+171
| | | | | | | | | Adrian's changes to support Catalyst processes and my changes to support debugserver running on an arm64_32 device (Apple Watch Series 4, which uses an IPL32 model on arm64 cpus). llvm-svn: 368118
* Added Tool as Dependency to tests & fixed warningsDiego Trevino Ferrer2019-08-075-7/+8
| | | | | | | | | | | | Summary: Fixes http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap-msan/builds/14002 and http://lab.llvm.org:8011/builders/lld-x86_64-darwin13/builds/35392/steps/build_Lld/logs/stdio Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65843 llvm-svn: 368117
* [Gardening] Remove more dead code from IOHandlerJonas Devlieghere2019-08-071-29/+6
| | | | | | Remove more dead code and reformat the file. llvm-svn: 368116
* [Bugpoint redesign] Added Pass to Remove Global VariablesDiego Trevino Ferrer2019-08-0713-206/+385
| | | | | | | | | | | | | | | Summary: This pass tries to remove Global Variables, as well as their derived uses. For example if a variable `@x` is used by `%call1` and `%call2`, both these uses and the definition of `@x` are deleted. Moreover if `%call1` or `%call2` are used elsewhere those uses are also deleted, and so on recursively. I'm still uncertain if this pass should remove derived uses, I'm open to suggestions. Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64176 llvm-svn: 368115
* TLI: darwin does not support _bcmpAlex Lorenz2019-08-072-2/+2
| | | | | | | | Not all Darwin targets support _bcmp in all circumstances. Differential Revision: https://reviews.llvm.org/D65834 llvm-svn: 368113
* Added Delta IR Reduction ToolDiego Trevino Ferrer2019-08-0713-0/+763
| | | | | | | | | | | | | | | | Summary: Tool parses input IR file, and runs the delta debugging algorithm to reduce the functions inside the input file. Reviewers: alexshap, chandlerc Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63672 > llvm-svn: 368071 llvm-svn: 368112
* Require lld for hwasan tests.Peter Collingbourne2019-08-063-2/+5
| | | | | | | | We're using relocations that are unsupported by the version of gold on the bot, so force the use of lld. One of the tests is already using lld, so this should be safe. llvm-svn: 368111
* Regenerate mmx-arith.ll.Mitch Phillips2019-08-061-8/+8
| | | | | | | This test golden file has become out of date since the rollback of rL368081. Update the test to have the correct values. llvm-svn: 368110
OpenPOWER on IntegriCloud