- Jun 11, 2020
-
-
Esme-Yi authored
Summary: Add RUN lines for pwr8.
-
Kristof Beyls authored
By moving target-independent code from llvm/lib/Target/X86/X86IndirectThunks.cpp to llvm/include/llvm/CodeGen/IndirectThunks.h Differential Revision: https://reviews.llvm.org/D81401
-
Craig Topper authored
This appears to have been added when In64BitMode was added to a bunch of instructions that don't have register operands. When an instruction uses a register the parser will prevent a 64-bit register from being parsed on a 32-bit target. But with only memory and immediate operands this doesn't happen. TEST64ri32 does have a register operand so the issue the predicate was supposed to fix doesn't apply.
-
Vitaly Buka authored
-
David Sherwood authored
Until we have a real need for computing known bits for scalable vectors I have simply changed the code to bail out for now and pretend we know nothing. I've also fixed up some simple callers of computeKnownBits too. Differential Revision: https://reviews.llvm.org/D80437
-
LLVM GN Syncbot authored
-
Kristof Beyls authored
Some processors may speculatively execute the instructions immediately following RET (returns) and BR (indirect jumps), even though control flow should change unconditionally at these instructions. To avoid a potential miss-speculatively executed gadget after these instructions leaking secrets through side channels, this pass places a speculation barrier immediately after every RET and BR instruction. Since these barriers are never on the correct, architectural execution path, performance overhead of this is expected to be low. On targets that implement that Armv8.0-SB Speculation Barrier extension, a single SB instruction is emitted that acts as a speculation barrier. On other targets, a DSB SYS followed by a ISB is emitted to act as a speculation barrier. These speculation barriers are implemented as pseudo instructions to avoid later passes to analyze them and potentially remove them. Even though currently LLVM does not produce BRAA/BRAB/BRAAZ/BRABZ instructions, these are also mitigated by the pass and tested through a MIR test. The mitigation is off by default and can be enabled by the harden-sls-retbr subtarget feature. Differential Revision: https://reviews.llvm.org/D81400
-
Yvan Roux authored
Outline chunks of code which don't need a save/restore mechanism of the link register. Differential Revision: https://reviews.llvm.org/D80125
-
Fangrui Song authored
The "if (S.getLangOpts().CUDA && Cand1.Function && Cand2.Function) {" part is known to be problematic but the root cause isn't clear yet.
-
Craig Topper authored
-
Craig Topper authored
-
Paula Toth authored
-
Craig Topper authored
Revert "[X86] Move X86 stuff out of TargetParser.h and into the recently created X86TargetParser.h. NFC" This reverts commit 874800b4. Forgot to update the clang includes
-
Craig Topper authored
-
Vitaly Buka authored
Summary: The patch wraps ThinLTO index into immutable pass which can be used by StackSafety analysis. Reviewers: eugenis, pcc Reviewed By: eugenis Subscribers: hiraditya, steven_wu, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80985
-
Yaxun (Sam) Liu authored
Recent change from `#if !defined(__CUDA__)` to `#if !__CUDA__` caused regression on ROCm 3.5 since there is `#define __CUDA__` before inclusion of the header file, which causes `#if !__CUDA__` to be invalid. Change `#if !__CUDA__` back to `#if !defined(__CUDA__)` for backward compatibility.
-
Esme-Yi authored
Summary: Add RUN lines for pwr8.
-
Louis Dionne authored
Instead of passing file dependencies individually, assume that the whole content of the unique test directory is a dependency. This simplifies the test harness significantly, by making %T the directory that contains everything required to run a test. This also removes the need for the %{file_dependencies} substitution, which is removed by this patch. Furthermore, this patch also changes the harness to execute tests locally inside %T, so as to avoid creating a separate directory for no purpose.
-
LemonBoy authored
The fp16 ops are legalized by extending/chopping them as needed. The tests are shamelessly stolen from the RISC-V backend. Recommit with fixed RUN lines for the test. Differential Revision: https://reviews.llvm.org/D77569
-
Matt Arsenault authored
The baffling thing is this passed the OpenCL conformance test for 32-bit integer divisions, but only failed in the 32-bit path of BypassSlowDivisions for the 64-bit tests.
-
Jonas Devlieghere authored
This replaces the (only) call to llvm::sys::fs::openFileForWrite with FileSystem::Open. This guarantees that we include log files in the reproducers. Differential revision: https://reviews.llvm.org/D81499
-
Mehdi Amini authored
This reverts commit 4b7aa6c8. This broke gcc builds.
-
Fangrui Song authored
This reverts commit 263390d4. This can still cause bogus errors: eigen3/Eigen/src/Core/CoreEvaluators.h:94:38: error: call to implicitly-deleted copy constructor of 'unary_evaluator<Eigen::Inverse<Eigen::Matrix<double, 4, 4, 0, 4, 4>>>' thrust/system/detail/generic/for_each.h:49:3: error: implicit instantiation of undefined template 'thrust::detail::STATIC_ASSERTION_FAILURE<false>'
-
Rahul Joshi authored
Summary: Emit a debug message if inlining fails. Differential Revision: https://reviews.llvm.org/D81320
-
Rahul Joshi authored
Summary: Add ArrayAttr::empty() to check for an empty ArrayAttr Differential Revision: https://reviews.llvm.org/D81579
-
Xing GUO authored
Before this patch, we have to calculate the offset for the current range list entry. This patch helps make the "Offset" field optional. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D81220
-
Xing GUO authored
The `debug_info_offset`(`CuOffset`) should be 64-bit width rather than 32-bit width in DWARF64 .debug_aranges section. This patch helps resolve it. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D81528
-
Daniel Sanders authored
Summary: If you have downstream tools that are llc-like (e.g, llc with different defaults), it's convenient to still be able to use `update_llc_test_checks` with them. Refactor slightly to allow such tools to be supported by adding them to LLC_LIKE_TOOLS Reviewers: bogner Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80960
-
Rahul Joshi authored
Summary: - Print function name when ReturnOp verification fails - This helps easily finding the invalid ReturnOp in an IR dump. Differential Revision: https://reviews.llvm.org/D81513
-
Rob Suderman authored
Summary: We now support index casting for tensor<index> to tensor<int>. This better supports compatibility with the Shape dialect. Differential Revision: https://reviews.llvm.org/D81611
-
River Riddle authored
Summary: At this point Parser has grown to be over 5000 lines and can be very difficult to navigate/update/etc. This commit splits Parser.cpp into several sub files focused on parsing specific types of entities; e.g., Attributes, Types, etc. Differential Revision: https://reviews.llvm.org/D81299
-
Craig Topper authored
We had alread loaded operand 1 and 2 of the select as TV and FV using the more the readable getTrueValue/getFalseValue.
-
HazemAbdelhafez authored
Modify structure type in SPIR-V dialect to support: 1) Multiple decorations per structure member 2) Key-value based decorations (e.g., MatrixStride) This commit kept the Offset decoration separate from members' decorations container for easier implementation and logical clarity. As such, all references to Structure layoutinfo are now offsetinfo, and any member layout defining decoration (e.g., RowMajor for Matrix) will be add to the members' decorations container along with its value if any. Differential Revision: https://reviews.llvm.org/D81426
-
George Mitenkov authored
Following the previous revision `D81100`, this commit implements a templated class that would provide conversion patterns for “straightforward” SPIR-V ops into LLVM dialect. Templating allows to abstract away from concrete implementation for each specific op. Those are mainly binary operations. Currently supported and tested ops are: - Arithmetic ops: `IAdd`, `ISub`, `IMul`, `FAdd`, `FSub`, `FMul`, `FDiv`, `FNegate`, `SDiv`, `SRem` and `UDiv` - Bitwise ops: `BitwiseAnd`, `BitwiseOr`, `BitwiseXor` The implementation relies on `SPIRVToLLVMConversion` class that makes use of `OpConversionPattern`. Differential Revision: https://reviews.llvm.org/D81305
-
Hongtao Yu authored
This change introduces an LLD switch --thinlto-single-module to allow compiling only a part of the input modules. This is specifically enables: 1. Fast investigating/debugging modules of interest without spending time on compiling unrelated modules. 2. Compiler debug dump with -mllvm -debug-only= for specific modules. It will be useful for large applications which has 1K+ input modules for thinLTO. The switch can be combined with `--lto-obj-path=` or `--lto-emit-asm` to obtain intermediate object files or assembly files. So far the module name matching is implemented as a fuzzy name lookup where the modules with name containing the switch value are compiled. E.g, Command: ld.lld main.o thin.a --thinlto-single-module=thin.a --lto-obj-path=single.o log: [ThinLTO] Selecting thin.a(thin1.o at 168) to compile [ThinLTO] Selecting thin.a(thin2.o at 228) to compile Command: ld.lld main.o thin.a --thinlto-single-module=thin1.o --lto-obj-path=single.o log: [ThinLTO] Selecting thin.a(thin1.o at 168) to compile Differential Revision: https://reviews.llvm.org/D80406
-
Scott Constable authored
@nikic raised an issue on D75936 that the added complexity to the O0 pipeline was causing noticeable slowdowns for `-O0` builds. This patch addresses the issue by adding a pass with equal security properties, but without any optimizations (and more importantly, without the need for expensive analysis dependencies). Reviewers: nikic, craig.topper, mattdr Reviewed By: craig.topper, mattdr Differential Revision: https://reviews.llvm.org/D80964
-
Siva Chandra Reddy authored
That if(EXISTS ...) works only with full paths was missed in couple of places a in recent cleanup.
-
- Jun 10, 2020
-
-
Jonas Devlieghere authored
These tests are flaky on the reproducer bot. I suspect it has something to do with the module cache. Skipping the whole category while I investigate the issue.
-
Alexander Belyaev authored
Differential Revision: https://reviews.llvm.org/D81610
-