- Nov 04, 2020
-
-
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
-
Andy Yankovsky authored
SBType::GetArrayElementType should return the actual type, not the canonical type (e.g. int32_t, not the underlying int). Added a test case to validate the new behavior. I also ran all other tests on Linux (ninja check-lldb), they all pass. Differential revision: https://reviews.llvm.org/D90318
-
Andy Wingo authored
This patch adds a new "heap type" operand kind to the WebAssembly MC layer, used by ref.null. Currently the possible values are "extern" and "func"; when typed function references come, though, this operand may be a type index. Note that the "heap type" production is still known as "refedtype" in the draft proposal; changing its name in the spec is ongoing (https://github.com/WebAssembly/reference-types/issues/123). The register form of ref.null is still untested. Differential Revision: https://reviews.llvm.org/D90608
-
Aaron En Ye Shi authored
Similar to libcxx implementation of cmath function overloads, use type promotion templates to determine return types of multi-argument math functions. Fixes: SWDEV-256825 Reviewed By: tra, yaxunl Differential Revision: https://reviews.llvm.org/D90409
-
Artem Belevich authored
The path produced by getMainExecutable() may not be the right one when the files are installed in a symlinked tree and when the real location of llvm-objdump is in a different directory. Given that clang-offload-bundler is invoked by clang, the driver already does the job figuring out the right path (e.g. it pays attention to -no-canonical-prefixes). Offload bundler should use it, instead of trying to figure out the path on its own. Differential Revision: https://reviews.llvm.org/D90436
-
Artem Belevich authored
While CUDA documentation claims that such variables are not allowed[1], NVCC has been accepting them since CUDA-10.0[2] and some headers in CUDA-11 rely on this working. 1. https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#static-variables-function 2. https://godbolt.org/z/zsodzc Differential Revision: https://reviews.llvm.org/D88345
-
Jameson Nash authored
-
Jonas Devlieghere authored
Instead of parsing the crashlog in one big loop, use methods that correspond to the different parsing modes. Differential revision: https://reviews.llvm.org/D90665
-
Simon Pilgrim authored
-
Simon Pilgrim authored
As discussed on D90527, we should be trying to move shift handling functionality into KnownBits to avoid code duplication in SelectionDAG/GlobalISel/ValueTracking.
-
Craig Topper authored
DAGCombine doesn't canonicalize rotl/rotr with immediate so we need patterns for both. Remove the custom matcher for rotl to RORI and just use a SDNodeXForm to convert the immediate instead. Doing this gives priority to the rev32/rev16 versions of grevi over rori since an explicit immediate is more precise than any immediate. I also added rotr patterns for rev32/rev16. And removed the (or (shl), (shr)) patterns that should be combined to rotl by DAG combine. There is at least one other grev pattern that probably needs a another rotr pattern, but we need more test coverage first. Differential Revision: https://reviews.llvm.org/D90575
-
Simon Pilgrim authored
As discussed on D90527, we should be be trying to move shift handling functionality into KnownBits to avoid code duplication in SelectionDAG/GlobalISel/ValueTracking. The refactor to use the KnownBits fixed/min/max constant helpers allows us to hit a couple of cases that we were missing before. We still need the getValidMinimumShiftAmountConstant case as KnownBits doesn't handle per-element vector cases.
-
Simon Pilgrim authored
Necessary for upcoming KnownBits::lshr support.
-
Louis Dionne authored
They don't really belong as members of allocator_traits.
-