Changes

Summary

  1. [MemoryLocation] Use None instead of {}. (NFC) (details)
  2. [SelectionDAG] Add newline to a debug message (details)
  3. [mlir][linalg][bufferize][NFC] Provide default implementation of getAliasingOpOperand (details)
  4. [AMDGPU] Add some more GFX10 GlobalISel test coverage (details)
  5. [fir] Add fir derived type runtime builder (details)
  6. [fir] Add fir character builder (details)
  7. [AMDGPU] Add some more GFX10 test coverage (details)
  8. [ARM] Make MVE v2i1 predicates legal (details)
  9. [mlir][linalg][bufferize][NFC] Map only tensors in BufferizationState (details)
  10. [InstSimplify] Add test case for logic 'or' fold; NFC (details)
  11. [OPENMP]Fix PR52117: Crash caused by target region inside of task construct. (details)
  12. [lldb-vscode] Report supportsModulesRequest=true (details)
  13. [TrivialDeadness] Introduce API separating two different usages (details)
  14. [PowerPC] Handle base load with reservation mnemonic (details)
  15. [libc] Fix bugs with negative and mixed normal/denormal inputs in hypot implementation. (details)
  16. [ARM] Use v2i1 for MVE and CDE intrinsics (details)
  17. [DebugInfo] Attempt to preserve more information during tail duplication (details)
  18. [clang-tidy][docs][NFC] Improve documentation of bugprone-unhandled-exception-at-new (details)
  19. [libc] Select FPUtils implementations via code instead of build (details)
  20. [MemoryLocation] Move DSE intrinsic handling to MemoryLocation. (NFC) (details)
  21. [gn build] Build with Fission on non-mac non-win when using lld (details)
  22. [libc] Fix invalid include for SqrtLongDouble.h (details)
  23. [ARM] Replace if's with a switch, NFC (details)
  24. [ARM] Separate ARM autoupgrade code into a separate function (details)
  25. [LLDB] XFAIL on Arm/Linux minidebuginfo-set-and-hit-breakpoint.test (details)
  26. [IR][AutoUpgrade] Merge x86 mask load intrinsic upgrades. NFC. (details)
Commit af86aa798083e483311d0d661d3f8a84936d0494 by flo
[MemoryLocation] Use None instead of {}. (NFC)
The file was modifiedllvm/lib/Analysis/MemoryLocation.cpp
Commit d133a21b71316175bab2f616f57727801daae471 by jay.foad
[SelectionDAG] Add newline to a debug message
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Commit ed8c63115ed7bdb31812a7a02dc8480def0a1ea4 by springerm
[mlir][linalg][bufferize][NFC] Provide default implementation of getAliasingOpOperand

This simplifies op interface implementations.

Differential Revision: https://reviews.llvm.org/D115025
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ArithInterfaceImpl.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.td
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/VectorInterfaceImpl.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/BufferizationInterfaceImpl.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ModuleBufferization.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/SCFInterfaceImpl.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/LinalgInterfaceImpl.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/TensorInterfaceImpl.cpp
Commit b29b6f92af29f677cc096ff80c48d1e6e6c1138a by jay.foad
[AMDGPU] Add some more GFX10 GlobalISel test coverage
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.init.exec.wave32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir
Commit c32421c925131da39f028d3ea39a6cc5e9e1b365 by clementval
[fir] Add fir derived type runtime builder

This patch adds the builder to generate derived type runtime API calls.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: rovka

Differential Revision: https://reviews.llvm.org/D114472

Co-authored-by: Peter Klausler <pklausler@nvidia.com>
Co-authored-by: Jean Perier <jperier@nvidia.com>
The file was addedflang/include/flang/Optimizer/Builder/Runtime/Derived.h
The file was addedflang/unittests/Optimizer/Builder/Runtime/DerivedTest.cpp
The file was modifiedflang/lib/Optimizer/Builder/CMakeLists.txt
The file was addedflang/lib/Optimizer/Builder/Runtime/Derived.cpp
The file was modifiedflang/unittests/Optimizer/CMakeLists.txt
Commit d59a0f58f49a4289a7bbef2855cc0d5845715a2b by clementval
[fir] Add fir character builder

This patch adds the FIR builder to generate the numeric intrinsic
runtime call.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: rovka

Differential Revision: https://reviews.llvm.org/D114900

Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: mleair <leairmark@gmail.com>
The file was modifiedflang/lib/Optimizer/Builder/CMakeLists.txt
The file was addedflang/lib/Optimizer/Builder/Runtime/Character.cpp
The file was addedflang/unittests/Optimizer/Builder/Runtime/CharacterTest.cpp
The file was modifiedflang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
The file was modifiedflang/unittests/Optimizer/CMakeLists.txt
The file was addedflang/include/flang/Optimizer/Builder/Runtime/Character.h
Commit b670dcb81b035babf92d8e6433d89c810ba97d59 by jay.foad
[AMDGPU] Add some more GFX10 test coverage
The file was modifiedllvm/test/CodeGen/AMDGPU/add.v2i16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.exec.wave32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/add.ll
Commit 255ad7342436ff4901d39579f694857f83386dad by david.green
[ARM] Make MVE v2i1 predicates legal

