SuccessChanges

Summary

  1. Temporarily Revert: (details)
  2. TableGen: Remove assert that pattern results match input number (details)
  3. AMDGPU: Select global atomicrmw fadd (details)
Commit e511c4b0dff1692c267addf17dce3cebe8f97faa by echristo
Temporarily Revert:
"[SLP] Generalization of stores vectorization."
"[SLP] Fix -Wunused-variable. NFC"
"[SLP] Vectorize jumbled stores."
As they're causing significant (10-30x) compile time regressions on
vectorizable code.
The primary cause of the compile-time regression is
f228b5371647f471853c5fb3e6719823a42fe451.
This reverts commits:
f228b5371647f471853c5fb3e6719823a42fe451
5503455ccb3f5fcedced158332c016c8d3a7fa81
21d498c9c0f32dcab5bc89ac593aa813b533b43a
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-add-ssat.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/shift-shl.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/shift-lshr.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-mul.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-sub.ll
The file was modifiedllvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-fix.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-sub-ssat.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/different-vec-widths.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/cttz.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/shift-ashr.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-sub-usat.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/ctpop.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/ctlz.ll
The file was removedllvm/test/Transforms/SLPVectorizer/X86/jumbled_store_crash.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/store-jumbled.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/stores_vectorize.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-add-usat.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-add.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/bitreverse.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
Commit 9f9f42dbc5f54bbee6785a62acc8cd7e5ed12ea5 by Matthew.Arsenault
TableGen: Remove assert that pattern results match input number
AMDGPU has some atomic instructions that do not return the previous
result, and can only be selected if there are no uses. The source
pattern will only match if the use is empty, so it should be safe to
discard the result.
The file was modifiedllvm/utils/TableGen/DAGISelMatcherGen.cpp
Commit e16a71382d689c39561e94b13af2feb4bf1b15cc by Matthew.Arsenault
AMDGPU: Select global atomicrmw fadd
This only works if there is no use of the return value.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
The file was addedllvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td
The file was modifiedllvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp