[LoopInterchange] Detect unsupported PHIs in inner loop exit block correctly (#194323)
In the legality check phase, `areInnerLoopExitPHIsSupported` inspects
the PHI nodes in the exit block of the inner loop and bail out if
certain unsupported PHI node is found. This functions had several
issues:
- Conflating with the inner loop and the outer loop
- Unnecessarily conservative when LCSSA-chains exist, which will be
handled by `simplifyLCSSA` function
This patch fixes the above issues to detect unsupported PHIs correctly.
Fix #193746
[libc] Change POSIX to posix in unistd.yaml (#198745)
1. In `header.py`, the canonical identifiers for standards are
explicitly defined in lowercase and mapped to their uppercase/pretty
names for display:
```python
# All the canonical identifiers are in lowercase for easy maintenance.
# This maps them to the pretty descriptions to generate in header comments.
LIBRARY_DESCRIPTIONS = {
"stdc": "Standard C",
"posix": "POSIX",
"bsd": "BSD",
"gnu": "GNU",
"linux": "Linux",
"uefi": "UEFI",
"svid": "SVID",
}
```
[7 lines not shown]
[lldb] Fix delayed breakpoints on running processes
Breakpoints should never be delayed on a running process, as they can
immediately affect program execution.
Revert "[clang] Give unnamed namespaces internal linkage" (#198738)
This was causing assertion failures:
Assertion `D->getCachedLinkage() == LV.getLinkage()' failed.
see discussion on the original PR.
Reverts llvm/llvm-project#198215
[mlir][SPIRVToLLVM] Add missing conversions for GL ops (#198722)
Add direct LLVM intrinsic lowerings for spirv.GL.Pow, spirv.GL.Fma,
spirv.GL.UMax, spirv.GL.UMin, and spirv.GL.SAbs
[DAG] isKnownNeverZero - add computeKnownBits fallback DemandedElts handling and tests (#198691)
Add DemandedElts to fallback cases in isKnownNeverZero
Fixes #183041
Tests:
AND and XOR as fallback cases, can see the improvement after code updated.
[lldb][NFC] Sink eager breakpoint logic into ExecuteBreakpointSiteAction
A future patch will want to control whether all breakpoints are eager or
not based on whether the process is running. Sinking the logic allows
for a smaller diff.
[lldb] Move TestDuplicateMembers.py (#198532)
`TestDuplicateMembers.py` is not macosx specific and does not run on
Windows because the `ar` utility which does not exist on Windows.
This patch moves the test to the `test/API/functionalities` directory.
[flang] Propagate call-site location into `SimplifyIntrinsics` `minmaxloc` body
`genRuntimeMinMaxlocBody` used a hard-coded `UnknownLoc` for all generated
ops, including the `fir.do_loop`. After `FIRToSCF` converts it to `scf.for`.
Fix by threading the `maxloc` call-site location through the `bodyGenerator`
lambda into `genRuntimeMinMaxlocBody`.
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
[mlir][SPIR-V] Fold IAddCarry/[SU]MulExtended constants into spirv.Constant struct (#198633)
Emit a single spirv.Constant of struct type instead of the spirv.Undef +
two spirv.CompositeInsert workaround
[lldb] Do not include argv[0] to the process info arguments. (#198262)
The process file name is stored separately from other command line args.
and argv[0] may differ from the executable path if process was created
using the `exec*()` variants.
[Coroutines] Expand materialization tests (NFC) (#198571)
Expand checks so they check that the operation has been rematerialized,
and computed values are not being stored.
Assisted-by: Claude Code
[RFC][AMDGPU] Add BARRIER address space
Add a new BARRIER address space that is used for global variables that are used to represent the barrier IDs in GFX12.5.
These barrier addresses just have values corresponding 1-1 to barrier IDs. They are still implemented on top of LDS, but the offsetting happens during an addrspacecast to generic, not whenever the barrier GV is used.
The motivation for this is to make the relation between LDS and barrier GVs explicit in the compiler. It does add a bit more complexity, but that complexity was already there, just hidden by pretending barrier GVs were actual LDS.
[NFCI][clang] Allow overriding any global variable address space
Allow the target to change the AS of a global variable at will, not just whenever Clang cannot assign one.
This enables the next patch that will specialize LDS GVs for barriers as a separate address space.
[NFC][AMDGPU] Generalize some LDS MemoryUtils
In preparation for upcoming work, I need some functions used by the LDS lowering
system to work on any GV. I removed the LDS specific queries inside these functions
and replaced them with functors passed by the caller, so these utility functions can be reused.
I also cleaned-up a few things that weren't up to code, such as lowercase variable names.
[NFC][Liveness] Document `TransferFunctions::Visit` (#198617)
The logic of `TransferFunctions::Visit` was confusing, which led to the
introduction of a "What is this?" comment when this method was touched
by an earlier code cleanup effort.
This commit replaces the "What is this?" comment block with comments
that clarify the roles of the main parts of this method.