1. [AMDGPU] Add llvm.amdgcn.wqm.demote intrinsic (details)
  2. [X86] Convert fmin/fmax _mm_reduce_* intrinsics to emit llvm.reduction intrinsics (PR47506) (details)
  3. [Polly] Regenerate isl-noexceptions.h. (details)
Commit aef781b47a5e3a82eb70a9c96595915fc7fe6cb3 by carl.ritson
[AMDGPU] Add llvm.amdgcn.wqm.demote intrinsic

Add intrinsic which demotes all active lanes to helper lanes.
This is used to implement demote to helper Vulkan extension.

In practice demoting a lane to helper simply means removing it
from the mask of live lanes used for WQM/WWM/Exact mode.
Where the shader does not use WQM, demotes just become kills.

Additionally add intrinsic to complement
demote operations. In theory can be used
to detect helper lanes; however, can be moved by LICM.
The movement of cannot be remedied without changing
its type signature and such a change would require
users to update as well.

Reviewed By: piotr

Differential Revision:
The file was modifiedllvm/include/llvm/IR/
The file was modifiedllvm/lib/Target/AMDGPU/
The file was modifiedllvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
The file was addedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.demote.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.wqm.demote.mir
The file was modifiedllvm/lib/Target/AMDGPU/
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wqm.demote.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/
Commit 61da20575d6c6bc72438bb3d169b4b2797e909e4 by
[X86] Convert fmin/fmax _mm_reduce_* intrinsics to emit llvm.reduction intrinsics (PR47506)

This is a follow up of D92940.

We have successfully converted fadd/fmul _mm_reduce_* intrinsics to
llvm.reduction + reassoc flag. We can do the same approach for fmin/fmax
too, i.e. llvm.reduction + nnan flag.

Reviewed By: spatel

Differential Revision:
The file was modifiedclang/include/clang/Basic/BuiltinsX86.def
The file was modifiedclang/test/CodeGen/X86/avx512-reduceMinMaxIntrin.c
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/lib/Headers/avx512fintrin.h
Commit ab0556bb208bb7598b13e6a629d936e1920d6c0b by llvm-project
[Polly] Regenerate isl-noexceptions.h.

Regenerate the C++ wrapper header from the current isl version's

The most notable change is that some dimension sizes are represented by
an isl_size (instead of unsigned), which is a signed int. Additionally,
some function may return -1 in case of an error which already had been
fixed in the past. The C++ may no return -1 instead of UINT_MAX which
caused the problems.

Some types in Polly had been changed from unsigned to isl_size
(that were not already auto) and some loops/comparision had to be
changed to avoid unsigned/signed comparison warnings.
The file was modifiedpolly/lib/External/isl/include/isl/isl-noexceptions.h
The file was modifiedpolly/lib/Transform/ScheduleOptimizer.cpp
The file was modifiedpolly/lib/Support/ISLTools.cpp
The file was modifiedpolly/include/polly/Support/ISLTools.h
The file was modifiedpolly/lib/Analysis/ScopBuilder.cpp
The file was modifiedpolly/unittests/Isl/IslTest.cpp
The file was modifiedpolly/lib/Analysis/DependenceInfo.cpp
The file was modifiedpolly/lib/Transform/FlattenAlgo.cpp
The file was modifiedpolly/lib/Analysis/ScopInfo.cpp