[clang][headers][endian.h] include_next in freestanding (#187380)
Remove the `__STDC_HOSTED__` check to allow us to also include the
platform header instead in freestanding mode
[clang-tidy][NFC] Compare nodes by pointer instead of by ID in `readability-else-after-return` (#187363)
Node IDs are designed to be stable *across different runs of the
compiler*. This check doesn't need such a strong guarantee, so using
them here introduces unnecessary cost and complexity.
[Clang] Fix assertion when __block is used on global variables in C mode (#183988)
I added an extra check in handleBlocksAttr to ensure that illegal Decl
values are not passed to downstream functions.
Fixes #183974
[AMDGPU] Add ML-oriented coexec scheduler selection and queue handling
This patch adds the initial coexec scheduler scaffold for machine
learning workloads on gfx1250.
It introduces function and module-level controls for selecting the
AMDGPU preRA and postRA schedulers, including an `amdgpu-workload-type`
module flag that maps ML workloads to coexec preRA scheduling and a nop
postRA scheduler by default.
It also updates the coexec scheduler to use a simplified top-down
candidate selection path that considers both available and pending
queues through a single flow, setting up follow-on heuristic work.
[SelectionDAG] Move the call to BuildExactSDIV and BuildExactUDIV to the top of BuildSDIV/BuildUDIV. (#187378)
This moves it above the type legality check. The legality check we use
for the main division by constant algorithm is probably not right for
BuildExactSDIV and BuildExactSDIV. These checks are largely about the
legality of MUL_LOHI/MULH which are not used for the exact case.
This patch removes the legal type check for the exact case. If we do
need a check it's probably better to have a specific version in
BuildExactSDIV and BuildExactSDIV.
I'm hoping to do some refactoring of the legality checks in
BuildSDIV/BuildUDIV so separating them makes this easier.
[clang] Enable exceptions in CWG2486 test (#187195)
In #107131 I totally missed the fact that the entire `cwg24xx.cpp` was
running without exceptions. This patch rectifies that, and uncovers one
diagnostic in pre-C++17 modes that CWG2486 test was missing.