FailedChanges

Summary

  1. [instcombine][x86] Converted pdep/pext with shifted mask to simple arithmetic (details)
  2. [clang][module] Improve incomplete-umbrella warning (details)
  3. [clang] Remove profile available check for fsplit-machine-functions. (details)
  4. [NFC][sanitizer] Don't use ::testing::internal (details)
  5. [lld][WebAssembly] Fix -Wunused-variable after D87663 (details)
  6. [PowerPC] Implement Move to VSR Mask builtins in LLVM/Clang (details)
  7. [GlobalISel] Add lowering support for G_ABS and use for AArch64. (details)
  8. [SCEV] Fix an unused variable in -DLLVM_ENABLE_ASSERTIONS=off build (details)
Commit 06f136f61e6d23fde5c91f7fa0813d0291c17c97 by listmail
[instcombine][x86] Converted pdep/pext with shifted mask to simple arithmetic

If the mask of a pdep or pext instruction is a shift masked (i.e. one contiguous block of ones) we need at most one and and one shift to represent the operation without the intrinsic. One all platforms I know of, this is faster than the pdep/pext.

The cost modelling for multiple contiguous blocks might be worth exploring in a follow up, but it's not relevant for my current use case. It would almost certainly be a win on AMDs where these are really really slow though.

Differential Revision: https://reviews.llvm.org/D87861
The file was modifiedllvm/test/Transforms/InstCombine/X86/x86-bmi-tbm.ll
The file was modifiedllvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
Commit ed79827aea444e6995fb3d36abc2bfd36331773c by zixu_wang
[clang][module] Improve incomplete-umbrella warning

Change the warning message for -Wincomplete-umbrella to report the location of the umbrella header;

Differential Revision: https://reviews.llvm.org/D82118
The file was modifiedclang/test/Modules/incomplete-umbrella.m
The file was modifiedclang/lib/Lex/PPLexerChange.cpp
Commit b86f1af423952d9f1dbe105b651b948ce0e1e8d0 by snehasishk
[clang] Remove profile available check for fsplit-machine-functions.

Enforcing a profile available check in the driver does not work with
incremental LTO builds where the LTO backend invocation does not include
the profile flags. At this point the profiles have already been consumed
and the IR contains profile metadata. Instead we always pass through the
-fsplit-machine-functions flag on user request. The pass itself contains
a check to return early if no profile information is available.

Differential Revision: https://reviews.llvm.org/D87943
The file was modifiedclang/test/Driver/fsplit-machine-functions.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit 82827244e9bbc2804afd9070158c567ac89f0540 by Vitaly Buka
[NFC][sanitizer] Don't use ::testing::internal
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_stackdepot_test.cpp
Commit 51b75b87dbbed24b9c0a809f7e4d22b31923630d by i
[lld][WebAssembly] Fix -Wunused-variable after D87663
The file was modifiedlld/wasm/Writer.cpp
Commit 37e7673c21af1531b601ca975cb6118d04b6e1cc by amy.kwan1
[PowerPC] Implement Move to VSR Mask builtins in LLVM/Clang

This patch implements the vec_gen[b|h|w|d|q]m function prototypes in altivec.h
in order to utilize the move to VSR with mask instructions introduced in Power10.

Differential Revision: https://reviews.llvm.org/D82725
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was modifiedclang/lib/Headers/altivec.h
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
The file was modifiedllvm/test/CodeGen/PowerPC/p10-vector-mask-ops.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedclang/test/CodeGen/builtins-ppc-p10vector.c
Commit 5d34d7f1a0cae8367066ce2b55afe42b94a7466f by Amara Emerson
[GlobalISel] Add lowering support for G_ABS and use for AArch64.

Differential Revision: https://reviews.llvm.org/D87952
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/legalize-abs.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
Commit 76eec6c95b14abd5b72a805ac2e9bb3d8480679b by i
[SCEV] Fix an unused variable in -DLLVM_ENABLE_ASSERTIONS=off build
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp