[HIP] Do not apply 'externally_initialized' to constant device variables (#182157)
Summary:
From the Language reference:
> By default, global initializers are optimized by assuming that global
variables defined within the module are not modified from their initial
values before the start of the global initializer. This is true even for
variables potentially accessible from outside the module, including
those with external linkage or appearing in @llvm.used or dllexported
variables. This assumption may be suppressed by marking the variable
with externally_initialized.
This is intended because device programs can be modified beyond the
normal lifetime expected by the optimization pipeline. However, for
constant variables we should be able to safely assume that these are
truly constant within the module. In the vast majority of cases these
will not get externally visible symbols, but even `extern const` uses we
should assert that the user should not be writing them if they are
marked const.
[Offload][clang-linker-wrapper][SPIRV] Tell spirv-link to not optimize out exported symbols (#182930)
`spirv-link` seems to internalize all symbols, which ends up causing the
OpenMP Device Environment global generated by the OMP FE to get
optimized out which causes `liboffload` to run in the wrong
parallelization mode which breaks at least one liboffload lit test.
Pass `--create-library` to tell it not to do that.
```
--create-library
Link the binaries into a library, keeping all exported symbols.
```
This fixes the test.
Closes: https://github.com/llvm/llvm-project/issues/182901
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
[CIR] Fix global-refs test that got committed in github 'race' (#183068)
Despite my best efforts, this crossed in the air with the attributes on
arguments patch, and thus had a problem with the test. This patch
updates the test to be tolerant of the attributes.
[MC/DC] Make covmap tolerant of nested Decisions (#125407)
CoverageMappingWriter reorders `Region`s by `endLoc DESC` to prioritize
wider `Decision` with the same `startLoc`.
In `llvm-cov`, tweak seeking Decisions by reversal order to find smaller
Decision first.
llvmorg-23-init-2321-g8f690ec7ffd8
NAS-139958 / 26.0.0-BETA.1 / fix misleading svc logs and timeout values (#18286)
We've got various misleading log messages in middlewared.log with the
recent service framework changes. They were saying services were timing
out but, in reality, they were not. We had hard-coded a 5 second timeout
that ignored reality. For example, the docker service sets a 900 second
timeout. The default timeout for a service that does not specify an
explicit timeout is 90 seconds.
This changes it so that we query the service to see if they have
specified a start/stop timeout and use that as the threshold for how
long we wait. Otherwise, we fallback to using the default systemd
timeout OR we use the timeout passed in by the caller.
Fix nfs etc group spam on first boot
During first boot we're generating etc files before we have a
system global id causing needless log spam. This commit has
us silently refuse to generate the nfs config if the server
doesn't have this required info yet.
[LLVM] Fix accidentally included POSIX header on Windows
Summary:
This used to only build on Linux, I forgot that these changes would
cause it to be built on Windows.
Firewall: Rules [new]: Remove hardcoded colors where possible (#9848)
* Firewall: Rules [new]: Turn hardcoded badge colors into inherited label colors, use chip class for badges in tabulator rows
* Remove hardcoded fallback color from categories as well
* Add empty string as fallback for category color, and do not render the style in frontend if color is empty, that way fa-tag default style can be used here
* Remove hardcoded category colors in NAT templates as well
* Different label for "any" rules, remove font-size
* We do not need to set category_colors, the frontend checks if it exists already
[AArch64][clang][llvm] Add ACLE `stshh` atomic store builtin
Add `__arm_atomic_store_with_stshh` implementation as defined
in the ACLE. Validate that the arguments passed are correct, and
lower it to the stshh intrinsic plus an atomic store with the
allowed orderings.
Gate this on FEAT_PCDPHINT so that availability matches
hardware support for the `STSHH` instruction. Use an i64
immediate and side-effect modeling to satisfy tablegen and decoding.
[LLVM] Port 'llvm-gpu-loader' to use LLVMOffload (#162739)
Summary:
This patch rewrites the `llvm-gpu-loader` utility to use the LLVMOffload
interface. This heavily simplifies it while re-using the already
existing support. Another benefit is that I can now easily do this
dynamically so we can always build this utility without needing to find
non-standard packages.
One issue is mentioned in
https://github.com/llvm/llvm-project/issues/159636 where this will now
take extra time if you have both installed on the same machine. This is
just slightly annoying since most people don't have both CUDA and ROCm
at the same time so I don't consider it a blocker. I will work later to
address it.
Slightly unfortunate environment variable usage, I will also expose that
better in the future.
Fixes: https://github.com/llvm/llvm-project/issues/132890