[AMDGPU] Remove unreachable buildReduction from AtomicOptimizer (NFC) (#234082)
Since #211757 the pass uses wave.reduce unless the value is divergent
and the result is used. So the DPP scan always has a used result, and
buildReduction, which it only called for an unused one, can't be
reached. Drop it and the NeedResult check before buildShiftRight.
[AMDGPU] Fix a wave.reduce crash on a move of a non-immediate (#228819)
lowerWaveReduce checks whether a uniform source is the constant 1 by
looking at the move that defines it (#212755), and reads the move's
operand with getImm() without checking that it is an immediate. A source
defined by a move of a register, a frame index or a global address hits
the assertion in getImm(). An add reduction of a uniform umin's result
does this, since the umin is lowered to a move of its source.
Use getImmOrMaterializedImm, which returns nothing unless the operand is
an immediate.
[AArch64] Add basic and neon scheduling test files for Cortex-A53. NFC (#236146)
This makes sure we have basic test coverage like for other cpus.
fullfp16, dotprod and rdm are enabled to allow otherwise unsupported
instructions present in the test files, which seemed better than
splitting the files up considering this could be how they are used in
practice (with -mtune).