== Progress ==
* Investigate running benchmarks in containers [TCWG-1513]
- Faffing about with our benchmarking scripts, not sure how to test
changes without disrupting our infrastructure
- Cooked up some viz scripts so I can easily look at the noise
levels in benchmark results with/without containers
* Started LLVM 8.0.1 rc4 build
- In progress on ARM, infrastructure issues on AArch64
== Plan ==
* Upcoming vacation: 6 - 13 August
[LLVM-583] LLVM Code Size reduction ideas from Zephyr and CMSIS
- Started a ticket to record areas of improvement where GCC does
better than LLVM.
- Upstream defaults to -mno-unaligned-access for clang which needs to
be corrected for.
- Much of the difference goes away when inlining is disabled, implying
that different inlining strategies could be most significant
difference.
- Sent in Linaro Connect presentation submission to cover all of TCWGs
code-size improvement work.
Planned absences
- Rest of this week, back in the office on the 15th July
[Code size investigation]
Results (clang 2% larger than gcc) replicated on cortex-m0 and
cortex-m4 on Zephyr.
- Clang optimisation to use BLX rather than BL when same function
called multiple times is a pessimisation on Zephyr, especially on M0.
- GCC register allocation seems to result in fewer spills
TODO: Get an estimate of how much code-size difference is down to
different inlining decisions.
On CMSIS DSP cortex-m4f clang appears to be producing smaller than
GCC, not measured averages yet.
[LLD]
- Quite a few upstream reviews, PRs and investigations surrounding them.
- Likely that LLD will be converting to the new variable naming convention.
- Received a request to add cortex-a8 erratum fix for Google Android team.
[Linaro Connect]
Registered and contacted travel.
Drafted a submission for presentation, will submit next week.
Planned Absences:
On holiday Wednesday, Thursday, Friday next week
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ catching up with email and code review -- managed to get some
series reviewed in time for softfreeze on Tuesday, notably the
'sbsa-ref' reference platform model that Hongbo Zhang was working on
+ a lot of release-herding, working through the huge pile of pull
requests that need merging
+ fixed a silly bug in recent VFP refactoring, spotted by coverity
+ fixed a memory leak that broke our CI sanitizer build (not a new
piece of code, but we currently only sanitize the x86-64 targets
and a recent change meant this old code is now used on x86-64 for
the ATI PCI display device model)
* Misc:
+ first KVM Forum Programme Committee meeting (and attendant
review of all the submitted abstracts; bumper crop this year)
thanks
-- PMM
== Progress ==
* GCC:
- FDPIC: No progress, still waiting for feedback
- noinit attribute: reviewers asked to make it a generic attribute,
rather than target-specific. New patch sent.
* GNU-583 (Fix Linux kernel built for Thumb-2 with GCC using LTO)
- no progress this week
* GCC upstream validation:
- reported a few regressions.
* Binutils:
- PR24709 (linker crash and assertion failure with CMSE). Use case not
considered worth the headache of supporting correctly CSME+long-branch
stubs (tricky to get right). Replaced the linker crash with a user
error message.
- Non-contiguous memory regions support in the BFD linker: Received a
good summary of the consensus reached in 2017.
* misc:
- infra fixes / troubleshooting
== Next ==
GCC:
- handle feedback on FDPIC and noinit patches
- binutils/linker support for non-contiguous memory regions
- GNU-583
- GCC upstream validation: Add a config for cortex-m33 (v8-m)
== Holidays ==
July 13-27
Aug 2-11
== This Week ==
* PR88833
- Fixed pending issues with x86 and committed fix to trunk
* PR90723
- Issue seems to be infinite recursion overflowing the stack, investigating.
* Misc
- Meetings
== Next Week ==
- PR90723
- Add testsuite comparison to tcwg_gnu
== Progress ==
* LLVM SPEC2k6 Performance Analysis [LLVM-134]
- Still working around perf version mismatches, going to investigate
if we can use a newer version of perf to collect data
- Had a look at the assembly for sphinx from gcc-6, clang-3.9.1 and
clang-8.0.0, but going to wait for better perf before I rush to
conclusions
* IR SVE Reviews [ LLVM-545]
- Had a look at the clang patches, gave some feedback for one of
them; the other ones are very subtle and best left to the clang
maintainers
* [GlobalISel] Refactor CallLowering [LLVM-568]
- Fixed a little ASAN snag, should be done for good now
* Trying to get up an ABI fuzzer for GlobalISel
== Plan ==
* Update benchmarking infrastructure (in support of LLVM-134)
* Deprioritize GlobalISel
* Upcoming vacation: 6 - 13 August
Short week; 3 days.
[VIRT-263 # ARMv8.1-VHE Virtual Host Extensions ]
Fixed 3 bugs:
* SVE length calculation,
* PNX bit while in EL2&0 regime,
* Interrupt routing w/ TGE bit.
A bare 5.2 kernel boots to root file system not found.
A 4.19 kernel hangs during boot somewhere.
Now doing a fedora30 install, which I believe has a 5.x kernel...
[VIRT-327 # Richard's upstream QEMU work ]
Patch review:
* GSoC x86 risugen,
* arm semihost cleanups.
r~
== This Week ==
* PR88833 (6/10)
- Patch approved by Richard.
- Regresses pr88152.C due to a possibly latent issue with combine.
* PR90722 (3/10)
- Investigating the issue
* Misc (1/10)
- Meetings