SuccessChanges

Summary

  1. Initial deployment of windows buildbot (details)
Commit f7022d564ac8ef4e6d9d5caa4bd90d0ef7d31860 by kuhnel
Initial deployment of windows buildbot

Differential Revision: https://reviews.llvm.org/D82890
The file was modifiedbuildbot/google/config.sh (diff)
The file was modifiedbuildbot/google/terraform/main.tf (diff)
The file was addedbuildbot/google/terraform/.gitignore
The file was modifiedbuildbot/google/terraform/README.md (diff)

Summary

  1. [MLIR][Shape] Add conversion for missing ops to standard (details)
  2. [MLIR][Shape] Remove type conversion from lowering to standard (details)
  3. [libunwind] Provide a way to set '_LIBUNWIND_IS_BAREMETAL' through cmake. (details)
  4. [llvm-readobj] - Move out the common code from printRelocations() methods. (details)
  5. [TTI] Add default cost expansion for abs/smax/smin/umax/umin intrinsics (details)
  6. [CMAKE] Fix 'clean' target not working (details)
  7. [LoopSimplifyCFG] Delete landing pads in dead exit blocks (details)
  8. [NewGVN] Require asserts for crashing tests. (details)
  9. [mlir] LLVMType: make getUnderlyingType private (details)
  10. [CodeGen] Remove calls to getVectorNumElements in DAGTypeLegalizer::SplitVecOp_EXTRACT_SUBVECTOR (details)
  11. [SVE] Add checks for no warnings in CodeGen/AArch64/sve-sext-zext.ll (details)
  12. [libc] [obvious] Fix typo in binary header. (details)
  13. AMDGPU/GlobalISel: Select llvm.amdgcn.global.atomic.csub (details)
  14. AMDGPU: Make saturating add/sub legal for DAG path (details)
  15. AMDGPU/GlobalISel: Refactor special argument management (details)
  16. [ARM] Optimize immediate selection (details)
  17. [SVE][CodeGen] Add simple integer add tests for SVE tuple types (details)
  18. [Analysis] TTI: Add CastContextHint for getCastInstrCost (details)
  19. [ARM] Tune getCastInstrCost for extending masked loads and truncating masked stores (details)
  20. [mlir][Standard] Allow unranked memrefs as operands to dim and rank (details)
  21. [TTI] Move abs/smax/smin/umax/umin cost expansion to ICA getIntrinsicInstrCost variant (details)
  22. [ELF][test] Add test coverage of `__real_` to wrap-plt.s (details)
  23. [Driver][ARM] Disable unsupported features when nofp arch extension is used (details)
  24. [CostModel][X86] Add SSE costs for ABS intrinsics (details)
  25. [Driver][ARM] Fix testcase that should only run on ARM (details)
  26. [ConstantFolding] update test checks FP min/max intrinsics (details)
  27. Forward extent tensors through shape.broadcast. (details)
  28. [clang][NFC] Pass the ASTContext to CXXRecordDecl::setCaptures (details)
  29. [clang][NFC] clang-format fix after eb10b065f2a870b425dcc2040b9955e0eee464b4 (details)
  30. [MLIR][Shape] Limit shape to standard lowerings to their supported types (details)
  31. [SCEVExpander] Add option to preserve LCSSA directly. (details)
  32. [InstSimplify] add tests for expandCommutativeBinOp; NFC (details)
  33. [flang] Fix bug with intrinsic in type declaration stmt (details)
  34. [OpenCL] Add global_device and global_host address spaces (details)
  35. [clang-tidy] Fix RedundantStringCStrCheck with r values (details)
  36. [mlir][Linalg] Conv1D, Conv2D and Conv3D added as named ops (details)
  37. [MLIR][Shape] Limit shape to SCF lowering patterns to their supported types (details)
  38. [CostModel][X86] Add SSE costs for SMAX/SMIN/UMAX/UMIN intrinsics (details)
  39. [NFC][PPC][AIX] Add test coverage for _Complex return values (details)
  40. [ConstantFolding] add tests for integer min/max intrinsics; NFC (details)
  41. [ConstantFolding] fold integer min/max intrinsics (details)
  42. [DWARFYAML] Make the field names consistent with the DWARF spec. NFC. (details)
  43. [clang-tidy] Fix module options being registered with different priorities (details)
  44. [MachineCopyPropagation] BackwardPropagatableCopy: add check for hasOverlappingMultipleDef (details)
  45. [OpenMP][Docs] Update Clang Support docs after D75591 (details)
  46. [OpenMP] Allow traits for the OpenMP context selector `isa` (details)
  47. [NewPM][PassInstrument] Add a new kind of before-pass callback that only get called if the pass is not skipped (details)
  48. [NewPM][PassInstrument] Make PrintIR and TimePasses to use before-pass-run callback (details)
  49. [SVE] Don't consider scalable vector types in SLPVectorizerPass::vectorizeChainsInBlock (details)
  50. [clang-tidy] Handled insertion only fixits when determining conflicts. (details)
  51. AMDGPU: Account for the size of LDS globals used through constant (details)
  52. [MachineVerifier] Handle the PHI node for verifyLiveVariables() (details)
  53. [InstSimplify] fold integer min/max intrinsic with same args (details)
  54. [InstSimplify] allow partial undef constants for vector min/max folds (details)
  55. [NewPM][Attributor] Pin tests with -attributor to legacy PM (details)
  56. [OpenMP] Implement TR8 `present` motion modifier in Clang (1/2) (details)
  57. [OpenMP] Implement TR8 `present` motion modifier in runtime (2/2) (details)
  58. [Statepoint] When using the tied def lowering, unconditionally use vregs [almost NFC] (details)
  59. [PowerPC] Set v1i128 to expand for SETCC to avoid crash (details)
  60. [SimplifyCFG][LoopRotate] SimplifyCFG: disable common instruction hoisting by default, enable late in pipeline (details)
  61. [DAG][AMDGPU][X86] Add SimplifyMultipleUseDemandedBits handling for SIGN/ZERO_EXTEND + SIGN/ZERO_EXTEND_VECTOR_INREG (details)
  62. [InstSimplify] try constant folding intrinsics before general simplifications (details)
  63. [DFSan][NewPM] Port DataFlowSanitizer to NewPM (details)
  64. [LV] Add abs/smin/smax/umin/umax intrinsics to isTriviallyVectorizable (details)
  65. [X86] Add custom lowering for llvm.roundeven with sse4.1. (details)
  66. [PGO] Remove insignificant function hash values from some tests. (details)
  67. [Scudo][CMake] Add -fno-lto to Scudo libraries (details)
  68. [lldb] Improve platform handling in CreateTargetInternal (details)
  69. [WebAssembly] Fix getBottom for loops (details)
  70. [gn build] Port 276f9e8cfaf (details)
  71. GloblaISel: Remove unreachable condition (details)
Commit 5d9f33aaa00cc02143f137387adc8dd1e51b71d3 by herhut
[MLIR][Shape] Add conversion for missing ops to standard

