=== Work done during the past week ===
* Resurrect code size optimization for fmul/dmul from Tony Wang:
+ clean up new testsuite directive andd testcases
* Fix -mslow-flash-data:
+ resurrect / rebase Arm internal patch to fix -mslow-flash-data
once and for all
+ many fixes to make it pass all testsuite with -mslow-flash-data without ICE
* Line management.
=== Plan for week 45 ===
* LLVM-432 (Support arithmetic on FileCheck regex variable):
+ extend testcase coverage (add tests for latest syntax change and
add more negative testing)
+ finish cleaning up the code
* Try to reproduce perf issue mentioned in week #30's weekly report on
latest perf
o Two days off.
o LLVM
* Machine Outliner on ARM prototype:
- catch-up after vacation
- re-based prototype branch on upstream
- Investigating issues in PIC mode
== This Week ==
* PR83750: CSE erf/erfc pair (6/10)
- Submitted patch upstream
* SVE ACLE (2/10)
- Started working on shift intrinsics
* GNU-235 (1/10)
- Cancelled card after I realized vrp does not support floating point ranges -:/
* Misc (1/10)
- Meetings
== Next Week ==
- PR83750: Address upstream comments
- GNU-405: Benchmark patch to provide more evidence to make it acceptable.
- SVE ACLE: Continue work on shift intrinsics.
[VIRT-241 # QEMU ARMv8.3 support ]
Finished filling out the sub-tasks for v8.3. Added some implementation
notes to some of those tasks as I reread the relevant documentation.
[VIRT-246 # ARMv8.1-LOR Limited Ordering Regions ]
Posted a trivial implementation.
[VIRT-247 # ARMv8.1-HPD and ARMv8.2-AA32HPD ]
Posted.
[Upstream]
Dirty tlb patches and decodetree changes squeeked in for softfreeze.
Another round of tlb flush reduction for aa64. This time exposing
asid's to the softmmu core and allowing it to flush when necessary.
Some more work toward moving x86 softmmu load sequences out of line.
The bulk of the code for 32-bit is now written, but it doesn't work yet.
Fix my thinko wrt divdeu and power7.
[GCC]
The cleanup part of my atomics patch set has been approved and committed.
Posted v3 of the out-of-line atomics part as well.
r~
Upstream Work ([VIRT-109])
==========================
- reviewed {Qemu-arm} {RFC v4 00/71} per-CPU locks Message-Id:
<20181025151103.GA19931@flamenco>
- this is a precursor to Emilio's {RFC 00/48} Plugin support
Message-Id: <20181025172057.20414-1-cota(a)braap.org>
[VIRT-109] https://projects.linaro.org/browse/VIRT-109
QEMU Tooling ([VIRT-252])
=========================
[VIRT-252] https://projects.linaro.org/browse/VIRT-252
QEMU plugin support ([VIRT-280])
- go through Emilio's {RFC 00/48} Plugin support Message-Id:
<20181025172057.20414-1-cota(a)braap.org> :todo
- port my example tools to his framework
[VIRT-280] https://projects.linaro.org/browse/VIRT-280
Kernel Debug via gdbstub
- started re-spin of [KVM/QEMU guest debug fix]
- reviewed/tested problem fixed by {Qemu-devel} {PATCH 0/5}
target/arm: KVM vs ARMISARegisters Message-Id:
<20181024113709.16599-1-richard.henderson(a)linaro.org>
- found a weird bug w.r.t single-stepping first instruction
- started down the debugging rabbit hole
[KVM/QEMU guest debug fix]
https://github.com/stsquad/qemu/tree/kvm/fix-breakpoints-v2
Other Tasks
===========
- Wrote up [KVM Forum 2018 report]
- started looking at {RFC PATCH v2 00/23} KVM: arm64: Initial support
for SVE guests Message-Id:
<1538141967-15375-1-git-send-email-Dave.Martin(a)arm.com>
[KVM Forum 2018 report]
https://collaborate.linaro.org/display/CR/20181024+KVM+Forum+2018
Completed Reviews [2/2]
=======================
{PATCH v2 0/3} Modern shell scripting (use $() instead of ``)
Message-Id: <20181018031723.23459-1-maozhongyi(a)cmss.chinamobile.com>
- CLOSING NOTE [2018-10-31 Wed 15:37]
The bit that touched bootstrap was fine
{Qemu-arm} {RFC v4 00/71} per-CPU locks
Message-Id: <20181025151103.GA19931@flamenco>
- CLOSING NOTE [2018-10-31 Wed 16:58]
Looks good, needs a minor tweak for linux-user mode. Will check
final patches on the next iteration.
Absences
========
- Christmas Holidays
- Connect BKK19 (1-5th April 2019)
Current Review Queue
====================
* {RFC 00/48} Plugin support
Message-Id: <20181025172057.20414-1-cota(a)braap.org>
* {RFC PATCH v2 00/23} KVM: arm64: Initial support for SVE guests
Message-Id: <1538141967-15375-1-git-send-email-Dave.Martin(a)arm.com>
* {PATCH 0/7} Acceptance Tests: basic architecture support
Message-Id: <20181004151429.7232-1-crosa(a)redhat.com>
* {PATCH v7 00/19} Fixing record/replay and adding reverse debugging
Message-Id: <20181010133333.24538.53169.stgit@pasha-VirtualBox>
* {PATCH v2 0/3} Bootstrap Python venv and acceptance/functional tests
Message-Id: <20181009041826.19462-1-crosa(a)redhat.com>
* {Qemu-arm} {PATCH 00/13} target/arm: Implement v8M stack limit checks
Message-Id: <20181002163556.10279-1-peter.maydell(a)linaro.org>
--
Alex Bennée
Progress:
* VIRT-65 [QEMU upstream maintainership]
- code review
- target-arm pull requests
- lots of pull request processing (softfreeze was this week)
- investigated and sent patches to fix a bug where a PC related
pullrequest was failing tests on my merge test setup (turned
out to be a build system issue where we were doing things in
configure that meant make didn't notice it needed to rerun it)
- some simple patches for coverity issues
thanks
-- PMM
[LLVM-203] Code-Size investigation with PGO
- Finished up the remain tasks and resolved the ticket.
- Tidied up the patches and added tests so that I can potentially
share them with other interested parties.
-- Writing tests took a lot longer than I thought as it involves
faking a profile and there were quite a few caveats to doing that.
Some prototyping in LLVM and LLD for some internal ABI discussions.
* 1 day off
== Progress ==
* FDPIC
- Cortex-M fix for binutils committed. uClibc-ng patch on-going
- GCC: handling feedback on v3 patches.
Trying to build/check xtensa uclinux toolchain to check my patches
do not affect it. No satisfactory reference build yet.
* GCC upstream validation:
- reported a few regressions
- one of last week's regressions is causing timeouts on some
validations, thus delaying the full queue. I haven't isolated the
cause yet
- dealing with some random results, again
* GCC:
- bug report on aarch64 about misaligned accesses. Waiting for more
details to reproduce the problem.
* misc (conf-calls, meetings, emails, ....)
- Benchmarking harness hopefully fixed
- reviewing infra script patches
- bugzilla cleanup
== Next ==
FDPIC:
- GCC: followup v3 patches
- uclibc-ng: look at how to test fdpic mode with openadk
- use qemu-system mode to run more tests
Benchmarking:
- fix harness until they support gcc-8