FailedChanges

Summary

  1. [mlir] [VectorOps] generalize printing support for integers (details)
  2. [clang-format] Add a MacroExpander. (details)
  3. [Analyzer] Fix unused variable warning in Release builds (details)
  4. [gn build] Port e336b74c995 (details)
  5. [SCEV] Add more tests using info from loop guards for BTC. (details)
  6. [libc++] Initial support for pre-commit CI with Buildkite (details)
  7. [SCEV] Extract code to collect conditions to lambda (NFC). (details)
  8. Typo fix; NFC (details)
  9. [InstCombine] Add 'partial' bswap tests from PR39793 (details)
  10. Fix some of the more egregious 80-col and whitespace issues; NFC (details)
  11. [InstCombine] Add some extra bswap tests from PR39793 (details)
  12. [PowerPC][NFC] Merged two switch entries. (details)
  13. [SCEV] Swap operands if LHS is not unknown. (details)
  14. [AIX] Try to not use LLVM tools while building runtimes (details)
  15. [SVE] Lower fixed length VECREDUCE_[SMAX|SMIN] to Scalable (details)
  16. [SVE] Revert accidental change from 405e22fbe8719cff6c40eec15c2044f42527f116 (details)
  17. Add a verifier check that rejects non-distinct DISubprogram function (details)
  18. [NFC] Fix minor typos in comments and reuse concreteOp. (details)
  19. [NFC] Fix syntax of ranked memrefs in the MLIR Language Reference. (details)
  20. [libc++][ci] Don't require passing --token to phabricator-report (details)
  21. [CMake] Make sure _cmake_system_name has a default (details)
  22. [SystemZ] Optimize bcmp calls (PR47420) (details)
  23. [SCEV] Add support for `x == constant` to CollectCondition. (details)
  24. [NFC] Fix build warnings (details)
  25. [profile] Add %t LLVM_PROFILE_FILE option to substitute $TMPDIR (details)
  26. [AArch64][GlobalISel] Add selection support for <8 x s16>  G_INSERT_VECTOR_ELT with GPR scalar. (details)
  27. Sema: remove unnecessary parameter for SwiftName handling (NFCI) (details)
  28. Fix DISubprogram-v4.ll after e17f52d623cc146b7d9bf5a2e02965043508b4c4 (details)
  29. [PowerPC] Add accumulator register class and instructions (details)
  30. Fix Assembler/disubprogram.ll after e17f52d623cc146b7d9bf5a2e02965043508b4c4 (details)
  31. [MLIR] Fix for updating function signature in normalizing memrefs (details)
  32. AArch64/GlobalISel: Narrow stack passed argument access size (details)
  33. Revert "Add a verifier check that rejects non-distinct DISubprogram function" (details)
  34. Move PassBuilder::registerParseTopLevelPipelineCallback out-of-line (details)
  35. [SCEV] Add another test using info from loop guards for BTC with NE. (details)
  36. [SCEV] Add support for `x != 0` to CollectCondition. (details)
  37. OpaquePtr: Add type to sret attribute (details)
  38. [flang][OpenMP] Place the insertion point to the start of the block (details)
  39. [NFC] Fix comment for DataOp (details)
  40. [lld-macho] Implement support for PIC (details)
  41. [lld-macho] Support -bundle (details)
  42. [lld-macho] Allow the entry symbol to be dynamically bound (details)
  43. [lld-macho] Support absolute symbols (details)
  44. [lld-macho] Always include custom syslibroot when running tests (details)
  45. [lld-macho] Ignore a few more undocumented flags (details)
  46. [Coroutine] Split PHI Nodes in `cleanuppad` blocks in a way that obeys EH pad rules (details)
  47. [WebAssembly] Check features before making SjLj vars thread-local (details)
  48. [lldb] Pass reference instead of pointer in protected SBAddress methods. (details)
  49. Add a verifier check that rejects non-distinct DISubprogram function (details)
  50. [LoopReroll][NewPM] Port -loop-reroll to NPM (details)
  51. [InstCombine] collectBitParts - add fshl/fshr handling (details)
Commit b8880f5f97bf1628b2c9606e96abcd612dc7d747 by ajcbik
[mlir] [VectorOps] generalize printing support for integers

This generalizes printing beyond just i1,i32,i64 and also accounts
for signed and unsigned interpretation in the output.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D88290
The file was modifiedmlir/lib/ExecutionEngine/CRunnerUtils.cpp
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
The file was addedmlir/integration_test/Dialect/Vector/CPU/test-print-int.mlir
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
Commit e336b74c995d665bc3fb75164375bbb0f78f516c by klimek
[clang-format] Add a MacroExpander.

Summary:
The MacroExpander allows to expand simple (non-resursive) macro
definitions from a macro identifier token and macro arguments. It
annotates the tokens with a newly introduced MacroContext that keeps
track of the role a token played in expanding the macro in order to
be able to reconstruct the macro expansion from an expanded (formatted)
token stream.

Made Token explicitly copy-able to enable copying tokens from the parsed
macro definition.

Reviewers: sammccall

Subscribers: mgorny, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83296
The file was addedclang/lib/Format/Macros.h
The file was addedclang/unittests/Format/MacroExpanderTest.cpp
The file was addedclang/unittests/Format/TestLexer.h
The file was modifiedclang/unittests/Format/CMakeLists.txt
The file was addedclang/lib/Format/MacroExpander.cpp
The file was modifiedclang/lib/Format/FormatToken.h
The file was modifiedclang/lib/Format/CMakeLists.txt
Commit 6a1bca8798c6ba119f188061472b60876495b9ae by benny.kra
[Analyzer] Fix unused variable warning in Release builds

clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp:377:19: warning: unused variable 'Init'
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
Commit 9112567bbd1f479599e389ef9f45f820a1eab59c by llvmgnsyncbot
[gn build] Port e336b74c995
The file was modifiedllvm/utils/gn/secondary/clang/lib/Format/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Format/BUILD.gn
Commit 1fa06162c1cf648a6d4fac837e02b709a205f4df by flo
[SCEV] Add more tests using info from loop guards for BTC.
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
Commit 9f21d341e83842c20f0cd09bb6b97617441ef55a by Louis Dionne
[libc++] Initial support for pre-commit CI with Buildkite

This commit adds basic files and scripts that are used for the Buildkite
pre-commit CI setup. This was tested to mostly work on a fork of llvm-project,
however some adjustments will have to be made as we complete the real
setup.
The file was addedlibcxx/utils/ci/Dockerfile
The file was addedlibcxx/utils/ci/phabricator-report
The file was addedlibcxx/utils/ci/buildkite-pipeline.yml
The file was addedlibcxx/utils/ci/run-buildbot.sh
The file was addedlibcxx/utils/ci/secrets.env
Commit df77ce7cad081bf55042cf098b61b118dcdfc7e9 by flo
[SCEV] Extract code to collect conditions to lambda (NFC).

This makes re-using the common functionality easier in follow-up
patches.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 85cea77ecb7f2ca51198ec1ad1d28845e803ee32 by aaron
Typo fix; NFC
The file was modifiedclang/include/clang/Basic/AttrDocs.td
Commit 8d90d92f0dccfb9e1c150247128a28ed55fcb8ea by llvm-dev
[InstCombine] Add 'partial' bswap tests from PR39793

Tests for basic zext(bswap(trunc(x))) patterns shown on PR39793
The file was modifiedllvm/test/Transforms/InstCombine/bswap.ll
Commit a51d51a0d4d72ab423b11da4c5c877bc6e89a580 by aaron
Fix some of the more egregious 80-col and whitespace issues; NFC
The file was modifiedclang/include/clang/Basic/AttrDocs.td
Commit 132f29ce0611754e0ffb2b534c34b2ffe27b40a8 by llvm-dev
[InstCombine] Add some extra bswap tests from PR39793

Also test for cases where recognizeBSwapOrBitReverseIdiom checks for a truncated bswap pattern.
The file was modifiedllvm/test/Transforms/InstCombine/bswap.ll
Commit 8c53282d64b299a9543758988b1b480a88a93ae5 by stefanp
[PowerPC][NFC] Merged two switch entries.

Two switch entries did exactly the same thing. This patch merges them.
The file was modifiedlld/ELF/Arch/PPC64.cpp
Commit 8858340bd380b821bbad773c7b3a022a9bb5b2d9 by flo
[SCEV] Swap operands if LHS is not unknown.

Currently we only use information from guards for unknown expressions.
Swap LHS/RHS and predicate, if LHS is not unknown.
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit e03dd978d015f6141d14afb3986f39365cabcdab by daltenty
[AIX] Try to not use LLVM tools while building runtimes

Since 64-bit XCOFF and the big AR format is not yet supported in some of these tools, this patch avoids additional setup of these tools. This patch is not intended to prevent picking up the LLVM tools if they happen to be available otherwise.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D85329
The file was modifiedllvm/runtimes/CMakeLists.txt
Commit e2ccf7f178ddaf202171a96cd6f41daa7a74a09c by mcinally
[SVE] Lower fixed length VECREDUCE_[SMAX|SMIN] to Scalable

This patch is pretty similar to the VECREDUCE_ADD patch, with some minor tweaks.

Results from the AArch64ISD::[SMAX|SMIN]V_PRED return element sized results. This requires an ANY_EXTEND for results < 32-bits, since Legalization promotes those results.

There is no NEON i64 vector support for SMAXV|SMINV, so use SVE for those.

Differential Revision: https://reviews.llvm.org/D88259
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 9a4767411e89d35e55074e8783b909d0e8c6b2df by mcinally
[SVE] Revert accidental change from 405e22fbe8719cff6c40eec15c2044f42527f116

Accidentally commited two lines that were not intended. Remove those.
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit e17f52d623cc146b7d9bf5a2e02965043508b4c4 by Adrian Prantl
Add a verifier check that rejects non-distinct DISubprogram function
attachments. They would crash the backend, which expects all
DISubprograms that are not part of the type system to have a unit field.

Clang right before https://reviews.llvm.org/D79967 would generate this
kind of broken IR.

rdar://problem/69534688
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/test/DebugInfo/Generic/2009-11-03-InsertExtractValue.ll
The file was addedllvm/test/Verifier/unique-disubprogram.ll
Commit 0b7f03b98d82dac7224e00377329577634d92c17 by jurahul
[NFC] Fix minor typos in comments and reuse concreteOp.

Differential Revision: https://reviews.llvm.org/D88242
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgTraits.h
Commit 8046ab04a75bcd3a455faafa1364c67726748a78 by jurahul
[NFC] Fix syntax of ranked memrefs in the MLIR Language Reference.

- Eliminate incorrect |
- Eliminate memspace0 as the memory spaces currently are integer literals and memory
  space 0 is not explicitly printed.

