SuccessChanges

Summary

  1. [InstSimplify] Fix addo/subo with undef (PR43188) (details)
  2. [Target] Use llvm::append_range (NFC) (details)
  3. [Target] Construct SmallVector with iterator ranges (NFC) (details)
  4. [llvm] Call *(Set|Map)::erase directly (NFC) (details)
Commit f094d65beaa492e845b03561eddd75b5be653a01 by nikita.ppv
[InstSimplify] Fix addo/subo with undef (PR43188)

We can't fold the first result to undef, because not all values
may be reachable under the constraint that no overflow occurred.
Use the same folds we do for saturated math instead.

Proofs:
uaddo: https://alive2.llvm.org/ce/z/zf55N_
saddo: https://alive2.llvm.org/ce/z/a_xPgS
usubo: https://alive2.llvm.org/ce/z/DmRqwt
ssubo: https://alive2.llvm.org/ce/z/8ag7U-
The file was modifiedllvm/test/Transforms/InstCombine/with_overflow.ll
The file was modifiedllvm/test/Transforms/InstSimplify/call.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 985f899bf2cc70aeb383a46c6a84aa634677bca2 by kazu
[Target] Use llvm::append_range (NFC)
The file was modifiedllvm/lib/Target/BPF/BPFAdjustOpt.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600MachineScheduler.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
Commit 0e219b6443b2a1359cf0096e96b1e74eb60613fc by kazu
[Target] Construct SmallVector with iterator ranges (NFC)
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
The file was modifiedllvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
Commit ba82c0b3157b7397c938215b6a0582acc324c760 by kazu
[llvm] Call *(Set|Map)::erase directly (NFC)

We can erase an item in a set or map without checking its membership
first.
The file was modifiedllvm/lib/Analysis/AssumptionCache.cpp
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp
The file was modifiedllvm/lib/Transforms/Scalar/GVNSink.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/lib/Transforms/IPO/IROutliner.cpp