- May 24, 2021
-
-
Uday Bondhugula authored
Fix inconsistent MLIR CMake variable names. Consistently name them as MLIR_ENABLE_<feature>. Eg: MLIR_CUDA_RUNNER_ENABLED -> MLIR_ENABLE_CUDA_RUNNER MLIR follows (or has mostly followed) the convention of naming cmake enabling variables in the from MLIR_ENABLE_... etc. Using a convention here is easy and also important for convenience. A counter pattern was started with variables named MLIR_..._ENABLED. This led to a sequence of related counter patterns: MLIR_CUDA_RUNNER_ENABLED, MLIR_ROCM_RUNNER_ENABLED, etc.. From a naming standpoint, the imperative form is more meaningful. Additional discussion at: https://llvm.discourse.group/t/mlir-cmake-enable-variable-naming-convention/3520 Switch all inconsistent ones to the ENABLE form. Keep the couple of old mappings needed until buildbot config is migrated. Differential Revision: https://reviews.llvm.org/D102976
-
Haruki Imai authored
Steps for normalizing dynamic memrefs for tiled layout map 1. Check if original map is tiled layout. Only tiled layout is supported. 2. Create normalized memrefType. Dimensions that include dynamic dimensions in the map output will be dynamic dimensions. 3. Create new maps to calculate each dimension size of new memref. In tiled layout, the dimension size can be calculated by replacing "floordiv <tile size>" with "ceildiv <tile size>" and "mod <tile size>" with "<tile size>". 4. Create AffineApplyOp to apply the new maps. The output of AffineApplyOp is dynamicSizes for new AllocOp. 5. Add the new dynamic sizes in new AllocOp. This patch also set MemRefsNormalizable trant in CastOp and DimOp since they used with dynamic memrefs. Reviewed By: bondhugula Differential Revision: https://reviews.llvm.org/D97655
-
Johannes Doerfert authored
The constant value lattice looks like this ``` <None> | <undef> / | \ ... <0> ... \ | / <unknown> ``` We did not account for the undef and assumed a value meant we could not change anymore. Now we actually check if we have the same value as before, which will signal CHANGED to the users when we go from undef to a specific constant. This fixes, among other things, the bug exposed by @ipccp4 in `value-simplify.ll`.
-
Johannes Doerfert authored
The state of AAPotentialValues tracks if undef is contained. It should fold undef into the first non-undef value. However we missed a case before. There was also a shadowing definition of two variables that caused trouble. The test exposes both problems.
-
Johannes Doerfert authored
This test exposes a bug in the module pass as it simplifies ipccp4 to unreachable, which is unfortunately wrong.
-
Johannes Doerfert authored
-
Johannes Doerfert authored
-
Johannes Doerfert authored
-
Chen Zheng authored
When -gstrict-dwarf is specified, generate DW_TAG_rvalue_reference_type at DWARF 4 or above Reviewed By: dblaikie, aprantl Differential Revision: https://reviews.llvm.org/D100630
-
Fady Ghanim authored
Removing a missed value::dump() used to debug during development of OMPBuilder atomic.
-
Fangrui Song authored
An AArch64 VK_GOT fixup must have a symbol. MCAssembler::evaluateFixup considers such a fixup not resolved. The code path cannot trigger.
-
- May 23, 2021
-
-
Fady Ghanim authored
This patch adds support for generating `omp atomic` for all different atomic clauses
-
Vitaly Buka authored
As-is it should not change struct size, but it will help to keep correct size if more fields added.
-
Philipp Krones authored
This makes it possible for targets to define their own MCObjectFileInfo. This MCObjectFileInfo is then used to determine things like section alignment. This is a follow up to D101462 and prepares for the RISCV backend defining the text section alignment depending on the enabled extensions. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D101921
-
Joerg Sonnenberger authored
Reviewed By: #libc, ldionne Differential Revision: https://reviews.llvm.org/D96983
-
Nikita Popov authored
This test case would get miscompiled by the current version of D102982, because unrolling does not respect the PreserveCondBr flag for partial unrolling.
-
Chris Lattner authored
This adds the ability to specify a location when creating BlockArguments. Notably Value::getLoc() will return this correctly, which makes diagnostics more precise (e.g. the example in test-legalize-type-conversion.mlir). This is currently optional to avoid breaking any existing code - if absent, the BlockArgument defaults to using the location of its enclosing operation (preserving existing behavior). The bulk of this change is plumbing location tracking through the parser and printer to make sure it can round trip (in -mlir-print-debuginfo mode). This is complete for generic operations, but requires manual adoption for custom ops. I added support for function-like ops to round trip their argument locations - they print correctly, but when parsing the locations are dropped on the floor. I intend to fix this, but it will require more invasive plumbing through "function_like_impl" stuff so I think it best to split it out to its own patch. This is a reapply of the patch here: https://reviews.llvm.org/D102567 with an additional change: we now never defer block argument locations, guaranteeing that we can round trip correctly. This isn't required in all cases, but allows us to hill climb here and works around unrelated bugs like https://bugs.llvm.org/show_bug.cgi?id=50451 Differential Revision: https://reviews.llvm.org/D102991
-
Fangrui Song authored
The prevailing style does not add the message. The directive name is not useful because the next line replicates the error line which includes the directive.
-
Joerg Sonnenberger authored
Differential Revision: https://reviews.llvm.org/D96312
-
Sander de Smalen authored
* Removes unnecessary loop hints. * Use RUN line with '-scalable-vectorization=preferred' instead of 'on' for the maximize-bandwidth behaviour. This prepares the test for enabling scalable vectorization; With a forced instruction-cost of 1, 'on' will always favour fixed-width VF to be chosen, whereas with 'preferred' we can check that the maximize-bandwidth option in combination with scalable-vectorization=preferred actually picks a scalable VF. * Renamed to scalable-vectorization.ll, because a follow-up patch will test more than just analysis.
-
Roman Lebedev authored
-
Fangrui Song authored
-
Markus Böck authored
All lines after the first are currently indented by one char further to the left than the first line. This leads to the first character of each sentence being cut from the resulting Markdown file after compilation. The text also contains 3 references to sections of other markdown files. One was missing the file, while the other two had outdated files, leading to 404 errors in the documentation. Differential Revision: https://reviews.llvm.org/D102983
-
Simon Pilgrim authored
The PR works from llvm.org, not bugs.llvm.org
-
Simon Pilgrim authored
Based on worst case of sandybridge (which seems to match nehalem for this SSE sequence) (vs btver2 + bdver2) llvm-mca analysis
-
Nico Weber authored
-
Sanjay Patel authored
See D102864 for discussion.
-
maekawatoshiki authored
This patch changes LoopUnrollAndJamPass from FunctionPass to LoopNest pass. The next patch will utilize LoopNest to effectively handle loop nests. Reviewed By: Whitney Differential Revision: https://reviews.llvm.org/D99149
-
Nikita Popov authored
This test case requires unrolling against a non-latch exit in a multiple-exit loop with exiting latch. It's not covered by exiting heuristics or the extension in D102635.
-
David Green authored
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Fangrui Song authored
If we support local signature symbols (PR43094), these tests would fail. When the support is added, new tests (local signature symbol specific) should be developed.
-
Petr Hosek authored
This reverts commit b604301b since it caused compilation failure in sanitizer_unwind_win.cpp when using the runtimes build.
-
- May 22, 2021
-
-
Martin Storsjö authored
If exiting using _Exit or ExitProcess, DLLs are still unloaded cleanly before exiting, running destructors and other cleanup in those DLLs. When the caller expects to exit without cleanup, running destructors in some loaded DLLs (which can be either libLLVM.dll or e.g. libc++.dll) can cause deadlocks occasionally. This is an alternative to D102684. Differential Revision: https://reviews.llvm.org/D102944
-
Martin Storsjö authored
These functions were marked unavailable for MSVC targets before, within an "T.isOSWindows() && !T.isOSCygMing()" block, but these ones are unavailable on MinGW targets too. This avoids generating calls to stpcpy for MinGW targets, which has been happening since 6dbf0cfc (in some cases). This fixes https://github.com/mstorsjo/llvm-mingw/issues/201. Differential Revision: https://reviews.llvm.org/D102946
-
Petr Hosek authored
This implements support for using libc++ headers and library in the MSVC toolchain. We only support libc++ that is a part of the toolchain, and not headers installed elsewhere on the system. Differential Revision: https://reviews.llvm.org/D101479
-
Simon Pilgrim authored
Based on worst case of sandybridge (vs btver2 + bdver2) llvm-mca analysis - which is a lot less than what we were predicting (I think based off total uop count).
-
Nikita Popov authored
When removing an AttrBuilder from an index of an AttributeList, directly return the original list if no attributes were actually removed.
-