Differential Revision: https://reviews.llvm.org/D88171
The file was modifiedmlir/docs/LangRef.md
Commit 2a11a197af7e72725fe461ba9917756b1b09661a by Louis Dionne
[libc++][ci] Don't require passing --token to phabricator-report

The CONDUIT_TOKEN is already taken from the environment. Also, disable
reporting back to Phabricator for now until we're ready to start spamming
the results back. This still needs a bit of testing.
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml
The file was modifiedlibcxx/utils/ci/phabricator-report
Commit c74da051b8680d322328a1ba2e6c2ed794a74f59 by daltenty
[CMake] Make sure _cmake_system_name has a default

We currently try to pick it up from the CMake arguments passed to llvm_ExternalProject_Add but
if there isn't an explicit option passed, we should reflect CMake's own default behaviour
of targeting the host, since we'll make decisions about what tools to use for the build based on
the setting. Otherwise, we'll get different behaviour between configuring an external project with
the default target and configuring with an explicit one targeting the same platform.

Reviewed By: stevewan, hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D88157
The file was modifiedllvm/cmake/modules/LLVMExternalProjectUtils.cmake
Commit 179e15d53acdb1fc27e9e2c8f7e1d1e08dcf4a89 by Dávid Bolvanský
[SystemZ] Optimize bcmp calls (PR47420)

Solves https://bugs.llvm.org/show_bug.cgi?id=47420

Reviewed By: uweigand

Differential Revision: https://reviews.llvm.org/D87988
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was addedllvm/test/CodeGen/SystemZ/bcmp.ll
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
Commit b5a3b901c73082c82f6eb387323cd61525423e2d by flo
[SCEV] Add support for `x == constant` to CollectCondition.

Add support for EQ predicates with constant operand. In that case, using
the constant instead of an unknown expression should always be
beneficial.
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 2d128b04d93784f5399e9b5d3ee4a560ebd170e4 by jurahul
[NFC] Fix build warnings
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
Commit 62c372770d2e87f3e882a20d43c6814e6c4fe0f5 by Vedant Kumar
[profile] Add %t LLVM_PROFILE_FILE option to substitute $TMPDIR

Add support for expanding the %t filename specifier in LLVM_PROFILE_FILE
to the TMPDIR environment variable. This is supported on all platforms.

On Darwin, TMPDIR is used to specify a temporary application-specific
scratch directory. When testing apps on remote devices, it can be
challenging for the host device to determine the correct TMPDIR, so it's
helpful to have the runtime do this work.

rdar://68524185

Differential Revision: https://reviews.llvm.org/D87332
The file was modifiedcompiler-rt/lib/profile/InstrProfilingFile.c
The file was modifiedclang/docs/SourceBasedCodeCoverage.rst
The file was addedcompiler-rt/test/profile/instrprof-tmpdir.c
Commit b5e87c9ef2243ecd65e0ef87a1bf303c0c26db04 by Amara Emerson
[AArch64][GlobalISel] Add selection support for <8 x s16>  G_INSERT_VECTOR_ELT with GPR scalar.

Fixes the neon intrinsics test in the test suite.
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir
Commit 76eb163259c46171559a49111a394a3e48d1e523 by Saleem Abdulrasool
Sema: remove unnecessary parameter for SwiftName handling (NFCI)

This code never actually did anything in the implementation.

`mergeDeclAttribute` is declared as `static`, and referenced exactly
once in the file: from `Sema::mergeDeclAttributes`.

`Sema::mergeDeclAttributes` sets `LocalAMK` to `AMK_None`.  If the
attribute is `DeprecatedAttr`, `UnavailableAttr`, or `AvailabilityAttr`
then the `LocalAMK` is updated.  However, because we are dealing with a
`SwiftNameDeclAttr` here, `LocalAMK` remains `AMK_None`.  This is then
passed to the function which will as a result pass the value of
`AMK_None == AMK_Override` aka `false`.  Simply propagate the value
through and erase the dead codepath.

Thanks to Aaron Ballman for flagging the use of the availability merge
kind here leading to this simplification!

Differential Revision: https://reviews.llvm.org/D88263
Reviewed By: Aaron Ballman
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit 7d0556fc137aa07347741b7750e50ecbc2b4c6e2 by i
Fix DISubprogram-v4.ll after e17f52d623cc146b7d9bf5a2e02965043508b4c4
The file was modifiedllvm/test/Bitcode/DISubprogram-v4.ll.bc
The file was modifiedllvm/test/Bitcode/DISubprogram-v4.ll
Commit 9b86b7009430789d28d67bb1b630e74473f80fa2 by baptiste.saleil
[PowerPC] Add accumulator register class and instructions

This patch adds the xxmfacc, xxmtacc and xxsetaccz instructions to manipulate
accumulator registers. It also adds the ACC register class definition for the
accumulator registers.

Differential Revision: https://reviews.llvm.org/D84847
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.h
The file was modifiedllvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt
The file was modifiedllvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
The file was modifiedllvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/test/MC/PowerPC/ppc64-encoding-ISA31.s
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.td
Commit 6caf3fb8178699ac14fb94fef99aaf1cf297264f by i
Fix Assembler/disubprogram.ll after e17f52d623cc146b7d9bf5a2e02965043508b4c4
The file was modifiedllvm/test/Assembler/disubprogram.ll
Commit c1f856803142a113fa094411fa4760512b919ef6 by uday
[MLIR] Fix for updating function signature in normalizing memrefs

Normalizing memrefs failed when a caller of symbolic use in a function
can not be casted to `CallOp`. This patch avoids the failure by checking
the result of the casting. If the caller can not be casted to `CallOp`,
it is skipped.

