- Jan 24, 2024
-
-
Timm Bäder authored
So, return a PrimType directly from classifyComplexElementType().
-
Florian Hahn authored
Tests with umin where the result may be poison for https://github.com/llvm/llvm-project/issues/78621.
-
Ivan Kosarev authored
As otherwise SGPR+IMM instructions are not distinguishable to SGPR-only ones in AsmParser, leading to ambiguities. GFX12 doesn't have special SGPR-only variants, so we still allow optional immediate offsets for the subtarget. Also rename the offset operand classes while there. Part of <https://github.com/llvm/llvm-project/issues/69256>.
-
Mariusz Sikora authored
…bf8 instructions Add VOP1, VOP1_DPP8, VOP1_DPP16, VOP3, VOP3_DPP8, VOP3_DPP16 instructions that were supported on GFX940 (MI300): - V_CVT_F32_FP8 - V_CVT_F32_BF8 - V_CVT_PK_F32_FP8 - V_CVT_PK_F32_BF8 - V_CVT_PK_FP8_F32 - V_CVT_PK_BF8_F32 - V_CVT_SR_FP8_F32 - V_CVT_SR_BF8_F32 --------- Co-authored-by:Mateja Marjanovic <mateja.marjanovic@amd.com> Co-authored-by:
Mirko Brkušanin <Mirko.Brkusanin@amd.com>
-
Petar Avramovic authored
Reverts llvm/llvm-project#78482
-
Haojian Wu authored
This is a followup of #77311.
-
Petar Avramovic authored
One V_NOP or unrelated VALU instruction in between is required for correctness when matrix A or B of current WMMA instruction overlaps with matrix D of previous WMMA instruction. Remaining cases of WMMA operand overlaps are handled by the hardware and do not require handling in hazard recognizer. Hardware may stall in cases where: - matrix C of current WMMA instruction overlaps with matrix D of previous WMMA instruction - VALU instruction reads matrix D of previous WMMA instruction - matrix A,B or C of WMMA instruction reads result of previous VALU instruction
-
Petar Avramovic authored
Implement PhiLoweringHelper for GlobalISel in DivergenceLoweringHelper. Use machine uniformity analysis to find divergent i1 phis and select them as lane mask phis in same way SILowerI1Copies select VReg_1 phis. Note that divergent i1 phis include phis created by LCSSA and all cases of uses outside of cycle are actually covered by "lowering LCSSA phis". GlobalISel lane masks are registers with sgpr register class and S1 LLT. TODO: General goal is that instructions created in this pass are fully instruction-selected so that selection of lane mask phis is not split across multiple passes. patch 3 from: https://github.com/llvm/llvm-project/pull/73337
-
Kareem Ergawy authored
Fixes a small issues in an offloading test where the test dependec on the host and device being assigned certains numeric IDs. This however is not stable and fails in situations where any of the devices is assigned an ID different from the expected value. The fix just checks that offloading succeeded by making sure the IDs are different. The test was failing locally for me.
-
Stefan Gränitz authored
This is a follow-up improvement after the discussion in #78959
-
Jeremy Morse authored
This patch extends HWASAN to support maintenance of debug-info that isn't stored as intrinsics, but is instead in a DPValue object. This is straight-forwards: we collect any such objects in StackInfoBuilder, and apply the same operations to them as we would to dbg.value and similar intrinsics. I've also replaced some calls to getNextNode with debug-info skipping next calls, and use iterators for instruction insertion rather than instruction pointers. This avoids any difference in output between intrinsic / non-intrinsic debug-info, but also means that any debug-info comes before code inserted by HWAsan, rather than afterwards. See the test modifications, where the variable assignment (presented as a dbg.value) jumps up over all the code inserted by HWAsan. Seeing how the code inserted by HWAsan is always (AFAIUI) given the source-location of the instruction being instrumented, I don't believe this will have any effect on which lines variable assignments become visible on; it may extend the number of instructions covered by the assignments though.
-
Nikita Popov authored
Remove the `--phab-token` argument (which currently eats the subsequent "auto" as the token no longer exists) and related code. I think this will fix the workflow failure in https://github.com/llvm/llvm-project/issues/79253#issuecomment-1907679229.
-
Nikolas Klauser authored
This makes the builtins list quite a bit more verbose, but IMO this is a huge win in terms of readability.
-
Nikita Popov authored
LAA currently adds memory locations with their original AATags to AST. However, scoped alias AATags may be valid only within one loop iteration, while LAA reasons across iterations. Fix this by determining which alias scopes are defined inside the loop, and drop AATags that reference these scopes. Fixes https://github.com/llvm/llvm-project/issues/79137.
-
Nikita Popov authored
-
Shengchen Kan authored
ADC/SBB with reverse encoding is never emitted by compiler before encoding optimization, which is called after flag-copy lowering. This is a partial reland for 8bbf1007
-
Nikita Popov authored
This is a followup to #76819. After those changes, we can still run into an assertion failure for a slight variation of the test case: When fixing up MemoryPhis, we map the incoming access to the access of the cloned instruction -- which may now no longer exist. Fix this by reusing the getNewDefiningAccessForClone() helper, which will look upwards for a new defining access in that case.
-
Shengchen Kan authored
Reported in 134fcc62 Incorrect opcode is used b/c there is a `[[fallthrough]]` at line 2386.
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Adrian Kuegel authored
-
Luke Lau authored
This is to add test coverage for a change in #73342
-
Andrzej Warzyński authored
Makes `TransferReadAfterWriteToBroadcast` correctly propagate scalability flags.
-
Chuanqi Xu authored
We support to import C++20 named modules now in in clang-repl in https://github.com/llvm/llvm-project/commit/dd3e6c87f3f4affd17d05a4d25fa77d224a98d94. Then we should document how can we do that.
-
Felix Kellenbenz authored
This fixes the issue mentioned here: https://github.com/llvm/llvm-project/issues/57407 It prevents `llvm-objcopy` from removing the `.gnu _debuglink` section when used with the `--strip-all` flag. Since `--strip-all` is the default of `llvm-strip` the patch also prevents `llvm-strip` from removing the `.gnu_debuglink` section.
-
Chuanqi Xu authored
The previous test can't work on other platforms like PS4. Address the comments in https://github.com/llvm/llvm-project/pull/79261#issuecomment-1907589030
-
Shengchen Kan authored
-
Chuanqi Xu authored
This comes from when I playing around clang-repl with moduels : ) I succeeded to import std with https://libcxx.llvm.org/Modules.html and calling `std::printf` after this patch. I want to put the documentation part to https://clang.llvm.org/docs/StandardCPlusPlusModules.html in a separate commit.
-
Pavel Labath authored
This reverts commit d6575198 as it breaks two dozen tests. The breakages are related to variable path expression parsing and summary string parsing (possibly the same code).
-
martinboehme authored
This is a small step towards eventually eliminating `RecordValue` entirely.
-
cor3ntin authored
Precompute the isAsciiIdentifierContinue table which is on the hot path. https://llvm-compile-time-tracker.com/compare.php?from=30da0f5a359ab4a684c5fdf0f4dbed20bae10f99&to=cb0e48db2b8193d2ee59c2a6e998317cb220d513&stat=instructions:u
-
Shengchen Kan authored
-
kadir çetinkaya authored
Our internal integration relies on injecting some default values to ignore/keep lists. That means we can have filters, despite of not having occurences for the flag.
-
LLVM GN Syncbot authored
-
Uday Bondhugula authored
NFC. Clean up stale TODO comments and style deviations in affine utils and affine fusion utils.
-
Douglas Yung authored
Update compiler version expected that seems to be embedded in CHECK line of test at llvm/test/CodeGen/SystemZ/zos-ppa2.ll. The test contains a CHECK line which verifies an .ascii line which originally checks for 18001970010100000000. After the bump of the compiler version to 19, the test started to fail with the string now being 19001970010100000000. This should fix this failing test on bots.
-
Shengchen Kan authored
-
Luke Lau authored
The current comment was written whenever we had separate TU/TA variants for each pseudo, and hasn't been accurate for a while. This method has grown rather complicated over time so rather than enumerate all the different possible cases now (which must be a lot), this updates the comment to list the different rules that are required for us to be able to fold a vmerge.
-