[AArch64][GlobalISel] Regenerate knownbits tests. NFC (#220200)
Mostly just adding IsKnownNeverZero. knownbits-srem.mir now has auto
generated check lines.
math/scilab-toolbox-swt: 0.3.3
Update to release of January 9, 2025.
https://atoms.scilab.org/toolboxes/swt/0.3.3
Postponed expiration as upstream seems active and math/scilab was undeprecated.
But as nobody noticed when the port was broken I doubt we have any users of this.
If you use this, please speak up and mail the maintainer.
Depend on fortran to fix: (fortran was indirectly pulled in by the dependency on math/scilab)
====> Running Q/A tests (stage-qa)
Error: /usr/local/share/scilab/contrib/swt/sci_gateway/c/libswt_c.so is linked to /usr/local/lib/gcc14/libgfortran.so.5 from lang/gcc14 but it is not declared as a dependency
Error: /usr/local/share/scilab/contrib/swt/sci_gateway/c/libswt_c.so is linked to /usr/local/lib/gcc14/libquadmath.so.0 from lang/gcc14 but it is not declared as a dependency
Remove REINPLACE_CMD for:
====> Running Q/A tests (stage-qa)
Warning: Possible REINPLACE_CMD issues:
- - REINPLACE_CMD ran, but did not modify file contents: sci_gateway/c/swt_common.h
Approved by: no maintainer
[VPlan] Expand AddRecs in Plan's entry (#209921)
Extend VPSCEVExpander to expand AddRecs in the Plan's entry. In the
general case, an AddRec's loop header refers to a BasicBlock that is no
longer in the Plan, and we have to fall back to the IR SCEV expander.
However, when the Plan's entry has a canonical IV that we can re-use as
a VPIRPhi, expand the AddRec to VPInstructions.
Add support for DebugLexicalBlock. (#217965)
Emit
[DebugLexicalBlock](https://github.khronos.org/SPIRV-Registry/nonsemantic/NonSemantic.Shader.DebugInfo.html#DebugLexicalBlock)
for LLVM DILexicalBlock and DINamespace.
This also lets module-scope debug entities (globals, typedefs,
functions, composites) reference a lexical parent instead of always
choosing the compilation unit.
Summary of changes:
1. Collect DILexicalBlock / DINamespace and keep track of their relative
order for later emission.
2. Emit namespace scopes as DebugLexicalBlock before DebugFunction so
namespace-scoped functions and globals can use them as Parent.
3. Emit IR-function-body DILexicalBlock scopes as DebugLexicalBlock
after DebugFunction so these DebugLexicalBlock can properly reference
their parents.
4. Update the already-existing parent scope handling in other opcodes to
use the new data available.
[clang][analyzer] Fix false positive in StdLibraryFunctionsChecker for mmap with MAP_ANON (#219568)
On Darwin,`mmap(2)` acccepts a Mach VM tag encoded in the fd argument
when `MAP_ANON` is set; the encoding is done using `VM_MAKE_TAG(tag)`,
which expands to `(tag << 24)` and is therefore a large negative signed
value for tags >= 128.
This causes a false positive with the existing constraint, which
restricts `fd` to be >= 1, when code uses a `VM_MAKE_TAG` value as the
`fd` argument. The fix here is to eliminate the false positive by
omitting the `fd` constraint on Darwin targets, because it can't be
expressed as a simple range. This does give rise to false negatives (any
`fd` < -1 on Darwin when `MAP_ANON` is not set), but any code with such
a false negative would crash immediately when trying to use the invalid
file descriptor, rather than exhibiting some more subtle dangerous
behavior.
AI disclosure: I used Claude Sonnet 4.6 to help diagnose the original
false positive and suggest possible fixes.
rdar://185124909
[CIR][CUDA/HIP] Fix template static member filtering (#219536)
Check host/device attributes before emitting static member of template
instantiation. This is basically a CIR version of
77fd30f7ce0795b4bbc22e65b3ff42856839d708 .
[lldb] Add Guarded<T, Mutex> to Locked.h
LLDB's code base has many variables that have an associated mutex that
needs to be locked to safely access that variable from multiple
threads. However, this locking scheme is currently not enforced by the
compiler and code sometimes accesses these variables without aquiring
the respective mutex first.
This patch introduces a `Guarded` class that strictly enforces that
some memory is only accessed after the respective mutex has been
aquired. This class hands out `Locked` objects for every access which
guarentee that the mutex is held as long as the variable is in scope.
Revert "[lldb] Use Guarded in CPPLanguageRuntime" (#220201)
Reverts llvm/llvm-project#219428
This was merged by accident and the parent PR should have been merged.
[Verifier] Reject cyclic DIScope parent chains (#217997)
A DIScope parent chain must be acyclic. Diagnose cycles so later walks
of getScope() cannot loop.
One of the proposed tests triggers an infinite loop in the verifier:
https://godbolt.org/z/Toz9jeqc9
[SPARC] Preserve inline asm relocation modifiers (#219971)
Make sure that inline assembly that references a global symbol gets the
correct relocation.
sethi %hi(fsr_storage), %i0
st %fsr, [%i0+fsr_storage]
ld [%i0+fsr_storage], %i0
-->
sethi %hi(fsr_storage), %i0
st %fsr, [%i0+%lo(fsr_storage)]
ld [%i0+%lo(fsr_storage)], %i0
ice(4): Add two more 4-part IDs for E835 adapters
Two additional subdevice IDs were introduced
to distinguish between adapters with and without
manageability over USB support.
Signed-off-by: Krzysztof Galazka <krzysztof.galazka at intel.com>
Reviewed by: erj
Tested by: Mateusz Moga <mateusz.moga at intel.com>
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D57337
(cherry picked from commit f370d9e4d5844daa06d77e57236e03bd7c5f4ba1)
ix(4): Sanitize negative error codes
Due to development history FreeBSD driver error codes are reported
the same way as in Linux (as negatives) which is inconsistent
with FreeBSD standard. It may cause unexpected behavior when driver
errors are interpreted by a kernel as syscall handler return values.
This patch converts error codes from negative to positive values for
NVM access functions.
Signed-off-by: Pawel Sobczyk <pawel.sobczyk at intel.com>
Reviewed by: kbowling, erj, milosz.linkiewicz_intel.com
Tested by: Mateusz Moga <mateusz.moga at intel.com>
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D57642
(cherry picked from commit 33e2eac3e3e738daa95a06f42d6c661b87ad9aac)
ix(4): Remove workaround for 2.5/5G speeds on E610
The problem observed on X550 adapters with 2.5 and 5 Gbps speeds
negotiation on some switches is not affecting E610 adapters.
Remove workaround, which omitted those speeds in the list
of initially advertised speeds and advertise all speeds
supported by adapter.
Signed-off-by: Krzysztof Galazka <krzysztof.galazka at intel.com>
Reviewed by: kbowling
Tested by: Mateusz Moga <mateusz.moga at intel.com>
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D57339
(cherry picked from commit 62d5d119ee7d935ac05966f1c7c4333c33c4f3a9)
[CodeGen] Pass alignment and size to isAtomicAlignmentSupported. NFC (#216621)
Replace `supportsUnalignedAtomics()` with
`isAtomicAlignmentSupported()`, passing the
access alignment and size as target independent properties.
Move the natural alignment check into the default implementation of the
new
hook. The default behavior remains unchanged: targets that enable
SupportsUnalignedAtomics accept any alignment, while other targets
require the
access to be naturally aligned.