Differential Revision: https://reviews.llvm.org/D87746
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.h
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/lib/Transforms/NormalizeMemRefs.cpp
The file was modifiedmlir/test/Transforms/normalize-memrefs-ops.mlir
Commit 6cb0d23f2ea6fb25106b0380797ccbc2141d71e1 by Matthew.Arsenault
AArch64/GlobalISel: Narrow stack passed argument access size

This fixes a verifier error in the testcase from bug 47619.

The stack passed s3 value was widened to 4-bytes, and producing a
4-byte memory access with a < 1 byte result type. We need to either
widen the result type or narrow the access size. This copies the code
directly from the AMDGPU handling, which narrows the load size. I
don't like that every target has to handle this, but this is currently
broken on the 11 release branch and this is the simplest fix.

This reverts commit 42bfa7c63b85e76fe16521d1671afcafaf8f64ed.
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/irtranslator-stack-evt-bug47619.ll
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
Commit 8055ae31f46b0a3fafd7b64f6cd77b78b34e6753 by Adrian Prantl
Revert "Add a verifier check that rejects non-distinct DISubprogram function"

This reverts commit e17f52d623cc146b7d9bf5a2e02965043508b4c4.

while investigating bot breakage.
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was removedllvm/test/Verifier/unique-disubprogram.ll
The file was modifiedllvm/test/DebugInfo/Generic/2009-11-03-InsertExtractValue.ll
Commit 4f1897c6f0082ef968547458b1b7b2fba0bf1590 by hans
Move PassBuilder::registerParseTopLevelPipelineCallback out-of-line

For some mysterious reason it doesn't build with clang-cl when compiled
as part of the includes in clang's CodeGenAction.cpp
(crbug.com/1132292).
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
Commit 3a69ebf0ad018561c79fc52d9d3986fdc21d8d5c by flo
[SCEV] Add another test using info from loop guards for BTC with NE.
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
Commit 7d274aa9bed00cdf1197b2f05140635be90f3362 by flo
[SCEV] Add support for `x != 0` to CollectCondition.

Add support for NE predicates with 0 constants. Those can be translated
to UMaxExpr(x, 1).
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
Commit 55c4ff91bd820d72014f63dcf7f3d5a0d3397986 by Matthew.Arsenault
OpaquePtr: Add type to sret attribute

