* TCWG-971 (6/10)
- Resolved ICE's in couple of cases.
- Got stuck on the case when split_point->entry_bb has phi whose one
of the arguments is defined
outside split region. This caused ICE for isl_schedule_node.c. For
now, the patch refuses to split
in this case, which "fixes" the ICE. Need to think more about this case.
- Working through other failures with bootstrap :/
* GCC bugs (3/10)
- TCWG-701: Patch iteration based on upstream reviews by Jakub.
* Misc (1/10)
- Meetings
== This Week ==
- TCWG-701
- Holidays till 2nd Jan 2017.
== Progress ==
* [ARM GlobalISel] Use CC support for lowering args/return [TCWG-946] [2/10]
- Committed patch extracting target-independent functionality from
AArch64 GlobalISel
- Submitted patch using that functionality to lower any number of
i32 arguments
- Refactored [ARM GlobalISel] Select add instructions [TCWG-925] to
also use the extracted functionality
* [ARM GlobalISel] Add support for integers < 32 bits wide [TCWG-980] [4/10]
- Support for lowering i8 and i16 arguments / returns through
registers is ready, including the ABI signext / zeroext
- Currently brushing up i1
* Rewrite llvm-projs in Python [TCWG-833] [2/10]
- Refactored patch a bit based on feedback from reviews, still have
some refactoring left to do
- Fixed a bug related to worktree detection
* Misc [2/10]
- Meetings, mailing lists, code reviews
== Plan ==
* Ping / rebase upstream patches
* [ARM GlobalISel] Add support for integers < 32 bits wide [TCWG-980]
- Finish i1 through registers
- Implement i1, i8, i16 through the stack
* Rewrite llvm-projs in Python [TCWG-833]
- Finish refactoring
~ Progress ~
* TCWG-979, Use code cache in prologue analyzer. [3/10]. Done.
Prologue analyser improvement patches are pushed in. Performance
improvement is measured on both ARM and AArch64 with and without
-fstack-protector. Wall time is reduced from 34s to 10s in one case!
* TCWG-984, Handle exception/error in disassembly. [5/10]
Need to fixed it before 7.12.1 release (Jan 2017).
Find other issues during the investigation, and fixed them. PR 20953,
PR 20954, PR 20955. Two opcodes patches are posted to binutils.
Write a unit test for disassembly on memory error. Exposes some
issues in opcodes. Whether upstream needs this unit test depends
on the decision on how to fix foreign frame problem in disassembly.
* TCWG-333, Fix gdb.base/func-ptrs.exp fails in thumb mode. No progress.
* upstream patches review. [1/10]
* Misc, meeting, [1/10]
~ Plan ~
* TCWG-984, Post the RFC and list three approaches fixing this problem.
* TCWG-333
--
Yao Qi
-- Progress --
TCWG-829 IFunc support
I have a downstream implementation of ifunc using synthetic sections
that handles x86_64, ARM and AArch64. I think it may be a bit too
complex to upstream in its current form but I think it is illustrative
enough to post upstream for comment.
TCWG-828 Static TLS support
Implemented using new GOT structure and successfully upstreamed.
Took up an opportunity to get involved with progressing some AArch64
documentation back at ARM.
-- Plans --
Will post current state of TCWG-829 (ifunc) for feedback on whether
the design is right.
- Write more tests for TCWG-829.
- Work on TCWG-911 eglibc insists on .ARM.attributes section for
dlopen to work and TCWG-919 Thunks to undefined symbols for shared
libraries that call back to the application.
- Spend some time reviewing and updating AArch64 documents back at ARM.
== Progress ==
o Linaro GCC/Validation (7/10)
* [TCWG-936] Regression detection:
- a bit of work on the job and discussing improvement.
* [TCWG-955] Re-association:
- learning middle-end internals
- some testing and debug
o Misc (3/10)
* Various meetings and discussions.
== Plan ==
same as last week:
o Improve regression detection job
o Improve linaro gcc integration validation
o Continue re-association learning
== Progress ==
* Validation
- patches & reviews (jenkins jobs, abe)
- improving abe validation
- abe cleanup
- looking at abe bug 757: add support to run newlib's make check
* GCC
- reported a few regressions on trunk
- bug #78253: new patch sent upstream
* misc (conf-calls, meetings, emails, ....)
- updated arm-neon-tests repo: add the possibility to avoid that the
compiler computes the results of some of the intrinsics (clang/llvm
does some optimisations, but does not model the Neon Q flag)
== Next ==
* ABE & Jenkins jobs patches reviews and bug fixes
* GCC bug #78253
== This Week ==
* TCWG-971 (4/10)
- Prototype patch can handle simple cases
* GCC bugs (5/10)
a) PR78529 - Cannot reproduce after several tries :(
b) PR78599 - Submitted patch upstream to bail out of bits prop if
param type is not integral or pointer type, but a better fix
would be to obtain type from jump_function. I can use that approach
once
Kugan's patch to add param_type to jump_function gets committed.
c) TCWG-963 - Patch iteration based on upstream feedback.
d) PR78629 - Committed fix r243125 to trunk.
* Misc (1/10)
- GCC ubsan builds
- Meetings
== Next Week ==
- TCWG-971
- GCC bugs
- Single vs Balanced partition benchmarking
~ Progress ~
* TCWG-965, Investigate doing unit tests in GDB. [3/10] Done.
The first unit test to AArch64 prologue analyser is pushed. The unit
test is running on GDB buildbot on different hosts (x86, s390, etc).
The patch review takes a while because it is my first patch written in
C++11. Need some unit tests to ARM prologue analyser too.
* TCWG-416, Improve GDB performance in remote debugging. [4/10]
Use code cache in AAarch64 prologue analysis, and it is improved from
10s to 3s!
* TCWG-333, Fix gdb.base/func-ptrs.exp fails in thumb mode. [1/10]
Preparatory patches are committed. Think about the next step. I have
to change expression evaluation in GDB.
* Misc, [2/10]
** Upstream patches review. Reviewed OpenRISC and FreeBSD/mips
patches.
** GDB linux kernel awareness discussion.
GDB is unable to access kernel memory when program stops in user
space (by ctrl-c). Discussed some ways to avoid teaching GDB setting
MMU.
** Some input and discussion on SVE.
~ Plan ~
* TCWG-964, more unit tests on ARM prologue analyser,
* TCWG-416, measure performance improvement with -fstack-protector
on ARM (with both -marm and -mthumb).
* TCWG-333,
--
Yao Qi