summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Delete minimize_source_to_dependency_directives_invalid_error.cHans Wennborg2019-08-282-17/+0
| | | | | | | | It was added in r370129 with a .gitattributes file that means the file always shows up as having a local diff in Git checkouts (at least on Linux). Deleting it until we can figure out the right way to do this. llvm-svn: 370175
* [lldb][NFC] Update documentation of Handle[Argument]CompletionRaphael Isemann2019-08-281-12/+2
| | | | | | | We no longer have return values or any of the mentioned arguments in these functions since the introduction of CompletionRequest. llvm-svn: 370174
* [LV] Fold tail by masking - handle reductionsAyal Zaks2019-08-284-11/+113
| | | | | | | | | | | | Allow vectorizing loops that have reductions when tail is folded by masking. A select is introduced in VPlan, choosing between the last value carried by the loop-exit/live-out instruction of the reduction, and the penultimate value carried by the reduction phi, according to the "i < n" mask of fold-tail. This select replaces the last value as the live-out value of the loop. Differential Revision: https://reviews.llvm.org/D66720 llvm-svn: 370173
* [ELF][RISCV] Assign st_shndx of __global_pointer$ to 1 if .sdata does not existFangrui Song2019-08-285-63/+24
| | | | | | | | | | | | | | | | | | | | | | | | This essentially reverts the code change of D63132 and switches to a simpler approach. In an executable/shared object, st_shndx of a symbol can be: 1) SHN_UNDEF: undefined symbol (or canonical PLT) 2) SHN_ABS: absolute symbol 3) any other value (usually a regular section index) represents a relative symbol. The actual value does not matter. Many ld.so (musl, all archs except MIPS of FreeBSD rtld-elf) even treat 2) and 3) the same. If .sdata does not exist, it does not matter what value/section __global_pointer$ has, as long as it is relative (otherwise there will be a pedantic lld error. See D63132). Just set the st_shndx arbitrarily to 1. Dummy st_shndx=1 may be used by __rela_iplt_start, linker-script-defined symbols outside a section, __dso_handle, etc. Reviewed By: ruiu Differential Revision: https://reviews.llvm.org/D66798 llvm-svn: 370172
* [ARM][ParallelDSP] Change search for mulsSam Parker2019-08-2810-175/+918
| | | | | | | | | | | | | | | | | | | | rL369567 reverted a couple of recent changes made to ARMParallelDSP because of a miscompilation error: PR43073. The issue stemmed from an underlying bug that was caused by adding muls into a reduction before it was proved that they could be executed in parallel with another mul. Most of the changes here are from the previously reverted commits. The additional changes have been made area: 1) The Search function now doesn't insert any muls into the Reduction object. That now happens once the search has successfully finished. 2) For any muls added into the reduction but that weren't paired, we accumulate their values as an input into the smlad. Differential Revision: https://reviews.llvm.org/D66660 llvm-svn: 370171
* [NFC] Unbreak testsDavid Bolvansky2019-08-281-2/+0
| | | | llvm-svn: 370170
* [NFC] Updated testDavid Bolvansky2019-08-281-5/+22
| | | | llvm-svn: 370169
* Annotate return values of allocation functions with dereferenceable_or_nullDavid Bolvansky2019-08-288-105/+236
| | | | | | | | | | | | | | | | | | | | | | | Summary: Example define dso_local noalias i8* @_Z6maixxnv() local_unnamed_addr #0 { entry: %call = tail call noalias dereferenceable_or_null(64) i8* @malloc(i64 64) #6 ret i8* %call } Reviewers: jdoerfert Reviewed By: jdoerfert Subscribers: aaron.ballman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66651 llvm-svn: 370168
* [llvm-objdump] Add the missing ARMv8 subarch detectionYi Kong2019-08-283-0/+36
| | | | | | Differential Revision: https://reviews.llvm.org/D66849 llvm-svn: 370163
* [LoopFusion] Fix another -Wunused-function in -DLLVM_ENABLE_ASSERTIONS=off buildFangrui Song2019-08-281-10/+10
| | | | llvm-svn: 370156
* [clang-doc] Use llvm::createStringError and canonicalize error messagesFangrui Song2019-08-287-109/+99
| | | | | | | | | | | | | "Bad block found.\n" -> "bad block found" The lower cased form with no full stop or newline is more common in LLVM tools. Reviewed By: juliehockett Differential Revision: https://reviews.llvm.org/D66783 llvm-svn: 370155
* [compiler-rt] Don't use libcxx if it's not enabled by LLVM_ENABLE_PROJECTSVitaly Buka2019-08-281-18/+24
| | | | | | | | | This fixes sanitizer-x86_64-linux-fuzzer which switched to new layout and not it can't link as libcxx is always there. We should support and tests libcxx but still it was unexpected that libfuzzer ignored LLVM_ENABLE_PROJECTS_USED. llvm-svn: 370153
* Update name of objc runtime SPI function we call for class names.Jason Molenda2019-08-281-1/+1
| | | | | | | | | | A new SPI was added to the objc runtime to get class names without any demangling; AppleObjCRuntimeV2::ParseClassInfoArray was using the original prototype name but had not been updated for the final name yet, so lldb was falling back to the old function and doing extra work for classes that were demangled. This commit fixes that. llvm-svn: 370152
* Fixup build of clang-interpreter example after change in r370122.Douglas Yung2019-08-281-5/+1
| | | | | | This should fix the build failure on llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast. llvm-svn: 370151
* AMDGPU/GlobalISel: Fix constraining scalar and/or/xorMatt Arsenault2019-08-284-176/+186
| | | | | | | If the result register already had a register class assigned, the sources may not have been properly constrained. llvm-svn: 370150
* [libomptarget] Refactor syncwarp macro to inline functionJon Chesterfield2019-08-283-8/+13
| | | | | | | | | | | | | | | | Summary: [libomptarget] Refactor syncwarp macro to inline function See also abandoned D66846, split into this diff and others. Reviewers: jdoerfert, ABataev, grokos, ronlieb, gregrodgers Subscribers: openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D66857 llvm-svn: 370149
* Fix build break due to close brace lost in mergeJon Chesterfield2019-08-281-0/+1
| | | | llvm-svn: 370148
* Revert r370105 - Update two x86 datalayouts for r370083, looks like racing ↵Richard Trieu2019-08-282-2/+2
| | | | | | | | commits r370083 has been reverted, which this change depends on. llvm-svn: 370147
* [libomptarget] Refactor shfl_down_sync macro to inline functionJon Chesterfield2019-08-283-7/+14
| | | | | | | | | | | | | | | | Summary: [libomptarget] Refactor shfl_down_sync macro to inline function See also abandoned D66846, split into this diff and others. Reviewers: jdoerfert, ABataev, grokos, ronlieb, gregrodgers Subscribers: openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D66853 llvm-svn: 370146
* [test] Speculative fix for r369966 on llvm-clang-x86_64-winVedant Kumar2019-08-281-1/+1
| | | | | | | | | | Run the MIR pipeline in this test to completion to try and avoid a "Bad machine code" error. Build failure: http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20190826/688338.html llvm-svn: 370145
* [libomptarget] Refactor shfl_sync macro to inline functionJon Chesterfield2019-08-285-8/+24
| | | | | | | | | | | | | | | | Summary: [libomptarget] Refactor shfl_sync macro to inline function See also abandoned D66846, split into this diff and others. Reviewers: jdoerfert, ABataev, grokos, ronlieb, gregrodgers Subscribers: openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D66852 llvm-svn: 370144
* [Clang][Bundler] Do not require host triple for extracting device bundlesSergey Dmitriev2019-08-282-3/+26
| | | | | | | | Bundler currently requires host triple to be provided no matter if you are performing bundling or unbundling, but for unbundling operation such requirement is too restrictive. You may for example want to examine device part of the object for a particular offload target, but you have to extract host part as well even though you do not need it. Host triple isn't really needed for unbundling, so this patch removes that requirement. Differential Revision: https://reviews.llvm.org/D66601 llvm-svn: 370143
* Revert "Change the X86 datalayout to add three address spaces for 32 bit ↵Vlad Tsyrklevich2019-08-28520-550/+538
| | | | | | | | | signed," This reverts commit r370083 because it caused check-lld failures on sanitizer-x86_64-linux-fast. llvm-svn: 370142
* Fix "commas at the end of enumerator lists are a C99-specific"Vitaly Buka2019-08-281-1/+1
| | | | llvm-svn: 370141
* AMDGPU/GlobalISel: Implement addrspacecast for 32-bit constant addrspaceMatt Arsenault2019-08-282-8/+240
| | | | llvm-svn: 370140
* [lit] Fix the way we check if an environment var is setJonas Devlieghere2019-08-281-1/+1
| | | | | | The old method would throw a KeyError. llvm-svn: 370138
* [test] Disable TestConcurrentManySignals on Darwin.Jonas Devlieghere2019-08-281-0/+2
| | | | | | This test is flaky on GreenDragon. Disable it until we figure out why. llvm-svn: 370136
* [lit] Don't set DYLD_LIBRARY_PATH when DYLD_INSERT_LIBRARIES is set.Jonas Devlieghere2019-08-281-13/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Setting DYLD_INSERT_LIBRARIES to the Asan runtime and DYLD_LIBRARY_PATH to the LLVM shared library dir causes the test suite to crash with a segfault. We see this on the LLDB sanitized bot [1] on GreenDragon. I've spent some time investigating, but I'm not sure what's going on (yet). Originally I thought this was because we were building compiler-rt and were loading an incompatible, just-built Asan library. However, the issue persists even without compiler-rt. It doesn't look like the Asan runtime is opening any other libraries that might be found in LLVM's shared library dir and talking to the team confirms that. Another possible explanation is that we're loading lldb form a place we don't expect, but that doesn't make sense either, because DYLD_LIBRARY_PATH is always set without the crash. I tried different Python versions and interpreters but the issue persist. As a (temporary?) workaround I propose not setting DYLD_LIBRARY_PATH when DYLD_INSERT_LIBRARIES is set so we can turn the Asan bot on again and get useful results. [1] http://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake-sanitized/ Differential revision: https://reviews.llvm.org/D66845 llvm-svn: 370135
* [ObjC] Fix type checking for qualified id block parameters.Volodymyr Sapsai2019-08-282-3/+14
| | | | | | | | | | | | | | | | | | When checking if block types are compatible, we are checking for compatibility their return types and parameters' types. As these types have different variance, we need to check them in different order. rdar://problem/52788423 Reviewers: erik.pilkington, arphaman Reviewed By: arphaman Subscribers: jkorous, dexonsmith, ributzka, cfe-commits Differential Revision: https://reviews.llvm.org/D66831 llvm-svn: 370130
* Re-land [clang-scan-deps] Minimizer: Correctly handle multi-line content ↵Alexandre Ganea2019-08-283-14/+55
| | | | | | | | | | with CR+LF line endings Previously, an #error directive with quoted, multi-line content, along with CR+LF line endings wasn't handled correctly. Differential Revision: https://reviews.llvm.org/D66556 llvm-svn: 370129
* [NFC] Assert preconditions and merge all users into one codepath in Loads.cppPhilip Reames2019-08-271-6/+11
| | | | llvm-svn: 370128
* [lld][WebAssembly] Support for growable tablesJacob Gravelle2019-08-275-1/+27
| | | | | | | | | | | | | | | Adds --growable-table flag to handle building wasm modules with tables that can grow. Wasm tables that we use to store function pointers. In order to add functions to that table at runtime, we need to either preallocate space, or grow the table. In order to specify a table with no maximum size, we need some flag to handle that case, separately from a potential --max-table-size= flag. Note that the number of elements in the table isn't knowable until link-time, so it's unclear if we will want a --max-table-size= flag in the future. llvm-svn: 370127
* Revert "[lldb] Move redundant persistent variable counter to ↵Adrian Prantl2019-08-274-12/+18
| | | | | | | | | | | | ClangPersistentVariables" This reverts commit r367842 since it wasn't quite as NFC as advertised and broke Swift support. See https://reviews.llvm.org/D46083 for the rationale behind the original functionality. rdar://problem/54619322 llvm-svn: 370126
* [preprocessor] Add an opportunity to retain excluded conditional blocksEvgeny Mankov2019-08-278-6/+194
| | | | | | | | | | | | | | It is handy for clang tooling, for instance, in source to source transformation. Reviewers: vpykhtin (Valery Pykhtin), erichkeane (Erich Keane) Subscribers: rsmith (Richard Smith), akyrtzi (Argyrios Kyrtzidis) Tags: #clang Differential Revision: https://reviews.llvm.org/D66597 llvm-svn: 370123
* ArrayRef'ized CompilerInvocation::CreateFromArgsDmitri Gribenko2019-08-278-25/+12
| | | | | | | | | | Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D66797 llvm-svn: 370122
* [sanitizer_common] Close superfluous file descriptors in spawned processJulian Lettner2019-08-271-5/+23
| | | | | | | | | | | | | | Use attribute flag `POSIX_SPAWN_CLOEXEC_DEFAULT` in the call to `posix_spawn`. If this flag is set, then only file descriptors explicitly described by the file_actions argument are available in the spawned process; all of the other file descriptors are automatically closed in the spawned process. POSIX_SPAWN_CLOEXEC_DEFAULT is an Apple-specific extension. llvm-svn: 370121
* [dotest] Remove check for LLDB_TESTSUITE_FORCE_FINISHJonas Devlieghere2019-08-271-6/+0
| | | | llvm-svn: 370120
* [clang][Index][NFC] Move IndexDataConsumer default implementationJan Korous2019-08-272-26/+11
| | | | llvm-svn: 370116
* [Clang][Bundler] Fix for a hang when unbundling fat binarySergey Dmitriev2019-08-272-4/+10
| | | | | | | | clang-offload-bundler tool may hang under certain conditions when it extracts a subset of all available device bundles from the fat binary that is handled by the BinaryFileHandler. This patch fixes this problem. Differential Revision: https://reviews.llvm.org/D66598 llvm-svn: 370115
* [InstCombine] Disable some portions of foldGEPICmp for GEPs that return a ↵Craig Topper2019-08-272-11/+41
| | | | | | vector of pointers. Fix other portions. llvm-svn: 370114
* [RISCV] Implement RISCVRegisterInfo::getPointerRegClassLuis Marques2019-08-271-0/+6
| | | | | | | | Fixes bug 43041 Differential Revision: https://reviews.llvm.org/D66752 llvm-svn: 370113
* [Analysis] Improve EmitGEPOffset handling of vector GEPs with scalar indices.Craig Topper2019-08-272-0/+24
| | | | | | | This patch splats the scalar index if necessary before using it in any integer casts or other arithmetic. llvm-svn: 370112
* Fix asan-symbolize-bad-path.cpp on DarwinAlexander Richardson2019-08-271-1/+2
| | | | | | | | I accidentally made the CHECK line stricter when committing D65322. While it happens to work for Linux and FreeBSD, it broke on Darwin. This commit restores the previous behaviour. llvm-svn: 370110
* [libc++] Add yet another test for inverted character classesLouis Dionne2019-08-271-0/+3
| | | | | | | | This was reported as part of a bug report that ended up being a duplicate for r340609, but I'm adding the test case since it's ever so slightly different from what we had before. llvm-svn: 370109
* Diagnose _Bool as a C99 extension.Aaron Ballman2019-08-272-0/+6
| | | | llvm-svn: 370108
* Debug Info: Support for DW_AT_export_symbols for anonymous structsShafik Yaghmour2019-08-272-1/+17
| | | | | | | | | | | | | | | | | | | | This implements the DWARF 5 feature described in: http://dwarfstd.org/ShowIssue.php?issue=141212.1 To support recognizing anonymous structs: struct A { struct { // Anonymous struct int y; }; } a; This patch adds support in CGDebugInfo::CreateLimitedType(...) for this new flag and an accompanying test to verify this feature. Differential Revision: https://reviews.llvm.org/D66667 llvm-svn: 370107
* [Platform/Android] Read the adb server from an env variable if setNathan Lanza2019-08-271-1/+6
| | | | | | | | | | | | | | | Summary: The environment variable ANDROID_ADB_SERVER_PORT can be defined to have adbd litsen on a different port. Teach lldb how to understand this via simply checking the env var. Reviewers: xiaobai, clayborg Subscribers: srhines Differential Revision: https://reviews.llvm.org/D66689 llvm-svn: 370106
* Update two x86 datalayouts for r370083, looks like racing commitsReid Kleckner2019-08-272-2/+2
| | | | llvm-svn: 370105
* [GlobalISel] Replace hard coded dynamic alloca handling with G_DYN_STACKALLOC.Amara Emerson2019-08-278-58/+283
| | | | | | | | | | | This change moves the actual stack pointer manipulation into the legalizer, available to targets via lower(). The codegen is slightly different because we're using explicit masks instead of G_PTRMASK, and using G_SUB rather than adding a negative amount via G_GEP. Differential Revision: https://reviews.llvm.org/D66678 llvm-svn: 370104
* [clangd] Add a distinct highlighting for local variablesNathan Ridge2019-08-274-68/+76
| | | | | | | | | | | | | | | | | | Summary: It's useful to be able to distinguish local variables from namespace scope variables. Reviewers: hokein, jvikstrom Reviewed By: hokein Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D66723 llvm-svn: 370103
OpenPOWER on IntegriCloud