Make the corresponding change that was made for byval in
b7141207a483d39b99c2b4da4eb3bb591eca9e1a. Like byval, this requires a
bulk update of the test IR tests to include the type before this can
be mandatory.
The file was modifiedclang/test/CodeGen/systemz-abi.cpp
The file was modifiedclang/test/CodeGen/arm-varargs.c
The file was modifiedclang/test/CodeGen/X86/x86_32-arguments-iamcu.c
The file was addedllvm/test/Assembler/sret-type-attr.ll
The file was modifiedclang/test/CodeGen/ppc-aggregate-abi.cpp
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
The file was modifiedllvm/test/Bitcode/compatibility.ll
The file was modifiedclang/test/CodeGen/arm64_32.c
The file was modifiedclang/test/CodeGenCXX/trivial_abi.cpp
The file was modifiedclang/test/CodeGen/arm-homogenous.c
The file was modifiedclang/test/CodeGenObjC/direct-method.m
The file was modifiedllvm/test/Bitcode/attributes.ll
The file was modifiedclang/test/CodeGen/ppc64-elf-abi.c
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
The file was modifiedllvm/test/Bitcode/attributes-3.3.ll
The file was modifiedllvm/test/Bitcode/compatibility-3.8.ll
The file was modifiedllvm/test/Bitcode/highLevelStructure.3.2.ll
The file was modifiedclang/test/CodeGen/ppc64le-aggregates.c
The file was modifiedclang/test/CodeGenCXX/regcall.cpp
The file was modifiedclang/test/CodeGenCXX/exceptions.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-eh-cleanups.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-byval-sret.cpp
The file was modifiedclang/test/CodeGenCXX/pass-by-value-noalias.cpp
The file was modifiedclang/test/CodeGenCXX/temporaries.cpp
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/test/CodeGen/riscv64-lp64-lp64f-abi.c
The file was modifiedclang/test/CodeGenObjC/nontrivial-c-struct-exception.m
The file was modifiedclang/test/Modules/templates.mm
The file was modifiedclang/test/CodeGen/mingw-long-double.c
The file was modifiedclang/test/CodeGen/windows-swiftcall.c
The file was modifiedclang/test/CodeGen/struct-passing.c
The file was modifiedclang/test/CodeGen/ms_abi.c
The file was modifiedclang/test/CodeGen/wasm-varargs.c
The file was modifiedclang/test/CodeGenCXX/homogeneous-aggregates.cpp
The file was modifiedclang/test/CodeGenCXX/conditional-gnu-ext.cpp
The file was modifiedclang/test/CodeGen/arm64-microsoft-arguments.cpp
The file was modifiedclang/test/CodeGen/c11atomics.c
The file was modifiedclang/test/CodeGen/wasm-arguments.c
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedclang/test/CodeGen/renderscript.c
The file was modifiedllvm/test/Bitcode/compatibility-3.6.ll
The file was modifiedclang/test/CodeGenCXX/x86_32-arguments.cpp
The file was modifiedclang/test/CodeGen/riscv32-ilp32f-ilp32d-abi.c
The file was modifiedclang/test/CodeGenCXX/cxx1z-lambda-star-this.cpp
The file was modifiedclang/test/CodeGenCXX/lambda-expressions.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
The file was modifiedclang/test/CodeGenCXX/matrix-type-builtins.cpp
The file was modifiedclang/test/CodeGen/aligned-sret.c
The file was modifiedclang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
The file was modifiedclang/test/CodeGen/arm64-arguments.c
The file was modifiedclang/test/CodeGen/riscv32-ilp32f-abi.c
The file was modifiedclang/test/CodeGen/arm-vfp16-arguments.c
The file was modifiedclang/test/CodeGen/arm_neon_intrinsics.c
The file was modifiedclang/test/CodeGen/le32-arguments.c
The file was modifiedllvm/lib/IR/AttributeImpl.h
The file was modifiedclang/test/CodeGenOpenCL/addr-space-struct-arg.cl
The file was modifiedllvm/test/Bitcode/compatibility-5.0.ll
The file was modifiedclang/test/CodeGen/2006-05-19-SingleEltReturn.c
The file was modifiedclang/test/CodeGen/blocks.c
The file was modifiedclang/test/CodeGenObjC/stret-1.m
The file was modifiedclang/test/CodeGen/X86/x86_64-arguments-nacl.c
The file was modifiedclang/test/CodeGen/riscv64-lp64-abi.c
The file was modifiedclang/test/CodeGen/mips-zero-sized-struct.c
The file was modifiedclang/test/CodeGen/ppc32-and-aix-struct-return.c
The file was modifiedclang/test/CodeGenCXX/thunks.cpp
The file was modifiedclang/test/CodeGen/ppc64-align-struct.c
The file was modifiedclang/test/CodeGenCoroutines/coro-await.cpp
The file was modifiedclang/test/CodeGenCXX/builtin-source-location.cpp
The file was modifiedclang/test/CodeGenCXX/thiscall-struct-return.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-cdecl-method-sret.cpp
The file was modifiedllvm/test/Bitcode/compatibility-3.7.ll
The file was modifiedclang/test/CodeGen/riscv32-ilp32-abi.c
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/test/Bitcode/compatibility-6.0.ll
The file was modifiedclang/test/CodeGen/riscv64-lp64d-abi.c
The file was modifiedclang/test/CodeGen/vectorcall.c
The file was modifiedclang/test/CodeGen/X86/x86_32-arguments-darwin.c
The file was modifiedllvm/test/Bitcode/compatibility-3.9.ll
The file was modifiedclang/test/CodeGenOpenCLCXX/addrspace-of-this.cl
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedclang/test/CodeGen/ppc64le-f128Aggregates.c
The file was modifiedclang/test/CodeGenCXX/matrix-type.cpp
The file was modifiedclang/test/CodeGen/arm-aapcs-vfp.c
The file was modifiedclang/test/CodeGen/mips64-padding-arg.c
The file was modifiedclang/test/CodeGenCXX/stack-reuse.cpp
The file was modifiedclang/test/CodeGen/X86/x86_64-arguments.c
The file was modifiedclang/test/CodeGen/aarch64-varargs.c
The file was modifiedclang/test/CodeGen/aggregate-assign-call.c
The file was modifiedclang/test/CodeGen/ppc64-vector.c
The file was modifiedclang/test/CodeGen/systemz-abi.c
The file was modifiedclang/test/CodeGenObjC/arc.m
The file was modifiedclang/test/CodeGenCXX/call-with-static-chain.cpp
The file was modifiedclang/test/CodeGenObjC/objc-non-trivial-struct-nrvo.m
The file was modifiedclang/test/CodeGenCXX/unknown-anytype.cpp
The file was modifiedllvm/include/llvm/IR/Attributes.td
The file was modifiedclang/test/CodeGenObjC/stret_lookup.m
The file was modifiedclang/test/CodeGen/arc/arguments.c
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedclang/test/CodeGen/riscv32-ilp32-ilp32f-ilp32d-abi.c
The file was modifiedclang/test/CodeGen/riscv64-lp64-lp64f-lp64d-abi.c
The file was modifiedclang/test/CodeGen/arm-vector-arguments.c
The file was modifiedclang/test/CodeGen/arm-vfp16-arguments2.cpp
The file was modifiedclang/test/CodeGenCoroutines/coro-gro-nrvo.cpp
The file was modifiedllvm/test/Bitcode/compatibility-4.0.ll
The file was modifiedclang/test/CodeGenCXX/thunk-returning-memptr.cpp
The file was modifiedclang/test/CodeGenCXX/arm-cc.cpp
The file was modifiedclang/test/CodeGenCXX/wasm-args-returns.cpp
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-vmemptr-conflicts.cpp
The file was modifiedclang/test/CodeGenCXX/cxx1z-copy-omission.cpp
The file was modifiedclang/test/CodeGen/windows-struct-abi.c
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedclang/test/CodeGen/systemz-abi-vector.c
The file was modifiedclang/test/CodeGen/arm-swiftcall.c
The file was modifiedclang/test/CodeGen/systemz-inline-asm.c
The file was modifiedclang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
The file was modifiedclang/test/CodeGen/c11atomics-ios.c
The file was modifiedllvm/include/llvm/IR/Attributes.h
The file was modifiedclang/test/CodeGen/ppc64-soft-float.c
The file was modifiedclang/test/CodeGen/riscv32-ilp32d-abi.c
The file was modifiedclang/test/CodeGen/64bit-swiftcall.c
The file was modifiedclang/test/CodeGen/mcu-struct-return.c
The file was modifiedclang/test/CodeGen/ppc64-qpx-vector.c
The file was modifiedllvm/test/Verifier/byref.ll
The file was modifiedclang/test/CodeGen/lanai-arguments.c
The file was modifiedclang/test/CodeGen/sparcv9-abi.c
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll
The file was modifiedclang/test/CodeGenCXX/stack-reuse-miscompile.cpp
The file was modifiedclang/test/CodeGenObjC/weak-in-c-struct.m
The file was modifiedllvm/include/llvm/IR/Function.h
The file was modifiedclang/test/CodeGen/X86/x86_64-arguments-win32.c
The file was modifiedclang/test/CodeGenCXX/x86_64-arguments.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp
The file was modifiedclang/test/CodeGen/powerpc-c99complex.c
The file was modifiedclang/test/CodeGen/arm-neon-vld.c
The file was modifiedclang/test/CodeGen/riscv32-ilp32-ilp32f-abi.c
The file was modifiedclang/test/CodeGen/regparm-struct.c
The file was modifiedllvm/lib/AsmParser/LLParser.h
Commit d2f1f530430e9dbdd69c3ed173ced076f4bb933e by SourabhSingh.Tomar
[flang][OpenMP] Place the insertion point to the start of the block

