All,
During Connect the suggestion was made that each working group should have
its own IRC Channel for discussions and topics relating to the group in
particular (as opposed to #linaro which is 'generic' Linaro conversations).
Therefore I have just set up #linaro-tcwg on Freenode for the Toolchain
Working Group.
This channel is public and open to anyone who wants to talk with the TCWG
group about anything toolchain related.
Thanks,
Matt
--
Matthew Gretton-Dann
Toolchain Working Group, Linaro
Folks,
I am pleased to announce the move of libc++ to pre-commit CI. Over the past
few months, we have set up Buildkite jobs on top of the Phabricator
integration built by Mikhail and Christian, and we now run almost all of
the libc++ build bots whenever a Phabricator review is created. The bots
also run when a commit is pushed to the master branch, similarly to the
existing Buildbot setup. You can see the libc++ pipeline in action here:
https://buildkite.com/llvm-project/libcxx-ci.
This is great -- we’ve been waiting to set up pre-commit CI for a long
time, and we’ve seen a giant productivity gain since it’s up. I think
everyone who contributes to libc++ greatly benefits, seeing how reviews are
now used to trigger CI and improve our confidence in changes.
This change does have an impact on existing build bots that are not owned
by one of the libc++ maintainers. While I transferred the build bots that
we owned (which Eric had set up) to Buildkite, the remaining build bots
will have to be moved to Buildkite by their respective owners. These builds
bots are (owners in CC):
libcxx-libcxxabi-x86_64-linux-debian
libcxx-libcxxabi-x86_64-linux-debian-noexceptions
libcxx-libcxxabi-libunwind-x86_64-linux-debian
libcxx-libcxxabi-singlethreaded-x86_64-linux-debian
libcxx-libcxxabi-libunwind-armv7-linux
libcxx-libcxxabi-libunwind-armv8-linux
libcxx-libcxxabi-libunwind-armv7-linux-noexceptions
libcxx-libcxxabi-libunwind-armv8-linux-noexceptions
libcxx-libcxxabi-libunwind-aarch64-linux
libcxx-libcxxabi-libunwind-aarch64-linux-noexceptions
The process of moving these bots over to Buildkite is really easy. Please
take a look at the documentation at
https://libcxx.llvm.org/docs/AddingNewCIJobs.html#addingnewcijobs and
contact me if you need additional help.
To make sure we get the full benefits of pre-commit CI soon, I would like
to put a cutoff date on supporting the old libc++ builders at
http://lab.llvm.org:8011/builders. I would propose that after January 1st
2021 (approx. 1 month from now), the libc++ specific build bots at
lab.llvm.org be removed in favor of the Buildkite ones. If you currently
own a bot, please make sure to add an equivalent Buildkite bot by that
cutoff date to make sure your configuration is still supported, or let me
know if you need an extension.
Furthermore, with the ease of creating new CI jobs with this
infrastructure, we will consider any libc++ configuration not covered by a
pre-commit bot as not explicitly supported. It doesn’t mean that such
configurations won’t work -- it just means that we won’t be making bold
claims about supporting configurations we’re unable to actually test. So if
you care about a configuration, please open a discussion and let’s see how
we can make sure it's tested properly!
I am thrilled to be moving into the pre-commit CI era. The benefits we see
so far are huge, and we're loving it.
Thanks,
Louis
PS: This has nothing to do with a potential move or non-move to GitHub. The
current pre-commit CI works with Phabricator, and would work with GitHub if
we decided to switch. Let’s try to keep those discussions separate :-).
PPS: We’re still aiming to support non libc++ specific Buildbots. For
example, if something in libc++ breaks a Clang bot, we’ll still be
monitoring that. I’m just trying to move the libc++-specific configurations
to pre-commit.
(or the 10 days preceding Christmas)
[UM-61 TCG Maint]
New version of tcg constants patch set.
TCG backend constraints cleanup.
ARM NEON host patch set.
[UM-2 QEMU Maint]
Fixed tcg gvec bug vs hosts without vector support.
Rebase and re-send pauth impdef algorithm.
Patch review: mips, riscv. gdbstub.
r~
VirtIO RPMB ([STR-5])
=====================
- Continued working on Rust port of vhost-user-rpmb
- Re-based and updated the [QEMU based branch]
[QEMU based branch]
<https://github.com/stsquad/qemu/tree/virtio/vhost-user-rpmb-v2>
QEMU Support for Xen ([STR-20])
===============================
- re-based and continued to work on Xen development environment
- with my [current branch] I can now boot domU inside dom0
- also can now run qemu-aarch64 as a Dom0 PV backend
[branch to clean-up and add "virt" machine]
<https://github.com/stsquad/qemu/tree/xen/add-xen-virt-machine>
[current branch]
<https://github.com/stsquad/qemu/tree/xen/guest-loader-and-arm-build-cleanup…>
QEMU Device and Machine Models ([QEMU-418])
===========================================
- created new initiative for tracking work both in and outside group
- we don't want another watchdog duplication
- worked on refining definition for [CPU model for QEMU]
- wrote to Linaro open discussion list to canvas members
requirements Message-Id: <878saesi0x.fsf(a)linaro.org>
[QEMU-418] <https://projects.linaro.org/browse/QEMU-418>
[CPU model for QEMU] <https://projects.linaro.org/browse/QEMU-414>
QEMU Upstream Work ([UM-2])
===========================
- posted [RFC PATCH] configure: add --without-default-features
Message-Id: <20201202153827.17446-1-alex.bennee(a)linaro.org>
- posted [PATCH v2 0/8] testing/next (without-features, gitlab,
python) Message-Id: <20201210190417.31673-1-alex.bennee(a)linaro.org>
- posted [PATCH v1 0/6] gdbstub (auxv, tests, cleanup) Message-Id:
<20201214153012.12723-6-alex.bennee(a)linaro.org>
- posted [PULL 00/11] testing and configure updates Message-Id:
<20201216164827.24457-1-alex.bennee(a)linaro.org>
- posted [PULL v2 00/11] testing and configure updates Message-Id:
<20201217094330.17400-1-alex.bennee(a)linaro.org>
- still stalled due to some stale build issues (unable to repro)
- posted [PATCH v2 0/9] gdbstub/next (cleanups, softmmu, SVE)
Message-Id: <20201218112707.28348-1-alex.bennee(a)linaro.org>
[UM-2] <https://projects.linaro.org/browse/UM-2>
Other work
==========
- bootstrapped gitdm metadata for GCC project
- planning for Stratos/QEMU Next Cycle
- declared bankruptcy on my review queue, flushed most of it
Completed Reviews [5/5]
=======================
[PATCH v4 00/11] hvf: Implement Apple Silicon Support
Message-Id: <20201203234857.21051-2-agraf(a)csgraf.de>
[RFC v9 00/22] i386 cleanup
Message-Id: <20201208194839.31305-1-cfontana(a)suse.de>
[PATCH 0/3] hw/arm: sabrelite: Improve emulation fidelity to allow booting upstream U-Boot
Message-Id: <1607937538-69471-1-git-send-email-bmeng.cn(a)gmail.com>
[PATCH 0/2] Fix test-char reference counting bug
Message-Id: <20201215224133.3545901-1-ehabkost(a)redhat.com>
[PATCH 0/8] Add RISC-V semihosting 0.2. Finish ARM semihosting 2.0
Message-Id: <20201125213617.2496935-1-keithp(a)keithp.com>
Absences
========
- Back on Jan 5th, Happy Christmas
Current Review Queue
====================
* [PATCH v5 00/23] tcg: Better handling of constants
Message-Id: <20201217145215.534637-1-richard.henderson(a)linaro.org>
Added: <2020-12-17 Thu>
* [PATCHv3 00/17] ARMv8.4 Secure EL2
Message-Id: <3333301.iIbC2pHGDl(a)basile.remlab.net>
Added: <2020-12-08 Tue>
* [PATCH v2 0/7] xen/arm: Unbreak ACPI
Message-Id: <20201023154156.6593-1-julien(a)xen.org>
Added: <2020-10-24 Sat>
* [PATCH v6 0/5] Enable plugin support on msys2/mingw
Message-Id: <20201013002806.1447-1-luoyonggang(a)gmail.com>
Added: <2020-10-13 Tue>
--
Alex Bennée
== This Week ==
* PR97872 (missed optimization for comparison on vectors)
- Committed fix to trunk
* PR97903 (Lower a & b != 0 to vtst)
- In progress
* PR66791 (Replace builtins by vector extensions in arm_neon.h intrinsics)
- Committed patches for vmvn
- Patches approved for vcreate, vneg, vclt, vcgt.
== Next Week ==
- PR97903
- PR66791: Commit approved patches and work on new intrinsics
Progress:
* UM-2 [QEMU upstream maintainership]
+ sent out a pullreq for 6.0, and did a bunch more patch review
+ sent out a respin of the "build one manual, not five" RFC I sent last
month; nobody objected to the RFC so this time around it is a proper
PATCH
+ had a brief scan through the GIC architecture specification to look
at what extra GICv4 and GICv4.1 add (the big thing is that the ITS is
now mandatory; QEMU doesn't emulate that yet)
* VIRT-364 [QEMU support for ARMv8.1-M extensions]
+ SSE-300 timer device model more or less functionally-complete (though
untested). I ran into some issues with QEMU's Clock APIs that I needed
to fix in the process -- sent a patchseries trying to address those.
+ Got most of the outstanding v8.1M patches into master; sent a small
patch series with respins of the last 4 or so patches that needed
more work
thanks
-- PMM
== Progress ==
* GCC upstream validation:
- reported several regressions/new failures
* GCC
- Neon intrinsics: vceqq, vceqz and vceqzq for p64 patch: no feedback
- MVE autovectorization: committed vand and vorr patches. Sent updated
versions of veor, vbic and vmvn. vshr and vshl need some
refactorization with Neon versions, clarified the best way to go with
Arm maintainers.
- PR97875 (suboptimal vectorization on MVE): investigation shows that
movmisalign patterns are missing for MVE.
* benchmarking:
- Scripts to run coremark on stm32 now merged, debugging issues. No
progress this week.
* infra:
- debugging issues with our docker containers
- looking at ABE patches
* misc:
- provided feedback to Arm's partner wrt Intrinsics documentation
== Next ==
* GCC/cortex-M testing improvements & fixes
* cortex-m benchmarking
* MVE auto-vectorization/intrinsics improvements