This adds conversions for const_size and to_extent_tensor. Also, cast-like operations are now folded away if the source and target types are the same.

Differential Revision: https://reviews.llvm.org/D84745
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
Commit b6b9d3ea85cc158a5230b4b75147d299bfc372df by frgossen
[MLIR][Shape] Remove type conversion from lowering to standard

Operating on indices and extent tensors directly, the type conversion is no
longer needed for the supported cases.

Differential Revision: https://reviews.llvm.org/D84442
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
Commit 380fee34d2794361f9e222fe3c8c065be3b9fff8 by abidh
[libunwind] Provide a way to set '_LIBUNWIND_IS_BAREMETAL' through cmake.

Libunwind uses _LIBUNWIND_IS_BAREMETAL in a lot of places but there is no cmake variable to set it. This patch adds such a variable. It is quite like what LIBCXXABI_BAREMETAL does in libcxxabi.

Reviewed By: compnerd, #libunwind

Differential Revision: https://reviews.llvm.org/D84759
The file was modifiedlibunwind/CMakeLists.txt
Commit 08a265435bc359841c8618081db6a698cef1f668 by grimar
[llvm-readobj] - Move out the common code from printRelocations() methods.

This introduces the printRelocationsHelper() which now contains the common
code used by both GNU and LLVM output styles.

Differential revision: https://reviews.llvm.org/D83935
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit c5ef1f1edd4d539df530b07daf7a0c8b94d0efc8 by llvm-dev
[TTI] Add default cost expansion for abs/smax/smin/umax/umin intrinsics
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-uminmax.ll
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-sminmax.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/abs.ll
Commit c970bb5b34c1999c9b55af88c35620c1930a581a by Pushpinder.Singh
[CMAKE] Fix 'clean' target not working

cmake was still considering the empty value of ${fake_version_inc}
even if it was not defined.

Reviewed By: vsapsai

Differential Revision: https://reviews.llvm.org/D82847
The file was modifiedllvm/include/llvm/Support/CMakeLists.txt
Commit 5d6cd61904aa03df6db4a5a33445d9af60cab0d5 by yrouban
[LoopSimplifyCFG] Delete landing pads in dead exit blocks

In addition to removing phi nodes this patch removes any
landing pad that the dead exit block might have. Without
this fix Verifier complains about a new switch instruction
jumps to a block with a landing pad.

Differential Revision: https://reviews.llvm.org/D84320
The file was addedllvm/test/Transforms/LoopSimplifyCFG/handle_dead_exits.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
Commit 2aa2c40d23740331e01c4eeec849775ce9c33f95 by flo
[NewGVN] Require asserts for crashing tests.

Without asserts, it might take a long time for the tests to crash.
Only run them with assert builds.
The file was modifiedllvm/test/Transforms/NewGVN/todo-pr35074-phi-of-ops.ll
The file was modifiedllvm/test/Transforms/NewGVN/todo-pr37121-seens-this-value-a-lot.ll
The file was modifiedllvm/test/Transforms/NewGVN/todo-pr42422-phi-of-ops.ll
Commit aec38c619dfa1c41b6b0f6c52a31d221ac108b6b by zinenko
[mlir] LLVMType: make getUnderlyingType private

The current modeling of LLVM IR types in MLIR is based on the LLVMType class
that wraps a raw `llvm::Type *` and delegates uniquing, printing and parsing to
LLVM itself. This is model makes thread-safe type manipulation hard and is
being progressively replaced with a cleaner MLIR model that replicates the type
system. In the new model, LLVMType will no longer have an underlying LLVM IR
type. Restrict access to this type in the current model in preparation for the
change.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D84389
The file was modifiedmlir/tools/mlir-tblgen/LLVMIRConversionGen.cpp
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedmlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
The file was modifiedmlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
Commit 5d84eafc6b86a42e261af8d753c3a823e0e7c67e by david.sherwood
[CodeGen] Remove calls to getVectorNumElements in DAGTypeLegalizer::SplitVecOp_EXTRACT_SUBVECTOR

In DAGTypeLegalizer::SplitVecOp_EXTRACT_SUBVECTOR I have replaced
calls to getVectorNumElements with getVectorMinNumElements, since
this code path works for both fixed and scalable vector types. For
scalable vectors the index will be multiplied by VSCALE.

Fixes warnings in this test:

  sve-sext-zext.ll

Differential revision: https://reviews.llvm.org/D83198
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Commit f43b5c7a76ab83dcc80e6769d41d5c4b761312b1 by david.sherwood
[SVE] Add checks for no warnings in CodeGen/AArch64/sve-sext-zext.ll

Previous patches fixed up all the warnings in this test:

  llvm/test/CodeGen/AArch64/sve-sext-zext.ll

and this change simply checks that no new warnings are added in future.

Differential revision: https://reviews.llvm.org/D83205
The file was modifiedllvm/test/CodeGen/AArch64/sve-sext-zext.ll
Commit 33abb7292e8f8f373f319a96a9456e05a1efce2d by noreply
[libc] [obvious] Fix typo in binary header.
The file was modifiedlibc/utils/LibcTableGenUtil/APIIndexer.cpp
Commit cdd45d5f9cf61e4a4c0bb01d5cdcdd3d12ffb10f by Matthew.Arsenault
AMDGPU/GlobalISel: Select llvm.amdgcn.global.atomic.csub

Remove the custom node boilerplate. Not sure why this tried to handle
the LDS atomic stuff.
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
Commit c230965ccf36af5c88c28d065488f76712333683 by Matthew.Arsenault
AMDGPU: Make saturating add/sub legal for DAG path
The file was addedllvm/test/CodeGen/AMDGPU/usubsat.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was addedllvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/saddo.ll
The file was addedllvm/test/CodeGen/AMDGPU/uaddsat.ll
The file was addedllvm/test/CodeGen/AMDGPU/ssubsat.ll
The file was addedllvm/test/CodeGen/AMDGPU/saddsat.ll
Commit 200bb5191a35333281ec241b0aa976bb17295043 by Matthew.Arsenault
AMDGPU/GlobalISel: Refactor special argument management
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
Commit 85342c27a303e68a4091797e5d7938aa7beb4da5 by sjoerd.meijer
[ARM] Optimize immediate selection

Optimize some specific immediates selection by materializing them with sub/mvn
instructions as opposed to loading them from the constant pool.

Patch by Ben Shi, powerman1st@163.com.

Differential Revision: https://reviews.llvm.org/D83745
The file was modifiedllvm/lib/Target/ARM/ARMInstrInfo.td
The file was modifiedllvm/test/CodeGen/ARM/select-imm.ll
The file was addedllvm/test/CodeGen/ARM/add-sub-imm.ll
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMAddressingModes.h
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
Commit 207877175944656bd9b52d36f391a092854572be by david.sherwood
[SVE][CodeGen] Add simple integer add tests for SVE tuple types

I have added tests to:

  CodeGen/AArch64/sve-intrinsics-int-arith.ll

