SuccessChanges

Summary

  1. [InstCombine] Canonicalize SPF_ABS to abs intrinc (details)
  2. [llvm-install-name-tool] Update the command-line guide (details)
  3. [NewPM] Fix pr45927.ll under NPM (details)
  4. [MemorySSA] Be more conservative when traversing MemoryPhis. (details)
  5. Support dwarf fission for wasm object files (details)
Commit 05d4c4ebc2fb006b8a2bd05b24c6aba10dd2eef8 by nikita.ppv
[InstCombine] Canonicalize SPF_ABS to abs intrinc

Enable canonicalization of SPF_ABS and SPF_NABS to the abs intrinsic.

To be conservative, the one-use check on the comparison is retained,
this may be relaxed if all goes well.

It's pretty likely that this will uncover places that missing
handling for the abs() intrinsic. Please report any seen performance
regressions.

Differential Revision: https://reviews.llvm.org/D87188
The file was modifiedclang/test/CodeGen/builtins-wasm.c
The file was modifiedllvm/test/Transforms/InstCombine/abs-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/cttz-abs.ll
The file was modifiedllvm/test/Transforms/InstCombine/sub-of-negatible.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
The file was modifiedllvm/test/Transforms/InstCombine/max-of-nots.ll
The file was modifiedllvm/test/Transforms/InstCombine/select_meta.ll
The file was modifiedllvm/test/Transforms/InstCombine/abs_abs.ll
The file was modifiedllvm/test/Transforms/InstCombine/call-callconv.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/min-max-abs-cse.ll
The file was modifiedllvm/test/Transforms/InstCombine/icmp.ll
Commit 53ba045f488f7ef7d4894926fad8de0b76f1e20a by alexshap
[llvm-install-name-tool] Update the command-line guide
The file was modifiedllvm/docs/CommandGuide/llvm-install-name-tool.rst
Commit 179a22e807a40ae5821920cec3c1933eef4dc30c by aeubanks
[NewPM] Fix pr45927.ll under NPM
The file was modifiedllvm/test/Analysis/MemorySSA/pr45927.ll
Commit a0017c2bc258690146f18491317144e487ddb101 by flo
[MemorySSA] Be more conservative when traversing MemoryPhis.

I think we need to be even more conservative when traversing memory
phis, to make sure we catch any loop carried dependences.

This approach updates fillInCurrentPair to use unknown sizes for
locations when we walk over a phi, unless the location is guaranteed to
be loop-invariant for any possible loop. Using an unknown size for
locations should ensure we catch all memory accesses to locations after
the given memory location, which includes loop-carried dependences.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D87778
The file was modifiedllvm/test/Analysis/MemorySSA/phi-translation.ll
The file was modifiedllvm/include/llvm/Analysis/MemorySSA.h
Commit 0ff28fa6a75617d61b1aeea77463d6a1684c3c89 by dschuff
Support dwarf fission for wasm object files

Initial support for dwarf fission sections (-gsplit-dwarf) on wasm.
The most interesting change is support for writing 2 files (.o and .dwo) in the
wasm object writer. My approach moves object-writing logic into its own function
and calls it twice, swapping out the endian::Writer (W) in between calls.
It also splits the import-preparation step into its own function (and skips it when writing a dwo).

Differential Revision: https://reviews.llvm.org/D85685
The file was modifiedllvm/lib/MC/MCObjectFileInfo.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was addedllvm/test/DebugInfo/WebAssembly/fission-cu.ll
The file was modifiedclang/test/Driver/split-debug.c
The file was modifiedllvm/include/llvm/MC/MCWasmObjectWriter.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was modifiedllvm/lib/MC/WasmObjectWriter.cpp
The file was addedllvm/test/DebugInfo/WebAssembly/fission-sections.ll
The file was modifiedllvm/lib/MC/MCAsmBackend.cpp