math/mpfi: make fetchable again with a silent update
MASTER_SITES moved to ENS Lyon.
Meanwhile the tarball has been rerolled:
- many auto* stuff: configure is now pre-generated;
- mpfi.pc is available
- change tests
but also some code has been modified.
Full diff available at https://people.freebsd.org/~thierry/mpfi-1.5.4.diff
PR: 293803
Reported by: Daniel Engberg
math/sprng: make fetchable again with a silent update
The tarball for SPRNG 5.0 has been rerolled.
This includes several minor points:
- format change (dos to unix);
- code reformat and linting;
- code cleaning;
but also some other modifications.
Full diff available at https://people.freebsd.org/~thierry/sprng5.diff .
PR: 293802
Reported by: Daniel Engberg
science/medit: make fetchable again
Université Pierre et Marie Curie merged with Sorbonne University, and
upstream site has been reorganized.
PR: 293800
Reported by: Daniel Engberg
textproc/libtextcat: deprecate
Upstream disapeared, and LibreOffice adopted and adapted this program.
It has been renamed as libexttextcat, and can be replaced by the port
textproc/libexttextcat.
PR: 293799
Reported by: Daniel Engberg
[flang][OpenMP][CUDA] Set allocator_idx on privatized allocatable device array descriptors (#186945)
When an allocatable CUDA Fortran device array is privatized in an OpenMP
region, the null descriptor created in the omp.private init region was
missing the allocator_idx attribute. This caused a subsequent allocate()
inside the parallel region to call malloc instead of cudaMalloc, because
the runtime's Descriptor::Allocate() reads allocator_idx from the
descriptor to select the allocator. On some systems it caused
cudaErrorInvalidValue crashes.
This patch sets allocator_idx = 2 (device allocator) on the null
fir.embox in handleNullAllocatable() when the symbol has a CUDA device
attribute, so that the Fortran runtime correctly calls cudaMalloc for
the privatized array.
PR/60086: Andrew Parker: cgdconfig may not always find ZFS device labels
Updated cgdconfig to use the same alignment function as zdb
(external/cddl/osnet/dist/cmd/zdb/zdb.c).
[AArch64][llm] Make SBZ/SBO insns warn not fail when disassembling
Some instructions in the Arm ARM have bits which are marked as "Should
Be One" or "Should Be Zero", and they're marked as "Constrained
Unpredictable" as to what should happen if they're not.
This is to improve hardware decode efficiency. In all the cases where
this occurs, it's an instruction which in all other respects is closely
related to an adjacent instruction in the encoding space (for example a
similar load or store) but doesn't require one of the variable fields,
usually a register field. These fields are then defined as SBZ or SBO.
If one of these instructions didn't have the bits set to SBZ or SBO,
then the instruction would fail to disassemble. We had missed adding
`Unpredictable` to a few of these, and they would fail rather than
warn.
Update these AArch64 instructions to treat `Unpredictable` bitfields as
soft-fails with a warning, and add a comprehensive disassembler regression
[9 lines not shown]
[SandboxVec][BottomUpVec] Fix crash caused by Cmps with different operand types (#186550)
This patch disables vectorizing Cmps with different operand types
because we can't form a legal vector.
This used to cause an assertion check crash once we attempted to pack
the bundle formed by Cmp's operands.
[mlir][Interfaces][NFC] Add early exit to MakeRegionBranchOpSuccessorInputsDead (#186325)
Optimize MakeRegionBranchOpSuccessorInputsDead patterns in
`ControlFlowInterfaces.cpp`:
- Add early exit to `computeReachableValuesFromSuccessorInput` when the
caller only needs to know if there is exactly one reachable value,
avoiding unnecessary traversal.
Assisted-by: Claude Code
Co-authored-by: Yang Bai <yangb at nvidia.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
Reland Support float8_e3m4 and float8_e4m3 in np_to_memref (#186453) (#186833)
This patch adds support for `float8_e3m4` and `float8_e4m3` in
`np_to_memref.py` by adding the appropriate ctypes structures.
Additionally changes minimum numpy version to 2.1.0 and uses a single
ml_dtypes version of 0.5.0.
arm64: Have a common call to userret
Rather than each exception calling userret use a common copy. As
syscallret already calls userret we need to skip it in that case.
Reviewed by: kib
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D55250
[flang] Lower anint with math.round (#186039)
Use `math.round` in lowering of `anint` so we can use passes like
`MathToNVVM` to target device code differently.
[lldb] Fix user-after-free in CommandInterpreter (#187032)
The variable `matches` may be assigned the address of block-scope
`local_matches`, which is defined in a scope strictly smaller than the
scope of `matches`. Towards the end of the function, after
`loacl_matches` has been destroyed, `matches` is accessed, possibly
triggering a user-after-free.
[flang] Fix ignore_tkr(c) passing descriptor instead of base address for non-descriptor dummies (#186894)
When ignore_tkr(c) is set and the actual argument is an allocatable or
pointer (stored as a descriptor), the lowering code was unconditionally
returning the descriptor pointer as-is, regardless of whether the dummy
argument expects a descriptor. For bind(c) interfaces with assumed-size
dummies (e.g., cuFFT), the dummy expects a raw pointer, not a
descriptor. Passing the descriptor caused the C function to receive the
wrong address, leading to silent data corruption and invalid descriptor
crashes at deallocation.
The fix adds a check that the early return for ignore_tkr(c) only
applies when the dummy type is itself a descriptor type. When the dummy
expects a base address, the normal path is taken, which correctly
extracts the base address from the descriptor via fir.box_addr.
[AMDGPU] Standardize on using AMDGPU::getNullPointerValue. NFC. (#187037)
AMDGPUTargetMachine also had a static method which did the same thing.
Remove it so that we have a single source of truth.
rework the way we reconsturct the object file order for syspatches
this change drops the exclude regex and just simply checks if the
object files are actually available and then constucts a response
file which we pass for linking and this seems to be good enough
to have reproducible make build output (which is what we want here)
ok tb@
[lldb] Add additional logging to wait_for_file_on_target (#186915)
Occasionally wait_for_file_on_target will time out on the Green Dragon
bots and we're not sure why. I'm adding this logging in an attempt to
get more clues as to what's happening when it fails.
[CycleInfo] Support forward declarations (#187029)
Use a class instead of an alias, so that CycleInfo can be
forward-declared.
We can't do the same for Cycle without further changes (a LoopInfo like
CRTP scheme).
[NewPM] Port for AArch64ConditionOptimizer (#186941)
Adds a newPM pass for AArch64ConditionOptimizer.
- Refactors base logic into an Impl class
- Renames old pass with the "Legacy" suffix
- Adds the new pass manager pass using refactored logic
- Updates tests
Context and motivation in
https://llvm.org/docs/NewPassManager.html#status-of-the-new-and-legacy-pass-managers
[X86] Fix fcmp+select to min/max lowering (#185594)
This does a few changes that are hard to separate from each other:
* Consider forming minnum/maxnum from setcc+select non-profitable. X86
has instructions specifically for the setcc+select pattern. (Without
this it's hard to get good coverage on this code path.)
* Reduce duplication in the code for forming FMIN/FMAX, by using
predicate inversion (to make setcc and select operand order match) and
predicate invswap (to canonicalize to ordered predicates). This leaves
us with just ordered and NaN-less predicates.
* For non-strict non-less predicates, convert them to strict ones via
invswap (i.e. swapping the operands of both the setcc and select).
Previously this just treated them the same as strict predicates, but I
believe that's incorrect in terms of signed zero handling.
[clang] DeducedTypes deduction kind fix and improvement (#186727)
This is a small refactor of how DeducedType and it's derived types are
represented.
The different deduction kinds are spelled out in an enum, and how this
is tracked is simplified, to allow easier profiling.
How these types are constructed and canonicalized is also brought more
in line with how it works for the other types.
This fixes a crash reported here:
https://github.com/llvm/llvm-project/issues/167513#issuecomment-3692962115