SuccessChanges

Summary

  1. [lld][WebAssembly] Fix --export-all when __stack_pointer is present (details)
  2. [gn build] (semi-manually) port 380e746bcca (details)
  3. [ConstraintElimination] Add initial tests. (details)
  4. [libcxx] Disable failing test for no-exceptions build (details)
  5. [InstCombine] improve test names; NFC (details)
  6. [InstCombine] add RUN to show miscompile of pow expansion; NFC (details)
  7. [InstCombine] fix bug in pow expansion (details)
  8. [gn build] Port a8058c6f8d1 (details)
  9. [gn build] Port cd4edf94cd4 (details)
  10. [mlir][Standard] Add canonicalizer for dynamic_tensor_from_elements (details)
  11. [mlir][openacc] Add missing print of vector_length in parallel op (details)
  12. [Utils] isLegalToPromote - Fix missing null check before writing to FailureReason. (details)
  13. AMDGPUPrintfRuntimeBinding.cpp - drop unnecessary casts/dyn_casts. NFCI. (details)
Commit 3f411e97739ffbdca0077d1c4fdc9c1fc1819019 by sbc
[lld][WebAssembly] Fix --export-all when __stack_pointer is present

With https://reviews.llvm.org/D87537 we made it an error
to import or export a mutable global with the +mutable-globals
feature present.  However the scan was of the entire symbol
table rather than just the imports or exports and the filter
didn't match exaclyt meaning the `__stack_pointer` (a mutable
global) was always triggering with error when the `--export-all`
flag was used.

This also revealed that we didn't have any test coverage for
the `--export-all` flag.

This change fixes the current breakage on the emscripten-releases
roller.

Differential Revision: https://reviews.llvm.org/D87663
The file was modifiedlld/wasm/SyntheticSections.h (diff)
The file was modifiedlld/wasm/Writer.cpp (diff)
The file was addedlld/test/wasm/export-all.s
Commit 57752b1449440a7d034d2d1781f586c3c664712e by thakis
[gn build] (semi-manually) port 380e746bcca
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn (diff)
Commit 802d21cdf08ea43d5c32924ac29c44b00c4a841f by flo
[ConstraintElimination] Add initial tests.
The file was addedllvm/test/Transforms/ConstraintElimination/dom.ll
The file was addedllvm/test/Transforms/ConstraintElimination/geps.2d.ll
The file was addedllvm/test/Transforms/ConstraintElimination/uge.ll
The file was addedllvm/test/Transforms/ConstraintElimination/i128.ll
The file was addedllvm/test/Transforms/ConstraintElimination/mixed.ll
The file was addedllvm/test/Transforms/ConstraintElimination/ugt-ule.ll
The file was addedllvm/test/Transforms/ConstraintElimination/geps.ll
The file was addedllvm/test/Transforms/ConstraintElimination/loops.ll
The file was addedllvm/test/Transforms/ConstraintElimination/ule.ll
Commit 2744c2e2957221c8e9379e2232790c3e56efd90d by oliver.stannard
[libcxx] Disable failing test for no-exceptions build

This test tries to create a 2 GiB std::string, catching the bad_alloc
exception if the allocation fails. However, for no-exceptions builds
there is no way for the error to be reported, so this crashes with a
null pointer dereference.

Differential revision: https://reviews.llvm.org/D87682
The file was modifiedlibcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/pbump2gig.pass.cpp (diff)
Commit eb66b04cbecfbc971bf8b8abbb4c58dbd4a7564a by spatel
[InstCombine] improve test names; NFC

This is not a valid transform unless we can prove
that the program does not read errno after the pow
call and before some other function changes it.
The file was modifiedllvm/test/Transforms/InstCombine/pow-1.ll (diff)
Commit 7ffc9aa538dfa3facbbb09d3b0d517a59e967d0e by spatel
[InstCombine] add RUN to show miscompile of pow expansion; NFC

The code drops the sqrt op instead of bailing out,
so this is very wrong.
The file was modifiedllvm/test/Transforms/InstCombine/pow-4.ll (diff)
Commit aa57c1c967078a8c02e7fc2c837853dbd7cc66f4 by spatel
[InstCombine] fix bug in pow expansion

There at least one other bug related to pow -> sqrt transforms:
http://lists.llvm.org/pipermail/llvm-dev/2020-September/145051.html
...but we probably can't solve that without fixing this first.
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/pow-4.ll (diff)
Commit 46dc41e1ef9c38cc4cef0a995528bbf58d616a09 by llvmgnsyncbot
[gn build] Port a8058c6f8d1
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn (diff)
Commit c0809f8d79045941d45c7bd60a12ddd0f6e0811a by llvmgnsyncbot
[gn build] Port cd4edf94cd4
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn (diff)
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn (diff)
Commit c897a7fb3e2a5c200a3e87a92886eab20d9f7fc7 by herhut
[mlir][Standard] Add canonicalizer for dynamic_tensor_from_elements

This add canonicalizer for

- extracting an element from a dynamic_tensor_from_elements
- propagating constant operands to the type of dynamic_tensor_from_elements

Differential Revision: https://reviews.llvm.org/D87525
The file was modifiedmlir/test/Transforms/canonicalize.mlir (diff)
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td (diff)
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp (diff)
Commit 2d8f0c05dbe76a31060a729928b9b9d7ebbf0c40 by clementval
[mlir][openacc] Add missing print of vector_length in parallel op

This patch adds the missing print for the vector_length in the parallel operation.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D87630
The file was modifiedmlir/lib/Dialect/OpenACC/IR/OpenACC.cpp (diff)
The file was modifiedmlir/test/Dialect/OpenACC/ops.mlir (diff)
Commit 65c6ae3b6aceb934a76c5b10b244edeed80e9cac by llvm-dev
[Utils] isLegalToPromote - Fix missing null check before writing to FailureReason.

The FailureReason input parameter maybe null, we check this in all other cases in the method but this one was missed somehow.

Fixes clang-tidy warning.
The file was modifiedllvm/lib/Transforms/Utils/CallPromotionUtils.cpp (diff)
Commit 97a23ab28ad91d589e6c0bb5dee6ae78c154da8a by llvm-dev
AMDGPUPrintfRuntimeBinding.cpp - drop unnecessary casts/dyn_casts. NFCI.

GetElementPtrInst::Create returns a GetElementPtrInst* so we don't need to cast. Similarly IntegerType inherits from the Type base class.

Also, I've used auto* in a few places to cleanup the code.

Helps fix some clang-tidy warnings which saw the dyn_casts and warned that these can return null.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp (diff)