[clang] Honor -discard-value-names for LLVM IR input (#229674)
For IR input, CodeGenAction forces setDiscardValueNames(false) to avoid
the crash in #44241, so names created by the optimizer (e.g. the
inliner's `.i`) are kept. c53d807321f6 fixed that crash in
Value::setNameImpl. Apply CodeGenOpts.DiscardValueNames after loading
the module and remove the "ignoring -fdiscard-value-names" warning.
LLM-aided. `clang -O3 -c sqlite3.bc` executes 0.7% fewer instructions.
clang: Do not pass an empty -syslibroot for --sysroot= on Darwin
-isysroot and DEFAULT_SYSROOT, but it checked only for the presence
of the option. An empty --sysroot= then produced -syslibroot "",
where previously it fell through to -isysroot. An empty --sysroot= is
the usual way to defeat DEFAULT_SYSROOT, so treat it as absent.
Use this to fix the darwin-static-lib tests when clang is built with
DEFAULT_SYSROOT or CLANG_USE_XCSELECT.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[flang] Take the debug record's location from the declaration. (#229484)
`DeclareOpConversion` gives the `DbgDeclareOp` it creates the location
of the memref (the alloca) instead of the location of the `XDeclareOp`.
This is problematic in 2 ways.
1. The `XDeclareOp` better represents where the variable is declared.
The memref is where the variable's memory happens to be allocated, and
for a dummy argument it is a block argument, so the record ends up on
the procedure statement. For a subroutine whose dummies `n` and `a` are
declared on lines 2 and 3, their `#dbg_declare` records are both at line
1 today, and at lines 2 and 3 with this change.
2. It requires the alloca to have a valid location. If it does not, the
`DbgDeclareOp` gets none either, and a debug record without a location
is invalid, so it is dropped during the MLIR to LLVM IR translation and
the variable disappears from the debug info altogether.
This PR makes `DeclareOpConversion` use the location of the
[4 lines not shown]
httpd(8): Per RFC 3875, set the PWD of child CGI processes to the
location of the script that is being run.
Right now this only works with the -c option (where previously PWD would
have been unset in the child), processes invoked with -C already got a
PWD, and the wrapper script can also handle setting it to something
sensible.
"looks good" mrg
PR bin/58713 httpd: CGIs have wrong cwd
AMDGPU/GlobalISel: Use integer types when narrowing loads and stores (#229547)
The narrowScalar mutation for loads and stores produced untyped scalars.
For FP-typed values this resulted in an untyped G_OR in the lowerLoad
expansion for unaligned private accesses, which failed to select.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
MachineLICM: Stop checking kill flags in register pressure estimate (#229201)
This was checking kill flags, or hasOneNonDBGUse as a kill approximation.
The kill flag case appears to be of no practical use. InstrEmitter does not
emit the kill flag in the multiple user cases that would be required and I've
only managed to trigger a different hoisting decision with hand modified MIR.
The flag disagrees with hasOneNonDBGUse in 40 CodeGen tests (mostly
custom-inserter loops such as AMDGPU waterfalls and atomic expansions),
but removing it does not change the output of any CodeGen test.
AArch64: Test trap-after-noreturn against the exception model
Unfortunately, the AArch64TargetMachine constructor modifies
TargetOptions::TrapUnreachable if MCAsmInfo::usesWindowsCFI(). Thus, by
default, a trap after a noreturn call is emitted on COFF targets with the
default exception mode. There was no test coverage for this case's
interaction with an overridden exception model. Add the missing test in
preparation for cleaning up both the MC side exception predicates and
TrapUnreachable mutation.
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
[offload][OpenMP][NFC] Add a default-grid run to the no-loop tests
Add a run without OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT to show the
kernels are promoted with the runtime's default grid as well.
[flang][OpenACC] Preserve compute bindings for CUDA DEVICE arguments (#229420)
Only use alternate bindings from enclosing structured data constructs
for calls outside OpenACC compute constructs. Inside compute constructs,
use the ordinary symbol binding so data legalization can find the
mapping and explicit mappings or privatization are respected.
system: do not allow system scope users to be renamed
The previous check was about UID 0 and "root", but if we factor
in the "installer" user this construct falls apart. Instead,
check for system scope and deny all field changes.
[ARM] Add vtrn/vzip/vuzp shuffle costs. (#223611)
This is an extension to #223310 to add other shuffle cost kinds for the
Neon Arm cost model.
Fixes the cost model of #222833
AMDGPU/GlobalISel: Fix buffer stores of bf16
The 16-bit store source fixup only handled i8, i16 and f16, so bf16
values reached register bank legalization unextended and failed. Bitcast
16-bit FP sources to i16 before any-extending, rather than any-extending
the FP value directly.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
yamusic-tui-git: update to 0.8.0
Upstream changes:
* Theming support (configurable colors and "icons");
* MacOS media control integration;
* UI components toggle;
* Volume indicator;
* Switched to a new rotor API for my wave;
* Various tracklist fixes and pages keybinding;
* Support for HTTP proxy and self-signed SSL certs;
* Parallel initial load and fetching playing track info;
* Liked albums and UI changes for displaying albums;
* Improved search results (now displays all of the artist's albums instead of popular tracks);
* Show artist's albums action;
* Fixed errors in offline mode;
* Fixed mpris:artUrl field for linux media controls;
* Fixed terminal title;
* Fixed playlist controls;
* Fixed rewind.