- Dec 23, 2020
-
-
Adrian Kuegel authored
This reverts commit d3bf0bb1. This causes compilation in certain cases to fail. Reproducer TBD.
-
Christian Sigg authored
Reviewed By: ftynse, herhut Differential Revision: https://reviews.llvm.org/D93752
-
Alex Zinenko authored
Introduce a translation of OpenMP workshare loop construct to LLVM IR. This is a minimalist version to enable the pipeline and currently only supports static loop schedule (default in the specification) on non-collapsed loops. Other features will be added on per-need basis. Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D92055
-
Christian Sigg authored
[mlir] NFC: Remove ConvertToLLVMPattern::getDataPtr(). All call sites use getStridedElementPtr() now. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D93751
-
Alex Zinenko authored
This was long overdue. Replace the outdated type syntax with the new syntax, and update the description of how memref load/stores are handled to reflect the latest changes in the implementation. Reviewed By: herhut Differential Revision: https://reviews.llvm.org/D93555
-
Sebastian Neubauer authored
Use getPtrBaseWithConstantOffset in selectFlatOffsetImpl to fold more vgpr+constant addresses. Differential Revision: https://reviews.llvm.org/D93692
-
ShihPo Hung authored
This patch defines vfwmacc, vfwnmacc, vfwmsc, vfwnmsac intrinsics and lower to V instructions. We work with @rogfer01 from BSC to come out this patch. Authored-by:
Roger Ferrer Ibanez <rofirrim@gmail.com> Co-Authored-by:
ShihPo Hung <shihpo.hung@sifive.com> Differential Revision: https://reviews.llvm.org/D93693
-
Georgii Rymar authored
Currently llvm-readelf might print "OS Specific/Processor Specific/<unknown>" hint when dumping the ELF file type. The patch teaches llvm-readobj to do the same. This fixes https://bugs.llvm.org/show_bug.cgi?id=40868 I am removing `Object/elf-unknown-type.test` test because it is not in the right place, it is outdated and very limited. The `readobj/ELF/file-types.test` checks the functionality much better. Differential revision: https://reviews.llvm.org/D93689
-
Zakk Chen authored
Define vmerge/vfmerge intrinsics and lower to V instructions. Include support for vector-vector vfmerge by vmerge.vvm. We work with @rogfer01 from BSC to come out this patch. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D93674
-
Evandro Menezes authored
Define the vfmin, vfmax IR intrinsics for the respective V instructions. Authored-by:
Roger Ferrer Ibanez <rofirrim@gmail.com> Co-Authored-by:
Evandro Menezes <evandro.menezes@sifive.com> Differential Revision: https://reviews.llvm.org/D93673
-
Arthur Eubanks authored
-
Kazu Hirata authored
The last use of the function was removed on Sep 30, 2017 in commit 9b926e90.
-
Thomas Lively authored
Introduce `Vec` records, each bundling all information related to a single SIMD lane interpretation. This lets TableGen definitions take a single Vec parameter from which they can extract information rather than taking multiple redundant parameters. This commit refactors all of the SIMD load and store instruction definitions to use the new `Vec`s. Subsequent commits will similarly refactor additional instruction definitions. Differential Revision: https://reviews.llvm.org/D93660
-
Kazu Hirata authored
-
Matt Arsenault authored
Returning int64_t was arbitrarily limiting for wide integer types, and the functions should handle the full generality of the IR. Also changes the full form which returns the originally defined vreg. Add another wrapper for the common case of just immediately converting to int64_t (arguably this would be useful for the full return value case as well). One possible issue with this change is some of the existing uses did break without conversion to getConstantVRegSExtVal, and it's possible some without adequate test coverage are now broken.
-
Nico Weber authored
It's an extension to ld64, but all the other ports have it, and someone asked for it in PR43721. While here, change the COFF help text to match the other ports. Differential Revision: https://reviews.llvm.org/D93491
-
Matt Arsenault authored
-
Matt Arsenault authored
-
ShihPo Hung authored
This patch defines vfmadd/vfnmacc, vfmsac/vfnmsac, vfmadd/vfnmadd, and vfmsub/vfnmsub lower to V instructions. Authored-by:
Roger Ferrer Ibanez <rofirrim@gmail.com> Co-Authored-by:
ShihPo Hung <shihpo.hung@sifive.com> Differential Revision: https://reviews.llvm.org/D93691
-
ShihPo Hung authored
This patch defines vwmacc[u|su|us] intrinsics and lower to V instructions. We work with @rogfer01 from BSC to come out this patch. Authored-by:
Roger Ferrer Ibanez <rofirrim@gmail.com> Co-Authored-by:
ShihPo Hung <shihpo.hung@sifive.com> Differential Revision: https://reviews.llvm.org/D93675
-
ShihPo Hung authored
This patch adds intrinsics for vslide1up, vslide1down, vfslide1up, vfslide1down. Authored-by:
Roger Ferrer Ibanez <rofirrim@gmail.com> Co-Authored-by:
ShihPo Hung <shihpo.hung@sifive.com> Differential Revision: https://reviews.llvm.org/D93608
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Arthur O'Dwyer authored
Differential Revision: https://reviews.llvm.org/D76572
-
Peter Collingbourne authored
The primary and secondary allocators will need to share this bit, so move the management of the bit to the combined allocator and make useMemoryTagging() a free function. Differential Revision: https://reviews.llvm.org/D93730
-
Peter Collingbourne authored
This will allow the secondary allocator to access the MaySupportMemoryTagging bool. Differential Revision: https://reviews.llvm.org/D93729
-
Stanislav Mekhanoshin authored
It does not seem to fold offsets but this is not specific to the flat scratch as getPtrBaseWithConstantOffset() does not return the split for these tests unlike its SDag counterpart. Differential Revision: https://reviews.llvm.org/D93670
-
Stanislav Mekhanoshin authored
Adjust SITargetLowering::allowsMisalignedMemoryAccessesImpl for unaligned flat scratch support. Mostly needed for global isel. Differential Revision: https://reviews.llvm.org/D93669
-
Peter Collingbourne authored
This will allow the primary and secondary allocators to share the MaySupportMemoryTagging bool. Differential Revision: https://reviews.llvm.org/D93728
-
Chris Lattner authored
One common situation is to create a lot of IR at a well known location, e.g. when doing a big rewrite from one dialect to another where you're expanding ops out into lots of other ops. For these sorts of situations, it is annoying to pass the location into every create call. As we discused in a few threads on the forum, a way to help with this is to produce a new sort of builder that holds a location and provides it to each of the create<> calls automatically. This patch implements an ImplicitLocOpBuilder class that does this. We've had good experience with this in the CIRCT project, and it makes sense to upstream to MLIR. I picked a random pass to adopt it to show the impact, but I don't think there is any particular need to force adopt it in the codebase. Differential Revision: https://reviews.llvm.org/D93717
-
Joseph Huber authored
Add support to the OpenMP web pages for environment variables supported by Libomptarget and their usage. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D93723
-
Alex Zinenko authored
LLVMType contains multiple instance methods that were introduced initially for compatibility with LLVM API. These methods boil down to `cast` followed by type-specific call. Arguably, they are mostly used in an LLVM cast-follows-isa anti-pattern. This doesn't connect nicely to the rest of the MLIR infrastructure and actively prevents it from making the LLVM dialect type system more open, e.g., reusing built-in types when appropriate. Remove such instance methods and replaces their uses with apporpriate casts and methods on derived classes. In some cases, the result may look slightly more verbose, but most cases should actually use a stricter subtype of LLVMType anyway and avoid the isa/cast. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D93680
-
Thomas Lively authored
These instructions previously used prefixes like v8x16 to signify that they were agnostic between float and int interpretations. We renamed these instructions to remove this form of prefix in https://github.com/WebAssembly/simd/issues/297 and https://github.com/WebAssembly/simd/issues/316 and this commit brings the names in LLVM up to date. Differential Revision: https://reviews.llvm.org/D93722
-
Sam McCall authored
-
Christian Sigg authored
Reviewed By: herhut Differential Revision: https://reviews.llvm.org/D93204
-
Sam McCall authored
Instead of always locking/unlocking a contended mutex, we now do one atomic read in the common case, and one read + one exchange if the timer has expried. Also use this for memory profiling which has similar/compatible requirements. Differential Revision: https://reviews.llvm.org/D93726
-
Sanjay Patel authored
-
Sanjay Patel authored
I think this is NFC currently, but the bug would be exposed when we allow binary intrinsics (maxnum, etc) as candidates for reductions. The code in matchAssociativeReduction() is using OperationData::getNumberOfOperands() when comparing whether the "EdgeToVisit" iterator is in-bounds, so this code must use the same (potentially offset) operand value to set the "EdgeToVisit".
-
Nico Weber authored
Before this, a hello world program would contain many many unnecessary entries in its string table. No behavior change, just makes the string table in the output smaller and more like ld64's. Differential Revision: https://reviews.llvm.org/D93711
-
Stephen Kelly authored
-