- Nov 16, 2022
-
-
bixia1 authored
Fix a problem in convert op rewriting where it used the original index for ToIndicesOp. Extend the concatenate op rewriting to handle dense destination and dynamic shape destination. Make the concatenate op integration test run on the codegen path. Reviewed By: Peiming Differential Revision: https://reviews.llvm.org/D138057
-
Jason Molenda authored
Rosetta 2 is not installed by default in a fresh macOS installation on Apple Silicon, so x86 binaries cannot be run. CI bots are often in this state. Update this test to check for the rosetta debugserver, which our debugserver also hardcodes the path of, before trying to run an x86 process on AS systems.
-
Akira Hatanaka authored
Look through parentheses when determining whether the expression is a @selector expression.
-
eopXD authored
This change would allow extension of new categories be aware of adding more code here. This patch also updates the comments, which was originally missing the vector predicate. Reviewed By: mikerice Differential Revision: https://reviews.llvm.org/D137570
-
Craig Topper authored
[TargetLowering][RISCV][ARM][AArch64][Mips] Reduce the number of AND mask constants used by BSWAP expansion. We can reuse constants if we use SRL followed by AND and AND followed by SHL. Similar was done to bitreverse previously. Differential Revision: https://reviews.llvm.org/D138045
-
Arthur Eubanks authored
As part of legacy PM optimization pipeline removal. This shouldn't be used in codegen pipelines so it should be ok to remove. Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D137116
-
Jason Molenda authored
A fresh install of macOS does not have Rosetta 2 installed by default; the CI bots are often in this state, resulting in a test failure. debugserver already hardcodes the filepath of the Rosetta 2 debugserver; test if that file exists before running the Rosetta test.
-
Arthur Eubanks authored
And a possible opt invocation plus a link to more extensive documentation. Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D136617
-
Med Ismail Bennani authored
This patch changes app_specific_backtrace_crashlog.test's crashlog file extension from `ips` to `txt. This should prevent the test from opening Console.app when being run. This should also fix a test failure caused by missing symbols. Signed-off-by:Med Ismail Bennani <medismail.bennani@gmail.com>
-
Philip Reames authored
-
Ben Langmuir authored
Instead of checking all the paths, just ensure the one we care about is correct. On a particular platform one of the paths seems to have been more canonical than we were expecting, which is fine.
-
Dhruva Chakrabarti authored
[OpenMP] [OMPT] [2/8] Implemented a connector for communication of OMPT callbacks between libraries. This is part of a set of patches implementing OMPT target callback support and has been split out of the originally submitted https://reviews.llvm.org/D113728. The overall design can be found in https://rice.app.box.com/s/pf3gix2hs4d4o1aatwir1set05xmjljc The purpose of this patch is to provide a way to register tool-provided callbacks into libomp when libomptarget is loaded. Introduced a cmake variable LIBOMPTARGET_OMPT_SUPPORT that can be used to control OMPT target support. It follows host OMPT support, controlled by LIBOMP_HAVE_OMPT_SUPPORT. Added a connector that can be used to communicate between OMPT implementations in libomp and libomptarget or libomptarget and a plugin. Added a global constructor in libomptarget that uses the connector to force registration of tool-provided callbacks in libomp. A pair of init and fini functions are provided to libomp as part of the connect process which will be used to register the tool-provided callbacks in libomptarget. Patch from John Mellor-Crummey <johnmc@rice.edu> (With contributions from Dhruva Chakrabarti <Dhruva.Chakrabarti@amd.com>) Reviewed By: dreachem, jhuber6 Differential Revision: https://reviews.llvm.org/D123572
-
Jennifer Yu authored
Error directive is allowed in both declared and executable contexts. The function ActOnOpenMPAtClause is called in both places during the parsers. Adding a param "bool InExContext" to identify context which is used to emit error massage. Differential Revision: https://reviews.llvm.org/D137851
-
Ben Langmuir authored
Use a FileEntryRef when retrieving modulemap paths in the scanner so that we use a path compatible with the original module import, rather than a FileEntry which can allow unrelated modules to leak paths into how we build a module due to FileManager mutating the path. Note: the current change prevents an "unrelated" path, but does not change how VFS mapped paths are handled (which would be calling getNameAsRequested) nor canonicalize the path. Differential Revision: https://reviews.llvm.org/D137989
-
Alexey Bataev authored
Need to use advanced check for the same vectorized node to avoid possible compiler crash. We may have 2 similar nodes (vector one and gather) after graph nodes rotation, need to do extra checks for the exact match.
-
Michael Jones authored
The assert functions were disabled while the signal functions were being fixed. This patch re-enables them. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D138056
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Louis Dionne authored
This prepares the terrain for introducing a new type of bounded iterator that can't be constructed like __wrap_iter. This reverts part of the changes made to std::vector in 4eab04f8. Differential Revision: https://reviews.llvm.org/D138036
-
Aart Bik authored
Reviewed By: bixia Differential Revision: https://reviews.llvm.org/D138054
-
Krzysztof Drewniak authored
The SerializeToHsaco uses functions from ExecutionEngineUtils to set up LLVM pass pipelines, but does not otherwise depend on the execution engine (except indirectly via a dependency on IPO). This commit removes the dependency on the execution engine to prevent unnecessarily compilations. Reviewed By: ThomasRaoux Differential Revision: https://reviews.llvm.org/D138041
-
Fangrui Song authored
C standard does not require stdint.h to define size_t.
-
Kazu Hirata authored
This patch fixes: mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp:195:30: warning: cast from type ‘const long unsigned int*’ to type ‘void*’ casts away qualifiers [-Wcast-qual]
-
Kazu Hirata authored
This patch fixes: mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp:296:31: error: comparison of integers of different signs: 'int64_t' (aka 'long') and 'const uint64_t' (aka 'const unsigned long') [-Werror,-Wsign-compare] mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp:297:67: error: comparison of integers of different signs: 'int64_t' (aka 'long') and 'const uint64_t' (aka 'const unsigned long') [-Werror,-Wsign-compare] mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp:298:31: error: comparison of integers of different signs: 'int64_t' (aka 'long') and 'const uint64_t' (aka 'const unsigned long') [-Werror,-Wsign-compare] mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp:479:30: error: comparison of integers of different signs: 'int64_t' (aka 'long') and 'const uint64_t' (aka 'const unsigned long') [-Werror,-Wsign-compare]
-
Mahesh Ravishankar authored
[mlir] Remove `Transforms/SideEffectUtils.h` and move the methods into `Interface/SideEffectInterfaces.h`. The methods in `SideEffectUtils.h` (and their implementations in `SideEffectUtils.cpp`) seem to have similar intent to methods already existing in `SideEffectInterfaces.h`. Move the decleration (and implementation) from `SideEffectUtils.h` (and `SideEffectUtils.cpp`) into `SideEffectInterfaces.h` (and `SideEffectInterface.cpp`). Also drop the `SideEffectInterface::hasNoEffect` method in favor of `mlir::isMemoryEffectFree` which actually recurses into the operation instead of just relying on the `hasRecursiveMemoryEffectTrait` exclusively. Differential Revision: https://reviews.llvm.org/D137857
-
Shafik Yaghmour authored
Currently Sema::CheckForIntOverflow misses several case that other compilers diagnose for overflow in integral constant expressions. This includes the arguments of a CXXConstructExpr as well as the expressions used in an ArraySubscriptExpr, CXXNewExpr and CompoundLiteralExpr. This fixes https://github.com/llvm/llvm-project/issues/58944 Differential Revision: https://reviews.llvm.org/D137897
-
Kazu Hirata authored
This patch fixes: mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h:955:20: error: unused variable 'sz' [-Werror,-Wunused-variable] mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp:1460:2: error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
-
bixia1 authored
Modify the integration test to check number_of_entries and use it to limit for outputing sparse tensor values. Reviewed By: aartbik, Peiming Differential Revision: https://reviews.llvm.org/D138046
-
Peiming Liu authored
Reviewed By: aartbik, bixia Differential Revision: https://reviews.llvm.org/D138053
-
Reed authored
NVIDIA, ARM, and Intel recently introduced two new FP8 formats, as described in the paper: https://arxiv.org/abs/2209.05433. The first of the two FP8 dtypes, E5M2, was added in https://reviews.llvm.org/D133823. This change adds the second of the two: E4M3. There is an RFC for adding the FP8 dtypes here: https://discourse.llvm.org/t/rfc-add-apfloat-and-mlir-type-support-for-fp8-e5m2/65279. I spoke with the RFC's author, Stella, and she gave me the go ahead to implement the E4M3 type. The name of the E4M3 type in APFloat is Float8E4M3FN, as discussed in the RFC. The "FN" means only Finite and NaN values are supported. Unlike E5M2, E4M3 has different behavior from IEEE types in regards to Inf and NaN values. There are no Inf values, and NaN is represented when the exponent and mantissa bits are all 1s. To represent these differences in APFloat, I added an enum field, fltNonfiniteBehavior, to the fltSemantics struct. The possible enum values are IEEE754 and NanOnly. Only Float8E4M3FN has the NanOnly behavior. After this change is submitted, I plan on adding the Float8E4M3FN type to MLIR, in the same way as E5M2 was added in https://reviews.llvm.org/D133823. Reviewed By: bkramer Differential Revision: https://reviews.llvm.org/D137760
-
Roy Sundahl authored
This test was unsupported in iOS when a more accurate test is that the architecture is x86_64. This "fix" is first in a series of updates intended to get asan arm64 tests fully functional. Reviewed By: thetruestblue, vitalybuka Differential Revision: https://reviews.llvm.org/D138001
-
Fangrui Song authored
This reverts commit e05ce03c. Caused asan use-after-poison to 4 DebugInfo/AMDGPU/ tests. Triggered in PEI::replaceFrameIndicesBackward called llvm::MachineInstr::getNumOperands
-
Tue Ly authored
Use add_with_carry builtin to improve the performance of addition and multiplication of UInt class. For 128-bit, it is as fast as using __uint128_t. Microbenchmark for addition: https://quick-bench.com/q/-5a6xM4T8rIXBhqMTtLE-DD2h8w Microbenchmark for multiplication: https://quick-bench.com/q/P2muLAzJ_W-VqWCuxEJ0CU0bLDg Microbenchmark for shift right: https://quick-bench.com/q/N-jkKXaVsGQ4AAv3k8VpsVkua5Y Microbenchmark for shift left: https://quick-bench.com/q/5-RzwF8UdslC-zuhNajXtXdzLRM Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D137871
-
Fangrui Song authored
-
Andrew Savonichev authored
Alignment of function arguments can be increased only if we can do this for all call sites. Therefore we do not increase it for external functions, and now we skip functions that have address taken, to avoid any issues with functions pointers. Differential Revision: https://reviews.llvm.org/D135708
-
Andrew Savonichev authored
When --nvptx-short-ptr is set, local pointers are stored as 32-bit on nvptx64 target. Before this patch, arguments for a function declaration were always emitted as b64 regardless of their address space, but they were set as b32 for the corresponding call instruction: .extern .func test ( .param .b64 test_param_0 ) [...] .param .b32 param0; st.param.b32 [param0+0], %r1; call.uni test, (param0); This is not supported: ptxas: Type of argument does not match formal parameter 'test_param_0' Now short pointers in a function declaration are emitted as b32 if --nvptx-short-ptr is set. Differential Revision: https://reviews.llvm.org/D135674 -
Andrew Savonichev authored
Global variables used to be printed as u64/b64 even when -nvptx-short-ptr is set. Differential Revision: https://reviews.llvm.org/D127668
-
Roman Lebedev authored
These are already covered by the more general tests i've added.
-
Mehdi Amini authored
-