for doing simple integer add operations on tuple types. Since these
tests introduced new warnings due to incorrect use of
getVectorNumElements() I have also fixed up these warnings in the
same patch. These fixes are:

1. In narrowExtractedVectorBinOp I have changed the code to bail out
early for scalable vector types, since we've not yet hit a case that
proves the optimisations are profitable for scalable vectors.
2. In DAGTypeLegalizer::WidenVecRes_CONCAT_VECTORS I have replaced
calls to getVectorNumElements with getVectorMinNumElements in cases
that work with scalable vectors. For the other cases I have added
asserts that the vector is not scalable because we should not be
using shuffle vectors and build vectors in such cases.

Differential revision: https://reviews.llvm.org/D84016
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-int-arith.ll
Commit 60280e9818a6274d6e16556e4392821bbb65bd31 by david.green
[Analysis] TTI: Add CastContextHint for getCastInstrCost

Currently, getCastInstrCost has limited information about the cast it's
rating, often just the opcode and types.  Sometimes there is a context
instruction as well, but it isn't trustworthy: for instance, when the
vectorizer is rating a plan, it calls getCastInstrCost with the old
instructions when, in fact, it's trying to evaluate the cost of the
instruction post-vectorization.  Thus, the current system can get the
cost of certain casts incorrect as the correct cost can vary greatly
based on the context in which it's used.

For example, if the vectorizer queries getCastInstrCost to evaluate the
cost of a sext(load) with tail predication enabled, getCastInstrCost
will think it's free most of the time, but it's not always free. On ARM
MVE, a VLD2 group cannot be extended like a normal VLDR can. Similar
situations can come up with how masked loads can be extended when being
split.

To fix that, this path adds a new parameter to getCastInstrCost to give
it a hint about the context of the cast. It adds a CastContextHint enum
which contains the type of the load/store being created by the
vectorizer - one for each of the types it can produce.

Original patch by Pierre van Houtryve

Differential Revision: https://reviews.llvm.org/D79162
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
Commit 9ddb28964c92f2a2185aff0db77eaa167ac48dcf by david.green
[ARM] Tune getCastInstrCost for extending masked loads and truncating masked stores

This patch uses the feature added in D79162 to fix the cost of a
sext/zext of a masked load, or a trunc for a masked store.
Previously, those were considered cheap or even free, but it's
not the case as we cannot split the load in the same way we would for
normal loads.

This updates the costs to better reflect reality, and adds a test for it
in test/Analysis/CostModel/ARM/cast.ll.

It also adds a vectorizer test that showcases the improvement: in some
cases, the vectorizer will now choose a smaller VF when
tail-predication is enabled, which results in better codegen. (Because
if it were to use a higher VF in those cases, the code we see above
would be generated, and the vmovs would block tail-predication later in
the process, resulting in very poor codegen overall)

Original Patch by Pierre van Houtryve

Differential Revision: https://reviews.llvm.org/D79163
The file was addedllvm/test/Transforms/LoopVectorize/ARM/tail-folding-reduces-vf.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/cast_ldst.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
Commit 823ffef009152ba1210740c44d472d1d6e56afa3 by herhut
[mlir][Standard] Allow unranked memrefs as operands to dim and rank

`std.dim` currently only accepts ranked memrefs and `std.rank` is limited to
tensors.

Differential Revision: https://reviews.llvm.org/D84790
The file was modifiedmlir/test/IR/invalid-ops.mlir
The file was modifiedmlir/test/Transforms/constant-fold.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
Commit 75182104f09b0df288a8c7eec3701e3246805457 by llvm-dev
[TTI] Move abs/smax/smin/umax/umin cost expansion to ICA getIntrinsicInstrCost variant

This will simplify target overrides, and matches what we do for most integer intrinsic costs.
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
Commit 8725a49409c47c25118915c4b3b41bd0d9d32bd7 by andrew.ng
[ELF][test] Add test coverage of `__real_` to wrap-plt.s

Differential Revision: https://reviews.llvm.org/D84749
The file was modifiedlld/test/ELF/wrap-plt.s
Commit d1a3396bfbc6fd6df927f2864c18d86e742cabff by victor.campos
[Driver][ARM] Disable unsupported features when nofp arch extension is used

A list of target features is disabled when there is no hardware
floating-point support. This is the case when one of the following
options is passed to clang:

- -mfloat-abi=soft
- -mfpu=none

This option list is missing, however, the extension "+nofp" that can be
specified in -march flags, such as "-march=armv8-a+nofp".

This patch also disables unsupported target features when nofp is passed
to -march.

Differential Revision: https://reviews.llvm.org/D82948
The file was modifiedllvm/unittests/Support/TargetParserTest.cpp
The file was modifiedclang/lib/Driver/ToolChains/Arch/ARM.cpp
The file was modifiedclang/test/CodeGen/arm-bf16-softfloat.c
The file was addedclang/test/Driver/arm-nofp-disabled-features.c
The file was modifiedllvm/include/llvm/Support/ARMTargetParser.h
The file was modifiedllvm/lib/Support/ARMTargetParser.cpp
Commit 0a0f28254ab7ae5cc9e1868a0ef1ba03d945434d by llvm-dev
[CostModel][X86] Add SSE costs for ABS intrinsics
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/abs.ll
Commit 71bf6dd682c03c8c29a365f602f5168d44757abe by victor.campos
[Driver][ARM] Fix testcase that should only run on ARM

Fix testcase introduced in d1a3396bfbc6fd6df927f2864c18d86e742cabff.
The file was modifiedclang/test/CodeGen/arm-bf16-softfloat.c
Commit 8c3262a7b48017b5f5c8aef5b83b4cd1f3dcc324 by spatel
[ConstantFolding] update test checks FP min/max intrinsics

There's a slight difference in functionality with the new CHECK lines:
before, we allowed either -0.0 or 0.0 for maxnum/minnum. That matches
the definition, but we should always get a deterministic result from
constant folding within the compiler, so now we assert that we got
the single expected result in all cases.
The file was modifiedllvm/test/Analysis/ConstantFolding/min-max.ll
Commit ad793ed90370f0e99fa7ae0cc4d4e97081b5561a by tpopp
Forward extent tensors through shape.broadcast.

Differential Revision: https://reviews.llvm.org/D84832
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/test/Dialect/Shape/ops.mlir
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
The file was modifiedmlir/test/Dialect/Shape/invalid.mlir
Commit 1ae63b4179c222431cd6a4b2397abceaa5bc3d30 by riccibrun
[clang][NFC] Pass the ASTContext to CXXRecordDecl::setCaptures

In general Decl::getASTContext() is relatively expensive and here the changes
are non-invasive. NFC.
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/lib/Sema/SemaLambda.cpp
Commit 517fe058d42a1f937e14de4b61a5ac2ad326c850 by riccibrun
[clang][NFC] clang-format fix after eb10b065f2a870b425dcc2040b9955e0eee464b4
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
Commit 6673c6cd82f79b76c1676ab1ab30a288286acb71 by frgossen
[MLIR][Shape] Limit shape to standard lowerings to their supported types

