== Progress ==
* Buildbots
- Self-hosting bot online
- Fiddling with MCJIT tests to get bots green
* Benchmarks
- Running Phoronic benchmarks: GCC vs. LLVM, good results
- Got a sample of the PerfDB SQLite database, writing some queries
* Jira/Wiki farming
- Creating loads of new cards, blueprints, sub-tasks
- Adding content to the wiki pages about processes, cards, etc
* Release 3.3
- RC2 is out, no regressions, already on official repository
* EuroLLVM 2013
- Monthly call, wrap-up, preview of next year's
== Plan ==
* Try running a CBuild benchmark with LLVM 3.3 (Rob?)
* Automate release process, maybe we can do that every month
* Automate Phoronix test (GCC+LLVMrel+LLVMsvn)
* Follow up on Panda/Arndale ordering, needed for buildbots
* Try to extract useful information from perf database
Hi all,
I've spent a little while porting an optimization from Python 3 to
Python 2.7 (http://bugs.python.org/issue4753). The idea of the patch is
to improve performance by dispatching opcodes on computed labels rather
than a big switch -- and so confusing the branch predictor less.
The problem with this is that the last bit of code for each opcode ends
up being the same, so common subexpression elimination wants to coalesce
all these bits, which neatly and completely nullifies the point of the
optimization. Playing around just building from source directly, it
seems that -fno-gcse prevents gcc from doing this, and the resulting
interpreter shows a small performance improvement over a build that does
not include the patch.
However, when I build a debian package containing the patch, I see no
improvement at all. My theory, and I'd like you guys to tell me if this
makes sense, is that this is because the Debian package uses link time
optimization, and so even though I carefully compile ceval.c with
-fno-gcse, the common subexpression elimination happens anyway at link
time. I've tried staring at disassembly to confirm or deny this but I
don't know ARM assembly very well and the compiled function is roughtly
10k instructions long so I didn't get very far with this (I can supply
the disassembly if someone wants to see it!).
Is there some way I can tell GCC to not compile perform CSE on a section
of code? I guess I can make sure that the whole program, linker step
and all, is compiled with -fno-gcse but that seems a bit of a blunt
hammer.
I'd also be interested if you think this class of optimization makes
little sense on ARM and then I'll stop and find something else to do :-)
Cheers,
mwh
The v8 Foundation Model User Guide has a bare metal hello world example that uses semi-hosting. The Makefile uses ARM tools, however. Is there equivalent support for this example using a bare metal version of the gnu tools, such as gcc-linaro-aarch64-none-elf-4.8-2013.04-20130422_linux.tar.xz? I took a look, but didn't see a way to do this.
Of course, running the Linaro linux port on the v8 Foundation Model allows one to run hello world and much more, but I'm currently only interested in a bare metal target using gnu tools.
Thanks, Don
== Progress ==
* Backed up laptop data and did new ubuntu installation which crashed for
some reason.
* Wrote python script with googledoc API to automate fill up of
googlespread sheet.
* Created and tested patch for arm assembler compatibility fixes for
gdb.dwarf test suite assembly files.
== Plan ==
* Identify arm bugs out of gdb7.6 test results and work towards fixing them.
* Update JIRA enteries with test suite failures on arm to track progress.
* More work on automating googledoc spreadsheet writing using python.
* 2 Day off on coming Friday and Monday.
== Progress ==
* AARCH64 - gprof support.
Completed gprof -c support for aarch64.
Got reviewed internally by Matt and Will.
Patch yet to be posted. Waiting for some feedback on copyright message.
*Testing GCC bootstrap and regression suite.
Created a large image with help of Bero.
Bootstrap fails with GCC trunk libgcc_eh.a (unwind-dw2-fde-dip.o)
hidden symbol __register_frame_info is referenced bu DSO
ld final link Bad value.
Drilling down
== Plan ==
* Post patches in gcc and binutils for gprof work
* Continue handling builtin_return_address when -fomit-frame-pointer
is enabled.
* Continue gcc bootstrap and regression test.
== Issues ==
* Cbuild down most of the week.
== Progress ==
* 4.6 and 4.7 releases
- Released after a painful week !
* LRA on ARM and AArch64:
- Enabled on AArch64, but it leads to an ICE too.
- Applied Brice's ARM patches didn't solved the issue.
- Looked at the documentation/comments to understand the process.
- Debug ongoing.
== Plan ==
* Continue on LRA
== Issues ==
* None
== Progress ==
* Continue on conditional compare.
- Mix fixes for bootstrap.
* Update shrink-wrap patches according to comments and retest them on
Pandaboard and Chromebook.
* Prebuild 2013.05 Linaro toolchain locally.
- gdb related local patches need rework.
== Plan ==
* Continue on conditional compare to bootstrap.
* Linaro toolchain 2013.05 binary release.
Best Regards!
-Zhenqiang
The Linaro Toolchain Working Group is pleased to announce the release
of Linaro GDB 7.6.
Linaro GDB 7.6 2013.05 is the first release in the 7.6 series.
***NOTE*** Linaro GDB 7.6 2013.05 is identical to the FSF GDB 7.6 release,
except for the change in version number and Linaro branding, since all
Linaro GDB features were already accepted upstream and are included in
the FSF release as-is. Future releases in the Linaro GDB 7.6 series may
include additional ARM-focused bug fixes and enhancements.
The source tarball is available at:
https://launchpad.net/gdb-linaro/+milestone/7.6-2013.05
More information on Linaro GDB is available at:
https://launchpad.net/gdb-linaro
--
Matthew Gretton-Dann
Linaro Toolchain Working Group
matthew.gretton-dann(a)linaro.org