* Linaro GCC
Applied my ARM conditional-execution and thumb 16-bit instruction size
optimization patch to upstream and Linaro 4.7.
Continued work on (slowly) working the bugs out of my 64-bit NEON
patches. Figuring out bootstrap failures is not easy! Eventually
discovered that:
* the NEON shifts patch was broken because combine was using the
patterns in ways they weren't intended.
* the NEON neg patch was broken because it needed an early-clobber
marker on the scratch register.
I've also reworked the use of insn_enabled to make it a little less
clunky. It's just an aesthetic change though.
If all goes well with my weekend bootstrap builds I should have the
patches reposted next week.
* Other
Richard Earnshaw asked me to bless use of a CS patch submitted to
gcc-patches@ by a third party. I dug out the original patch from the CS
archives and posted that to the message thread.
Summary:
* Validation for embedded toolchain 2012q1 update release and Linaro
binary toolchain 2012.03 release.
* Failed case analysis for -Os.
* Read benchmark code
Details:
1. Validation for embedded toolchain 2012q1 update release and Linaro
binary toolchain 2012.03 release.
2. Root cause the new failed cased pr30951.c with -Os.
In function tree_swap_operands_p (fold-const.c), there is a check
if (optimize_function_for_size_p (cfun))
return 0;
which blocks to swap (x != x + 10) to (x + 10 != x). And the
following optimization can only handle (x + 10 != x).
3. Read some benchmark codes to find the opportunities for code size
optimization.
Plans:
* Finalize Linaro binary toolchain 2012.03 release.
* Read benchmark codes.
Best regards!
-Zhenqiang
Current Milestones:
|| || Planned || Estimate || Actual ||
||cp15-rework || 2012-01-06 || 2012-03-30 || ||
Historical Milestones:
||initial-a15-system-model || 2012-01-27 || 2012-01-27 || 2012-01-17 ||
||qemu-kvm-getting-started || 2012-03-04?|| 2012-03-04?|| 2012-02-01 ||
== cp15-rework ==
* more progress, mostly in figuring out how to connect the cp15 patches
with work by Andreas Färber to convert CPUs to QEMU's new object model.
* Patch series is now 36 patches long... (will probably split into two
parts for submission)
== other ==
* upstream patch review
* linaro performance review time again...
-- PMM
== GCC ==
* Posted second part of fwprop-subreg patch to gcc-patches.
* Investigated LP #960283, determined root cause, created patch,
and opened merge requests against Linaro GCC 4.6 and 4.7.
Opened mainline bugzilla PR tree-optimization/52686.
* Investigated LP #960274 and LP #960817, identified both as
duplicates of LP #960283.
* Investigated LP #959242, determined root cause. Ongoing
investigation of possible fixes.
* Ongoing work on improving end-of-loop value computation.
Mit freundlichen Gruessen / Best Regards
Ulrich Weigand
--
Dr. Ulrich Weigand | Phone: +49-7031/16-3727
STSM, GNU compiler and toolchain for Linux on System z and Cell/B.E.
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter | Geschäftsführung: Dirk
Wittkopp
Sitz der Gesellschaft: Böblingen | Registergericht: Amtsgericht
Stuttgart, HRB 243294
The draft agenda for Monday's call is at:
https://wiki.linaro.org/WorkingGroups/ToolChain/Meetings/2012-03-26
and is:
* Review action items from last meeting
* Validation lab move is delayed
* Daylight savings changes done
* KVM
* Blueprints are (half) spawned
* Rusty away prep
* Other business
* multiarch
* [[MichaelHope/Sandbox/MultiarchNotes]]
* Want to get upstream(s)
* Richard's thoughts
* Interaction with multilib
* Reducing the number of builds
* 4.7 status
* Import/merge working?
* Keep an eye out for other improvements/regressions
Feel free to edit!
-- Michael
Konstantinos, Loïc, and I talked last night about multiarch. Linaro
want multiarch and will use it in all our products and hence need to
get it upstream. There's another meeting in a week to figure out
what's next.
I've written a page on the uses, issues, and history at:
https://wiki.linaro.org/MichaelHope/Sandbox/MultiarchNotes
Please edit and add and correct things. The page isn't Linaro's
position but we need to have answers for the arguments.
I see no particular blockers especially if we separate the concerns.
-- Michael
I've added a new job called 'porter' which reserves the first tcpanda
that comes free. This can be used to reproduce a bug or benchmark
result against an existing binary build.
For example, say you want to see if a fault exists on recent trunk:
* Go to http://ex.seabright.co.nz/helpers/buildlog/gcc-4.8
* See the last successful ARM build was gcc-4.8~svn185503
* Go to http://ex.seabright.co.nz/helpers/scheduler/spawn
* Spawn a job called 'porter' into the a9-builder queue
* Keep polling http://ex.seabright.co.nz/helpers/scheduler until a
board shows as 'porter/ready'
* Log into the board using ssh cbuild(a)board.v
* Change to /scratch/cbuild/slave/slaves
* rsync the binary across using rsync
control:~/cbuild/build/gcc-4.8~svn185503/gcc-*cortexa9*xz .
* Extract the binary and have at it
The board will drop back into the queue after 48 hours. You can
release it early by doing a 'killall sleep'. Please do any work under
/scratch/cbuild/slave/slaves as this is automatically deleted when the
next job starts.
Zhenqiang, could you add this to the jobs page please?
-- Michael
I've create a blueprint covering the basic functions in libav that are
implemented as inline assembly:
https://blueprints.launchpad.net/gcc-linaro/+spec/investigate-libav-inline-…
These are a mix of multiplies, clipping, byte swap, and unaligned
access. We do OK on half of them but at least byte swap and 32x32 ->
top half of 64 aren't as good as they could be.
Let's discuss the investigation at the next performance meeting.
-- Michael
Hi,
Linaro bugs:
- #926472: Native gdb can't know multithreads of Android processes
Tried to reproduce but couldn't do a GDB build similar to
the bug reporter's. Found a workaround for him anyway.
- #942529: gdb failed to debug application (gdb reports about
internal error)
Reproduced the bug and found out it's fixed in GDB 7.4. It's a bug
in Ubuntu GDB not Linaro, so reassigned to the Ubuntu project.
Linaro GDB is already at version 7.4 so we're good.
- #954714: dropped patch reintroduces gcore relro backtrace problem
Reviewed the proposed patch. It's good.
GDB for Android:
- Started creating patches for build problems when trying to compile
gdbserver for Android. Will have patches to submit in the next
few days.
- Studied libthread_db.c to see what's special about it that it has
to be statically linked. Didn't find anything and indeed Android's
own libthread_db.so works fine. Didn't get an answer yet when
I asked about it on the Android mailing list.
--
[]'s
Thiago Jung Bauermann
Linaro Toolchain Working Group