The lowering does not support all types for its source operations. This change
makes the patterns fail in a well-defined manner.

Differential Revision: https://reviews.llvm.org/D84443
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
Commit 99166fd4fb422351f131fb1265cb85d5f6c5b8da by flo
[SCEVExpander] Add option to preserve LCSSA directly.

This patch teaches SCEVExpander to directly preserve LCSSA.

As it is currently, SCEV does not look through PHI nodes in loops,
as it might break LCSSA form. Once SCEVExpander can preserve
LCSSA form, it should be safe for SCEV to look through PHIs.

To preserve LCSSA form, this patch uses formLCSSAForInstructions
on operands of newly created instructions, if the definition is inside
a different loop than the new instruction.

The final value we return from expandCodeFor may also need LCSSA
phis, depending on the insert point. As no user for it exists there yet,
create a temporary instruction at the insert point, which can be passed
to formLCSSAForInstructions. This temporary instruction is removed
after LCSSA construction.

Reviewed By: mkazantsev

Differential Revision: https://reviews.llvm.org/D71538
The file was modifiedllvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
The file was modifiedllvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp
Commit 672df0fc670e79ce7ac710ce4b5f47804f54a18a by aqjune
[InstSimplify] add tests for expandCommutativeBinOp; NFC
The file was addedllvm/test/Transforms/InstSimplify/distribute.ll
Commit 2c662f3d3d957365ad86f35eee0bea05e4cf0188 by tkeith
[flang] Fix bug with intrinsic in type declaration stmt

When an instrinsic function is declared in a type declaration statement
we need to set the INTRINSIC attribute and (per 8.2(3)) ignore the
specified type.

To simplify the check, add IsIntrinsic utility to BaseVisitor.

Also, intrinsics and external procedures were getting assigned a size
and offset and they shouldn't be.

Differential Revision: https://reviews.llvm.org/D84702
The file was modifiedflang/include/flang/Semantics/symbol.h
The file was modifiedflang/lib/Semantics/compute-offsets.cpp
The file was modifiedflang/lib/Semantics/resolve-names.cpp
The file was addedflang/test/Semantics/symbol18.f90
Commit 8d27be8dbaffce0519ac41173d51923fc2524b1b by alexey.bader
[OpenCL] Add global_device and global_host address spaces

This patch introduces 2 new address spaces in OpenCL: global_device and global_host
which are a subset of a global address space, so the address space scheme will be
looking like:

```
generic->global->host
                          ->device
             ->private
             ->local
constant
```

Justification: USM allocations may be associated with both host and device memory. We
want to give users a way to tell the compiler the allocation type of a USM pointer for
optimization purposes. (Link to the Unified Shared Memory extension:
https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/USM/cl_intel_unified_shared_memory.asciidoc)

Before this patch USM pointer could be only in opencl_global
address space, hence a device backend can't tell if a particular pointer
points to host or device memory. On FPGAs at least we can generate more
efficient hardware code if the user tells us where the pointer can point -
being able to distinguish between these types of pointers at compile time
allows us to instantiate simpler load-store units to perform memory
transactions.

Patch by Dmitry Sidorov.

Reviewed By: Anastasia

Differential Revision: https://reviews.llvm.org/D82174
The file was modifiedclang/lib/Basic/Targets/SPIR.h
The file was modifiedclang/test/SemaTemplate/address_space-dependent.cpp
The file was modifiedclang/include/clang/Basic/AddressSpaces.h
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/lib/Basic/Targets/TCE.h
The file was modifiedclang/test/AST/language_address_space_attribute.cpp
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/test/CodeGenCXX/mangle-address-space.cpp
The file was modifiedclang/lib/Basic/Targets/AMDGPU.cpp
The file was modifiedclang/test/CodeGenOpenCL/address-spaces.cl
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/test/CodeGenOpenCL/address-spaces-conversions.cl
The file was modifiedclang/include/clang/Sema/ParsedAttr.h
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was addedclang/test/SemaOpenCL/usm-address-spaces-conversions.cl
The file was modifiedclang/lib/Basic/Targets/NVPTX.h
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/AST/TypePrinter.cpp
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
The file was modifiedclang/lib/Basic/Targets/X86.h
Commit b99630e432614d06b380afb15c466665065eaa0a by n.james93
[clang-tidy] Fix RedundantStringCStrCheck with r values

The previous fix for this, https://reviews.llvm.org/D76761, Passed test cases but failed in the real world as std::string has a non trivial destructor so creates a CXXBindTemporaryExpr.

This handles that shortfall and updates the test case std::basic_string implementation to use a non trivial destructor to reflect real world behaviour.

Reviewed By: gribozavr2

Differential Revision: https://reviews.llvm.org/D84831
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-redundant-string-cstr.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp
Commit 1aaf8aa53d694309087b322861038130490bdd5e by zinenko
[mlir][Linalg] Conv1D, Conv2D and Conv3D added as named ops

This commit is part of a greater project which aims to add
full end-to-end support for convolutions inside mlir. The
reason behind having conv ops for each rank rather than
having one generic ConvOp is to enable better optimizations
for every N-D case which reflects memory layout of input/kernel
buffers better and simplifies code as well. We expect plain linalg.conv
to be progressively retired.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D83879
The file was modifiedmlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was modifiedmlir/test/Dialect/Linalg/loops.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
Commit 5fc34fafa72e311763b43f3041bb7113c8ae5b6f by frgossen
[MLIR][Shape] Limit shape to SCF lowering patterns to their supported types

Differential Revision: https://reviews.llvm.org/D84444
The file was modifiedmlir/test/Conversion/ShapeToSCF/shape-to-scf.mlir
The file was modifiedmlir/lib/Conversion/ShapeToSCF/ShapeToSCF.cpp
Commit d1abca187d9c77d1e238b90874cada81ec4f05cc by llvm-dev
[CostModel][X86] Add SSE costs for SMAX/SMIN/UMAX/UMIN intrinsics
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-uminmax.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-sminmax.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
Commit d5776f250fbc80972b98bf1046c4a5d9b6d84e67 by cebowleratibm
[NFC][PPC][AIX] Add test coverage for _Complex return values

Differential Revision: https://reviews.llvm.org/D84069
The file was addedtest/CodeGen/PowerPC/aix-complex.ll
Commit 9f958958334f380c675b832e8207304dfe0a874f by spatel
[ConstantFolding] add tests for integer min/max intrinsics; NFC
The file was modifiedllvm/test/Analysis/ConstantFolding/min-max.ll
Commit 9ee7d7122c067d929667e65cc11f600e4592cd8a by spatel
[ConstantFolding] fold integer min/max intrinsics

If both operands are undef, return undef.
If one operand is undef, clamp to limit constant.
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
The file was modifiedllvm/test/Analysis/ConstantFolding/min-max.ll
Commit bfa140376df89eea4e984ad983b1809f60187b7e by Xing
[DWARFYAML] Make the field names consistent with the DWARF spec. NFC.