MVE can treat v16i1, v8i1, v4i1 and v2i1 as different views onto the
same 16bit VPR.P0 register, with v2i1 holding two 8 bit values for the
two halves. This was never treated as a legal type in llvm in the past
as there are not many 64bit instructions and no 64bit compares. There
are a few instructions that could use it though, notably a VSELECT (as
it can handle any size using the underlying v16i8 VPSEL), AND/OR/XOR for
similar reasons, some gathers/scatter and long multiplies and VCTP64
instructions.

This patch goes through and makes v2i1 a legal type, handling all the
cases that fall out of that. It also makes VSELECT legal for v2i64 as a
side benefit. A lot of the codegen changes as a result - usually in way
that is a little better or a little worse, but still expensive. Costs
can change a little too in the process, again in a way that expensive
things remain expensive. A lot of the tests that changed are mainly to
ensure correctness - the code can hopefully be improved in the future
where it comes up in practice.

The intrinsics currently remain using the v4i1 they previously did to
emulate a v2i1. This will be changed in a followup patch but this one
was already large enough.

Differential Revision: https://reviews.llvm.org/D114449
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpr.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fptosi-sat-vector.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-or.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-smax.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-smin.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-minmaxi.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-shuffle.ll
The file was modifiedllvm/test/CodeGen/Thumb2/active_lane_mask.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-and.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vpsel.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-xor.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-mlapred.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmovimm.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vqmovn.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/select.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-saturating-arith.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-masked-load.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-vselect.ll
The file was modifiedllvm/lib/Target/ARM/ARMRegisterInfo.td
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-bitcast.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-masked-ldst.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/arith-overflow.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-umin.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/arith-usat.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/mve-abs.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-build-const.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-umax.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vctp.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-minmax.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-build-var.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/mve-minmax.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-spill.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-laneinterleaving.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-intrinsics/predicates.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vselect-constants.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-ext.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-addpred.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpz.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vabdus.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/arith-ssat.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-not.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-masked-store.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-loadstore.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmp.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-const.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fptoui-sat-vector.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vqshrn.ll
Commit e359a1e5486bd1e800ad699ad7957bf324539590 by springerm
[mlir][linalg][bufferize][NFC] Map only tensors in BufferizationState

BufferizationState had map/lookup overloads for non-tensor values. This was necessary for IREE. There is now a better way to do this, so these overloads can be removed.

Differential Revision: https://reviews.llvm.org/D114929
The file was modifiedmlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.h
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.cpp
Commit 54dc03b97bfac40dacd8a0cb5f03381842b20422 by mehrnoosh.heidarpour
[InstSimplify] Add test case for logic 'or' fold; NFC
The file was modifiedllvm/test/Transforms/InstSimplify/or.ll
Commit f6279562dae456f6c58d5f7484ba4bae5c2071fa by a.bataev
[OPENMP]Fix PR52117: Crash caused by target region inside of task construct.

Need to do the analysis of the captured expressions in the clauses.
Previously the compiler ignored them and it may lead to a compiler crash
trying to get the address of the mapped variables.

Differential Revision: https://reviews.llvm.org/D114546
The file was addedclang/test/OpenMP/task_target_device_codegen.c
The file was modifiedclang/test/OpenMP/taskloop_codegen.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/test/Analysis/cfg-openmp.cpp
Commit 049530129326f9b0bfa9ce6a762c6cb180974ac5 by weratt
[lldb-vscode] Report supportsModulesRequest=true

The adapter does support `Modules` request, implemented in 39239f9.

Reviewed By: wallace

Differential Revision: https://reviews.llvm.org/D115033
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp
Commit 72750f00121eb10f27ccd62270e5695d9e3322a5 by anna
[TrivialDeadness] Introduce API separating two different usages

The earlier usage of wouldInstructionBeTriviallyDead is based on the
assumption that the use_count of that instruction being checked will be
zero. This patch separates the API into two different ones:

1. The strictly conservative one where the instruction is trivially dead iff the uses are dead.
2. The slightly relaxed form, where an instruction is dead along paths where it is not used.

The second form can be used in identifying instructions that are valid
to sink down to uses (D109917).

Reviewed-By: reames
Differential Revision: https://reviews.llvm.org/D114647
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/Local.h
Commit d6c0ef78876dc3204b0a6d92119b15aa9cd12af3 by nemanja.i.ibm
[PowerPC] Handle base load with reservation mnemonic

