summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-02-18[ThinLTO][WPD]Skip virtual function entries in combined index when virtual ↵users/mingmingl-llvm/spr/virtualmingmingl
function elimination is off
2025-02-06[IR] Generalize Function's {set,get}SectionPrefix to GlobalObjects, the base ↵Mingming Liu
class of {Function, GlobalVariable, IFunc} (#125757) This is a split of https://github.com/llvm/llvm-project/pull/125756
2025-02-06[lldb][NFC] Remove old skipIfOutOfTreeDebugserver's (#126144)Jason Molenda
When a test depends on a new debugserver feature/fix, the API test must be marked @skipIfOutOfTreeDebugserver because the macOS CI bots test using the latest Xcode release debugserver. But over time all of these fixes & new features are picked up in the Xcode debugserver and these skips can be removed. We may see unexpected test failures from removing all of these 1+ year old skips, but that's likely a separate reason the test is failing that is being papered over by this skip.
2025-02-07[mlir][amdgpu] Support for 8bit extf for 0d vector type (#126102)Prashant Kumar
For 0d vector type the rewrite crashes.
2025-02-06[HLSL] Implement HLSL Flat casting (excluding splat cases) (#118842)Sarah Spall
Implement HLSLElementwiseCast excluding support for splat cases Do not support casting types that contain bitfields. Partly closes #100609 and partly closes #100619
2025-02-06[Clang] Only allow `clang` arguments to `-Xarch` (#126101)Joseph Huber
Summary: Currently the `-Xarch` argument needs to re-parse the option, which goes through every single registered argument. This causes errors when trying to pass `-O1` through it because it thinks it's a DXC option. This patch changes the behavior to only allow `clang` options. Concievably we could detect the driver mode to make this more robust, but I don't know if there are other users for this. Fixes: https://github.com/llvm/llvm-project/issues/110325
2025-02-06[Clang][NFC] Clean up fetching the offloading toolchain (#125095)Joseph Huber
Summary: This patch cleans up how we query the offloading toolchain. We create a single that is more similar to the existing `getToolChain` driver function and make all the offloading handlers use it.
2025-02-06[compiler-rt] Fix binary-id-path.c after ↵Zequan Wu
da053415d214d6a66ff5f8c69eb35b2c9ada9caf
2025-02-06[SandboxVec][DAG] Update DAG when a new instruction is created (#126124)vporpo
The DAG will now receive a callback whenever a new instruction is created and will update itself accordingly.
2025-02-06[RISCV][Disassemble] Ensure the comment stream of the disassembler is set. ↵Francesco Petrogalli
(#125962)
2025-02-06[LLD][COFF] Add support for MinGW auto-export on ARM64X (#125862)Jacek Caban
Export all symbols from both EC and native symbol tables. If an explicit export is present in either symbol table, auto-export is disabled for both.
2025-02-06[MLIR] Support non-atomic RMW option for emulated vector stores (#124887)Alan Li
This patch is a followup of the previous one: #115922, It adds an option to turn on emitting non-atomic rmw code sequence instead of atomic rmw.
2025-02-06[StrTable] Fix modules build and clean up stale files (#125979)Chandler Carruth
I missed a few places to tidy up from before using the tablengen files directly for the builtins. I didn't remove all of the modulemap entries and there were two small `.def` files left lingering. This should clean all of that up. I went through to cross check the list of files and it looks correct now.
2025-02-06[MemProf] Stop cloning traversal on single allocation type (#126131)Teresa Johnson
We were previously checking this after recursing on all callers, but if we already have a single allocation type there is no need to even look at any callers. Didn't show a significant improvement overall, but it does reduce the count of times we enter the identifyClones and do other checks.
2025-02-06[libc] generate sys/wait.h for aarch64 (#125171)Alex Prabhat Bara
Fixes: #125102
2025-02-06[flang][cuda] Add interface for sinpi, cospi and sincospi (#126123)Valentin Clement (バレンタイン クレメン)
Add interface for `sinpi`, `cospi` and `sincospi` and also expose `sincosf`
2025-02-06[libc++] Implement generic associative container benchmarks (#123663)Louis Dionne
This patch implements generic associative container benchmarks for containers with unique keys. In doing so, it replaces the existing std::map benchmarks which were based on the cartesian product infrastructure and were too slow to execute. These new benchmarks aim to strike a balance between exhaustive coverage of all operations in the most interesting case, while executing fairly rapidly (~40s on my machine). This bumps the requirement for the map benchmarks from C++17 to C++20 because the common header that provides associative container benchmarks requires support for C++20 concepts.
2025-02-06[XRay][SystemZ] Use stckf for non-clang compilers (#125289)Kai Nacke
Turns out there are users who use gcc to compile compiler-rt. Using the clang-specific builtin function `__builtin_readcyclecounter()` does not work in this case. Solution is to use inline assembly using the stckf instruction in case the compiler is not clang.
2025-02-06[profile] Add `%b` `LLVM_PROFILE_FILE` option for binary ID (#123963)Sinkevich Artem
Add support for expanding `%b` in `LLVM_PROFILE_FILE` to the binary ID (build ID). It can be used with `%m` to avoid its signature collisions. This is supported on all platforms where writing binary IDs into profiles is implemented, as the `__llvm_write_binary_ids` function is used. Fixes #51560.
2025-02-06[VPlan] Simplify operand tuple matching in VPlanPatternMatch (NFC).Florian Hahn
Remove some indirection when matching recipe and matcher operands by directly using fold over parameter pack.
2025-02-06[libc][minor] Fix assertion in LlvmLibcFILETest.SimpleFileOperations (#126109)Alan Zhao
The file descriptor of the first opened file is not necessarily 3, so we change the assertion so that it's >= 0 (i.e. not an error.) Fixes #126106
2025-02-06[Flang] Promote FortranEvaluateTesting library (#124417)Michael Kruse
The non-GTest library will be shared by unittests of Flang and Flang-RT. Promote it as a regular library for use by both projects. In the long term, we may want to convert these to regular GTest checks to avoid having multiple testing frameworks.
2025-02-06[RISCV][NFC] Remove nounwind from push/pop tests (#125939)Sam Elliott
These tests are for frame handling code with push/pop. To increase coverage of CFI/Unwind info, this removes the `nounwind` annotations and regenerates the checks for this test.
2025-02-06[clang][OpenMP] New OpenMP 6.0 assumption clause, 'no_openmp_constructs' ↵David Pagan
(#125933) Add initial parsing/sema support for new assumption clause so clause can be specified. For now, it's ignored, just like the others. Added support for 'no_openmp_construct' to release notes. Testing - Updated appropriate LIT tests. - Testing: check-all
2025-02-06[Modules] Fix missing module dependency introduced by 7347870 (#126007)Qiongsi Wu
73478708839fad8b02b3cfc84959d64a15ba93ca introduced a textual header but did not update clang's module map. This PR adds the header to the module map.
2025-02-06[lldb-dap] Update npm dependencies (#125832)Adrian Vogelsgesang
This commit upgrades our npm dependencies to the latest available version. I was prompted to this change because `npm run package` failed for me with an error. The error disappeared after upgrading `@vscode/vsce`. I also upgraded the other dependencies because I think it's generally preferable to stay up-to-date. I did not bump the `@types/vscode` and `@types/node` versions, since this would effectively make older VS-Code versions unsupported. I also changed `@types/vscode` to be a precise version match, since we are claiming compatibility with that version via the `enginges.vscode` property.
2025-02-06[SandboxVec][DependencyGraph] Fix dependency node iterators (#125616)vporpo
This patch fixes a bug in the dependency node iterators that would incorrectly not skip nodes that are not in the current DAG. This resulted in iterators returning nullptr when dereferenced. The fix is to update the existing "skip" function to not only skip non-instruction values but also to skip instructions not in the DAG.
2025-02-06[flang][NFC] Moving alias analysis utilities utilities together. Adding new ↵Renaud Kauffmann
utility. (#125925) 1. Our static functions are a bit spread out in this file. I am gathering them in an anonymous namespace 2. Moving the code to get the `target` attribute on a `fir.global` into its own utility.
2025-02-06[OpenMP] Fix misspelled symbol name (#126120)Joseph Huber
Summary: This is supposed to be `__llvm_rpc_client` but I screwed it up and didn't notice at the time. Will need to be backported.
2025-02-06[msan][NFCI] Add tests for Arm NEON vector convert (#126095)Thurston Dang
Suboptimally handled by visitInstruction: llvm.aarch64.neon. - fcvtas, fcvtau - fcvtms, fcvtmu - fcvtns, fcvtnu - fcvtps, fcvtpu - fcvtzs, fcvtzu - fcvtxn - vcvtfp2fxs, vcvtfp2fxu - vcvtfxs2fp, vcvtfxu2fp Forked from llvm/test/CodeGen/AArch64/arm64-{cvt,vcvt}.ll
2025-02-06[CSSPGO] Turn on call-graph matching by default for CSSPGO (#125938)Lei Wang
Tested call-graph matching on some of Meta's large services, it works to reuse some renamed function profiles, no negative perf or significant build speed regression observed. Turned it on by default for CSSPGO mode.
2025-02-06[libc] Disable fixed point printing for baremetal (#126115)PiJoules
This follows suite with disabling float printing.
2025-02-06[clang-doc] Make `--repository` change the HTML output (#122566)Paul Kirth
The current check in writeFileDefinition() is incorrect, and prevents us from ever emitting the URL from the clang-doc tool. The unit tests do test this, but call the API directly circumventing the check. This is the first step towards addressing #59814.
2025-02-06Update test for symbolizer fixDavid Blaikie
2025-02-06[NVPTX] Require asserts in `unrecognized-sm1x.ll` (#126105)Justin Fargnoli
Fix clang-with-thin-lto-ubuntu - failed build
2025-02-06[bazel] Port for f497fe464bad8743b8a87ba04a5c53579a03711aHaojian Wu
2025-02-06[lldb][DWARFASTParser][NFC] Fix doxygen commentMichael Buch
2025-02-06[MLIR][Linalg] Introduce broadcast/transpose semantic to batch_matmul (#122275)Md Asghar Ahmad Shahid
Goals: 1. To add syntax and semantic to 'batch_matmul' without changing any of the existing syntax expectations for current usage. batch_matmul is still just batch_matmul. 2. Move the definition of batch_matmul from linalg OpDsl to tablegen ODS infra. Scope of this patch: To expose broadcast and transpose semantics on the 'batch_matmul'. The broadcast and transpose semantic are as follows: By default, 'linalg.batch_matmul' behavior will remain as is. Broadcast and Transpose semantics can be applied by specifying the explicit attribute 'indexing_maps' as shown below. This is a list attribute, so the list must include all the maps if specified. Example Transpose: ``` linalg.batch_matmul indexing_maps = [ affine_map< (d0, d1, d2, d3) -> (d0, d3, d1)>, //transpose affine_map< (d0, d1, d2, d3) -> (d0, d3, d2)>, affine_map< (d0, d1, d2, d3) -> (d0, d1, d2)> ] ins (%arg0, %arg1: memref<2x5x3xf32>,memref<2x5x7xf32>) outs (%arg2: memref<2x3x7xf32>) ``` Example Broadcast: ``` linalg.batch_matmul indexing_maps = [ affine_map< (d0, d1, d2, d3) -> (d3)>, //broadcast affine_map< (d0, d1, d2, d3) -> (d0, d3, d2)>, affine_map< (d0, d1, d2, d3) -> (d0, d1, d2)> ] ins (%arg0, %arg1: memref<5xf32>,memref<2x5x7xf32>) outs (%arg2: memref<2x3x7xf32>) ``` Example Broadcast and transpose: ``` linalg.batch_matmul indexing_maps = [ affine_map< (d0, d1, d2, d3) -> (d1, d3)>, //broadcast affine_map< (d0, d1, d2, d3) -> (d0, d2, d3)>, //transpose affine_map< (d0, d1, d2, d3) -> (d0, d1, d2)> ] ins (%arg0, %arg1: memref<3x5xf32>, memref<2x7x5xf32>) outs (%arg2: memref<2x3x7xf32>) ``` RFCs and related PR: https://discourse.llvm.org/t/rfc-linalg-opdsl-constant-list-attribute-definition/80149 https://discourse.llvm.org/t/rfc-op-explosion-in-linalg/82863 https://discourse.llvm.org/t/rfc-mlir-linalg-operation-tree/83586 https://github.com/llvm/llvm-project/pull/115319
2025-02-06[clang-doc] Precommit end-to-end test for `--repository` option (#122565)Paul Kirth
We test the `--repository` output in the unit tests, but that option fails to change the HTML output in the end-to-end tests. Upcoming patches will address the incorrect behavior.
2025-02-06[clang-linker-wrapper][lit] Temporarily disable OpenMP SPIR-V ELF test (#126104)Nick Sarnie
The fix requires more investigation, and it's a test issue so reverting the product changes should not be necessary. Signed-off-by: Sarnie, Nick <nick.sarnie@intel.com>
2025-02-06[llvm][AsmWriter] Don't skip zero-valued DwarfEnum MDField when ↵Michael Buch
ShouldSkipZero is not set (#126044) I ran into this while working on a different patch where I'm emitting a zero-valued DWARF enum field which shouldn't be skipped. This patch checks the (currently unused) `ShouldSkipZero` before deciding to skip printing this field. Based on git history this seems like an oversight from the initial refactor that introduced this. We have a similar check in `printInt`. Wasn't sure how to best test this, but tests in an upcoming patch rely on this functionality (see https://github.com/llvm/llvm-project/pull/126045). Currently the only place `ShouldSkipZero` is set to `false` is when emitting the `DW_LANG_` enum. But the language codes start at `0x1`. So it never exercised this codepath (and we should probably just make it not pass this parameter).
2025-02-06[mlir][LLVM] Switch `undef` for `poison` for uninitialized values (#125629)Krzysztof Drewniak
LLVM itself is generally moving away from using `undef` and towards using `poison`, to the point of having a lint that caches new uses of `undef` in tests. In order to not trip the lint on new patterns and to conform to the evolution of LLVM - Rename valious ::undef() methods on StructBuilder subclasses to ::poison() - Audit the uses of UndefOp in the MLIR libraries and replace almost all of them with PoisonOp The remaining uses of `undef` are initializing `uninitialized` memrefs, explicit conversions to undef from SPIR-V, and a few cases in AMDGPUToROCDL where usage like %v = insertelement <M x iN> undef, iN %v, i32 0 %arg = bitcast <M x iN> %v to i(M * N) is used to handle "i32" arguments that are are really packed vectors of smaller types that won't always be fully initialized.
2025-02-06[NaryReassociate] Fix crash from pointer width / index width confusion (#125923)Krzysztof Drewniak
NaryReassociate would crash on expressions like the one in the added test that involved pointers where the size of the type was greater than the index width of the pointer, causing calls to SCEV's zext expression on types that didn't need to be zero-extended. This commit fixes the issue.
2025-02-06Symbolize line zero as if no source info is available (#124846)David Blaikie
Since line zero means "no line information", when symbolizing a location (an address or an inline frame associated with the address) that has a line zero location, we shouldn't include other irrelevant data (like filename) in the result.
2025-02-06[NFC][TableGen] Adopt `Emitter::OptClass` in InstrInfoEmitter (#125971)Rahul Joshi
- Use `Emitter::OptClass` to invoke `InstrInfoEmitter::run` and eliminate the `EmitInstrInfo` function.
2025-02-06[X86] Avoid repeated hash lookups (NFC) (#126006)Kazu Hirata
2025-02-06[CodeGen] Avoid repeated hash lookups (NFC) (#126002)Kazu Hirata
2025-02-06[AMDGPU] Avoid repeated hash lookups (NFC) (#126001)Kazu Hirata
2025-02-06[X86] avx512-arith.ll - regenerate VPTERNLOG commentsSimon Pilgrim
2025-02-06Recommit "[RISCV] Prefer (select (x < 0), y, z) -> x >> (XLEN - 1) & (y - ↵Craig Topper
z) + z even with Zicond. (#125772)" With the test changes. Original message: The Zicond version of this requires an li instruction and an additional register. Without Zicond we match this in a DAGCombine on RISCVISD::SELECT_CC. This PR has 2 commits. I'll pre-commit the test change if this looks good.