This patch replaces 'AddrSize'/'SegSize' with
'AddressSize'/'SegmentSelectorSize'. NFC.
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF5-debug_info.yaml
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-aranges.yaml
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-debug_line.yaml
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-debug_info.yaml
The file was modifiedllvm/test/tools/llvm-gsymutil/X86/mach-dwarf.yaml
The file was modifiedllvm/test/tools/obj2yaml/MachO/DWARF-debug_aranges-error.yaml
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-debug_aranges.yaml
The file was modifiedllvm/test/tools/llvm-gsymutil/ARM_AArch64/fat-macho-dwarf.yaml
Commit 62beb7c6f4f2288793751740f06edc0dc25d01f6 by n.james93
[clang-tidy] Fix module options being registered with different priorities

Not a bug that is ever likely to materialise, but still worth fixing

Reviewed By: DmitryPolukhin

Differential Revision: https://reviews.llvm.org/D84850
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyOptions.cpp
Commit 6a05c6bfc8d363a6d3d6cd7015d0e6fc01a91ce2 by simon.wallis2
[MachineCopyPropagation] BackwardPropagatableCopy: add check for hasOverlappingMultipleDef

In MachineCopyPropagation::BackwardPropagatableCopy(),
a check is added for multiple destination registers.

The copy propagation is avoided if the copied destination register
is the same register as another destination on the same instruction.

A new test is added.  This used to fail on ARM like this:
error: unpredictable instruction, RdHi and RdLo must be different
        umull   r9, r9, lr, r0

Reviewed By: lkail

Differential Revision: https://reviews.llvm.org/D82638
The file was modifiedllvm/lib/CodeGen/MachineCopyPropagation.cpp
The file was addedllvm/test/CodeGen/ARM/mcp-dest-regs-no-dup.mir
Commit 7db017bf3405c7fa43786fe27380d88702e19584 by johannes
[OpenMP][Docs] Update Clang Support docs after D75591
The file was modifiedclang/docs/OpenMPSupport.rst
Commit ee05167cc42b95f70bc2ff1bd4402969f356f53b by johannes
[OpenMP] Allow traits for the OpenMP context selector `isa`

It was unclear what `isa` was supposed to mean so we did not provide any
traits for this context selector. With this patch we will allow *any*
string or identifier. We use the target attribute and target info to
determine if the trait matches. In other words, we will check if the
provided value is a target feature that is available (at the call site).

Fixes PR46338

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D83281
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/test/OpenMP/declare_variant_messages.c
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was addedclang/test/OpenMP/declare_variant_device_isa_codegen_1.c
The file was modifiedllvm/unittests/Frontend/OpenMPContextTest.cpp
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPContext.h
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedllvm/lib/Frontend/OpenMP/OMPContext.cpp
The file was modifiedclang/include/clang/AST/OpenMPClause.h
The file was modifiedclang/lib/AST/OpenMPClause.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
Commit 5cf0c2e67b802b71ba1d8e02d985c9133afb7fc8 by Yuanfang Chen
[NewPM][PassInstrument] Add a new kind of before-pass callback that only get called if the pass is not skipped

TODO
* PrintIRInstrumentation and TimePassesHandler would be using this new callback.
* "Running pass" logging will also be moved to use this callback.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D84772
The file was modifiedllvm/include/llvm/IR/PassInstrumentation.h
The file was modifiedllvm/unittests/IR/PassBuilderCallbacksTest.cpp
Commit 7a2e1122ae4611916c920c815a4310085ed04830 by Yuanfang Chen
[NewPM][PassInstrument] Make PrintIR and TimePasses to use before-pass-run callback

Reviewed By: asbirlea, aeubanks

Differential Revision: https://reviews.llvm.org/D84773
The file was modifiedllvm/include/llvm/IR/PassTimingInfo.h
The file was modifiedllvm/lib/IR/PassTimingInfo.cpp
The file was modifiedllvm/include/llvm/Passes/StandardInstrumentations.h
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp
Commit 9ad7c980bb47edd7db8f8db828b487cc7dfc9921 by david.sherwood
[SVE] Don't consider scalable vector types in SLPVectorizerPass::vectorizeChainsInBlock

In vectorizeChainsInBlock we try to collect chains of PHI nodes
that have the same element type, but the code is relying upon
the implicit conversion from TypeSize -> uint64_t. For now, I have
modified the code to ignore PHI nodes with scalable types.

Differential Revision: https://reviews.llvm.org/D83542
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/scalable-vector.ll
Commit bbc2ddecbd342d4502fe43466bd3658b89ddad7d by n.james93
[clang-tidy] Handled insertion only fixits when determining conflicts.

Handle insertion fix-its when removing incompatible errors by introducting a new EventType `ET_Insert`
This has lower prioirty than End events, but higher than begin.
Idea being If an insert is at the same place as a begin event, the insert should be processed first to reduce unnecessary conflicts.
Likewise if its at the same place as an end event, process the end event first for the same reason.

This also fixes https://bugs.llvm.org/show_bug.cgi?id=46511.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D82898
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-init-variables-conflict.cpp
Commit d42c7b22118c763090e3bec180cb8f01b5c4cfeb by Matthew.Arsenault
AMDGPU: Account for the size of LDS globals used through constant
expressions.

Also "fix" the longstanding bug where the computed size depends on the
order of the visitation. We could try to predict the allocation order
used by legalization, but it would never be 100% perfect. Until we
start fixing the addresses somehow (or have a more reliable allocation
scheme later), just try to compute the size based on the worst case
padding.
The file was modifiedllvm/test/CodeGen/AMDGPU/promote-alloca-padding-size-estimate.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-constantexpr-use.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
Commit a4ade9ed21e55946c52961a549ca4d23f9058b08 by shkzhang
[MachineVerifier] Handle the PHI node for verifyLiveVariables()

Summary:
When doing MachineVerifier for LiveVariables, the MachineVerifier pass
will calculate the LiveVariables, and compares the result with the
result livevars pass gave. If they are different, verifyLiveVariables()
will give error.

But when we calculate the LiveVariables in MachineVerifier, we don't
consider the PHI node, while livevars considers.

This patch is to fix above bug.

Reviewed By: bjope

Differential Revision: https://reviews.llvm.org/D80274
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/livevars-crash1.mir
The file was modifiedllvm/test/CodeGen/PowerPC/livevars-crash2.mir
Commit 3c20ede18b85ba17557d7060d7d5ef2050ce77c0 by spatel
[InstSimplify] fold integer min/max intrinsic with same args
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/maxmin_intrinsics.ll
Commit 3e8534fbc62c87bd72c4145598a61eb805c82393 by spatel
[InstSimplify] allow partial undef constants for vector min/max folds
The file was modifiedllvm/test/Transforms/InstSimplify/maxmin_intrinsics.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 4a10029d7ed910a74c589de1dd26bca9176e0e62 by aeubanks
[NewPM][Attributor] Pin tests with -attributor to legacy PM