The Power ISA defined l[bhwdq]arx as both base and
extended mnemonics. The base mnemonic takes the EH
bit as an operand and the extended mnemonic omits
it, making it implicitly zero. The existing
implementation only handles the base mnemonic when
EH is 1 and internally produces a different
instruction. There are historical reasons for this.
This patch simply removes the limitation introduced
by this implementation that disallows the base
mnemonic with EH = 0 in the ASM parser.

This resolves an issue that prevented some files
in the Linux kernel from being built with
-fintegrated-as.

Also fix a crash if the value is not an integer immediate.
The file was modifiedllvm/test/MC/PowerPC/ppc64-encoding-bookII.s
The file was modifiedllvm/test/CodeGen/PowerPC/inline-asm-label.ll
The file was modifiedllvm/test/MC/PowerPC/ppc64-errors.s
The file was modifiedllvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
Commit dbed678f4be29107d9848c3716f54bca3ec266bc by lntue
[libc] Fix bugs with negative and mixed normal/denormal inputs in hypot implementation.

Fix a bug with negative and mixed normal/denormal inputs in hypot implementation.

Differential Revision: https://reviews.llvm.org/D114726
The file was modifiedlibc/test/src/math/HypotTest.h
The file was modifiedlibc/src/__support/FPUtil/Hypot.h
Commit ab0c5cea0b1a9a1227fea840184dd7b5983c22a5 by david.green
[ARM] Use v2i1 for MVE and CDE intrinsics

This adjusts all the MVE and CDE intrinsics now that v2i1 is a legal
type, to use a <2 x i1> as opposed to emulating the predicate with a
<4 x i1>. The v4i1 workarounds have been removed leaving the natural
v2i1 types, notably in vctp64 which now generates a v2i1 type.

AutoUpgrade code has been added to upgrade old IR, which needs to
convert the old v4i1 to a v2i1 be converting it back and forth to an
integer with arm.mve.v2i and arm.mve.i2v intrinsics. These should be
optimized away in the final assembly.

Differential Revision: https://reviews.llvm.org/D114455
The file was modifiedllvm/include/llvm/IR/IntrinsicsARM.td
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
The file was modifiedclang/test/CodeGen/arm-cde-vec.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vldr.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/predicates.c
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/cde-vec.ll
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp
The file was modifiedclang/utils/TableGen/MveEmitter.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/active_lane_mask.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-intrinsics/predicates.ll
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vqdmulltq.c
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/ARM/vctp-chains.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-intrinsics/v2i1-upgrade.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-intrinsics/vmullbq.ll
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vmullbq.c
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/ARM/vctp-chains-inseltpoison.ll
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vld24.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vqdmullbq.c
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/test/Transforms/InstCombine/ARM/mve-v2i2v.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-intrinsics/vqdmull.ll
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vmulltq.c
The file was modifiedllvm/test/CodeGen/Thumb2/mve-intrinsics/vmulltq.ll
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/scatter-gather.c
The file was modifiedllvm/test/CodeGen/Thumb2/mve-intrinsics/scatter-gather.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-intrinsics/vldr.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gatherscatter-mmo.ll
The file was modifiedllvm/test/Transforms/InstSimplify/ConstProp/ARM/mve-vctp.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vctp.ll
Commit 98a021fcbfe104f98c7b67c35af4bbbccc3c1b8f by stephen.tozer
[DebugInfo] Attempt to preserve more information during tail duplication

Prior to this patch, tail duplication handled debug info poorly -
specifically, debug instructions would be dropped instead of being set
undef, potentially extending the lifetimes of prior debug values that
should be killed. The pass was also very aggressive with dropping debug
info, dropping debug info even when the SSA value it referred to was
still present. This patch attempts to handle debug info more carefully,
checking to see whether each affected debug value can still be live,
setting it undef if not.

Reviewed By: jmorse

Differential Revision: https://reviews.llvm.org/D106875
The file was modifiedllvm/include/llvm/CodeGen/MachineSSAUpdater.h
The file was modifiedllvm/test/CodeGen/X86/tail-dup-debugvalue.mir
The file was modifiedllvm/lib/CodeGen/MachineSSAUpdater.cpp
The file was modifiedllvm/lib/CodeGen/TailDuplicator.cpp
Commit 1cefe91d40aef043ec949c6ddb053b47b4d5b8e6 by 1.int32
[clang-tidy][docs][NFC] Improve documentation of bugprone-unhandled-exception-at-new

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D114602
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/bugprone-unhandled-exception-at-new.rst
Commit 71405d90f042792c243d6c134c5cc2bc23853980 by gchatelet
[libc] Select FPUtils implementations via code instead of build

