[NFCI][AMDGPU] Refine `AMDGPUSubtarget.h` (#177473)
This PR is to move code around to pave the path for using
`GET_SUBTARGETINFO_MACRO` in `GCNSubtarget.h`.
[libc] Handle charNN_t in cpp::is_integral (#177463)
In C++20, char8_t is a distinct type from unsigned char, but is
still an integral type. char16_t and char32_t are integral types
in both C++17 and C++20.
This also reverts the change in PR #177421, which is not needed
when cpp::is_integral_v<char8_t> works correctly in all modes.
[LV] Replace legacy FindLast check with VPlan-based one (NFCI).
Checking directly in VPlan is more accurate, as the reductions could
have been transformed. This does not happen yet, so currently NFC.
InstCombine: Use SimplifyDemandedFPClass on fmul
Start trying to use SimplifyDemandedFPClass on instructions, starting
with fmul. This subsumes the old transform on multiply of 0. The
main change is the introduction of nnan/ninf. I do not think anywhere
was systematically trying to introduce fast math flags before, though
a few odd transforms would set them.
Previously we only called SimplifyDemandedFPClass on function returns
with nofpclass annotations. Start following the pattern of
SimplifyDemandedBits, where this will be called from relevant root
instructions.
I was wondering if this should go into InstCombineAggressive, but that
apparently does not make use of InstCombineInternal's worklist.
[HLSL] Make atan2, cos, ceil overload tests stricter NFC (#177431)
This patch updates atan2, cos and ceil overload tests to use -O1 instead
of -disable-llvm-passes; also, the checks are updated to match the
change accordingly.
This work is part of https://github.com/llvm/llvm-project/issues/138016.
[PPC64] Convert assert in patchpoint emission to usage error. (#177453)
If the patchpoint intrinsic has requested less bytes then it takes to
make the call then report a fatal usage error. Also fixed a bug where we
forgot to count one of the instructions emitted.
Reland "[AMDGPU][GlobalISel] Add RegBankLegalize support for G_MUL (#… (#177481)
…177314)"
Original reverted due to v2s16 test failure caused by upstream gfx6/7
16-bit vector behavior change that landed shortly before.
Rebased and regenerated mul.ll test.
Original PR: #177314
devel/arduino: pin to openjdk8
Dependency comms/rxtx is tied to openjdk8 and installs jars in
PREFIX/openjdk8/jre/lib/ext. This directory is gone in jdk9+, but
arduino expects it.
So pin arduino to openjdk8 also.
If anybody wants this to be supported by jdk9+, patches are welcome.
PR: 292651
[SelectionDAG] Add very basic computeKnownBits support for ISD::CLMUL. (#177445)
This implements leading zero count support so we can remove some
unnecessary ANDs.
[libc] Clean up cpp::numeric_limits (#177461)
This adds the missing is_signed member and uses a generic
implementation for all integral types, using the same methods
employed by the libc++ implementation.
[OpenMP] Force initialization of global device environment
Summary:
This causes issues when we omit this, which requires a constructor from
an incompatible address space and bad things happen.