All these tests already explicitly test against both legacy PM and NPM.

$ sed -i 's/ -attributor / -attributor -enable-new-pm=0 /g' $(rg --path-separator // -l -- -passes=)
$ sed -i 's/ -attributor-cgscc / -attributor-cgscc -enable-new-pm=0 /g' $(rg --path-separator // -l -- -passes=)

Now all tests in Transforms/Attributor/ pass under NPM.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D84813
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/solve-after-each-resolving-undefs-for-function.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/attrs.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll
The file was modifiedllvm/test/Transforms/Attributor/dereferenceable-2.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/inalloca.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/PR16052.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/chained.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr27568.ll
The file was modifiedllvm/test/Transforms/Attributor/range.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
The file was modifiedllvm/test/Transforms/Attributor/undefined_behavior.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/alignment.ll
The file was modifiedllvm/test/Transforms/Attributor/noreturn.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/byval-2.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/profile.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/multiple_callbacks.ll
The file was modifiedllvm/test/Transforms/Attributor/callbacks.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/basictest.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/tail.ll
The file was modifiedllvm/test/Transforms/Attributor/nofree.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-09-08-CGUpdateSelfEdge.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead_2.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/reserve-tbaa.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/return-constants.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-09-07-CGUpdate.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/variadic.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/control-flow.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/musttail.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/return-constant.ll
The file was modifiedllvm/test/Transforms/Attributor/nounwind.ll
The file was modifiedllvm/test/Transforms/Attributor/alwaysinline.ll
The file was modifiedllvm/test/Transforms/Attributor/read_write_returned_arguments_scc.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/naked_functions.ll
The file was modifiedllvm/test/Transforms/Attributor/liveness.ll
The file was modifiedllvm/test/Transforms/Attributor/heap_to_stack.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/fp-bc-icmp-const-fold.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/nonzero-address-spaces.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/naked-return.ll
The file was modifiedllvm/test/Transforms/Attributor/nonnull.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/PR26044.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll
The file was modifiedllvm/test/Transforms/Attributor/align.ll
The file was modifiedllvm/test/Transforms/Attributor/reduced/register_benchmark_test.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/aggregate-promote.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/PR43857.ll
The file was modifiedllvm/test/Transforms/Attributor/lvi-for-ashr.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/global.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/remove-call-inst.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/openmp_parallel_for.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/arg-type-mismatch.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/return-argument.ll
The file was modifiedllvm/test/Transforms/Attributor/liveness_chains.ll
The file was modifiedllvm/test/Transforms/Attributor/returned.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/musttail-call.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/deadarg.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/fp80.ll
The file was modifiedllvm/test/Transforms/Attributor/dereferenceable-1.ll
The file was modifiedllvm/test/Transforms/Attributor/norecurse.ll
The file was modifiedllvm/test/Transforms/Attributor/willreturn.ll
The file was modifiedllvm/test/Transforms/Attributor/misc.ll
The file was modifiedllvm/test/Transforms/Attributor/nosync.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/attributes.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/crash.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/2009-09-24-byval-ptr.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/thiscall.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-07-02-array-indexing.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/control-flow2.ll
The file was modifiedllvm/test/Transforms/Attributor/readattrs.ll
The file was modifiedllvm/test/Transforms/Attributor/memory_locations.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/thread_local_acs.ll
The file was modifiedllvm/test/Transforms/Attributor/internal-noalias.ll
The file was modifiedllvm/test/Transforms/Attributor/nocapture-1.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/dangling-block-address.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr32917.ll
The file was modifiedllvm/test/Transforms/Attributor/lvi-after-jumpthreading.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/comdat-ipo.ll
The file was modifiedllvm/test/Transforms/Attributor/misc_crash.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/2008-06-09-WeakProp.ll
The file was modifiedllvm/test/Transforms/Attributor/nocapture-2.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/dbg.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/arg-count-mismatch.ll
The file was modifiedllvm/test/Transforms/Attributor/noalias.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/recursion.ll
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
Commit 9f2f3b9de6314a009322b6081c792ebf9a469460 by jdenny.ornl
[OpenMP] Implement TR8 `present` motion modifier in Clang (1/2)

This patch implements Clang front end support for the OpenMP TR8
`present` motion modifier for `omp target update` directives.  The
next patch in this series implements OpenMP runtime support.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D84711
The file was modifiedclang/include/clang/Basic/OpenMPKinds.def
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp
The file was modifiedclang/test/OpenMP/target_update_codegen.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/include/clang/AST/OpenMPClause.h
The file was modifiedclang/include/clang/Basic/OpenMPKinds.h
The file was modifiedclang/test/OpenMP/declare_mapper_ast_print.c
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/test/OpenMP/target_update_ast_print.cpp
The file was modifiedclang/test/OpenMP/target_update_messages.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/test/OpenMP/declare_mapper_codegen.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/lib/AST/OpenMPClause.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
Commit cee52dd02672ecff33d9bd8300aa09a91853a149 by jdenny.ornl
[OpenMP] Implement TR8 `present` motion modifier in runtime (2/2)

This patch implements OpenMP runtime support for the OpenMP TR8
`present` motion modifier for `omp target update` directives.  The
previous patch in this series implements Clang front end support.

Reviewed By: grokos

Differential Revision: https://reviews.llvm.org/D84712
The file was addedopenmp/libomptarget/test/mapping/present/target_update.c
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
Commit 31342eb63e93ae1f453fe61924bd2c1f134dd1c0 by listmail
[Statepoint] When using the tied def lowering, unconditionally use vregs [almost NFC]

This builds on 3da1a96 on the path towards supporting invokes and cross block relocations. The actual change attempts to be NFC, but does fail in one corner-case explained below.

The change itself is fairly mechanical. Rather than remember SDValues - which are inherently block local - immediately produce a virtual register copy and remember that.

Once this lands, we'll update the FunctionLoweringInfo::StatepointSpillMap map to allow register based lowerings, delete VirtRegs from StatepointLowering, and drop the restriction against cross block relocations. I deliberately separate the semantic part into it's own change for easy of understanding and fault isolation.

The corner-case which isn't quite NFC is that the old implementation implicitly CSEd gc.relocates of the same SDValue regardless of type. The new implementation still only relocates once, but it produces distinct vregs for the bitcast and it's source, whereas SelectionDAG's generic CSE was able to remove the bitcast in the old implementation. Note that the final assembly doesn't change (at least in the test), as our MI level optimizations catch the duplication.

I assert that this is an uninteresting corner-case. It's functionally correct, and if we find a case where this influences performance, we should really be canonicalizing types to i8* at the IR level.

Differential Revision: https://reviews.llvm.org/D84692
The file was modifiedllvm/test/CodeGen/X86/statepoint-vreg.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.h
Commit 802c043078ad653aca131648a130b59f041df0b5 by shkzhang
[PowerPC] Set v1i128 to expand for SETCC to avoid crash

Summary:
PPC only supports the instruction selection for v16i8, v8i16, v4i32,
v2i64, v4f32 and v2f64 for ISD::SETCC, don't support the v1i128, so
v1i128 for ISD::SETCC will crash.

This patch is to set v1i128 to expand to avoid crash.

Reviewed By: steven.zhang

Differential Revision: https://reviews.llvm.org/D84238
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was addedllvm/test/CodeGen/PowerPC/setcc-vector.ll
Commit 1d51dc38d89bd33fb8874e242ab87b265b4dec1c by lebedev.ri
[SimplifyCFG][LoopRotate] SimplifyCFG: disable common instruction hoisting by default, enable late in pipeline

I've been looking at missed vectorizations in one codebase.
One particular thing that stands out is that some of the loops
reach vectorizer in a rather mangled form, with weird PHI's,
and some of the loops aren't even in a rotated form.

After taking a more detailed look, that happened because
the loop's headers were too big by then. It is evident that
SimplifyCFG's common code hoisting transform is at fault there,
because the pattern it handles is precisely the unrotated
loop basic block structure.

Surprizingly, `SimplifyCFGOpt::HoistThenElseCodeToIf()` is enabled
by default, and is always run, unlike it's friend, common code sinking
transform, `SinkCommonCodeFromPredecessors()`, which is not enabled
by default and is only run once very late in the pipeline.

I'm proposing to harmonize this, and disable common code hoisting
until //late// in pipeline. Definition of //late// may vary,
here currently i've picked the same one as for code sinking,
but i suppose we could enable it as soon as right after
loop rotation happens.

Experimentation shows that this does indeed unsurprizingly help,
more loops got rotated, although other issues remain elsewhere.

Now, this undoubtedly seriously shakes phase ordering.
This will undoubtedly be a mixed bag in terms of both compile- and
run- time performance, codesize. Since we no longer aggressively
hoist+deduplicate common code, we don't pay the price of said hoisting
(which wasn't big). That may allow more loops to be rotated,
so we pay that price. That, in turn, that may enable all the transforms
that require canonical (rotated) loop form, including but not limited to
vectorization, so we pay that too. And in general, no deduplication means
more [duplicate] instructions going through the optimizations. But there's still
late hoisting, some of them will be caught late.

As per benchmarks i've run {F12360204}, this is mostly within the noise,
there are some small improvements, some small regressions.
One big regression i saw i fixed in rG8d487668d09fb0e4e54f36207f07c1480ffabbfd, but i'm sure
this will expose many more pre-existing missed optimizations, as usual :S

llvm-compile-time-tracker.com thoughts on this:
http://llvm-compile-time-tracker.com/compare.php?from=e40315d2b4ed1e38962a8f33ff151693ed4ada63&to=c8289c0ecbf235da9fb0e3bc052e3c0d6bff5cf9&stat=instructions
* this does regress compile-time by +0.5% geomean (unsurprizingly)
* size impact varies; for ThinLTO it's actually an improvement

The largest fallout appears to be in GVN's load partial redundancy
elimination, it spends *much* more time in
`MemoryDependenceResults::getNonLocalPointerDependency()`.
Non-local `MemoryDependenceResults` is widely-known to be, uh, costly.
There does not appear to be a proper solution to this issue,
other than silencing the compile-time performance regression
by tuning cut-off thresholds in `MemoryDependenceResults`,
at the cost of potentially regressing run-time performance.
D84609 attempts to move in that direction, but the path is unclear
and is going to take some time.

If we look at stats before/after diffs, some excerpts:
* RawSpeed (the target) {F12360200}
  * -14 (-73.68%) loops not rotated due to the header size (yay)
  * -272 (-0.67%) `"Number of live out of a loop variables"` - good for vectorizer
  * -3937 (-64.19%) common instructions hoisted
  * +561 (+0.06%) x86 asm instructions
  * -2 basic blocks
  * +2418 (+0.11%) IR instructions
* vanilla test-suite + RawSpeed + darktable  {F12360201}
  * -36396 (-65.29%) common instructions hoisted
  * +1676 (+0.02%) x86 asm instructions
  * +662 (+0.06%) basic blocks
  * +4395 (+0.04%) IR instructions

It is likely to be sub-optimal for when optimizing for code size,
so one might want to change tune pipeline by enabling sinking/hoisting
when optimizing for size.

Reviewed By: mkazantsev

Differential Revision: https://reviews.llvm.org/D84108
The file was modifiedllvm/include/llvm/Transforms/Utils/SimplifyCFGOptions.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/common-code-hoisting.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Transforms/PhaseOrdering/loop-rotation-vs-common-code-hoisting.ll
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetMachine.cpp
The file was modifiedllvm/test/Transforms/PGOProfile/chr.ll
The file was modifiedllvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
Commit fdc902774e7ae0dae0833216500da047c7c4bec6 by llvm-dev
[DAG][AMDGPU][X86] Add SimplifyMultipleUseDemandedBits handling for SIGN/ZERO_EXTEND + SIGN/ZERO_EXTEND_VECTOR_INREG

Peek through multiple use ops like we already do for ANY_EXTEND/ANY_EXTEND_VECTOR_INREG

Differential Revision: https://reviews.llvm.org/D84863
The file was modifiedllvm/test/CodeGen/AMDGPU/bswap.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/saddsat.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fshr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot8s.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/uaddsat.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ssubsat.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-128.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/usubsat.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/idot8u.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-128.ll
Commit ee9617e96b05de04b2f189596b86c6149c807764 by spatel
[InstSimplify] try constant folding intrinsics before general simplifications

This matches the behavior of simplify calls for regular opcodes -
rely on ConstantFolding before spending time on folds with variables.

I am not aware of any diffs from this re-ordering currently, but there was
potential for unintended behavior from the min/max intrinsics because that
code is implicitly assuming that only 1 of the input operands is constant.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 71d0a2b8a31344ab29d1afd0c54d89873fb3cc9e by aeubanks
[DFSan][NewPM] Port DataFlowSanitizer to NewPM

Reviewed By: ychen, morehouse

Differential Revision: https://reviews.llvm.org/D84707
The file was addedllvm/include/llvm/Transforms/Instrumentation/DataFlowSanitizer.h
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/call.ll
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/bindings/go/llvm/InstrumentationBindings.cpp
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/Instrumentation.cpp
The file was modifiedllvm/include/llvm/Transforms/Instrumentation.h
Commit 3efc978baede3ffb4616774e3d1c722fe4128ef5 by craig.topper
[LV] Add abs/smin/smax/umin/umax intrinsics to isTriviallyVectorizable

This patch adds support for vectorizing these intrinsics.

Differential Revision: https://reviews.llvm.org/D84796
The file was modifiedllvm/test/Transforms/LoopVectorize/intrinsic.ll
The file was modifiedllvm/lib/Analysis/VectorUtils.cpp
Commit c4823b24a41b9e3552af7781e05ed1784fb84f46 by craig.topper
[X86] Add custom lowering for llvm.roundeven with sse4.1.

We can use the roundss/sd/ps/pd instructions like we do for
ceil/floor/trunc/rint/nearbyint.

Differential Revision: https://reviews.llvm.org/D84592
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/fp-strict-scalar-round.ll
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/X86/fp-roundeven.ll
Commit cd890944ad344b1b8cac58332ab11c9eec6b61e9 by yamauchi
[PGO] Remove insignificant function hash values from some tests.

This is to avoid the need to update a bunch of test files when the PGO
instrumentation function hashing changes.

Split off of D84782.

Differential Revision: https://reviews.llvm.org/D84865
The file was modifiedllvm/test/Transforms/PGOProfile/instr_entry_bb.ll
The file was modifiedllvm/test/Transforms/PGOProfile/loop1.ll
The file was modifiedllvm/test/Transforms/PGOProfile/switch.ll
The file was modifiedllvm/test/Transforms/PGOProfile/loop2.ll
The file was modifiedllvm/test/Transforms/PGOProfile/branch1.ll
The file was modifiedllvm/test/Transforms/PGOProfile/branch2.ll
The file was modifiedllvm/test/Transforms/PGOProfile/memop_size_from_strlen.ll
The file was modifiedllvm/test/Transforms/PGOProfile/criticaledge.ll
The file was modifiedllvm/test/Transforms/PGOProfile/landingpad.ll
The file was modifiedllvm/test/Transforms/PGOProfile/single_bb.ll
The file was modifiedllvm/test/Transforms/PGOProfile/PR41279.ll
The file was modifiedllvm/test/Transforms/PGOProfile/PR41279_2.ll
Commit e7196bdf81251a4df97746fd54b7db749ca99097 by aeubanks
[Scudo][CMake] Add -fno-lto to Scudo libraries

-fno-lto is in SANITIZER_COMMON_CFLAGS but not here.
Don't use SANITIZER_COMMON_CFLAGS because of performance issues.
See https://bugs.llvm.org/show_bug.cgi?id=46838.

Fixes
$ ninja TScudoCUnitTest-i386-Test
on an LLVM build with -DLLVM_ENABLE_LTO=Thin.
check-scudo now passes.

Reviewed By: cryptoad

Differential Revision: https://reviews.llvm.org/D84805
The file was modifiedcompiler-rt/lib/scudo/standalone/CMakeLists.txt
Commit 4add853647b358d9bb7f162682e806725888848b by Jonas Devlieghere
[lldb] Improve platform handling in CreateTargetInternal

Currently, `target create` has no --platform option. However,
TargetList::CreateTargetInternal which is called under the hood, will
return an error when either no platform or multiple matching platforms
are found, saying that a platform should be specified with --platform.

This patch adds the platform option, but that doesn't solve either of
these errors.

- If more than one platform matches, specifying the platform isn't
   going to fix that. The current code will only look at the
   architecture instead. I've updated the error message to ask the user
   to specify an architecture.

- If no architecture is found, specifying a new one via platform isn't
   going to change that either because we already try to find one that
   matches the given architecture.

Differential revision: https://reviews.llvm.org/D84809
The file was modifiedlldb/test/API/commands/target/basic/TestTargetCommand.py
The file was addedlldb/test/API/commands/target/basic/bogus.yaml
The file was modifiedlldb/source/Target/TargetList.cpp
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp
Commit 276f9e8cfaf306d65ac7246e91422004d4bdf54a by aheejin
[WebAssembly] Fix getBottom for loops

When it was first created, CFGSort only made sure BBs in each
`MachineLoop` are sorted together. After we added exception support,
CFGSort now also sorts BBs in each `WebAssemblyException`, which
represents a `catch` block, together, and
`Region` class was introduced to be a thin wrapper for both
`MachineLoop` and `WebAssemblyException`.

But how we compute those loops and exceptions is different.
`MachineLoopInfo` is constructed using the standard loop computation
algorithm in LLVM; the definition of loop is "a set of BBs that are
dominated by a loop header and have a path back to the loop header". So
even if some BBs are semantically contained by a loop in the original
program, or in other words dominated by a loop header, if they don't
have a path back to the loop header, they are not considered a part of
the loop. For example, if a BB is dominated by a loop header but
contains `call abort()` or `rethrow`, it wouldn't have a path back to
the header, so it is not included in the loop.

But `WebAssemblyException` is wasm-specific data structure, and its
algorithm is simple: a `WebAssemblyException` consists of an EH pad and
all BBs dominated by the EH pad. So this scenario is possible: (This is
also the situation in the newly added test in cfg-stackify-eh.ll)

```
Loop L: header, A, ehpad, latch
Exception E: ehpad, latch, B
```
(B contains `abort()`, so it does not have a path back to the loop
header, so it is not included in L.)

And it is sorted in this order:
```
header
A
ehpad
latch
B
```

And when CFGStackify places `end_loop` or `end_try` markers, it
previously used `WebAssembly::getBottom()`, which returns the latest BB
in the sorted order, and placed the marker there. So in this case the
marker placements will be like this:
```
loop
  header
  try
    A
  catch
    ehpad
    latch
end_loop         <-- misplaced!
    B
  end_try
```
in which nesting between the loop and the exception is not correct.
`end_loop` marker has to be placed after `B`, and also after `end_try`.

Maybe the fundamental way to solve this problem is to come up with our
own algorithm for computing loop region too, in which we include all BBs
dominated by a loop header in a loop. But this takes a lot more effort.
The only thing we need to fix is actually, `getBottom()`. If we make it
return the right BB, which means in case of a loop, the latest BB of the
loop itself and all exceptions contained in there, we are good.

This renames `Region` and `RegionInfo` to `SortRegion` and
`SortRegionInfo` and extracts them into their own file. And add
`getBottom` to `SortRegionInfo` class, from which it can access
`WebAssemblyExceptionInfo`, so that it can compute a correct bottom
block for loops.

Reviewed By: dschuff

Differential Revision: https://reviews.llvm.org/D84724
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
The file was modifiedllvm/lib/Target/WebAssembly/CMakeLists.txt
The file was modifiedllvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
The file was addedllvm/lib/Target/WebAssembly/WebAssemblySortRegion.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp
The file was addedllvm/lib/Target/WebAssembly/WebAssemblySortRegion.h
Commit 0c4ea2751051493bd71ffdb8dfe5af89a2324c24 by llvmgnsyncbot
[gn build] Port 276f9e8cfaf
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn
Commit 90b76dac57861e438880a260834afb193e603c5a by Matthew.Arsenault
GloblaISel: Remove unreachable condition

Fixes bug 46882
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp

Summary

  1. Initial deployment of windows buildbot (details)
Commit f7022d564ac8ef4e6d9d5caa4bd90d0ef7d31860 by kuhnel
Initial deployment of windows buildbot

Differential Revision: https://reviews.llvm.org/D82890
The file was modifiedbuildbot/google/config.sh
The file was addedbuildbot/google/terraform/.gitignore
The file was modifiedbuildbot/google/terraform/README.md
The file was modifiedbuildbot/google/terraform/main.tf