We want to simplify the build system and rely on code to do the implementation selection.
This is in preparation of adding a Bazel configuration (D114712).

Differential Revision: https://reviews.llvm.org/D115034
The file was modifiedlibc/src/__support/FPUtil/x86_64/FEnvImpl.h
The file was addedlibc/src/__support/FPUtil/x86_64/LongDoubleBits.h
The file was modifiedlibc/src/__support/FPUtil/CMakeLists.txt
The file was modifiedlibc/src/__support/FPUtil/Sqrt.h
The file was removedlibc/src/__support/FPUtil/LongDoubleBitsX86.h
The file was removedlibc/src/__support/FPUtil/DummyFEnvImpl.h
The file was addedlibc/src/__support/FPUtil/FEnvImpl.h
The file was modifiedlibc/src/__support/FPUtil/FMA.h
The file was modifiedlibc/src/__support/FPUtil/FPBits.h
The file was removedlibc/src/__support/FPUtil/SqrtLongDoubleX86.h
The file was addedlibc/src/__support/FPUtil/x86_64/SqrtLongDouble.h
The file was modifiedlibc/src/__support/FPUtil/x86_64/FMA.h
The file was addedlibc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
The file was modifiedlibc/src/__support/FPUtil/ManipulationFunctions.h
The file was modifiedlibc/src/__support/FPUtil/aarch64/FEnvImpl.h
The file was modifiedlibc/src/__support/FPUtil/aarch64/FMA.h
The file was removedlibc/src/__support/FPUtil/NextAfterLongDoubleX86.h
Commit ead3979a92fc33add4710c4510d6906260dcb4ad by flo
[MemoryLocation] Move DSE intrinsic handling to MemoryLocation. (NFC)

Suggested in D114872.
The file was modifiedllvm/lib/Analysis/MemoryLocation.cpp
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Commit 1217b4b46fce698cfbc869ec0f43b074f3f5f874 by thakis
[gn build] Build with Fission on non-mac non-win when using lld

In release+sym builds (-O2 -g), reduces time to link `clang`
from 2.3s to 1.3s (-42%).

In debug builds (-g), reduces time to link `clang`
from 5.4s to 4.5s (-17.4%).

See the phab review for full `ministat` numbers.

In the CMake build this is opt-in via LLVM_USE_SPLIT_DWARF.
Since the GN build is targeted at developers, enabling it by default
seems like a better default setting here. (If it turns out to cause
problems, we can add an opt-out.)

Time to load the binary into gdb and to set a breakpoint is unchanged.
Time from `run` to hitting a breakpoint in `main` feel a bit faster
(~4s -> ~2s), but I dind't do a careful statistical anlysis for this.

Differential Revision: https://reviews.llvm.org/D115040
The file was modifiedllvm/utils/gn/build/BUILD.gn
Commit b902b314ffa7ee3a13e2b1cfcfe28a946904b2ce by gchatelet
[libc] Fix invalid include for SqrtLongDouble.h
The file was modifiedlibc/src/__support/FPUtil/x86_64/SqrtLongDouble.h
Commit 11f67f5a2c286e33fece6c56cd5333549307549a by david.green
[ARM] Replace if's with a switch, NFC

I'm not having a lot of luck with the microosft compiler recently. Maybe
this will help it with its errors:
llvm\lib\IR\AutoUpgrade.cpp(3726): fatal error C1061: compiler limit: blocks nested too deeply

If not, it's a good code cleanup anyway.
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
Commit 08035000cd08ad7269466f35716aad113e823c4b by david.green
[ARM] Separate ARM autoupgrade code into a separate function

Try to appease the microsoft compiler which is apparently running out of
if statements. Separate the new ARM code into a separate function to
keep it simpler.
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
Commit 80792368bb87eeb9e2042e37337e0f5b1e5abc4b by omair.javaid
[LLDB] XFAIL on Arm/Linux minidebuginfo-set-and-hit-breakpoint.test

minidebuginfo-set-and-hit-breakpoint.test is failing on Arm/Linux most
probably due to an ill formed binary after removal of certain sections
from executable. I am marking it as XFAIL for further investigation.
The file was modifiedlldb/test/Shell/ObjectFile/ELF/minidebuginfo-set-and-hit-breakpoint.test
Commit 74cc0fa1db74d678436020a64a8ca0e9e99954d1 by llvm-dev
[IR][AutoUpgrade] Merge x86 mask load intrinsic upgrades. NFC.

Helps appease MSVC which is complaining about "fatal error C1061: compiler limit: blocks nested too deeply" - we already do the same thing for avx512.mask.store intrinsics.

This is only a stopgap solution until another else-if case needs adding - we really need to refactor this chain of ifs properly.
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp