- Mar 13, 2021
-
-
Anirudh Prasad authored
- This patch adds in support for the ordinary HLASM comment syntax asm statements (Reference - Chapter 7, Comment Statements, Ordinary Comment Statements) - In brief, the ordinary comment syntax if used, must begin with the "*" character - To achieve this, this patch makes use of the CommentString attribute provided in the base MCAsmInfo class - In the SystemZMCAsmInfo class, the CommentString attribute was set to "*" based on the assembler dialect - Furthermore, a new attribute RestrictCommentString, is provided to only treat a string as a comment if it appears at the start of the asm statement. Example: "jo *-4" is valid in HLASM (jump back 4 bytes from current point - similar to jo -4 in gnu asm) and we don't want "*-4" to be treated as a comment. - RFC for HLASM Parser support implementation: https://lists.llvm.org/pipermail/llvm-dev/2021-January/147686.html Reviewed By: scott.linder, Kai Differential Revision: https://reviews.llvm.org/D97703
-
Nico Weber authored
No behavior change.
-
Christopher Di Bella authored
Implements parts of: - P0898R3 Standard Library Concepts - P1754 Rename concepts to standard_case for C++20, while we still can Depends on D97911 Reviewed By: EricWF, #libc, Quuxplusone Differential Revision: https://reviews.llvm.org/D98154 -
Nemanja Ivanovic authored
We are missing more predicate forms for 'vector double' and some tests. This adds the missing overloads and completes the set of test cases for them.
-
Dave Lee authored
Last used by the Go plugin which was removed in https://reviews.llvm.org/D54057.
-
- Mar 12, 2021
-
-
Simon Pilgrim authored
Avoid -1ULL which MSVC tends to complain about
-
Simon Pilgrim authored
Avoid extracting/inserting subvectors which makes it more difficult for shuffle combining to merge them together.
-
Simon Pilgrim authored
Most callers to getTargetShuffleMask don't use the IsUnary flag.
-
Nico Weber authored
This reverts commit 90dfbeef. Causes PR49554. Also see comments on https://reviews.llvm.org/D98389
-
Simonas Kazlauskas authored
This also briefly tests a larger set of architectures than the more exhaustive functionality tests for AArch64 and x86. As requested in D88785 Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D98339
-
Matt Arsenault authored
byval arguments need to be assumed writable. Only implicitly stack passed arguments which aren't addressable in the IR can be assumed immutable. Mips is still broken since for some reason its doing its own thing with the ValueHandlers (and x86 doesn't actually handle byval arguments now, although some of the code is there).
-
Matt Arsenault authored
This was essentially ignoring byval and treating them as a pointer argument which needed to be loaded from. This should copy the frame index value to the virtual register, not insert a load from the frame index into the pointer value. For AMDGPU, this was producing a load from the byval pointer argument, to a pointer used for the byval arguments. I do not understand how AArch64 managed to work before since it appears to be similarly broken. We could also change the ValueHandler API to avoid the extra copy from the frame index, since currently it returns a new register. I believe there is still an issue with outgoing byval arguments. These should have a copy inserted in case the callee decided to overwrite the memory.
-
Matt Arsenault authored
Unlike update_llc_test_checks, update_mir_test_checks isn't actually smart enough to common functions with identical output.
-
Matt Arsenault authored
Now that handleAssignments is handling all of the argument splitting, we don't have to move the insert point around.
-
serge-sans-paille authored
This avoids calling strlen to repeatedly compute some string size.
-
Florian Hahn authored
-
Florian Hahn authored
This patch fixes a crash when trying to get a scalar value using VPTransformState::get() for uniform induction values or truncated induction values. IVs and truncated IVs can be uniform and the updated code accounts for that, fixing the crash. This should fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31981
-
Christian Sigg authored
Change CUDA integration tests to use mlir-opt + mlir-cpu-runner instead. Depends On D98203 Reviewed By: herhut Differential Revision: https://reviews.llvm.org/D98396
-
Sanjay Patel authored
The test is reduced from a C source example in: https://llvm.org/PR49541 It's possible that the test could be reduced further or the predicate generalized further, but it seems to require a few ingredients (including the "late" SimplifyCFG options on the RUN line) to fall into the infinite-loop trap.
-
Stefan Gränitz authored
During finalization the debug object is registered with the target. Materialization must wait for this process to finish. Otherwise we might start running code before the debugger finished processing the corresponding debug info. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D98417
-
Valeriy Savchenko authored
This patch fixes the situation when our knowledge of disequalities can help us figuring out that some assumption is infeasible, but the solver still produces a state with inconsistent constraints. Additionally, this patch adds a couple of assertions to catch this type of problems easier. Differential Revision: https://reviews.llvm.org/D98341
-
Hans Wennborg authored
This broke the check-profile tests on Mac, see comment on the code review. > This is no longer needed, we can add __llvm_profile_runtime directly > to llvm.compiler.used or llvm.used to achieve the same effect. > > Differential Revision: https://reviews.llvm.org/D98325 This reverts commit c7712087. Also reverting the dependent follow-up commit: Revert "[InstrProfiling] Generate runtime hook for ELF platforms" > When using -fprofile-list to selectively apply instrumentation only > to certain files or functions, we may end up with a binary that doesn't > have any counters in the case where no files were selected. However, > because on Linux and Fuchsia, we pass -u__llvm_profile_runtime, the > runtime would still be pulled in and incur some non-trivial overhead, > especially in the case when the continuous or runtime counter relocation > mode is being used. A better way would be to pull in the profile runtime > only when needed by declaring the __llvm_profile_runtime symbol in the > translation unit only when needed. > > This approach was already used prior to 9a041a75, but we changed it > to always generate the __llvm_profile_runtime due to a TAPI limitation. > Since TAPI is only used on Mach-O platforms, we could use the early > emission of __llvm_profile_runtime there, and on other platforms we > could change back to the earlier approach where the symbol is generated > later only when needed. We can stop passing -u__llvm_profile_runtime to > the linker on Linux and Fuchsia since the generated undefined symbol in > each translation unit that needed it serves the same purpose. > > Differential Revision: https://reviews.llvm.org/D98061 This reverts commit 87fd09b2.
-
Aaron Ballman authored
WG14 adopted N2626 at the meetings this week. This commit adds support for using ' as a digit separator in a numeric literal which is compatible with the C++ feature.
-
Simon Pilgrim authored
-
Alex Richardson authored
The existing value of 0x1000 sets the IXE bit (Inexact floating-point exception trap enable), but we really want to be setting IXC, bit 4: Inexact cumulative floating-point exception bit. This bit is set to 1 to indicate that the Inexact floating-point exception has occurred since 0 was last written to this bit. Reviewed By: kongyi, peter.smith Differential Revision: https://reviews.llvm.org/D98353
-
Simon Pilgrim authored
-
Serguei Katkov authored
As readnone function they become movable and LICM can hoist them out of a loop. As a result in LCSSA form phi node of type token is created. No one is ready that GCRelocate first operand is phi node but expects to be token. GVN test were also updated, it seems it does not do what is expected. Test for LICM is also added. This reverts commit f352463a.
-
David Spickett authored
Instead of setting mcpu like the previous bots, set the target triple. Each config builds either Arm only or Thumb only code. This gives us some coverage of thumb specific issues. The new agents on Linaro's side are running on v8 hardware so will report arch "armv8l" just like the v8 bots. (and buildkite can choose any of them for v7/v8 jobs) Reviewed By: #libc, curdeius, Mordante Differential Revision: https://reviews.llvm.org/D98019
-
Florian Hahn authored
-
Fraser Cormack authored
This patch optimizes the codegen for INSERT_VECTOR_ELT in various ways. Primarily, it removes the use of vslidedown during lowering, and the vector element is inserted entirely using vslideup with a custom VL and slide index. Additionally, lowering of i64-element vectors on RV32 has been optimized in several ways. When the 64-bit value to insert is the same as the sign-extension of the lower 32-bits, the codegen can follow the regular path. When this is not possible, a new sequence of two i32 vslide1up instructions is used to get the vector element into a vector. This sequence was suggested by @craig.topper. From there, the value is slid into the final position for more consistent lowering across RV32 and RV64. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D98250
-
Fraser Cormack authored
Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D98399
-
Anton Zabaznov authored
There is no need to check for enabled pragma for core or optional core features, thus this check is removed Reviewed By: Anastasia Differential Revision: https://reviews.llvm.org/D97058
-
Alex Zinenko authored
Forward references to blocks lead to `Block`s being allocated in the parser, but they are not necessarily included into a region if parsing fails, leading to a leak. Clean them up in parser destructor. Reviewed By: rriddle, mehdi_amini Differential Revision: https://reviews.llvm.org/D98403
-
Bjorn Pettersson authored
Add simplification of smul.fix and smul.fix.sat according to X * 0 -> 0 X * undef -> 0 X * (1 << scale) -> X This includes the commuted patterns and splatted vectors. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D98299
-
Bjorn Pettersson authored
Do constant folding according to posion * C -> poison C * poison -> poison undef * C -> 0 C * undef -> 0 for smul_fix and smul_fix_sat intrinsics (for any scale). Reviewed By: nikic, aqjune, nagisa Differential Revision: https://reviews.llvm.org/D98410
-
Marius Brehler authored
This restricts the attributes to integers for constants of type IndexType. So far an attribute like StringAttr as in %c1 = constant "" : index is valid. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D98216
-
Christopher Di Bella authored
Implements parts of: - P0898R3 Standard Library Concepts - P1754 Rename concepts to standard_case for C++20, while we still can Depends on D97443 Reviewed By: Quuxplusone, EricWF, #libc Differential Revision: https://reviews.llvm.org/D97911 -
Johannes Doerfert authored
Two tests failed for some reason, need to investigate: https://lab.llvm.org/buildbot/#/builders/109/builds/10399 This reverts commit ad9e98b8.
-
Johannes Doerfert authored
Need to revert ad9e98b8 which this commit depends on. This reverts commit f771ef7b5f0ed260d00931cd50e6fe462edbacaf.
-