In progressChanges


  1. [X86] Add tests for D87883. NFC (details)
  2. [X86] Add support for calling SimplifyDemandedBits on the input of PDEP with a constant mask. (details)
  3. [libc++] Fix constexpr dynamic allocation on GCC 10 (details)
  4. [libcxx] Don't pass -s to libtool (details)
  5. [mlir][shape] Make conversion passes more consistent. (details)
  6. [EHStreamer] Simplify sharedTypeIDs with std::mismatch (details)
  7. [CVP] Allow two transforms in one invocation (details)
Commit e5ef523ee46895ab5c75260b420d608f08002d97 by craig.topper
[X86] Add tests for D87883. NFC
The file was modifiedllvm/test/CodeGen/X86/bmi2.ll
Commit e53196b1e862902c74d83f0ce6f3578b1326f23d by craig.topper
[X86] Add support for calling SimplifyDemandedBits on the input of PDEP with a constant mask.

We can do several optimizations for PDEP using computeKnownBits and SimplifyDemandedBits

-If the MSBs of the output aren't demanded, those MSBs of the mask input aren't demanded either. We need to keep the most significant demanded bit of the mask and any mask bits before it.
-The number of possible ones in the mask determines how many bits of the lsbs of the other operand are demanded. Any bits of the mask we don't demand by the previous rule should not be counted.
-The result will have zeros in any position that the mask is zero.
-Since non-mask input bits can only be output in the original position or a higher bit position, the result will have at least as many trailing zeroes as the non-mask input.

Differential Revision:
The file was modifiedllvm/test/CodeGen/X86/bmi2.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/bmi2-x86_64.ll
Commit d092c912885cc152bef27019525b8fd0761aaaa2 by Louis Dionne
[libc++] Fix constexpr dynamic allocation on GCC 10

We're technically not allowed by the Standard to call ::operator new in
constexpr functions like __libcpp_allocate. Clang doesn't seem to complain
about it, but GCC does.
The file was modifiedlibcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
The file was modifiedlibcxx/include/memory
The file was modifiedlibcxx/include/new
The file was modifiedlibcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy_at.pass.cpp
Commit 2d657d1bd7f1e45722ced24e1da897ba5e87ab7a by phosek
[libcxx] Don't pass -s to libtool

This flag is the default in libtool on Darwin, and it's not supported
by llvm-libtool-darwin causing a build failure.

Differential Revision:
The file was modifiedlibcxx/utils/
Commit a975be0e00a12fdf09ffc9127825321c79813f33 by silvasean
[mlir][shape] Make conversion passes more consistent.

- use select-ops to make the lowering simpler
- change style of FileCheck variables names to be consistent
- change some variable names in the code to be more explicit

Differential Revision:
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
The file was modifiedmlir/test/Conversion/ShapeToStandard/convert-shape-constraints.mlir
Commit bd08a87cfede308f040d79b45245213afd87959a by i
[EHStreamer] Simplify sharedTypeIDs with std::mismatch

(Note that EMStreamer.cpp is largely under tested. The only test checking the prefix sharing is CodeGen/WebAssembly/eh-lsda.ll)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp
Commit e46d74b58922a427562552464d798448520e4928 by listmail
[CVP] Allow two transforms in one invocation

For a call site which had both constant deopt operands and nonnull arguments, we were missing the opportunity to recognize the later by bailing early.

This is somewhat of a speculative fix.  Months ago, I'd had a private report of performance and compile time regressions from the deopt operand folding.  I never received a test case.  However, the only possibility I see was that after that change CVP missed the nonnull fold, and we end up with a pass ordering/missed simplification issue.  So, since it's a real issue, fix it and hope.
The file was modifiedllvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/deopt.ll