[mlir][ArithToAMDGPU] Skip tensor scaling ops (#207327)
This fixes a crash in -convert-arith-to-amdgpu=chipset=gfx950 when the
input contains tensor arith.scaling_truncf operations.
The scaling rewrite patterns are written for scalar/vector values.
Tensor values should not be rewritten by these patterns, so this patch
returns failure for tensor operands and leaves those ops unchanged.
A regression test is added for the tensor reproducer from #207311.
Co-authored-by: tongjinxuan <tongjinxuan at longcheer.com>
[AMDGPU][test] Use mir test for regalloc issue
Use the newly introduced split-from flag to produce a more robust test case
for the hoistSpillInsideBB live-range update issue.
NFC
[MIR] Serialize/Deserialize MachineInstr::LRSplit attribute
The LRSplit MachineInstr flag is set by SplitKit on copies inserted for
live-range splitting.
Until now the flag had no MIR-text representation.
This patch fixes that so that it gets easier to reproduce/capture issues
that involves SplitKit.
Round-trip coverage in
llvm/test/CodeGen/MIR/AMDGPU/lr-split-flag.mir.
17173 mdb: check sign expansion
Reviewed by: Gordon Ross <gordon.w.ross at gmail.com>
Reviewed by: Andy Fiddaman <illumos at fiddaman.net>
Approved by: Dan McDonald <danmcd at edgecast.io>
[Clang] Reduce the number of ways we have to print a codepoint. (#206990)
In #206326, we introduced yet another way to format a codepoint, so we
try to claw back some consistency.
- When we display a single character we do so inside quotes
- Non-decodable code units are displayed as <0xYY>
- In strings
- we render printable and format characters
- we print <U+XXXX> for non printable, non-format characters
- In characters
- we only render non-format print characters
- we always print the codepoint as U+XXXX for non-ascii characters
This does not change `WriteCharValueForDiagnostic` which is deeply weird
and was contentious a while back.
So we still have 2 different formatting utilities. Which is better than
[2 lines not shown]
[JumpTableToSwitch] Bail out on function type mismatch (#207700)
If the function types of the functions in the jump table don't match the
function type of the call, we currently get an assertion failure. We
could avoid that by using a different API, but the usefulness of the
transform in this case is questionable (e.g. we wouldn't be able to
inline the call). For simplicity just bail out.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
18212 mdb: nv_var_alloc() error: strcpy() 'name' too large for 'v->v_lname'
Reviewed by: Gordon Ross <gordon.w.ross at gmail.com>
Reviewed by: Andy Fiddaman <illumos at fiddaman.net>
Approved by: Dan McDonald <danmcd at edgecast.io>
18197 RFC1918 addresses get site-local scope defeating RFC 6724 destination selection
Reviewed by: Joshua M. Clulow <josh at sysmgr.org>
Reviewed by: Sebastian Wiedenroth <wiedi at frubar.net>
Approved by: Dan McDonald <danmcd at edgecast.io>
protobuf: fix build with pkgsrc gcc-10
Removing #define _POSIX_C_SOURCE 202405L is sufficient to fix the build
with pkgsrc gcc10.
This is for this bit of code:
int robust_close(int fd) {
#if defined(POSIX_CLOSE_RESTART)
return posix_close(fd, 0);
#else
return close(fd);
#endif
}
On most operating systems, posix_close doesn't exist anyway, so this code
is all irrelevant:
https://www.gnu.org/software/gnulib/manual/html_node/posix_005fclose.html