After skeleton of the `Parallel Op` is created set the insertion point to start of the block. So that later `CodeGen` can proceed.

Note: This patch reflects the work that can be upstreamed from PR(merged)
PR: https://github.com/flang-compiler/f18-llvm-project/pull/424

Reviewed By: schweitz, kiranchandramohan

Differential Revision: https://reviews.llvm.org/D88221
The file was modifiedflang/lib/Lower/OpenMP.cpp
Commit 06104cb9f21d3f4b0f0feba7b35744284203164c by clementval
[NFC] Fix comment for DataOp
The file was modifiedmlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Commit e4e673e75a067236c9c4ff2e1ab19d6a3a87003d by jezng
[lld-macho] Implement support for PIC

* Implement rebase opcodes. Rebase opcodes tell dyld where absolute
  addresses have been encoded in the binary. If the binary is not loaded
  at its preferred address, dyld has to rebase these addresses by adding
  an offset to them.
* Support `-pie` and use it to test rebase opcodes.

This is necessary for absolute address references in dylibs, bundles etc
to work.

Reviewed By: #lld-macho, gkm

Differential Revision: https://reviews.llvm.org/D87199
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was addedlld/test/MachO/compact-unwind-pie.s
The file was modifiedlld/test/MachO/dylink-lazy.s
The file was modifiedlld/test/MachO/x86-64-reloc-unsigned.s
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/test/MachO/local-got.s
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/Config.h
The file was modifiedlld/MachO/Arch/X86_64.cpp
Commit f23f5126912b7da3f2a118a7cb1bcf6be3d8c1bc by jezng
[lld-macho] Support -bundle

Not 100% sure but it appears that bundles are almost identical to
dylibs, aside from the fact that they do not contain `LC_ID_DYLIB`. ld64's code
seems to treat bundles and dylibs identically in most places.

Supporting bundles allows us to run e.g. XCTests, as all test suites are
compiled into bundles which get dynamically loaded by the `xctest` test runner.

Reviewed By: #lld-macho, smeenai

Differential Revision: https://reviews.llvm.org/D87856
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/test/MachO/load-commands.s
The file was modifiedlld/MachO/Writer.cpp
Commit c7c9776f77712eb4311708d884c0c70ccaa7125b by jezng
[lld-macho] Allow the entry symbol to be dynamically bound

Apparently this is used in real programs. I've handled this by reusing
the logic we already have for branch (function call) relocations.

Reviewed By: #lld-macho, smeenai

Differential Revision: https://reviews.llvm.org/D87852
The file was modifiedlld/MachO/SyntheticSections.h
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/Arch/X86_64.cpp
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/test/MachO/entry-symbol.s
Commit 62a3f0c9844bb89a48173440145b26212be60f83 by jezng
[lld-macho] Support absolute symbols

They operate like Defined symbols but with no associated InputSection.

Note that `ld64` seems to treat the weak definition flag like a no-op for
absolute symbols, so I have replicated that behavior.

Reviewed By: #lld-macho, smeenai

Differential Revision: https://reviews.llvm.org/D87909
The file was modifiedlld/MachO/InputFiles.h
The file was modifiedlld/MachO/Symbols.cpp
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/test/MachO/invalid/dso-handle-duplicate.s
The file was modifiedlld/MachO/InputFiles.cpp
The file was addedlld/test/MachO/abs-symbols.s
The file was addedlld/test/MachO/invalid/abs-duplicate.s
The file was modifiedlld/MachO/SymbolTable.cpp
The file was modifiedlld/MachO/Symbols.h
The file was modifiedlld/MachO/ExportTrie.cpp
Commit 643ec67a64ad7a686361b1d309e5088ad8f228e9 by jezng
[lld-macho] Always include custom syslibroot when running tests

This greatly reduces the amount of boilerplate in our tests.

Reviewed By: #lld-macho, compnerd

