summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Added docs for EmptyLineAfterFunctionDefinitionEmptyLineAfterFunctionDefinitionKonrad Kleine2021-11-221-0/+21
|
* Work on EmptyLineAfterFunctionDefinitionKonrad Kleine2021-11-224-0/+350
|
* [SCEV] Reorder operands checks in collectConditions.Florian Hahn2021-11-183-33/+30
| | | | | | The initial two cases require a SCEVConstant as RHS. Pull up the condition to check and swap SCEVConstants from below. Also remove a redundant check & swap if RHS is SCEVUnknown.
* [SCEV] Add additional guard tests with swapped condition ops.Florian Hahn2021-11-182-0/+62
|
* [NFC][clangd] fix clang-tidy finding on isa_and_nonnullChristian Kühnel2021-11-181-1/+1
| | | | | | This is a cleanup of the only llvm-prefer-isa-or-dyn-cast-in-conditionals finding in the clangd code base. This patch was created by automatically applying the fixes from clang-tidy. Differential Revision: https://reviews.llvm.org/D113899
* [PowerPC] fix typos in comments, NFCChen Zheng2021-11-181-3/+3
|
* [fir] Add fir.constc conversionDiana Picus2021-11-182-11/+76
| | | | | | | | | | | Add the codegen for fir.constc. This patch is part of the upstreaming effort from fir-dev. Differential Revision: https://reviews.llvm.org/D114063 Co-authored-by: Eric Schweitz <eschweitz@nvidia.com> Co-authored-by: Jean Perier <jperier@nvidia.com>
* [mlir][Python] Fix generation of accessors for OptionalMichal Terepeta2021-11-186-28/+42
| | | | | | | | | | | | | | | | | | | | | | Previously, in case there was only one `Optional` operand/result within the list, we would always return `None` from the accessor, e.g., for a single optional result we would generate: ``` return self.operation.results[0] if len(self.operation.results) > 1 else None ``` But what we really want is to return `None` only if the length of `results` is smaller than the total number of element groups (i.e., the optional operand/result is in fact missing). This commit also renames a few local variables in the generator to make the distinction between `isVariadic()` and `isVariableLength()` a bit more clear. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D113855
* Fix Windows build after commit 49682f1.Douglas Yung2021-11-181-0/+1
|
* [mlir][linalg][bufferize] Fix bufferize bug where non-tensor ops are not skippedMatthias Springer2021-11-182-24/+12
| | | | | | | `BufferizableOpInterface::bufferize` will only be called on ops that have tensor operands and/or results. Differential Revision: https://reviews.llvm.org/D113962
* [mlir][linalg][bufferize][NFC] Decouple ComprehensiveBufferize from tensor ↵Matthias Springer2021-11-182-100/+147
| | | | | | | | dialect Add a new BufferizableOpInterface method `isNotConflicting` that can be used to implement custom analysis rules. Differential Revision: https://reviews.llvm.org/D113961
* [mlir] Convert NamedAttribute to be a classRiver Riddle2021-11-1854-220/+302
| | | | | | | | | NamedAttribute is currently represented as an std::pair, but this creates an extremely clunky .first/.second API. This commit converts it to a class, with better accessors (getName/getValue) and also opens the door for more convenient API in the future. Differential Revision: https://reviews.llvm.org/D113956
* [libc++] [test] Add "robust_re_difference_type.compile.pass.cpp" for all the ↵Arthur O'Dwyer2021-11-185-188/+492
| | | | | | | | | | | | | | algorithms. Also, mark these tests as compile-only. They actually are safe to run — notice that the code "runs" at constexpr-time in C++20, without error — because both of the input ranges are entirely filled with nullptr, so no matter how you shuffle the elements, they remain sorted and partitioned and heapified and everything. But there's no real reason to run them at runtime, so let's just avoid the distraction. Test cases that fail in trunk right now are commented out with `TODO FIXME`. Differential Revision: https://reviews.llvm.org/D113906
* [X86][Driver] Add X86 target option to avoid fail to other targets. NFCPhoebe Wang2021-11-181-2/+2
|
* [X86][ABI] Do not return float/double from x87 registers when x87 is disabledPhoebe Wang2021-11-185-1/+213
| | | | | | | | | This is aligned with GCC's behavior. Also, alias `-mno-fp-ret-in-387` to `-mno-x87`, by which we can fix pr51498. Reviewed By: nickdesaulniers Differential Revision: https://reviews.llvm.org/D112143
* [gn build] Port 92832e4889aeLLVM GN Syncbot2021-11-181-0/+1
|
* [libc++] Enable <atomic> when threads are disabledLouis Dionne2021-11-1790-493/+272
| | | | | | | | | | | | | | | | | | | std::atomic is, for the most part, just a thin veneer on top of compiler builtins. Hence, it should be available even when threads are not available on the system, and in fact there has been requests for such support. This patch: - Moves __libcpp_thread_poll_with_backoff to its own header so it can be used in <atomic> when threads are disabled. - Adds a dummy backoff policy for atomic polling that doesn't know about threads. - Adjusts the <atomic> feature-test macros so they are provided even when threads are disabled. - Runs the <atomic> tests when threads are disabled. rdar://77873569 Differential Revision: https://reviews.llvm.org/D114109
* [gn build] Port 49682f14bf3fLLVM GN Syncbot2021-11-181-0/+1
|
* tsan: remove quadratic behavior in pthread_joinDmitry Vyukov2021-11-173-30/+34
| | | | | | | | | | | | | | | | | | | pthread_join needs to map pthread_t of the joined thread to our Tid. Currently we do this with linear search over all threads. This has quadratic complexity and becomes much worse with the new tsan runtime, which memorizes all threads that ever existed. To resolve this add a hash map of live threads only (that are still associated with pthread_t) and use it for the mapping. With the new tsan runtime some programs spent 1/3 of time in this mapping. After this change the mapping disappears from profiles. Depends on D113996. Reviewed By: vitalybuka, melver Differential Revision: https://reviews.llvm.org/D113997
* [SPIR-V] Add translator toolHenry Linjamäki2021-11-183-0/+95
| | | | | | | | | | | Add a tool for constructing commands for translating LLVM IR to SPIR-V. Used by HIPSPV tool chain (D110618). Reviewed By: bader Differential Revision: https://reviews.llvm.org/D112404
* [clang] Use range-based for loops with llvm::reverse (NFC)Kazu Hirata2021-11-176-27/+17
|
* [gn build] Port 24d1673c8b9bLLVM GN Syncbot2021-11-181-1/+1
|
* [X86] Add -mskip-rax-setup support to align with GCCPhoebe Wang2021-11-188-1/+101
| | | | | | | | | | | AMD64 ABI mandates caller to specify the number of used SSE registers when passing variable arguments. GCC also provides option -mskip-rax-setup to skip the setup of rax when SSE is disabled. This helps to reduce the code size, see pr23258. Reviewed By: nickdesaulniers Differential Revision: https://reviews.llvm.org/D112413
* [NFC][llvm] Inclusive language: remove uses of sanity in ↵Zarko Todorovski2021-11-177-10/+10
| | | | | | | llvm/lib/ExecutionEngine/ Reworded and removed code comments to avoid using `sanity check` and `sanity test`.
* [llvm-tblgen][RISCV] Make llvm-tblgen RISCVCompressInstEmitter to be common ↵Zi Xuan Wu2021-11-185-93/+109
| | | | | | | | | | infra across different targets Not only RISCV but also other target such as CSKY, there are compressed instructions mixed with normal instructions. To reuse the basic infra to compress/uncompress and predict instruction, we need reconstruct the RISCVCompressInstEmitter and make it more general and suitable for other target. Differential Revision: https://reviews.llvm.org/D113475
* [sanitizer] Fix DenseMap for compiler-rtVitaly Buka2021-11-176-260/+254
| | | | | | Depends on D114047. Differential Revision: https://reviews.llvm.org/D114048
* [NFC][sanitizer] Fix headers of DenseMapVitaly Buka2021-11-173-753/+23
| | | | | | Depends on D114046. Differential Revision: https://reviews.llvm.org/D114047
* [NFC][sanitizer] Clang format copied codeVitaly Buka2021-11-173-279/+235
| | | | | | Depends on D114045. Differential Revision: https://reviews.llvm.org/D114046
* [NFC][sanitizer] Add unchanged DenseMapVitaly Buka2021-11-173-0/+2253
| | | | | | | | It's just a copy even without reformatting. Reviewed By: dvyukov, melver Differential Revision: https://reviews.llvm.org/D114045
* [NFC][llvm] Inclusive language: reword and remove uses of sanity in ↵Zarko Todorovski2021-11-1724-33/+31
| | | | | | | llvm/lib/Target Reworded removed code comments that contain `sanity check` and `sanity test`.
* PR52537: When performing a no-op TreeTransform of a rewritten binaryRichard Smith2021-11-174-10/+67
| | | | operator, mark any functions it calls as referenced.
* [Driver][Android] Remove unneeded isNoExecStackDefaultFangrui Song2021-11-179-38/+3
| | | | | | | | | | | | | ld.lld used by Android ignores .note.GNU-stack and defaults to noexecstack, so the `-z noexecstack` linker option is unneeded. The `--noexecstack` assembler option is unneeded because AsmPrinter.cpp prints `.section .note.GNU-stack,"",@progbits` (when `llvm.init.trampoline` is unused), so the assembler won't synthesize an executable .note.GNU-stack. Reviewed By: danalbert Differential Revision: https://reviews.llvm.org/D113840
* [NFC][sanitizer] Fix veradic-macro warning in RAW_CHECKVitaly Buka2021-11-172-6/+7
|
* [mlir][sparse] refine lexicographic insertion to any tensorAart Bik2021-11-175-31/+416
| | | | | | | | | First version was vectors only. With some clever "path" insertion, we now support any d-dimensional tensor. Up next: reductions too Reviewed By: bixia, wrengr Differential Revision: https://reviews.llvm.org/D114024
* Revert "[NFC] Refactor symbol table parsing."Greg Clayton2021-11-1720-312/+363
| | | | | | This reverts commit 951b107eedab1829f18049443f03339dbb0db165. Buildbots were failing, there is a deadlock in /Users/gclayton/Documents/src/llvm/clean/llvm-project/lldb/test/Shell/SymbolFile/DWARF/DW_AT_range-DW_FORM_sec_offset.s when ELF files try to relocate things.
* Revert "Revert "Make it possible for lldb to launch a remote binary with no ↵Jim Ingham2021-11-174-220/+328
| | | | | | | | local file."" This reverts commit dd5505a8f2c75a903ec944b6e46aed2042610673. I picked the wrong class for the test, should have been GDBRemoteTestBase.
* [sanitizer] Add a few of type_traits toolsVitaly Buka2021-11-172-1/+131
| | | | For D114047
* [Coroutine] Warn deprecated 'std::experimental::coro' usesChuanqi Xu2021-11-1816-28/+29
| | | | | | | | | Since we've decided the to not support std::experimental::coroutine*, we should tell the user they need to update. Reviewed By: Quuxplusone, ldionne, Mordante Differential Revision: https://reviews.llvm.org/D113977
* [mlir][tosa] Revert add-0 canonicalization for floating-pointRobert Suderman2021-11-172-26/+4
| | | | | | | | | Floating point optimization can produce incorrect numerical resutls for -0.0 + 0.0 optimization as result needs to be -0.0. Reviewed By: eric-k256 Differential Revision: https://reviews.llvm.org/D114127
* [X86][AMX] Don't emit tilerelease for old AMX instrisic.Luo, Yuanke2021-11-187-10/+16
| | | | | | | | | | We should avoid mixing old AMX instrinsic with new AMX intrinsic. For old AMX intrinsic, user is responsible for invoking tile release. This patch is to check if there is any tile config generated by compiler. If so it emit tilerelease instruction, otherwise it don't emit the instruction. Differential Revision: https://reviews.llvm.org/D114066
* Autogen a test for ease of updatePhilip Reames2021-11-171-21/+65
|
* [X86] add 3 missing intrinsics: _mm_(mask/maskz)_cvtpbh_psFreddy Ye2021-11-183-6/+83
| | | | | | Reviewed By: craig.topper, pengfei Differential Revision: https://reviews.llvm.org/D114059
* [flang] Add a semantics test for co_sumDamian Rouson2021-11-171-0/+46
| | | | | | | | | | | Test a range of acceptable forms of co_sum calls, including combinations of keyword and non-keyword actual arguments of numeric types. Also test that several invalid forms of co_sum call generate the correct error messages. Reviewed By: kiranchandramohan, ktras Differential Revision: https://reviews.llvm.org/D113076
* [AMDGPU] Update GFX10 memory model to account for MALLCarl Ritson2021-11-181-2/+5
| | | | | | | | Document memory attached last level (MALL) cache added in GFX10.3. Reviewed By: t-tye Differential Revision: https://reviews.llvm.org/D114076
* [flang] Fix INQUIRE(PAD=) and (POSITION=) for predefined unitsPeter Klausler2021-11-172-1/+3
| | | | | | | | | | | | | The predefined units were not being initialized with FORM='FORMATTED', so INQUIRE(PAD=) was failing if no I/O had already been done. INQUIRE(POSITION=) was returning 'REWIND' on stdin/stdout (which is somewhat defensible from the definition, and is what Intel Fortran does), but most implementations return 'ASIS'. Change the runtime to return 'REWIND' only for positionable external files, but 'ASIS' for terminals, sockets, &c. Differential Revision: https://reviews.llvm.org/D114028
* [lld-macho] Add warn flags to enable/disable warnings on -install_nameVincent Lee2021-11-174-7/+27
| | | | | | | | | | | | ld64 doesn't warn on builds using `-install_name` if it's a bundle. But, the current warning is nice to have because `install_name` only works with dylib. To prevent an overflow of warnings in build logs and have parity with ld64, create a `--warn-dylib-install-name` and `--warn-no-dylib-install-name` flag that enables this LLD specific warning. Reviewed By: #lld-macho, thakis Differential Revision: https://reviews.llvm.org/D113534
* LiteralSupport: Don't assert() on invalid inputDaan De Meyer2021-11-172-8/+19
| | | | | | | | | | | | When using clangd, it's possible to trigger assertions in NumericLiteralParser and CharLiteralParser when switching git branches. This commit removes the initial asserts on invalid input and replaces those asserts with the error handling mechanism from those respective classes instead. This allows clangd to gracefully recover without crashing. See https://github.com/clangd/clangd/issues/888 for more information on the clangd crashes.
* [compiler-rt][asan] Re-add `self`Leonard Chan2021-11-171-0/+1
| | | | We ran into errors where this wasn't defined in Fuchsia's asan implementation.
* Revert "[sanitizer] Add a few of type_traits tools"Vitaly Buka2021-11-172-101/+1
| | | | | | Does not work with GCC This reverts commit a82ee2be9c6378cd34deb3ab002d78acd2b04ff3.
* [MLIR][Docs] Fix link syntax in Rationale.mdJ. Ryan Stinnett2021-11-171-1/+1
|