- Nov 04, 2020
-
-
mikeurbach authored
Previously, they were only defined for `FuncOp`. To support this, `FunctionLike` needs a way to get an updated type from the concrete operation. This adds a new hook for that purpose, called `getTypeWithoutArgsAndResults`. For now, `FunctionLike` continues to assume the type is `FunctionType`, and concrete operations that use another type can hide the `getType`, `setType`, and `getTypeWithoutArgsAndResults` methods. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D90363
-
Siva Chandra Reddy authored
-
- Nov 03, 2020
-
-
Julien Jorge authored
When machine instructions are in the form of ``` %0 = CONST_I32 @str %1 = ADD_I32 %stack.0, %0 %2 = LOAD 0, 0, %1 ``` In the `ADD_I32` instruction, it is possible to fold it if `%0` is a `CONST_I32` from an immediate number. But in this case it is a global address, so we shouldn't do that. But we haven't checked if the operand of `ADD` is an immediate so far. This fixes the problem. (The case applies the same for `ADD_I64` and `CONST_I64` instructions.) Fixes https://bugs.llvm.org/show_bug.cgi?id=47944. Patch by Julien Jorge (jjorge@quarkslab.com) Reviewed By: dschuff Differential Revision: https://reviews.llvm.org/D90577
-
Thomas Raoux authored
Differential Revision: https://reviews.llvm.org/D90474
-
Sanjay Patel authored
This is based on the same idea that I am using for the basic model implementation and what I have partly already done for x86: throughput cost is number of instructions/uops, so size/blended costs are identical except in special cases (for example, fdiv or other known-expensive machine instructions or things like MVE that may require cracking into >1 uop)). Differential Revision: https://reviews.llvm.org/D90692
-
Mehdi Amini authored
-
Kiran Chandramohan authored
The OpenMP dialect include is only needed for translation and is not required in LLVM dialect. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D90510
-
Richard Smith authored
the reference-ness of the parameter's type.
-
Matt Morehouse authored
MaskRay already fixed the ASan bug.
-
Matt Morehouse authored
This reverts commit 53df3beb due to check-asan failure on the buildbot.
-
Fangrui Song authored
-
Michael Jones authored
Rename the files containing the `__errno_location` function to `__errno_location.h/cpp` to match the other files and move the `llvmlibc_errno` macro to its own file. Split assert.h into `__assert_fail.h` (contains the function prototype) and assert.h (contains the assert macro). Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D90653
-
Jordan Rupprecht authored
-
River Riddle authored
* Use function_ref instead of std::function in several methods * Use ::get instead of ::getChecked for IntegerType. - It is already fully verified and constructing a mlir::Location can be extremely costly during parsing.
-
Baptiste Saleil authored
Add MMA builtin decoding. These builtins use the new PowerPC-specific types __vector_pair and __vector_quad. So to avoid pervasive changes, we use custom type descriptors and custom decoding for these builtins. We also use custom code generation to expand builtin calls with pointers to simpler intrinsic calls with non-pointer types. Differential Revision: https://reviews.llvm.org/D81748
-
Jordan Rupprecht authored
-
Louis Dionne authored
Some executors do not run the tests in a shell, and so assuming that they can understand shell builtins is wrong. Instead, call Bash directly to do what we need to do. This still requires the executor to be able to run Bash, but at least it does not require it to interpret command lines in the Bash language.
-
Michał Górny authored
Update expected failures and test skips based on common results for the old and new FreeBSD plugins.
-
Michał Górny authored
-
Michał Górny authored
-
Shilei Tian authored
There is a non-conforming use of variable-sized array in the test case `parallel_offloading_map.c`. This patch fixed it. Reviewed By: protze.joachim Differential Revision: https://reviews.llvm.org/D90642
-
Kadir Cetinkaya authored
-
Kadir Cetinkaya authored
This introduces a mechanism for providers to interpret paths specified in a fragment either as absolute or relative to fragment location. This information should be used during compile stage to handle blocks correctly. Differential Revision: https://reviews.llvm.org/D90270
-
Louis Dionne authored
Unfortunately, executing these tests correctly on platforms that do not support a shell is very challenging. Since the executor can't just negate the result of the command, we'd have to ship a portable program capable of running the actual test executable, and negating its result. Doing this portably is challenging. Since we do not currently have strong use cases for tests that fail at runtime (we effectively have no tests using that capability right now), it is difficult to justify making them work portably. Instead, it makes more sense to remove this feature until we can implement it properly (i.e. without requiring shell support).
-
Fangrui Song authored
-
Louis Dionne authored
We can use the convenience substitutions provided by the format instead of bootstrapping our own.
-
Jonas Devlieghere authored
Before: error: python exception <class 'AttributeError'> After: error: python exception: 'DarwinImage' object has no attribute 'debugger'
-
Xun Li authored
There is already an API in BasicBlock that checks and returns the musttail call if it precedes the return instruction. Use it instead of manually checking in each place. Differential Revision: https://reviews.llvm.org/D90693
-
Petr Hosek authored
d48f2d7c made destructor of SuspendedThreadsList protected, so we need an empty subclass to pass to the callback now. Differential Revision: https://reviews.llvm.org/D90695
-
Vitaly Buka authored
-
Roman Lebedev authored
InstCombine is quite aggressive in doing the opposite transform, folding `add` of operands with no common bits set into an `or`, and that not many things support that new pattern.. In this case, teaching Reassociate about it is easy, there's preexisting art for `sub`/`shl`: just convert such an `or` into an `add`: https://rise4fun.com/Alive/Xlyv
-
Roman Lebedev authored
-
Thomas Raoux authored
Differential Revision: https://reviews.llvm.org/D90567
-
Sanne Wouda authored
This reverts commit 5a72a162.
-
Sanne Wouda authored
This reverts commit 6e80318e.
-
Jay Foad authored
-
Ben Dunbobbin authored
415f7ee8 had a silly typo introduced when I inlined some code into a loop from its own function. Original commit message: For PlayStation we offer source code compatibility with Microsoft's dllimport/export annotations; however, our file format is based on ELF. To support this we translate from DLL storage class to ELF visibility at the end of codegen in Clang. Other toolchains have used similar strategies (e.g. see the documentation for this ARM toolchain: https://developer.arm.com/documentation/dui0530/i/migrating-from-rvct-v3-1-to-rvct-v4-0/changes-to-symbol-visibility-between-rvct-v3-1-and-rvct-v4-0) This patch adds the ability to perform this translation. Options are provided to support customizing the mapping behaviour. Differential Revision: https://reviews.llvm.org/D89970
-
Sanne Wouda authored
The LoopDistribute pass is missing from the LTO pipeline, so -enable-loop-distribute has no effect during post-link. The pre-link loop distribution doesn't seem to survive the LTO pipeline either. With this patch (and -flto -mllvm -enable-loop-distribute) we see a 43% uplift on SPEC 2006 hmmer for AArch64. The rest of SPECINT 2006 is unaffected. Differential Revision: https://reviews.llvm.org/D89896
-
Sanne Wouda authored
-