== Progress ==
o GNU releases
* Various support on process and infra.
o LLVM
* Benchmarking job on-going
* Buildbots baby-sitting
* Completed EuroLLVM feedback
* Created ticket: outliner support on ARM
After internal and upstream discussions.
o Misc
* Various meetings and discussions.
Progress:
[Upstream]
Patch set posted implementing some missing ARMv8.2-FP16 instructions.
I believe Alex has gone back to double check if there are any more.
[VIRT-243]
Initial patch posted for the ARMv8.1-Atomics extension.
Looking at the summary from Friday night's test run suggests there are
errors; I'll be looking at those next week.
r~
Activity:
[TCWG-1384] Add support for missing TLS local exec relocations tl LLD
Have an implementation ready to go upstream next week. In process
found that Gold and BFD disagreed on test output. Turns out that there
was a bug in BFD, reviewed Renlin Li's patch for it. Took rather more
of my time than I expected.
[TCWG-1375] Set 4 patches upstream to complete the removal of the
global subtarget
No response as yet.
Raised https://bugs.llvm.org/show_bug.cgi?id=37212 clang and gcc are
producing technically illegal ELF for debug information (references to
local symbols defined in comdat groups), both gold and bfd have
special case code to handle this case, lld does not. Leads to loss of
debug illusion for templated and inlined C++ functions.
Other
- Some research into how spec files and multilib works in gcc to see
how it could fit into clang's driver model.
- Joined the ELF ABI google group to fulfil a promise I'd made at Euro
LLVM to comment on a thread about debug information in comdat groups.
Holiday on Tuesday
Plans:
- Ping reviews.
- Push fix for TCWG-1384 upstream alongside some refactoring patches.
- Add some more tests to LLD to close some holes in the code-coverage
statistics.
- Continue looking at laundry list of small LLD changes.
- Get back to building Android.
=== Work done during this GCC week ===
* stack-protector failure on GCC ARM: need feedback from community
+ prevent CSE of stack protector's guard first by adding some extra
UNSPEC then instead by making all memory accesses involved volatile
+ write 2 monstro regex (251 & 377 characters respectively) to catch the
bug on ARM, Thumb-2 and Thumb-1
+ testing and will submit for review later today once I have all test
results
+ discuss raising a CVE
* Misc:
+ Arm meetings
+ Meeting with ST to discuss how to implement something akin to multilib
+ spec files for LLVM
+ Linary syncs
+ review of "Implement getConstraintRegister for ARM and AArch64" patch
by Mikhail Maltsev
=== Plan for weeks up to 25 ===
* Paternity leave
* Get stack-protector failure fix committed
* DSGHACK-25 (Support arithmetic on FileCheck regex variable): finish patch
* Start looking into LLVM SPEC optimizations Linaro tickets
Progress:
* VIRT-65 [QEMU upstream maintainership]
+ 2.12 release kicked out the door; hopefully I can do a bit more
actual development work for a bit now...
+ investigating problems with execute-in-place-from-MMIO-device
functionality : the test case (for a Xilinx board model) crashes
reliably for me. I cooked up an RFC patch and sent it, but it
includes one weird hack and I'm not sure if it's the right approach...
+ we got a Coverity Scan run through after a couple of months of not
having one, and a pile of issues have accumulated. Waded through some
of them and flagged them up with the patch submitters who added the
code that introduced them.
Notes:
* QEMU will have not one but two interns working on Cortex-M0
and micro:bit support (one from Google Summer of Code and
one from Outreachy) !
* QEMU turns 15 years old this year. To celebrate we plan to
make the next release be 3.0 (and perhaps to have birthday
cake at KVM Forum?)
thanks
-- PMM
* GCC Benchmarking
- Tried Jenkins jobs for trunk benchmarking and posted a patch to
fix -std=legacy needed for gfortran
- Going over the job definitions to add support for SPEC2017
* LLVM
- Looking at spec2006 difference compared to gcc in astar due to
speculative devirtualization not happening
- Going over the background material in Honza's blog and LLVM presentations
[QEMU Upstream]
Fix for softfloat scalbn, broken during the 2.12 reorg.
Code review for Alex's tcg/tests patchset.
Produced a script describing how to build cross-compilers.
[VIRT-198 # QEMU: SVE Emulation Support ]
Fix an tcg generic vector assert hitting SVE w/ VQ=3.
Rebase and post cleanup patch for TCGv_ptr operations.
Finished round 2 of SVE cleanup and fixes. RISU now once
again passes for VQ in [1-4] (which is the limitation of
the FoundationModel against which we are generating trace files).
I'll note that a lulesh binary that I generated for HKG18
does not work on the branch, but does under FoundationModel.
Therefore there must be remaining emulation errors.
However, it's a really complicated binary that is non-debuggable.
Adding printfs interferes with vectorization and gdb does not
yet let us print all of the relevant registers.
My thoughts from here go toward running the gcc testsuite,
and seeing what can be uncovered by those smaller examples.
r~