- Oct 27, 2020
-
-
Louis Dionne authored
-
Simon Pilgrim authored
-
AndreyChurbanov authored
Patch by Erdner, Todd <todd.erdner@intel.com> Differential Revision: https://reviews.llvm.org/D89898
-
- Oct 26, 2020
-
-
Florian Hahn authored
-
Simon Pilgrim authored
-
Kazushi (Jam) Marukawa authored
Add VSLL/VSLD/VSRL/VSLA/VSLAX/VSRA/VSRAX/VSFA instructionss. Add additonal AsmParser for VSLD special operand. Also add regression tests. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D90143
-
Kazushi (Jam) Marukawa authored
Add VAND/VOR/VXOE/VEQV/VLDZ/VPCNT/VBRV/VSEQ instrucitons and regression tests. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D90141
-
Kazushi (Jam) Marukawa authored
Support atomic store instructions and add a regression test. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D90137
-
Denys Petrov authored
Summary: Method of obtaining MemRegion from LocAsInteger/MemRegionVal already exists in SVal::getAsRegion function. Replace repetitive conditions in SVal::getAsLocSymbol with SVal::getAsRegion function. Differential Revision: https://reviews.llvm.org/D89982
-
Paul C. Anagnostopoulos authored
Differential Revision: https://reviews.llvm.org/D90057
-
Andy Yankovsky authored
`SBError::SetErrorToGenericError` should call `Status::SetErrorToGenericError`, not `Status::SetErrorToErrno`. Reviewed By: teemperor Differential Revision: https://reviews.llvm.org/D90151
-
Simon Pilgrim authored
-
Kirill Bobyrev authored
Both `SymbolKind` and `indexSymbolKindToSymbolKind` support constructors and separate them into a different category from regular methods. Reviewed By: kadircet Differential Revision: https://reviews.llvm.org/D89935
-
Raphael Isemann authored
Escaping by inserting characters in the middle of a std::string isn't cheap. It's much more verbose than just prepending a backslash in a loop.
-
Simon Pilgrim authored
This is mainly to help with future better bitreverse folding support but we can test it via bswap matching for now.
-
Jay Foad authored
-
Florian Hahn authored
Currently, the cost of some compare/select patterns is overestimated on AArch64.
-
Kirill Bobyrev authored
Previous attempt (15f6bad6) introduced add_dependencies but unfortunately it does not actually add a dependency between RemoteIndexProto and RemoteIndexServiceProto. This is likely due to some requirements of it that clang_add_library violates. As a workaround, we will link RemoteIndexProto library to RemoteIndexServiceProto which is logical because the library can not be without linking to RemoteIndexProto anyway.
-
George Mitenkov authored
This patch introduces a SPIR-V runner. The aim is to run a gpu kernel on a CPU via GPU -> SPIRV -> LLVM conversions. This is a first prototype, so more features will be added in due time. - Overview The runner follows similar flow as the other runners in-tree. However, having converted the kernel to SPIR-V, we encode the bind attributes of global variables that represent kernel arguments. Then SPIR-V module is converted to LLVM. On the host side, we emulate passing the data to device by creating in main module globals with the same symbolic name as in kernel module. These global variables are later linked with ones from the nested module. We copy data from kernel arguments to globals, call the kernel function from nested module and then copy the data back. - Current state At the moment, the runner is capable of running 2 modules, nested one in another. The kernel module must contain exactly one kernel function. Also, the runner supports rank 1 integer memref types as arguments (to be scaled). - Enhancement of JitRunner and ExecutionEngine To translate nested modules to LLVM IR, JitRunner and ExecutionEngine were altered to take an optional (default to `nullptr`) function reference that is a custom LLVM IR module builder. This allows to customize LLVM IR module creation from MLIR modules. Reviewed By: ftynse, mravishankar Differential Revision: https://reviews.llvm.org/D86108
-
Fraser Cormack authored
This optmization produces incorrect results when the vector element type is not byte-sized. Related to D78568.
-
Andrew Ng authored
The code to detect the requirement for 64-bit offsets in the archive symbol table was not correctly accounting for the archive file signature and the size of all the contents of the symbol table itself, e.g. the symbol table's header and string table. Also was not considering the variation in symbol table formats. This could result in the creation of large archives with a corrupt symbol table. Change the testing environment variable SYM64_THRESHOLD to be an absolute value rather than a power of 2 in order to enable precise testing of this detection code. Differential Revision: https://reviews.llvm.org/D89891
-
Simon Pilgrim authored
We were using the unique_ptr M to determine the triple after it had been moved in the EngineBuilder constructor.
-
George Mitenkov authored
This patch introduces a pass for running `mlir-spirv-cpu-runner` - LowerHostCodeToLLVMPass. This pass emulates `gpu.launch_func` call in LLVM dialect and lowers the host module code to LLVM. It removes the `gpu.module`, creates a sequence of global variables that are later linked to the varables in the kernel module, as well as a series of copies to/from them to emulate the memory transfer to/from the host or to/from the device sides. It also converts the remaining Standard dialect into LLVM dialect, emitting C wrappers. Reviewed By: mravishankar Differential Revision: https://reviews.llvm.org/D86112
-
Haojian Wu authored
Because of typo-correction, the AST can be transformed, and the transformed AST is marginally useful for diagnostics purpose, the following diagnostics usually do harm than good (easily cause confusions). Given the following code: ``` void abcc(); void test() { if (abc()); // diagnostic 1 (for the typo-correction): the typo is correct to `abcc()`, so the code is treate as `if (abcc())` in AST perspective; // diagnostic 2 (for mismatch type): we perform an type-analysis on `if`, discover the type is not match } ``` The secondary diagnostic "convertable to bool" is likely bogus to users. The idea is to use RecoveryExpr (clang's dependent mechanism) to preserve the recovery behavior but suppress all follow-up diagnostics. Differential Revision: https://reviews.llvm.org/D89946 -
Simon Pilgrim authored
Alive2: https://alive2.llvm.org/ce/z/bCvvHd
-
Simon Pilgrim authored
-
Dmitry Vyukov authored
Enable mips64 support in buildgo.sh. Author: mzh (Meng Zhuo) Reviewed-in: https://reviews.llvm.org/D90130
-
Evgeny Leviant authored
-
Djordje Todorovic authored
-
Pavel Labath authored
-
Pavel Labath authored
Displaying large packed bitfields did not work if one was accessing them through a pointer, and he used the "->" notation ("[0]." notation is fine). The reason for that is that implicit dereference in -> is plumbed all the way down to ValueObjectChild::UpdateValue, where the process of fetching the child value was forked for this flag. The bitfield "sliding" code was implemented only for the branch which did not require dereferencing. This patch restructures the function to avoid this mistake. Processing now happens in two stages. - first the parent is dereferenced (if needed) - then the child value is computed (this step includes sliding and is common for both branches) Differential Revision: https://reviews.llvm.org/D89236 -
Michał Górny authored
Differential Revision: https://reviews.llvm.org/D90119
-
Michał Górny authored
Ensure that xs_xstate_bv is set correctly before calling WriteRegisterSet(). The bit can be clear if the relevant registers were at their initial state when they were read, and it needs to be set in order to apply changes from the XState structure. Differential Revision: https://reviews.llvm.org/D90105
-
Michał Górny authored
Reset registers to their 'initial' state instead of a semi-random pattern in write tests. While the latter might have been helpful while debugging failures (i.e. to distinguish unmodified registers from mistakenly written zeroes), the former makes it possible to test whether xstate_bv field is written correctly when using XSAVE. With this change, the four relevant tests start failing on NetBSD without D90105. Differential Revision: https://reviews.llvm.org/D90114
-
Michał Górny authored
Include <x86/fpu.h> rather than <machine/fpu.h>, as the latter is not present on i386. Differential Revision: https://reviews.llvm.org/D90128
-
Tyker authored
-
Jean Perier authored
2 Bug fixes: - Do not resolve procedure as intrinsic if they appeared in an EXTERNAL attribute statement (one path was not considering this flag) - Emit an error if a procedure resolved to be an intrinsic function (resp. subroutine) is used as a subroutine (resp. function). Lowering was attempted while the evaluate::Expression for the call was missing without any errors. 1 behavior change: - Do not implicitly resolve subroutines (resp. functions) as intrinsics because their name is the name of an intrinsic function (resp. subroutine). Add justification in documentation. Reviewed By: klausler, tskeith Differential Revision: https://reviews.llvm.org/D90049
-
Tyker authored
This allows using annotation in a much more contexts than it currently has. especially when annotation with template or constexpr. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D88645
-
Kazushi (Jam) Marukawa authored
Add VCMP/VCPS/VCPX/VCMS/VCMX vector instructions. Also add regression tests. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D89643
-
Kazushi (Jam) Marukawa authored
Add VADD/VADS/VADX/VSUB/VSBS/VSBX/VMPY/VMPS/VMPX/VMPD/VDIV/VDVS/VDVX instructions. Also add regression tests. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D89642
-