[compiler-rt][sanitizer] some additional Haiku build fixes (#172773)
- Correct field type for cookie variable
- Use proper type for __sanitizer_sigset_t on 64-bit archs
AMDGPU: Stop requiring afn for f32 rsq formation
We were checking for afn or !fpmath attached to the sqrt. We
are not trying to replace a correctly rounded rsqrt; we're replacing
the two correctly rounded operations with the contracted operation.
It's net a better precision, so contract on both instructions should
be sufficient. Both the contracted and uncontracted sequences pass
the OpenCL conformance test, with a lower maximum error contracted.
AMDGPU: Introduce f64 rsq pattern in AMDGPUCodeGenPrepare
Handle this here instead of DAGCombine, mostly because the f32
case is handled here due to the dependency on !fpmath. Also we can
take advantage of computeKnownFPClass.
[RuntimeLibcalls] Fix stack probes for aarch64 mingw (#172973)
Before bb993a89a873ee832d063fb566c889ca3d0c2b72, the stack probes on
aarch64 windows unconditionally called "__chkstk"; after this
refactoring, it only got "__chkstk" for MSVC environments, and no stack
probe at all for other environments.
Simplify RuntimeLibcalls.td to do the same for aarch64 as for arm,
simply adding "__chkstk" for all Windows variants, and add a test to
cover this case.
[AArch64] Set default schedule of load-acquire RCpc instructions. (#172881)
This patch sets the default schedule of RCpc load-acquires to WriteLD,
same as it's done for rcpc-immo load-acquires.
[InstCombine] Add more freeze PHI tests (NFC) (#172842)
Adds a number of test cases where we have to be careful when pushing
freeze around. These first two tests are taken from #157678 which failed
to land to due compile-time issues. The last two tests were reduced from
llvm-opt-benchmark workloads on #171435 which was an attempt at
addressing underlying cause of the hangs.
[OCaml] Remove deprecated const_nuw_neg and build_nuw_neg APIs (#171466)
I think we usually remove deprecated C API functions from the OCaml
bindings right away. These two at least should be essentially useless.
[ConstantInt] Add ImplicitTrunc parameter to getSigned() (NFC) (#172875)
For consistency with `ConstantInt::get()`, add an ImplicitTrunc
parameter to `ConstantInt::getSigned()` as well. It currently defaults
to true and will be flipped to false in the future (by #171456).
[BOLT] Add missing system-linux requirements to tests
Many lit tests are failing on macOS, as they are linux-specific,
but not using the "REQUIRES: system-linux" setting.
This patch adds the missing requirements to tests failing on macOS.