== This week ==
* TCWG-72 (6/10) - 5 iterations since the original patch. Changes include: a) Integration into widening_mul patch b) Rewriting the divmod transform so DIVMOD() is placed before the topmost div/mod stmt c) Removed check for widening mode and optab handler check in expand_DIVMOD d) Fixed ICE when constant is one of the operands to div/mod stmt. e) Fixed mis-compilation with a test-case when operands matched but in opposite order. f) Formatting nits and fixed test-cases. - Richard suggested no need to check for post-domination conditions. - Not sure on what condition to gate the transform. Checking for availability of divmod/div/mod is not sufficient because arm defines optab handler for mod which only matches r0 % n where n is constant and power of 2 for other cases it's expanded via divmod libcall thru expand_divmod. We would rather need to check if the template for mod/div gets matched than just to check if optab handler exists. AFAIK this cannot be done during tree-ssa passes. I can think of two approaches: a) Do the transform to DIVMOD representation unconditionally in widening_mul pass. And then in expand_DIVMOD check if the template for mod can be matched. If it does match then undo the transform from DIVMOD to original representation and expand. I am not sure how feasible it is to undo the transform at expansion time, and start expanding the modified cfg. b) Define a new target hook combine_divmod. Default implementation could check for optab handler for div/mod/divmod. and I could override it for arm-backend to additionally check if the second operand is a constant and power of 2 and fail for this case (since we want this to be expanded from modsi3 pattern). Not sure if this is a good idea, I am replicating the information from the modsi3 pattern. If the pattern changes, the hook would also need to be changed.
* Convert ASM_FORMAT_PRIVATE_NAME to hook (2/10)
* TCWG-319 (1/10) - Bencharmking for patch in progress
* Misc (1/10) - Meetings - Sync with Kugan
== Next Week == - Continue with TCWG-72 - Complete the patch with build, test and config-builds for ASM_FROMAT_PRIVATE_NAME and submit upstream - Continue benchmarking TCWG-319, TCWG-310
linaro-toolchain@lists.linaro.org