Differential Revision: https://reviews.llvm.org/D87960
The file was modifiedlld/test/MachO/invalid/archive-no-index.s
The file was modifiedlld/test/MachO/x86-64-reloc-got-load.s
The file was modifiedlld/test/MachO/segments.s
The file was modifiedlld/test/MachO/weak-definition-indirect-fetch.s
The file was modifiedlld/test/MachO/archive.s
The file was modifiedlld/test/MachO/silent-ignore.test
The file was modifiedlld/test/MachO/static-link.s
The file was modifiedlld/test/MachO/compact-unwind-pie.s
The file was modifiedlld/test/MachO/common-symbol-coalescing.s
The file was modifiedlld/test/MachO/force-load.s
The file was modifiedlld/test/MachO/link-search-order.s
The file was modifiedlld/test/MachO/invalid/alignment-too-large.yaml
The file was modifiedlld/test/MachO/framework.s
The file was modifiedlld/test/MachO/order-file.s
The file was modifiedlld/test/MachO/invalid/no-such-file.s
The file was modifiedlld/test/MachO/invalid/undefined-symbol.s
The file was modifiedlld/test/MachO/stub-link.s
The file was modifiedlld/test/MachO/section-headers.s
The file was modifiedlld/test/MachO/invalid/invalid-relocation-pcrel.yaml
The file was modifiedlld/test/MachO/rpath.s
The file was modifiedlld/test/MachO/load-commands.s
The file was modifiedlld/test/MachO/invalid/duplicate-symbol.s
The file was modifiedlld/test/MachO/bss.s
The file was modifiedlld/test/MachO/export-trie.s
The file was modifiedlld/test/MachO/syslibroot.test
The file was modifiedlld/test/MachO/search-paths.test
The file was modifiedlld/test/MachO/lc-build-version.s
The file was modifiedlld/test/MachO/platform-version.s
The file was modifiedlld/test/MachO/invalid/dso-handle-duplicate.s
The file was modifiedlld/test/MachO/invalid/bad-got-to-dylib-tlv-reference.s
The file was modifiedlld/test/MachO/symtab.s
The file was modifiedlld/test/MachO/invalid/order-file-bad-objfile.test
The file was modifiedlld/test/MachO/stub-framework.s
The file was modifiedlld/test/MachO/x86-64-reloc-unsigned.s
The file was modifiedlld/test/MachO/dylib.s
The file was modifiedlld/test/MachO/invalid/abs-duplicate.s
The file was modifiedlld/test/MachO/invalid/no-filelist.s
The file was modifiedlld/test/MachO/invalid/missing-dylib.s
The file was modifiedlld/test/MachO/invalid/bad-tlv-def.s
The file was modifiedlld/test/MachO/x86-64-reloc-signed.s
The file was modifiedlld/test/MachO/common-symbol-resolution.s
The file was modifiedlld/test/MachO/invalid/bad-archive.s
The file was modifiedlld/test/MachO/weak-definition-order.s
The file was modifiedlld/test/MachO/weak-header-flags.s
The file was modifiedlld/test/MachO/arch.s
The file was modifiedlld/test/MachO/weak-import.s
The file was modifiedlld/test/MachO/invalid/invalid-stub.s
The file was modifiedlld/test/MachO/invalid/no-id-dylink.yaml
The file was modifiedlld/test/MachO/no-unneeded-dyld-info.s
The file was modifiedlld/test/MachO/objc.s
The file was modifiedlld/test/MachO/invalid/invalid-relocation-length.yaml
The file was modifiedlld/test/MachO/tlv-dylib.s
The file was modifiedlld/test/MachO/weak-definition-direct-fetch.s
The file was modifiedlld/test/MachO/resolution.s
The file was modifiedlld/test/MachO/weak-definition-over-dysym.s
The file was modifiedlld/test/MachO/dylink.s
The file was modifiedlld/test/MachO/section-merge.s
The file was modifiedlld/test/MachO/symbol-order.s
The file was modifiedlld/test/MachO/abs-symbols.s
The file was modifiedlld/test/MachO/compact-unwind.test
The file was modifiedlld/test/MachO/invalid/invalid-fat-narch.s
The file was modifiedlld/test/MachO/subsections-section-relocs.s
The file was modifiedlld/test/MachO/invalid/bad-tlv-relocation.s
The file was modifiedlld/test/MachO/invalid/bad-got-to-tlv-reference.s
The file was addedlld/test/MachO/lit.local.cfg
The file was modifiedlld/test/MachO/no-exports-dylib.s
The file was modifiedlld/test/MachO/invalid/stub-link.s
The file was modifiedlld/test/MachO/dylink-lazy.s
The file was modifiedlld/test/MachO/invalid/invalid-executable.s
The file was modifiedlld/test/MachO/headerpad.s
The file was modifiedlld/test/MachO/tlv.s
The file was modifiedlld/test/MachO/relocations.s
The file was modifiedlld/test/MachO/indirect-symtab.s
The file was modifiedlld/test/MachO/filelist.s
The file was modifiedlld/test/MachO/sub-library.s
The file was modifiedlld/test/MachO/invalid/invalid-fat-offset.s
The file was modifiedlld/test/MachO/sectcreate.s
The file was modifiedlld/test/MachO/subsections-symbol-relocs.s
The file was modifiedlld/test/MachO/invalid/bad-tlv-opcode.s
The file was modifiedlld/test/MachO/invalid/reserved-section-name.s
The file was modifiedlld/test/MachO/local-got.s
The file was modifiedlld/test/MachO/invalid/order-file-bad-arch.test
The file was modifiedlld/test/MachO/linkedit-contiguity.s
The file was modifiedlld/test/MachO/reexport-stub.s
The file was modifiedlld/test/MachO/fat-arch.s
The file was modifiedlld/test/MachO/weak-binding.s
The file was modifiedlld/test/MachO/entry-symbol.s
The file was modifiedlld/test/MachO/dso-handle.s
The file was modifiedlld/test/MachO/nonweak-definition-override.s
Commit 2c2a7494482133ecdd681869e1ccc53b71d27385 by jezng
[lld-macho] Ignore a few more undocumented flags

