FailedChanges

Summary

  1. [LoopVectorizer] Lower uniform loads as a single load (instead of relying on CSE) (details)
  2. [test] pre-comit test for D91451 (details)
  3. [llvm-symbolizer] Switch to using native symbolizer by default on Windows (details)
  4. [hwasan] Fix tests when vm.overcommit_memory=1. (details)
  5. Revert "[llvm-symbolizer] Switch to using native symbolizer by default on Windows" (details)
  6. [Clang][-fvisibility-from-dllstorageclass] Set DSO Locality from final visibility (details)
  7. Enable support for floating-point division reductions (details)
  8. fix some Wundef warnings in public headers (details)
  9. Fix signed integer overflow bug that's causing test failures with UBSan. (details)
Commit b06a2ad94f45abc18970ecc3cec93d140d036d8f by listmail
[LoopVectorizer] Lower uniform loads as a single load (instead of relying on CSE)

A uniform load is one which loads from a uniform address across all lanes. As currently implemented, we cost model such loads as if we did a single scalar load + a broadcast, but the actual lowering replicates the load once per lane.

This change tweaks the lowering to use the REPLICATE strategy by marking such loads (and the computation leading to their memory operand) as uniform after vectorization. This is a useful change in itself, but it's real purpose is to pave the way for a following change which will generalize our uniformity logic.

In review discussion, there was an issue raised with coupling cost modeling with the lowering strategy for uniform inputs.  The discussion on that item remains unsettled and is pending larger architectural discussion.  We decided to move forward with this patch as is, and revise as warranted once the bigger picture design questions are settled.

Differential Revision: https://reviews.llvm.org/D91398
The file was modifiedllvm/test/Transforms/LoopVectorize/multiple-strides-vectorization.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/cost-model-assert.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit d6239b3ea6c143a0c395eb3b8512677feaf6acc0 by listmail
[test] pre-comit test for D91451
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
Commit c74b427cb2a90309ee0c29df21ad1ca26390263c by akhuang
[llvm-symbolizer] Switch to using native symbolizer by default on Windows

llvm-symbolizer used to use the DIA SDK for symbolization on
Windows; this patch switches to using native symbolization, which was
implemented recently.

Users can still make the symbolizer use DIA by adding the `-dia` flag
in the LLVM_SYMBOLIZER_OPTS environment variable.

Differential Revision: https://reviews.llvm.org/D91814
The file was modifiedllvm/lib/DebugInfo/Symbolize/Symbolize.cpp
The file was modifiedlld/test/COFF/symbolizer-inline.s
The file was modifiedllvm/tools/llvm-symbolizer/Opts.td
The file was modifiedllvm/test/tools/llvm-symbolizer/pdb/pdb-columns.test
The file was modifiedllvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
The file was modifiedllvm/docs/CommandGuide/llvm-symbolizer.rst
The file was modifiedllvm/test/tools/llvm-symbolizer/pdb/pdb.test
The file was modifiedllvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
Commit 237b024b06df4305b1a0400f60cffc6b39fb3f5a by eugenis
[hwasan] Fix tests when vm.overcommit_memory=1.

Remove an invalid check from sizes.cpp that only passes when overcommit is disabled.

Fixes PR48274.

Differential Revision: https://reviews.llvm.org/D91999
The file was modifiedcompiler-rt/test/hwasan/TestCases/sizes.cpp
Commit 1b63177a56e8cd6196778d2b90295f03e96b5800 by akhuang
Revert "[llvm-symbolizer] Switch to using native symbolizer by default on Windows"

Breaks some asan tests on the buildbot.

This reverts commit c74b427cb2a90309ee0c29df21ad1ca26390263c.
The file was modifiedllvm/tools/llvm-symbolizer/Opts.td
The file was modifiedllvm/test/tools/llvm-symbolizer/pdb/pdb-columns.test
The file was modifiedllvm/lib/DebugInfo/Symbolize/Symbolize.cpp
The file was modifiedllvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
The file was modifiedlld/test/COFF/symbolizer-inline.s
The file was modifiedllvm/test/tools/llvm-symbolizer/pdb/pdb.test
The file was modifiedllvm/docs/CommandGuide/llvm-symbolizer.rst
The file was modifiedllvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
Commit e42021d5cc25a8dc7e3efac1e7007cc0c1a7b2bd by Ben.Dunbobbin
[Clang][-fvisibility-from-dllstorageclass] Set DSO Locality from final visibility

Ensure that the DSO Locality of the globals in the IR is derived from
their final visibility when using -fvisibility-from-dllstorageclass.

To accomplish this we reset the DSO locality of globals (before
setting their visibility from their dllstorageclass) at the end of
IRGen in Clang. This removes any effects that visibility options or
annotations may have had on the DSO locality.

The resulting DSO locality of the globals will be pessimistic
w.r.t. to the normal compiler IRGen.

Differential Revision: https://reviews.llvm.org/D91779
The file was modifiedclang/test/CodeGenCXX/visibility-dllstorageclass.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
Commit 4bc88a0e9a2ee29959a9053e867ae6f051348554 by v.churavy
Enable support for floating-point division reductions

Similar to fsub, fdiv can also be vectorized using fmul.

Also http://llvm.org/viewvc/llvm-project?view=revision&revision=215200

Differential Revision: https://reviews.llvm.org/D34078

Co-authored-by: Jameson Nash <jameson@juliacomputing.com>
The file was modifiedllvm/test/Transforms/LoopVectorize/float-reduction.ll
The file was modifiedllvm/lib/Analysis/IVDescriptors.cpp
Commit 8f1e0dcbb090243423faa4228ba58ddbae909c70 by vtjnash
fix some Wundef warnings in public headers

Differential Revision: https://reviews.llvm.org/D91094
The file was modifiedllvm/include/llvm/Config/abi-breaking.h.cmake
The file was modifiedllvm/include/llvm/ADT/Statistic.h
Commit 97c8fba7e490db57d24a31c68ad12d7f840256d6 by richard
Fix signed integer overflow bug that's causing test failures with UBSan.
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp