[ACTIVITY]
Upstream reviews for LLD. Trying to be more proactive here now that
there are fewer maintainers.
[TCWG-1420] Initial investigation into some proposed linker
enhancements for embedded systems
- Mostly features already implemented in proprietary linkers such as
AT and an equivalent to .any.
- Completed initial investigation with links to TI/IAR documentation,
binutils discussions.
- Some thoughts on which of the features might be implemented cleanly
enough to be upstreamed.
Pinged llvm-mc subtarget reviews (no response)
Spent some more time investigating a tiny-code model for AArch64 in an
attempt to teach myself more about LLVM.
Progress: [short week, 3 days]
* VIRT-65 [QEMU upstream maintainership]
+ code review
+ some more conversions of devices using 'old_mmio'
+ looking at trying to fix non-migrated RAM regions in various devices
* VIRT-164 [improve Cortex-M emulation]
+ wrote some minor cleanup patches (including giving a helpful error message
for attempts to use an M-profile CPU without an NVIC, rather than crashing)
+ reviewing first few patches from the micro:bit emulation GSoC students
+ reviewed and added comments on Stefan's list of tasks for
Cortex-M0 emulation
Absences:
* Aug 27 -- Sep 14: holiday
* Sep 17 -- 21: Linaro Connect (Vancouver)
* Oct 22 -- 26: KVM Forum (Edinburgh; unconfirmed)
* NB: I work a 4 day week, excluding Wednesdays
thanks
-- PMM
== Progress ==
* GCC
- FDPIC patch series: received a bit of feedback. Noticed problems
with v8m and libssp, should be easy to fix
- Started rebasing uclibc patches on top of uclibc-ng
* GCC upstream validation:
- reported a few failures/regressions
- looking at some random noise in testing
* Infrastructure:
- patch reviews
- cleanup/improvements
* misc (conf-calls, meetings, emails, ....)
== Next ==
* FDPIC: uclibc
* GCC upstream validation
* Training Mon/Tue
== Progress ==
o GNU release transition
* 6.4 and 7.3 2018.05 RC1 deployed
o LLVM
* Thumbv8 bot failures [TCWG-1400]:
- Testing fix on arm, armhf, armv7 and armv8.
o Misc
* Various meetings and discussions.
== This Week ==
* TCWG-1234: Code hoisting and register pressure (8/10)
- Created patches for restricting hoisting out of blocks on loop exit
but that was false alarm.
- Investigating interaction of forwprop, code hoisting and register pressure.
- Started upstream discussion.
* GCC bugs (1/10)
- TCWG-125: static_cast not working on ARM hardfp: Asked upstream on
libvolk list for help to reproduce.
- PR85787: Created patch, investigating regressions caused due to it.
* Misc (1/10)
- Meetings
== Next Week ==
- TCWG-1234
- GCC bugs
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ sent patch for minor bug where FRECPX was not honouring FPCR.FZ
+ looking at migration failure for TCG VMs using Secure mode. I know
what the bug is, but need to figure out how to fix it without breaking
migration compatibility for TCG VMs which don't use Secure mode...
+ various miscellaneous minor bug fixing and code review
* VIRT-164 [improve Cortex-M emulation]
+ MPC emulation:
- sent out first version of patchset that implements the required
IOMMU core code features and the MPC device that uses them; fielded
various code review discussions on it
thanks
-- PMM
Half of the week spent investigating identical code folding -icf=safe.
Turns out that upstream have a proposal that is much further along so
shifted focus on to doing as much as I can to help it along.
Found out that for some use cases of AArch64 PIC the small code model
is inappropriate as the code segments may not be 4k aligned. Started
looking into what it would take to implement the tiny code model in
LLVM (supports only small and large at the moment). Built a small
prototype to handle the easiest absolute addressing case, much more
work needed to handle PIC and TLS.
Not a lot of tangible progress, but I think I have learned a bit more
about LLVM.
Planned Absences
- Friday 25th May (holiday).
- Monday 28th May (UK public holiday)