summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* We had a situation where a kext was inlined into the kernel,Jason Molenda2017-11-301-0/+10
| | | | | | | | | | | | but still listed in the kernel's kext table with the kernel binary UUID. This resulted in the kernel text section being loaded at the kext address and problems ensuing. Instead, if there is a kext with the same UUID as the kernel, lldb should skip over it. <rdar://problem/35757689> llvm-svn: 319500
* [libc++abi] Add install-cxxabi-stripped targetShoaib Meenai2017-11-301-0/+6
| | | | | | | | | | | | LLVM is gaining install-*-stripped targets to perform stripped installs, and in order for this to be useful for install-distribution, all potential distribution components should have stripped installation targets. LLVM has a function to create these install targets, but since we can't use LLVM CMake functions in libc++abi, let's do it manually. Differential Revision: https://reviews.llvm.org/D40681 llvm-svn: 319499
* [libunwind] Switch to add_llvm_install_targetsShoaib Meenai2017-11-301-5/+3
| | | | | | | | | This gains us the install-unwind-stripped target, to perform stripping during installation. Differential Revision: https://reviews.llvm.org/D40685 llvm-svn: 319498
* [clangd] Logger implicitly adds newlineSam McCall2017-11-305-18/+16
| | | | llvm-svn: 319497
* [clangd] Log file compile commandsSam McCall2017-11-301-0/+3
| | | | llvm-svn: 319496
* Update website to mention that you still need ↵Richard Smith2017-11-301-1/+2
| | | | | | -frelaxed-template-template-args to enable the corresponding C++17 feature in Clang 5. llvm-svn: 319495
* ThinLTOBitcodeWriter: Try harder to discard unused references to the merged ↵Peter Collingbourne2017-11-302-3/+13
| | | | | | | | | | | | | | | | | | | module. If the thin module has no references to an internal global in the merged module, we need to make sure to preserve that property if the global is a member of a comdat group, as otherwise promotion can end up adding global symbols to the comdat, which is not allowed. This situation can arise if the external global in the thin module has dead constant users, which would cause use_empty() to return false and would cause us to try to promote it. To prevent this from happening, discard the dead constant users before asking whether a global is empty. Differential Revision: https://reviews.llvm.org/D40593 llvm-svn: 319494
* Simplify the DenseSet used for hashing CodeView records.Zachary Turner2017-11-302-102/+64
| | | | | | | | | | | | | | This was storing the hash alongside the key so that the hash doesn't need to be re-computed every time, but in doing so it was allocating a structure to keep the key size small in the DenseMap. This is a noble goal, but it also leads to a pointer indirection on every probe, and this cost of this pointer indirection ends up being higher than the cost of having a slightly larger entry in the hash table. Removing this not only simplifies the code, but yields a small but noticeable performance improvement in the type merging algorithm. llvm-svn: 319493
* [lldb] A few minor fixes in TaskPoolAlexander Shaposhnikov2017-11-303-6/+25
| | | | | | | | | | | | | 1. Move TaskPool into the namespace lldb_private. 2. Add missing std::move in TaskPoolImpl::Worker. 3. std::thread::hardware_concurrency may return 0, handle this case correctly. Differential revision: https://reviews.llvm.org/D40587 Test plan: make check-all llvm-svn: 319492
* AMDGPU: Use gfx9 carry-less add/sub instructionsMatt Arsenault2017-11-3029-292/+631
| | | | llvm-svn: 319491
* XOR the frame pointer with the stack cookie when protecting the stackReid Kleckner2017-11-309-22/+206
| | | | | | | | | | | | Summary: This strengthens the guard and matches MSVC. Reviewers: hans, etienneb Subscribers: hiraditya, JDevlieghere, vlad.tsyrklevich, llvm-commits Differential Revision: https://reviews.llvm.org/D40622 llvm-svn: 319490
* [clang] Use add_llvm_install_targetsShoaib Meenai2017-11-305-31/+17
| | | | | | | | | | Use this function to create the install targets rather than doing so manually, which gains us the `-stripped` install targets to perform stripped installations. Differential Revision: https://reviews.llvm.org/D40675 llvm-svn: 319489
* Add visibility flag to Wasm symbol flagsSam Clegg2017-11-307-4/+52
| | | | | | | | | | | | | | The LLVM "hidden" flag needs to be passed through the Wasm intermediate objects in order for the linker to apply it to the final Wasm object. The corresponding change in LLD is here: https://github.com/WebAssembly/lld/pull/14 Patch by Nicholas Wilson Differential Revision: https://reviews.llvm.org/D40442 llvm-svn: 319488
* [AST] Fix some Clang-tidy modernize and Include What You Use warnings; other ↵Eugene Zelenko2017-11-305-288/+374
| | | | | | minor fixes (NFC). llvm-svn: 319487
* Add missing test. NFC.Rafael Espindola2017-11-302-0/+18
| | | | | | | | | | We had no tests for what PROVIDE should do if there is a shared symbol with the same name. In both bfd and our existing implementation PROVIDE wins. Add a test for that. llvm-svn: 319486
* [CUDA] Tweak CUDA wrappers to make cuda-9 work with libc++Artem Belevich2017-11-301-0/+6
| | | | | | | | | CUDA-9 headers check for specific libc++ version and ifdef out some of the definitions we need if LIBCPP_VERSION >= 3800. Differential Revision: https://reviews.llvm.org/D40198 llvm-svn: 319485
* [msan] Fix return type of mbrtowcVitaly Buka2017-11-302-8/+11
| | | | | | | | | | | | Summary: Fixes https://github.com/google/oss-fuzz/issues/1009 Reviewers: eugenis Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D40676 llvm-svn: 319484
* [memcpyopt] Commit file missed in r319482.Dan Gohman2017-11-301-0/+6
| | | | | | | This change was meant to be included with r319482 but was accidentally omitted. llvm-svn: 319483
* [memcpyopt] Teach memcpyopt to optimize across basic blocksDan Gohman2017-11-304-3/+198
| | | | | | | | | | | | This teaches memcpyopt to make a non-local memdep query when a local query indicates that the dependency is non-local. This notably allows it to eliminate many more llvm.memcpy calls in common Rust code, often by 20-30%. Fixes PR28958. Differential Revision: https://reviews.llvm.org/D38374 llvm-svn: 319482
* [InlineCost] Prefer getFunction() to two calls to getParent().Davide Italiano2017-11-301-3/+3
| | | | | | Improves clarity, also slightly cheaper. NFCI. llvm-svn: 319481
* [llvm] Add stripped installation targetsShoaib Meenai2017-11-305-54/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | CMake's generated installation scripts support `CMAKE_INSTALL_DO_STRIP` to enable stripping the installed binaries. LLVM's build system doesn't expose this option to the `install-` targets, but it's useful in conjunction with `install-distribution`. Add a new function to create the install targets, which creates both the regular install target and a second install target that strips during installation. Change the creation of all installation targets to use this new function. Stripping doesn't make a whole lot of sense for some installation targets (e.g. the LLVM headers), but consistency doesn't hurt. I'll make other repositories (e.g. clang, compiler-rt) use this in a follow-up, and then add an `install-distribution-stripped` target to actually accomplish the end goal of creating a stripped distribution. I don't want to do that step yet because the creation of that target would depend on the presence of the `install-*-stripped` target for each distribution component, and the distribution components from other repositories will be missing that target right now. Differential Revision: https://reviews.llvm.org/D40620 llvm-svn: 319480
* [Documentation] Style fixes for Objective-C checks documentation to follow ↵Eugene Zelenko2017-11-306-32/+29
| | | | | | | | | | C/C++ example. Release Notes should just repeat first sentence from documentation. Remove duplicated entry from Release Notes. llvm-svn: 319479
* [clangd] New conventions for JSON-marshalling functions, centralize machinerySam McCall2017-11-307-479/+411
| | | | | | | | | | | | | | | | | | Summary: - JSON<->Obj interface is now ADL functions, so they play nicely with enums - recursive vector/map parsing and ObjectMapper moved to JSONExpr and tested - renamed (un)parse to (de)serialize, since text -> JSON is called parse - Protocol.cpp gets a bit shorter Sorry for the giant patch, it's prety mechanical though Reviewers: ilya-biryukov Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D40596 llvm-svn: 319478
* [Hexagon] Implement HexagonSubtarget::useAA()Krzysztof Parzyszek2017-11-302-1/+14
| | | | llvm-svn: 319477
* [Hexagon] Fix wrong check in test/CodeGen/Hexagon/newvaluejump-solo.mirKrzysztof Parzyszek2017-11-301-1/+1
| | | | llvm-svn: 319476
* [globalisel][tablegen] Add support for relative AtomicOrderingsDaniel Sanders2017-11-307-25/+171
| | | | | | | No test yet because the relevant rules are blocked on the atomic_load, and atomic_store nodes. llvm-svn: 319475
* Add powerpc64 to compiler-rt build infrastructure.Sterling Augustine2017-11-303-1/+21
| | | | | | | | Now that we have disabled the run-forever tests, and cleaned up the intel 80-bit float based tests, we should be able to enable testing compiler-rt for powerpc64. llvm-svn: 319474
* Error on -no-define-common if the output is not relocatable.Rafael Espindola2017-11-302-0/+6
| | | | | | | | | | | The ELF spec says Symbols with section index SHN_COMMON may appear only in relocatable objects. Currently lld can produce file that break that requirement. llvm-svn: 319473
* Fix this test so that the breakpoints you set areJim Ingham2017-11-302-2/+6
| | | | | | | | unambiguously on one bit of code. On macOS these lines mapped to two distinct locations, and that was artificially throwing off the test. llvm-svn: 319472
* [Hexagon] Fix wrong pass in testcaseKrzysztof Parzyszek2017-11-301-1/+1
| | | | llvm-svn: 319471
* [Hexagon] Solo instructions cannot be used with new value jumpsKrzysztof Parzyszek2017-11-302-0/+22
| | | | llvm-svn: 319470
* [AMDGPU] Convert test/tools/llvm-objdump/AMDGPU/source-lines.ll to amdgizYaxun Liu2017-11-301-21/+21
| | | | | | Differential Revision: https://reviews.llvm.org/D40653 llvm-svn: 319469
* [X86] Promote i8 CTPOP to i32 instead of i16 when we have the POPCNT ↵Craig Topper2017-11-303-7/+7
| | | | | | | | instruction. The 32-bit version is shorter to encode and the zext we emit for the promotion is likely going to be a 32-bit zero extend anyway. llvm-svn: 319468
* [llvm-objcopy] Add support for --only-keep/-j and --keepJake Ehrlich2017-11-3014-0/+322
| | | | | | | | | | | | | This change adds support for the --only-keep option and the -j alias as well. A common use case for these being used together is to dump a specific section's data. Additionally the --keep option is added (GNU objcopy doesn't have this) to avoid removing a bunch of things. This allows people to err on the side of stripping aggressively and then to keep the specific bits that they need for their application. Differential Revision: https://reviews.llvm.org/D39021 llvm-svn: 319467
* [aarch64][globalisel] Legalize G_ATOMIC_CMPXCHG_WITH_SUCCESS and G_ATOMICRMW_*Daniel Sanders2017-11-307-1/+130
| | | | | | | | | | | G_ATOMICRMW_* is generally legal on AArch64. The exception is G_ATOMICRMW_NAND. G_ATOMIC_CMPXCHG_WITH_SUCCESS needs to be lowered to G_ATOMIC_CMPXCHG with an external comparison. Note that IRTranslator doesn't generate these instructions yet. llvm-svn: 319466
* [GlobalISel][IRTranslator] Fix crash during translation of zero sized ↵Amara Emerson2017-11-303-1/+27
| | | | | | | | | | | | loads/stores/args/returns. This fixes PR35358. rdar://35619533 Differential Revision: https://reviews.llvm.org/D40604 llvm-svn: 319465
* Move x86-specific sources to x86-specific source lists.Sterling Augustine2017-11-301-13/+22
| | | | llvm-svn: 319464
* [PGO] Add a test case for infinite loopsXinliang David Li2017-11-301-0/+30
| | | | | | Differential Revision: http://reviews.llvm.org/D40663 llvm-svn: 319463
* [PGO] Skip counter promotion for infinite loopsXinliang David Li2017-11-302-0/+24
| | | | | | Differential Revision: http://reviews.llvm.org/D40662 llvm-svn: 319462
* [cmake] Include project name in Sphinx doctree dir to fix race conditionsMichal Gorny2017-11-301-1/+1
| | | | | | | | | | | | | | | | Modify add_sphinx_target() to include the project name alongside builder in Sphinx doctree directory. This aims to avoid crashes due to race conditions between multiple Sphinx instances running in parallel that attempt to create or read that directory simultaneously. This problem has originally been addressed in r283188. However, that commit presumed that there will be only one target per builder being run. However, r314863 introduced a second manpage target, reintroducing the race condition. Differential Revision: https://reviews.llvm.org/D40656 llvm-svn: 319461
* add new check to find NSError init invocationYan Zhang2017-11-303-0/+5
| | | | | | | | Subscribers: klimek, mgorny, cfe-commits Differential Revision: https://reviews.llvm.org/D40528 llvm-svn: 319460
* add new check to find NSError init invocationYan Zhang2017-11-308-0/+108
| | | | | | | | | | | | | | | | | | | Summary: This check will find out improper initialization of NSError objects. According to Apple developer document, we should always use factory method errorWithDomain:code:userInfo: to create new NSError objects instead of [NSError alloc] init]. Otherwise it will lead to a warning message during runtime in Xcode. The corresponding information about NSError creation: https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ErrorHandlingCocoa/CreateCustomizeNSError/CreateCustomizeNSError.html Reviewers: hokein, benhamilton Reviewed By: benhamilton Subscribers: klimek, mgorny, cfe-commits Differential Revision: https://reviews.llvm.org/D40528 llvm-svn: 319459
* [OpenMP] Diagnose undeclared variables on declare target clauseKelvin Li2017-11-302-1/+5
| | | | | | | | | | | | | Clang asserts on undeclared variables on the to or link clause in the declare target directive. The patch is to properly diagnose the error. // foo1 and foo2 are not declared #pragma omp declare target to(foo1) #pragma omp declare target link(foo2) Differential Revision: https://reviews.llvm.org/D40588 llvm-svn: 319458
* [globalisel][tablegen] Add support for specific immediates in the match patternDaniel Sanders2017-11-302-1/+9
| | | | | | This enables a few rules such as ARM's uxtb instruction. llvm-svn: 319457
* Split TypeTableBuilder into two classes.Zachary Turner2017-11-3017-103/+271
| | | | llvm-svn: 319456
* Fix the MIPS baremetal buildAlexander Richardson2017-11-301-2/+2
| | | | | | | | | | | | | | | | Summary: Currently sys/cachectl.h is used unconditionally on MIPS although it is only available on Linux and will fail the build when targeting baremetal Reviewers: petarj Reviewed By: petarj Subscribers: sdardis, krytarowski Differential Revision: https://reviews.llvm.org/D40659 llvm-svn: 319455
* Remove a long out-of-date comment.Jim Ingham2017-11-301-1/+0
| | | | llvm-svn: 319454
* [llvm-readobj] Fix mismatched line endingsZachary Turner2017-11-301-7/+7
| | | | llvm-svn: 319453
* [WebAssembly] Revert r319186 "Support bitcasted function addresses with ↵Dan Gohman2017-11-304-47/+13
| | | | | | | | | | | varargs." The patch broke Emscripten's EM_ASM macros, which utiltize unprototyped functions. See https://bugs.llvm.org/show_bug.cgi?id=35385 for details. llvm-svn: 319452
* Simplify. NFC.Rafael Espindola2017-11-301-2/+2
| | | | | | This particular reportDuplicate is only used with Defined. llvm-svn: 319451
OpenPOWER on IntegriCloud