SuccessChanges

Summary

  1. jenkins/tasks: virtualenv: Use the Python3 interpreter (details)
Commit 92122d159f7294fc3534d16354385cd42837ff4c by Azharuddin Mohammed
jenkins/tasks: virtualenv: Use the Python3 interpreter
The file was modifiedtasks/utils/venv.sh (diff)

Summary

  1. Do actual DCE in LoopUnroll (try 3) (details)
  2. [AArch64][SVE] Implement extractelement of i1 vectors. (details)
  3. [ADT] Factor out in_place_t and expose in Optional ctor (details)
  4. [ADT] Add new type traits for type pack indexes (details)
  5. Revert "Reset the wakeup timeout when we re-enter the continue wait." (details)
  6. [clang][AVR] Redefine [u]int16_t to be compatible with avr-gcc (details)
  7. [RISCV][test] Add new tests of or/xor in the zbs extension (details)
  8. [LV] Unconditionally branch from middle to scalar preheader if the scalar loop must execute (details)
Commit b6320eeb8622f05e4a5d4c7f5420523357490fca by listmail
Do actual DCE in LoopUnroll (try 3)

Recommitting after fixing a bug found post commit.  Amusingly, try 1 had been correct, and by reverting to incorporate last minute review feedback, I introduce the bug.  Oops.  :)

The problem was that recursively deleting an instruction can delete instructions beyond the current iterator (via a dead phi), thus invalidating iteration.  Test case added in LoopUnroll/dce.ll to cover this case.

LoopUnroll does a limited DCE pass after unrolling, but if you have a chain of dead instructions, it only deletes the last one. Improve the code to recursively delete all trivially dead instructions.

Differential Revision: https://reviews.llvm.org/D102511
The file was modifiedllvm/test/Transforms/LoopUnroll/unroll-header-exiting-with-phis.ll
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
The file was modifiedllvm/test/Transforms/LoopUnroll/pr45939-peel-count-and-complete-unroll.ll
The file was addedllvm/test/Transforms/LoopUnroll/dce.ll
The file was modifiedllvm/test/Transforms/LoopUnrollAndJam/unroll-and-jam.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/AArch64/full-unroll-trip-count-upper-bound.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/scevunroll.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/unroll-unconditional-latch.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/nonlatchcondbr.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/optsize-loop-size.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/full-unroll-invariant.ll
Commit 3dd49ec1948b8be0b025e1558071506a58454722 by efriedma
[AArch64][SVE] Implement extractelement of i1 vectors.

The implementation just extends the vector to a larger element type, and
extracts from that.  Not fancy, but generates reasonable code.

There was discussion in the review of doing the promotion in
target-independent code, but I'm sticking with this to avoid making
LegalizeDAG infrastructure more complicated.

Differential Revision: https://reviews.llvm.org/D87651
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-extract-element.ll
Commit af5247c9347dcf1e30443786bdddf23ca705867a by scott.linder
[ADT] Factor out in_place_t and expose in Optional ctor

Differential Revision: https://reviews.llvm.org/D100671
The file was modifiedclang/include/clang/Basic/DirectoryEntry.h
The file was modifiedllvm/unittests/ADT/OptionalTest.cpp
The file was modifiedllvm/include/llvm/ADT/STLForwardCompat.h
The file was modifiedllvm/include/llvm/ADT/Optional.h
Commit a6d3987b8ef3b7616f0835b89515c4264f2a7a64 by scott.linder
[ADT] Add new type traits for type pack indexes

Similar versions of these already exist, this effectively just just
factors them out into STLExtras. I plan to use these in future patches.

Differential Revision: https://reviews.llvm.org/D100672
The file was modifiedllvm/unittests/ADT/STLExtrasTest.cpp
The file was modifiedllvm/include/llvm/ADT/PointerUnion.h
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
Commit 82a38837150099288a1262391ef43e1fd69ffde4 by jingham
Revert "Reset the wakeup timeout when we re-enter the continue wait."

This reverts commit bd5751f3d249ec0798060bd98c07272174c52af0.
This patch series is causing us to every so often miss switching
the state from eStateRunning to eStateStopped when we get the stop
packet from the debug server.

Reverting till I can figure out how that could be happening.
The file was modifiedlldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modifiedlldb/source/Target/TargetProperties.td
The file was modifiedlldb/include/lldb/Target/Process.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
The file was addedlldb/test/API/functionalities/gdb_remote_client/TestHaltFails.py
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
The file was modifiedlldb/source/Target/Process.cpp
The file was modifiedlldb/unittests/tools/lldb-server/tests/TestClient.cpp
The file was modifiedlldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
The file was modifiedlldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp
Commit b99e2c56166a3a74ac9c49512c584d5b158ac9c6 by powerman1st
[clang][AVR] Redefine [u]int16_t to be compatible with avr-gcc

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D102547
The file was modifiedclang/lib/Basic/TargetInfo.cpp
The file was modifiedclang/lib/Basic/Targets/AVR.cpp
The file was modifiedclang/lib/Basic/Targets/AVR.h
The file was modifiedclang/lib/Frontend/InitPreprocessor.cpp
The file was modifiedclang/include/clang/Basic/TargetInfo.h
Commit 3cf7983cbe4aba26487709184a0062a6f59aaa9e by powerman1st
[RISCV][test] Add new tests of or/xor in the zbs extension

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D102625
The file was modifiedllvm/test/CodeGen/RISCV/rv32zbs.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64zbs.ll
Commit c23ce54b36b1a52eb280ea1d59802b56d6dd9800 by listmail
[LV] Unconditionally branch from middle to scalar preheader if the scalar loop must execute

This is a resubmit of 3e5ce4 (which was reverted by 7fe41ac).  The original commit caused a PPC build bot failure we never really got to the bottom of.  I can't reproduce the issue, and the bot owner was non-responsive.  In the meantime, we stumbled across an issue which seems possibly related, and worked around a latent bug in 80e8025.  My best guess is that the original patch exposed that latent issue at higher frequency, but it really is just a guess.

Original commit message follows...

If we know that the scalar epilogue is required to run, modify the CFG to end the middle block with an unconditional branch to scalar preheader. This is instead of a conditional branch to either the preheader or the exit block.

The motivation to do this is to support multiple exit blocks. Specifically, the current structure forces us to identify immediate dominators and *which* exit block to branch from in the middle terminator. For the multiple exit case - where we know require scalar will hold - these questions are ill formed.

This is the last change needed to support multiple exit loops, but since the diffs are already large enough, I'm going to land this, and then enable separately. You can think of this as being NFCIish prep work, but the changes are a bit too involved for me to feel comfortable tagging the review that way.

Differential Revision: https://reviews.llvm.org/D94892
The file was modifiedllvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
The file was modifiedllvm/lib/Transforms/Utils/LoopVersioning.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/loop-form.ll

Summary

  1. jenkins/tasks: virtualenv: Use the Python3 interpreter (details)
Commit 92122d159f7294fc3534d16354385cd42837ff4c by Azharuddin Mohammed
jenkins/tasks: virtualenv: Use the Python3 interpreter
The file was modifiedtasks/utils/venv.sh