Reviewed By: #lld-macho, compnerd

Differential Revision: https://reviews.llvm.org/D88268
The file was modifiedlld/test/MachO/silent-ignore.test
The file was modifiedlld/MachO/Options.td
Commit d2166076b882e38becf3657ea830ffd2b6a5695e by xun
[Coroutine] Split PHI Nodes in `cleanuppad` blocks in a way that obeys EH pad rules

Issue Details:
In order to support coroutine splitting, any multi-value PHI node in a coroutine is split into multiple blocks with single-value PHI Nodes, which then allows a subsequent transform to generate `reload` instructions as required (i.e., to reload the value if required if the coroutine has been resumed). This causes issues with EH pads (`catchswitch` and `catchpad`) as all pads within a `catchswitch` must have the same unwind destination, but the coroutine splitting logic may modify them to each have a unique unwind destination if there is a PHI node in the unwind `cleanuppad` that is set from values in the `catchswitch` and `cleanuppad` blocks.

Fix Details:
During splitting, if such a PHI node is detected, then create a "dispatcher" `cleanuppad` as well as the blocks with single-value PHI Nodes: thus the "dispatcher" is the unwind destination and it will detect which predecessor called it and then branch to the appropriate single-value PHI node block, which will then branch back to the original `cleanuppad` block.

Reviewed By: GorNishanov, lxfind

Differential Revision: https://reviews.llvm.org/D88059
The file was addedllvm/test/Transforms/Coroutines/coro-catchswitch-cleanuppad.ll
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
Commit 89fe083c197951a1380ee70e9e36e2aa95659da5 by tlively
[WebAssembly] Check features before making SjLj vars thread-local

1c5a3c4d3823 updated the variables inserted by Emscripten SjLj lowering to be
thread-local, depending on the CoalesceFeaturesAndStripAtomics pass to downgrade
them to normal globals if the target features did not support TLS. However, this
had the unintended side effect of preventing all non-TLS-supporting objects from
being linked into modules with shared memory, because stripping TLS marks an
object as thread-unsafe. This patch fixes the problem by only making the SjLj
lowering variables thread-local if the target machine supports TLS so that it
never introduces new usage of TLS that will be stripped. Since SjLj lowering
works on Modules instead of Functions, this required that the
WebAssemblyTargetMachine have its feature string updated to reflect the
coalesced features collected from all the functions so that a
WebAssemblySubtarget can be created without using any particular function.

Differential Revision: https://reviews.llvm.org/D88323
The file was modifiedllvm/include/llvm/Target/TargetMachine.h
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h
Commit 6cd4a4cd02dba6aed33c447114587eebf6854c43 by Jonas Devlieghere
[lldb] Pass reference instead of pointer in protected SBAddress methods.

Every call to the protected SBAddress constructor and the SetAddress
method takes the address of a valid object which means we might as well
pass it as a const reference instead of a pointer and drop the null
check.

Differential revision: https://reviews.llvm.org/D88249
The file was modifiedlldb/source/API/SBLineEntry.cpp
The file was modifiedlldb/source/API/SBSymbol.cpp
The file was modifiedlldb/source/API/SBBreakpointLocation.cpp
The file was modifiedlldb/source/API/SBQueueItem.cpp
The file was modifiedlldb/source/API/SBFrame.cpp
The file was modifiedlldb/source/API/SBInstruction.cpp
The file was modifiedlldb/source/API/SBAddress.cpp
The file was modifiedlldb/source/API/SBFunction.cpp
The file was modifiedlldb/source/API/SBValue.cpp
The file was modifiedlldb/include/lldb/API/SBAddress.h
Commit 137597d4f47854bb1701f6883d5c91e8a14d29a2 by Adrian Prantl
Add a verifier check that rejects non-distinct DISubprogram function
attachments. They would crash the backend, which expects all
DISubprograms that are not part of the type system to have a unit field.

Clang right before https://reviews.llvm.org/D79967 would generate this
kind of broken IR.

rdar://problem/69534688

Thanks to Fangrui for fixing an assembler test I had missed!

https://reviews.llvm.org/D88270
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was addedllvm/test/Verifier/unique-disubprogram.ll
The file was modifiedllvm/test/DebugInfo/Generic/2009-11-03-InsertExtractValue.ll
Commit d3f6972abb9c0ac06ddabf61697754c3c6f5d11b by aeubanks
[LoopReroll][NewPM] Port -loop-reroll to NPM

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D87957
The file was modifiedllvm/lib/Transforms/Scalar/LoopRerollPass.cpp
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was addedllvm/include/llvm/Transforms/Scalar/LoopReroll.h
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/test/Transforms/LoopReroll/basic.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/lib/Transforms/Scalar/Scalar.cpp
Commit 2a0ca17f66f7776ade251fd40dc9a4f981b2a673 by llvm-dev
[InstCombine] collectBitParts - add fshl/fshr handling

Pulled from D87452, this is a fixed version of the collectBitParts fshl/fshr handling which as @nikic noticed wasn't checking for different providers or had correct bit ordering (which was hid by only testing shift amounts of bitwidth/2).

Differential Revision: https://reviews.llvm.org/D88292
The file was modifiedllvm/test/Transforms/InstCombine/bswap.ll
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp