- Oct 22, 2020
-
-
Joseph Huber authored
The changes made in D88594 caused the test OpenMP/driver.c to fail on a 32-bit host becuase it was offloading to a 64-bit architecture by default. The offloading test was moved to a new file and a feature was added to the lit config to check for a 64-bit host. Reviewed By: daltenty Differential Revision: https://reviews.llvm.org/D89904
-
Louis Dionne authored
This commit should really be named "Workaround external projects depending on libc++ build system implementation details". It seems that the compiler-rt build (and perhaps other projects) is relying on the fact that we copy libc++ and libc++abi headers to `<build-root>/include/c++/v1`. This was changed by 5d796645, which moved the headers to `<build-root>/projects/libcxx/include/c++/v1` and broke the compiler-rt build. I'm committing this workaround to fix the compiler-rt build, but we should remove reliance on implementation details like that. The correct way to setup the compiler-rt build would be to "link" against the `cxx-headers` target in CMake, or to run `install-cxx-headers` using an appropriate installation prefix, and then manually add a `-I` path to that location.
-
Thomas Raoux authored
Forward missing attributes when creating the new transfer op otherwise the builder would use default values. Differential Revision: https://reviews.llvm.org/D89907
-
Sriraman Tallam authored
emit-obj is unnecessary here and further wasn't redirected to /dev/null.
-
Arthur Eubanks authored
-
Arthur Eubanks authored
-
Lei Zhang authored
MLIRTransforms is needed to provide BufferizeTypeConverter definitions.
-
Richard Smith authored
fix a few exposed bugs.
-
Richard Smith authored
non-type template parameters. Create a unique TemplateParamObjectDecl instance for each such value, representing the globally unique template parameter object to which the template parameter refers. No IR generation support yet; that will follow in a separate patch.
-
Arthur Eubanks authored
-
Hafiz Abid Qadeer authored
While running this test on a bare metal target, I got an error as 'sleep' was not available on that system. As 'sleep' call is not doing anything useful for cases when _LIBCXXABI_HAS_NO_THREADS is defined. This patch puts it under this check. Reviewed By: ldionne Differential Revision: https://reviews.llvm.org/D89871
-
Arthur Eubanks authored
Reviewed By: thakis Differential Revision: https://reviews.llvm.org/D89015
-
Teresa Johnson authored
As discussed in the review for D87120 (specifically at https://reviews.llvm.org/D87120#inline-831939), clean up PrintModuleMap and DumpProcessMap usage differences. The former is only implemented for Mac OSX, whereas the latter is implemented for all OSes. The former is called by asan and tsan, and the latter by hwasan and now memprof, under the same option. Simply rename the PrintModuleMap implementation for Mac to DumpProcessMap, remove other empty PrintModuleMap implementations, and convert asan/tsan to new name. The existing posix DumpProcessMap is disabled for SANITIZER_MAC. Differential Revision: https://reviews.llvm.org/D89630
-
Arthur Eubanks authored
PreservedCFGCheckerInstrumentation was saying that LowerMatrixIntrinsics didn't properly preserve CFG even though it claimed to. The legacy pass says it doesn't. Match the legacy pass's preserved analyses. Reviewed By: thakis Differential Revision: https://reviews.llvm.org/D89175
-
Artur Pilipenko authored
For GC parseable element atomic memcpy/memmove we'll need to shuffle statepoint arguments. Make it possible by storing the arguments as Value *, not Use *.
-
Mark de Wever authored
-
Stella Laurenzo authored
* Adds a new MlirOpPrintingFlags type and supporting accessors. * Adds a new mlirOperationPrintWithFlags function. * Adds a full featured python Operation.print method with all options and the ability to print directly to files/stdout in text or binary. * Adds an Operation.get_asm which delegates to print and returns a str or bytes. * Reworks Operation.__str__ to be based on get_asm. Differential Revision: https://reviews.llvm.org/D89848
-
Sean Silva authored
A "structural" type conversion is one where the underlying ops are completely agnostic to the actual types involved and simply need to update their types. An example of this is shape.assuming -- the shape.assuming op and the corresponding shape.assuming_yield op need to update their types accordingly to the TypeConverter, but otherwise don't care what type conversions are happening. Also, the previous conversion code would not correctly materialize conversions for the shape.assuming_yield op. This should have caused a verification failure, but shape.assuming's verifier wasn't calling RegionBranchOpInterface::verifyTypes (which for reasons can't be called automatically as part of the trait verification, and requires being called manually). This patch also adds that verification. Differential Revision: https://reviews.llvm.org/D89833
-
Sean Silva authored
A "structural" type conversion is one where the underlying ops are completely agnostic to the actual types involved and simply need to update their types. An example of this is scf.if -- the scf.if op and the corresponding scf.yield ops need to update their types accordingly to the TypeConverter, but otherwise don't care what type conversions are happening. To test the structural type conversions, it is convenient to define a bufferize pass for a dialect, which exercises them nicely. Differential Revision: https://reviews.llvm.org/D89757
-
Sanjay Patel authored
This is similar in spirit to 01ea93d8 (memcpy) except that here the underlying caller assumptions were created for vectorizer use (throughput) rather than other passes. That meant ARM could have an enormous throughput cost with no corresponding size, latency, or blended cost increase. X86 has the same throughput restriction as the basic implementation, so it is still unchanged. Paraphrasing from the previous commit: This may not make sense for some callers, but at least now the costs will be consistently wrong instead of mysteriously wrong. Targets should provide better overrides if the current modeling is not accurate.
-
Sanjay Patel authored
This is a copy of the x86 file to provide better coverage; x86 may have strange overrides that mask changes in the generic model.
-
Saiyedul Islam authored
Update comments describing how OMPGridValues enums will be used in clang, deviceRTLs, and hsa and cuda plugins. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D86232
-
Nico Weber authored
37c030f8 made it so that depending on //libcxx/include automatically added the copied header dir to the include search path. For some reason, clang can't build against the copied libcxx headers (it complains about ldiv_t not being a type). I don't have a mac to debug right now, but for the clang target this change was unintentional anyways -- only depend on the copies target, instead of on the target that also adjusts the include path.
-
Arthur Eubanks authored
Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D89023
-
Jon Chesterfield authored
[libomptarget] Require LLVM source tree to build libomptarget This is to permit reliably #including files from the LLVM tree in libomptarget, as an improvement on the copy and paste that is currently in use. See D87841 for the first example of removing duplication given this new requirement. The weekly openmp dev call reached consensus on this approach. See also D87841 for some alternatives that were considered. In the future, we may want to introduce a new top level repo for shared constants, or start using the ADT library within openmp. This will break sufficiently exotic build systems, trivial fixes as below. Building libomptarget as part of the monorepo will continue to work. If openmp is built separately, it now requires a cmake macro indicating where to find the LLVM source tree. If openmp is built separately, without the llvm source tree already on disk, the build machine will need a copy of a subset of the llvm source tree and the cmake macro indicating where it is. Reviewed By: protze.joachim Differential Revision: https://reviews.llvm.org/D89426
-
Evgeny Leviant authored
Differential revision: https://reviews.llvm.org/D89876
-
Matt Arsenault authored
-
Xiangling Liao authored
-
Peter Steinfeld authored
In my previous implementation of the semantic checks for ASSOCIATED(), I had neglected to check the TARGET= argument for objects to ensure that it has either the POINTER or TARGET attributes. I added an implementation and a test. Differential Revision: https://reviews.llvm.org/D89717
-
Stanislav Mekhanoshin authored
1. Fixed liveness issue with implicit kills. 2. Fixed potential problem with an indirect mov. Fixes: SWDEV-256848 Differential Revision: https://reviews.llvm.org/D89599
-
Fangrui Song authored
Fix http://lists.llvm.org/pipermail/llvm-dev/2020-October/145908.html Currently non-SHF_ALLOC SHT_REL[A] (due to --emit-relocs) and SHF_LINK_ORDER are not marked live. Reviewed By: grimar, psmith Differential Revision: https://reviews.llvm.org/D89841
-
Simon Pilgrim authored
Add tests for insertion into non-undef vectors Add SSE2/AVX512F/AVX512BW coverage
-
Simon Pilgrim authored
-
Tyker authored
Changes: - initializer expressions of constexpr variable are now wraped in a ConstantExpr. this is mainly used for testing purposes. the old caching system has not yet been removed. - Add all the missing Serialization and Importing for APValue. - Improve dumping of APValue when ASTContext isn't available. - Cleanup leftover from last patch. - Add Tests for Import and serialization. Differential Revision: https://reviews.llvm.org/D63640
-
Nico Weber authored
-
Louis Dionne authored
-
Nico Weber authored
-
Nico Weber authored
-
John Brawn authored
This is needed to prevent the test from failing when llvm is configured so that the arm target is not present, which is the case for some buildbots.
-
Joe Nash authored
We use the Real vs Pseudo instruction abstraction for other types of instructions to facilitate changes in opcode between gpu generations. This patch introduces that abstraction to SOPC and SOPP. Reviewed By: rampitec Differential Revision: https://reviews.llvm.org/D89738 Change-Id: I59d53c2c7058b49d05b60350f4062a9b542d3138
-