> + unsigned int l2_cache_size;
>
> Not a blocker to the patch but I wonder whether it would be a good idea to
> group these prefetch-related parameters
> (plus autoprefetcher_model) into a new nested struct here (prefetch_tunings
> or something) since there's a decent
> number of them and they're all related.
Feel free to copy-paste from
https://gcc.gnu.org/ml/gcc-patches/2017-01/msg02292.html , which is a
copy-paste from aarch32 backend anyway ;-).
--
Maxim Kuvyrkov
www.linaro.org
> On Jan 30, 2017, at 3:23 PM, Kyrill Tkachov
> wrote:
>
> Hi Maxim,
>
> On 30/01/17 12:06, Maxim Kuvyrkov wrote:
>> This patch enables prefetching at -O3 for aarch64 cores that set
>> "simultaneous prefetches" parameter above 0. There are curre
from the prefetches...
>
> Not in this case. The main reason why I know is because the number of
> L1 and L2 misses drops a lot.
I can confirm this. In my experiments loop unrolling hurts several tests.
The prefetching approach I'm testing for -O2 includes disabling of loop
unrolling to prevent code bloat.
--
Maxim Kuvyrkov
www.linaro.org
selected_cpu->tune->l2_cache_size,
> +opts->x_param_values,
> +global_options_set.x_param_values);
> +
> +
> + /* Enable sw prefetching at -O3 for CPUS that prefetching is helpful. */
> + if (opts->x_flag_prefetch_loop_arrays < 0
> + && (opts->x_optimize >= 3 || opts->x_flag_profile_use)
> + && !opts->x_optimize_size
> + && aarch64_tune_params.autoprefetcher_model ==
> tune_params::AUTOPREFETCHER_SW)
> +opts->x_flag_prefetch_loop_arrays = 1;
AUTOPREFETCHER_* setting is for a completely different optimization done during
instruction scheduling. It controls model of hardware auto-prefetcher, which
some cores have. Autoprefetch HW does prefetches itself, and it is tangential
to loop array prefetching. There are cores that benefit from both
optimizations simultaneously, and there is no need to allow only one or the
other.
I think AArch64 should use (simultaneous_prefetches > 0) as the condition to
enable loop array prefetching.
--
Maxim Kuvyrkov
www.linaro.org
> On Jan 30, 2017, at 7:35 PM, Andrew Pinski wrote:
>
> On Mon, Jan 30, 2017 at 3:48 AM, Maxim Kuvyrkov
> wrote:
>> This patch port prefetch configuration from aarch32 backend to aarch64.
>> There is no code-generation change from this patch.
>>
>> This pa
> On Jan 30, 2017, at 5:50 PM, Maxim Kuvyrkov wrote:
>
>> On Jan 30, 2017, at 3:23 PM, Kyrill Tkachov
>> wrote:
>>
>> Hi Maxim,
>>
>> On 30/01/17 12:06, Maxim Kuvyrkov wrote:
>>> This patch enables prefetching at -O3 for aarch64 cores that s
Hi Andrew,
I took the liberty of rebasing your patch on top of my patchset. Does it look
correct?
I think I addressed all the comments you had about my review and posted updated
patches.
--
Maxim Kuvyrkov
www.linaro.org
> On Jan 30, 2017, at 7:25 PM, Andrew Pinski wrote:
>
> On
s further, but I
> think this is the right thing to do.
>
> Bootstrapped and tested on aarch64-none-linux-gnu.
>
> Maxim, do you want to try this on top of your patches on your hardware to see
> if it helps with the regressions you mentioned?
Sure.
--
Maxim Kuvyrkov
www.linaro.org
> On Feb 20, 2017, at 5:38 PM, Kyrill Tkachov
> wrote:
>
> Hi Maxim,
>
> On 30/01/17 11:24, Maxim Kuvyrkov wrote:
>> This patch series improves -fprefetch-loop-arrays pass through small fixes
>> and tweaks, and then enables it for several AArch64 cores.
>>
, and that the kernel can't update that atomically. However if
>-mfentry approach is used, then we need to update only 4 (or 8) bytes of the
>pad, and we avoid the atomicity problem.
Therefore, [unless there is a clever multi-stage update process to atomically
change NOPs to whatev
void);
> extern reg_class_t default_preferred_reload_class (rtx, reg_class_t);
> extern reg_class_t default_preferred_output_reload_class (rtx, reg_class_t);
> diff --git a/gcc/testsuite/c-c++-common/attribute-prolog_pad-1.c
> b/gcc/testsuite/c-c++-common/attribute-prolog_pad-1.c
> new file
_regs_num[CL];
but not in subtracting number of such registers from the number of total
available hard registers.
Am I missing something?
Also, could you share the testcase that you used to investigate the problem
with register-aware scheduling? I wonder if there is a problem lurking.
Thank yo
> On Oct 17, 2016, at 7:21 PM, Pat Haugen wrote:
>
> On 10/17/2016 08:17 AM, Maxim Kuvyrkov wrote:
>>> The patch here, https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01872.html,
>>> attempted to scale down the register limit used by -fsched-pressure for the
>>&
> On Oct 18, 2016, at 1:27 PM, Maxim Kuvyrkov wrote:
>
>>
>> On Oct 17, 2016, at 7:21 PM, Pat Haugen wrote:
>>
>> On 10/17/2016 08:17 AM, Maxim Kuvyrkov wrote:
>>>> The patch here, https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01872.html,
>>&g
> On Oct 5, 2016, at 12:45 AM, Maxim Kuvyrkov wrote:
>
>> On Sep 29, 2016, at 11:14 AM, Torsten Duwe wrote:
>>
>> In case anybody missed it, the Linux kernel side to make use
>> of this has also been finished meanwhile. Of course it can not
>> be accepte
d
for porting kernel live-patching to new architectures.
Existing support for kernel live-patching in x86, s390 and sparc backends can
be redirected to use -fprolog-pad= functionality and, thus, simplified.
--
Maxim Kuvyrkov
www.linaro.org
> so I'll just comment on some style questions.
s not trivial to implement, and has been what stopped me from
finishing the patch.
Your current patch is great for experiments for the kernel engineers to check
if suggested approaches to code patching will work. Still, I prefer to
implement LTO-friendly way of handling -fprolog-pad=N via fu
adapted to
nop-pad approach. If I remember correctly, recent versions of GCC and kernel
for x86_64 generate NOPs, not the call sequence in the prologs when -mfentry is
used.
>
> i'm not against nop-padding, but i think more evidence
> is needed that the generalization is a good idea and
> users can deal with the resulting issues.
--
Maxim Kuvyrkov
www.linaro.org
Richard,
This is the GCC patch of the change to fix building executables with -msym32.
It is a one-line change.
See http://sourceware.org/ml/binutils/2012-11/msg00225.html for the main
discussion.
Thank you,
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
gcc-msym32.ChangeLog
here just to be safe.
> +return;
> +
> + gcc_checking_assert (saved_last_basic_block == 0
> +|| (bb_state_array != NULL && bb_state != NULL));
> +
Thanks,
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
2004 and now he will be more
active in upstream development.
Thank you,
--
Maxim Kuvyrkov
KugelWorks
r, say,
arm-linux-gnueabi which will use glibc for primary multilib, and bionic for
secondary multilib.]
I didn't test the attached patch, so please confirm that it behaves as expected
before applying it.
Thank you,
--
Maxim Kuvyrkov
KugelWorks
0001-Disable-tests-that-require-cancellation-when-using-B.patch
Description: Binary data
e how your patch fixes
the problem. You write how and which architectures your patch was tested on.
5. You ping your submission every 2 weeks to one of the maintainers until they
review your patch.
Good luck!
--
Maxim Kuvyrkov
KugelWorks
safe
> to include that directly..)
>
> tested on x86_64_unknow_linux and on android device.
>
> Is it OK?
OK.
Thanks,
--
Maxim Kuvyrkov
www.kugelworks.com
branches: trunk,
gcc-4_8-branch and gcc-4_7-branch.
Thank you,
--
Maxim Kuvyrkov
www.kugelworks.com
0001-Fix-licenses-on-several-libgcc-files.patch
Description: Binary data
n 30/07/2013, at 2:06 AM, Ondřej Bílka wrote:
> On Mon, Jul 29, 2013 at 12:10:42PM +0100, Marcus Shawcroft wrote:
>> On 28/07/13 23:03, Maxim Kuvyrkov wrote:
>>> While verifying license compliance for GCC and its libraries I noticed that
>>> several libgcc files that
both the link line from
testsuite log and verbose output of linking (obtainable by adding "-v" to the
link line).
Thank you,
--
Maxim Kuvyrkov
www.kugelworks.com
t;
> #define ANDROID_LIB_SPEC \
> - "%{!static: -ldl}"
> + "%{!static: -ldl}" \
> + "%{pthread: -lc}"
Add a comment to explain why -pthread option triggers -lc for Android.
Please post the updated patch along with notes on which targets you have tested
it. Test coverage should include at least x86_64-linux-gnu and one of android
targets.
Thank you,
--
Maxim Kuvyrkov
www.kugelworks.com
imple
> test with -pthread.
Thanks for good test coverage. I assume you have also tested a non-android
Linux target?
The patch is OK if adjusted to the comments above (or good arguments provided
why your current patch is more straigh-forward).
Thank you,
--
Maxim Kuvyrkov
www.kugelworks.com
On 19/08/2013, at 11:09 PM, Pavel Chupin wrote:
...
>
> Thanks. I'm OK with your suggestions.
> Please see adjusted patch attached.
All good, thanks!
--
Maxim Kuvyrkov
www.kugelworks.com
On 19/03/2013, at 3:38 PM, rbmj wrote:
> On 16-Feb-13 23:21, Maxim Kuvyrkov wrote:
>> On 14/02/2013, at 10:18 AM, rbmj wrote:
>>> Here's the updated, (trivial) patch.
>>
>> Thanks. I'll apply this once 4.8 branches and trunk is back into
>> develop
On 20/03/2013, at 1:35 AM, rbmj wrote:
> On 19-Mar-13 03:04, Maxim Kuvyrkov wrote:
>>
>> Will commit to trunk once the server is up.
The patch is now committed.
>>
>> Regarding 4.8, we should've really tried to work it out earlier. If you
>> want to pur
he variable is a good practice to handle empty definitions of shell
variables (`if test = yes;` will produce an error).
Oh, and in the changelog you have a typo "linux-androids.h" ->
"linux-android.h".
Otherwise OK.
Thanks,
--
Maxim Kuvyrkov
KugelWorks
On 25/03/2013, at 10:15 PM, Richard Biener wrote:
> On Thu, Mar 21, 2013 at 12:22 AM, Maxim Kuvyrkov wrote:
...
>> Richard,
>>
>> As release manager, do you have any objections to backporting this patch to
>> 4.8 branch? It affects only VxWorks targets and it is qu
x-gnu.
Thanks,
--
Maxim Kuvyrkov
KugelWorks
gcc-static-type-hash.ChangeLog
Description: Binary data
gcc-static-type-hash.patch
Description: Binary data
sched_insn debug counter.
OK to apply?
Also, just as heads up, this patch is the first in a series of ~10 patches to
cleanup scheduler and improve it for ARM.
--
Maxim Kuvyrkov
www.linaro.org
0001-Fix-sched_insn-debug-counter.patch
Description: Binary data
This patch improves debug printouts for scheduling passes.
Tested on arm-linux-gnueabihf and x86_64-linux-gnu.
OK to apply?
Thank you,
--
Maxim Kuvyrkov
www.linaro.org
0002-Improve-scheduling-debug-output.patch
Description: Binary data
-gnu cc1.
OK to apply?
Thank you,
--
Maxim Kuvyrkov
www.linaro.org
0003-Remove-IA64-speculation-tweaking-flags.patch
Description: Binary data
Tested on x86_64-linux-gnu, arm-linux-gnueabihf, and by building ia64-linux-gnu
cc1. Changes to PowerPC were seriously eyeballed. If maintainers so to wish,
I will carry out any additional testing.
OK to apply?
Thank you,
--
Maxim Kuvyrkov
www.linaro.org
0004-Cleanup-
> Bootstrapped and regtested on x64.
>
> -Y
>
The new test fails on x86_64 Ubuntu 12.04 native build:
/home/maxim-kuvyrkov/build/gcc-native-e-m-s-f/gcc/xgcc
-B/home/maxim-kuvyrkov/build/gcc-native-e-m-s-f/gcc/
/home/maxim-kuvyrkov/build/src/gcc-e-m-s-f/gcc/testsuite/c-c++-common/asan/asan
e]
Fixed, sorry about the breakage. The patch is trivial.
Thank you,
--
Maxim Kuvyrkov
www.linaro.org
2014-05-23 Maxim Kuvyrkov
Fix bootstrap error on ia64
* config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard):
Return default value.
Index:
insn_set = single_set (insn);
> +
> + prev = prev_nonnote_nondebug_insn (insn);
> + if (prev
> + && insn_set
> + && single_set (prev)
> + && modified_in_p (SET_DEST (insn_set), prev)
Invert the check (as done in the upper if-clause) and cut it here. Then you
can use a single unified
if (targetm.sched.macro_fusion_pair_p (prev, insn))
SCHED_GROUP_P (insn) = 1;
as the final statement of the function.
Thank you,
--
Maxim Kuvyrkov
www.linaro.org
ux.
OK to apply?
More fixes to SCHED_PRESSURE_MODEL coming soon.
Thank you,
--
Maxim Kuvyrkov
www.linaro.org
0001-Fix-INSN_TICK-heuristic-for-SCHED_PRESSURE.patch
Description: Binary data
according to sched verbosity. This patch helped me track down
several bugs in rank_for_schedule that result is stupid scheduling decisions.
Bootstrapped and tested on x86_64-linux-gnu.
OK to apply?
Thank you,
--
Maxim Kuvyrkov
www.linaro.org
0002-Add-statistical-printout-of
On Jul 14, 2014, at 8:05 PM, Steven Bosscher wrote:
> On Mon, Jul 14, 2014 at 6:12 AM, Maxim Kuvyrkov wrote:
>> Hi,
>>
>> This patch fixes 2 of the [several] problems in rank_for_schedule heuristics
>> for SCHED_PRESSURE_MODEL. SCHED_PRESSURE_MODEL is used for first
hov wrote:
>>>> On 10/07/14 22:53, Maxim Kuvyrkov wrote:
>>>>> The patch looks good to me, but some cleanup suggestions below.
>>>> Thanks, here's an updated patch.
>>>> How's this?
>>> You need to remove 'if (targetm. ...) S
the offset anyway.
The patch seems OK to me (provided no regressions on the testsuite), but you
need to get an ACK from an official maintainer.
Thank you,
--
Maxim Kuvyrkov
www.linaro.org
On Jul 17, 2014, at 5:34 AM, Jeff Law wrote:
> On 07/13/14 22:17, Maxim Kuvyrkov wrote:
>> Hi,
>>
>> This patch adds dump printouts for scheduling heuristics in
>> rank_for_schedule. Rank_for_schedule is one of the cornerstones of
>> haifa scheduler, yet it
2 years (and,
"yes", I know this is not the fairest metric). Script used:
$ git log "--pretty=format:%an" | head -n 12000 | awk '{ a[$1]++; } END { for
(i in a) print a[i] " " i; }' | sort -g | tail -n 50
[2] http://gcc.gnu.org/wiki/SummerOfCode
--
Maxim Kuvyrkov
www.linaro.org
>through inline assembly -- is this intended use-case or an [unsupported]
>side-effect?
If "yes" then it, probably, needs documentation in doc/tm.texi or elsewhere.
Thank you,
--
Maxim Kuvyrkov
www.linaro.org
The attached patch adds a release note for performance improvements for
Broadcom XLP processors (MIPS architecture) that went into GCC 4.8.
OK to apply?
Thanks,
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
xlp-performance.patch
Description: Binary data
TIVE) && HAVE_GNU_INDIRECT_FUNCTION
> - ASM_OUTPUT_TYPE_DIRECTIVE
> - (asm_out_file, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)),
> - IFUNC_ASM_TYPE);
> +#if defined (ASM_OUTPUT_TYPE_DIRECTIVE)
> + if (TARGET_HAS_IFUNC)
> + ASM_OUTPUT_TYPE_DIRECTIVE
> + (asm_out_file, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)),
> +IFUNC_ASM_TYPE);
> + else
> + error_at (DECL_SOURCE_LOCATION (decl),
> + "ifunc is not supported on this target");
> #else
>error_at (DECL_SOURCE_LOCATION (decl),
> "ifunc is not supported in this configuration");
Please use same error message in both error cases. It seems you can just
convert '#else' preprocessor clause into 'else' code clause without touching
the error_at() statement beyond indentation updates.
Thanks,
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
I've checked in the following patch to update my email address in MAINTAINERS.
--
Maxim Kuvyrkov
MAINTAINERS-Update-my-email.ChangeLog
Description: Binary data
MAINTAINERS-Update-my-email.patch
Description: Binary data
ECT_FUNCTION;
> +}
> +
> /* NULL if INSN insn is valid within a low-overhead loop, otherwise returns
> an error message.
>
> diff --git a/gcc/targhooks.h b/gcc/targhooks.h
> index bd7d4bc..8622d58 100644
> --- a/gcc/targhooks.h
> +++ b/gcc/targhooks.h
> @@ -73,6 +73,8 @@ extern bool targhook_float_words_big_endian (void);
> extern bool default_decimal_float_supported_p (void);
> extern bool default_fixed_point_supported_p (void);
>
> +extern bool default_have_ifunc (void);
> +
> extern const char * default_invalid_within_doloop (const_rtx);
>
> extern tree default_builtin_vectorized_function (tree, tree, tree);
> diff --git a/gcc/varasm.c b/gcc/varasm.c
> index 7d083fd..dd677a4 100644
> --- a/gcc/varasm.c
> +++ b/gcc/varasm.c
> @@ -5489,14 +5489,15 @@ do_assemble_alias (tree decl, tree target)
> }
>if (lookup_attribute ("ifunc", DECL_ATTRIBUTES (decl)))
> {
> -#if defined (ASM_OUTPUT_TYPE_DIRECTIVE) && HAVE_GNU_INDIRECT_FUNCTION
> - ASM_OUTPUT_TYPE_DIRECTIVE
> - (asm_out_file, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)),
> - IFUNC_ASM_TYPE);
> -#else
> - error_at (DECL_SOURCE_LOCATION (decl),
> - "ifunc is not supported in this configuration");
> +#if defined (ASM_OUTPUT_TYPE_DIRECTIVE)
> + if (targetm.has_ifunc ())
> + ASM_OUTPUT_TYPE_DIRECTIVE
> + (asm_out_file, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)),
> +IFUNC_ASM_TYPE);
> + else
> #endif
> + error_at (DECL_SOURCE_LOCATION (decl),
> + "ifunc is not supported on this target");
> }
I like how you arranged #if-else-#endif to have a single error path.
Thank you,
--
Maxim Kuvyrkov
> +You should have received a copy of the GNU General Public License
> +along with GCC; see the file COPYING3. If not see
> +<http://www.gnu.org/licenses/>. */
> +
> +#include "config.h"
> +#include "system.h"
> +#include "coretypes.h"
>
s.h b/gcc/config/linux-protos.h
> new file mode 100644
> index 000..aae1d28
> --- /dev/null
> +++ b/gcc/config/linux-protos.h
> @@ -0,0 +1,22 @@
> +/* Prototypes.
> + Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2010, 2011,
> + 2012, 2013
"Copyright (C) 2013."
> --- /dev/null
> +++ b/gcc/config/t-linux-android
> @@ -0,0 +1,23 @@
> +# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
> 2013
"Copyright (C) 2013."
Thanks!
--
Maxim Kuvyrkov
ts 2 and 3.
OK to apply?
Thanks,
--
Maxim Kuvyrkov
0001-Inlining-and-devirtualizaion-tests.patch
Description: Binary data
particular testcase. As
inlining and devirtualization analysis improves, these tests will start passing.
Thanks,
--
Maxim Kuvyrkov
ructure which records all of the active keys.
>
> @@ -150,7 +158,7 @@ static __gthread_once_t tls_init_guard =
> need to read tls_keys.dtor[key] atomically. */
>
> static void
> -tls_delete_hook (void *tcb ATTRIBUTE_UNUSED)
> +tls_delete_hook (void *tcb)
Don't remove ATTRIBUTE_UNUSED. TCB was and will remain unused #ifdef __RTP__.
> {
>struct tls_data *data;
>__gthread_key_t key;
> @@ -185,7 +193,7 @@ tls_delete_hook (void *tcb ATTRIBUTE_UNU
> #ifdef __
> RTP
> __
>__gthread_leave_tls_dtor_context ();
> #else
> - __gthread_leave_tsd_dtor_context ();
> + __gthread_leave_tsd_dtor_context (tcb);
> #endif
OK.
Thanks,
--
Maxim Kuvyrkov
sarily is unused. It's fine to have this
attribute set on variables that are used under certain preprocessor
configurations.
Thanks,
--
Maxim Kuvyrkov
I've updated my email address. KugelWorks is open for business.
--
Maxim Kuvyrkov
KugelWorks
0001-MAINTAINERS-Update-my-email.patch
Description: Binary data
On 14/02/2013, at 10:18 AM, rbmj wrote:
> On 18-Jan-13 20:35, Maxim Kuvyrkov wrote:
>> On 19/01/2013, at 9:18 AM, rbmj wrote:
>>
>>>>> -150,7 +158,7 @@ static __gthread_once_t tls_init_guard =
>>>>> need to read tls_keys.dtor[k
On 13/10/2011, at 12:58 AM, Richard Guenther wrote:
> On Wed, Oct 12, 2011 at 8:50 AM, Maxim Kuvyrkov
> wrote:
>> The following patch adds new knob to make GCC perform several iterations of
>> early optimizations and inlining.
>>
>> This is for dont-care-about
ece of rope to hang themselves; for others it will produce good
benefits of better performance.
[Disclaimer: I've put significant amount of my time into investigation of this
problem and hate to see it all go to waste :-).]
Thank you,
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
On 28/09/2011, at 4:56 PM, Maxim Kuvyrkov wrote:
> Jan,
>
> The following patch starts a series of patches which improve devirtualization
> optimizations in GCC.
>
> This patch builds on ipa-cp.c and ipa-prop.c infrastructure for analyzing
> parameters and jump fun
return false;
>
> Why is it not enough to catch integer constants?
It appears to be enough. The patch I sent was developed against GCC 4.6 and I
didn't notice your change when updated it for 4.7. Thanks for fixing this.
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
lt. The only failures are 5 scan-dump tests that
are due to more functions being inlined than expected. With iterative
optimizations disabled there is no change.
I've kicked off SPEC2000/SPEC2006 benchmark runs to see the performance effect
of the patch, and those will be posted in the same Google Docs spreadsheet in
several days.
OK for trunk?
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
fsf-gcc-iter-eipa-2.ChangeLog
Description: Binary data
fsf-gcc-iter-eipa-2.patch
Description: Binary data
ns, I will commit this patch one Martin's patch goes in.
Thank you,
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
fsf-gcc-inline-devirt-tests.ChangeLog
Description: Binary data
fsf-gcc-inline-devirt-tests.patch
Description: Binary data
On 27/10/2011, at 12:22 PM, Martin Jambor wrote:
> Hi,
>
> I've been asked by Maxim Kuvyrkov to revive the following patch which
> has not made it to 4.6. Currently, when type based devirtualization
> detects a potential type change, it simply gives up on gathering any
parameters, and use them. */
> + NULL, NULL);
>
> Remapping should not be needed here - the jump functions are merged after
> marking edge inline, so jump
> functions in inlined functions actually reffe
nce fuction modified to
> accept
> only predicates such that the new predicate is implied by them. If you are
> willing to play with this, I have no problem with going for this.
Yes, favoring predicates that already imply the new one is a good suggestion.
Thank you,
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
ut to work
just fine. Probably, that was a bug that was fixed since.
The patch bootstraps and passes regtest.
Comments? OK for trunk?
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
On 28/10/2011, at 3:43 PM, Maxim Kuvyrkov wrote:
> On 20/10/2011, at 10:11 PM, Jan Hubicka wrote:
&
On 28/10/2011, at 11:43 PM, Richard Guenther wrote:
> On Fri, Oct 28, 2011 at 1:05 AM, Maxim Kuvyrkov
> wrote:
>>
>> OK for trunk?
>
> diff --git a/gcc/cgraph.c b/gcc/cgraph.c
> index f056d3d..4738b28 100644
> --- a/gcc/cgraph.c
> +++ b/
edge->call_stmt_cannot_inline_p
> + = gimple_call_cannot_inline_p (edge->call_stmt);
Wouldn't ipa_make_edge_direct or cgraph_make_edge_direct be a better place for
this?
Thank you,
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
s feature
the world would be a simpler place for us to live in, as we would not have to
know and care about regressions and missed opportunities in GCC's
optimizations. But, really, that would've been a boring world :-).
I feel that dropping this feature will cause the problems to stay unnoticed and
never get fixed.
[*]
https://docs.google.com/spreadsheet/ccc?key=0AvK0Y-Pgj7bNdFBQMEJ6d3laeFdvdk9lQ1p0LUFkVFE
Thank you,
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
Ping.
--
Maxim Kuvyrkov
www.trivialbugs.com
On 28/10/2011, at 9:01 PM, Maxim Kuvyrkov wrote:
> Jan,
>
> Attached is the updated patch. The only major change is the addition of
> indirect_call_cost to size and time weights. I've set the size cost of
> indirect call t
OK'd them for x86 ...
OK, provided that the patches in the above threads apply without conflicts. If
there are conflicts, please repost for review.
Thanks,
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
madd")
> (set_attr "accum_in" "3")
> (set_attr "mode""SI")
> (set_attr "length" "4,8")])
>
> Then mips_linked_madd_p can use get_attr_accum_in to check for chains.
>
I thought I'll butt in since I
Does it look OK to you?
Thank you,
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
ew this patch, and then the scheduler maintainers will have
an option of accepting my word for it, or doing a second review. I have
reviewed earlier versions of this patch, so I know I'm happy with the general
structure of the optimization.
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
uct dl_phdr_info *info, size_t size, void *data),
void *data);
---
I'm not 100% sure where the above link.h comes from for MIPS, but since it's
not present in Bionic sources, my guess is kernel's arch/mips/include
directory. Checking ... No, not from the kernel s
up. Fixed by adding
if (recog_memoized (in_insn) < 0)
return false;
at the beginning of mips_linked_madd_p.
Richard, thanks for review, and thanks Sandra for testing the patch.
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
or type. This field is superseded by STATUS below.
> + Though, it is still in place because some targets use it. */
> + ENUM_BITFIELD(reg_note) type:6;
>
... is superseded by STATUS *above*.
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
, I understand that such a change
is not trivial to implement and that the current implementation has a great
argument for it -- that it works.]
Tested on mips-linux-gnu with no regressions. OK to apply?
Thank you,
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
sched-deps-fix.ChangeLog
longer holds true.
Tested by building a ColdFire toolchain. OK to apply?
Thank you,
--
Maxim Kuvyrkov
Mentor Graphics
gcc-m68k-sched_ib.ChangeLog
Description: Binary data
gcc-m68k-sched_ib.patch
Description: Binary data
On 4/09/2012, at 7:57 PM, Andreas Schwab wrote:
> Maxim Kuvyrkov writes:
>
>> 2012-09-03 Maxim Kuvyrkov
>>
>> * config/m68k/m68k.c (m68k_sched_dfa_post_advance_cycle): Fix ICE
>> caused by "save scheduler state" patch.
>
> The cha
I thought
> that Maxim writes his comments first.
I reviewed the patch in http://gcc.gnu.org/ml/gcc-patches/2012-08/msg01028.html
(comments were similar to yours), but didn't CC you. Anyway, thanks for the
review!
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
On 14/06/2012, at 6:50 AM, Richard Sandiford wrote:
> Maxim Kuvyrkov writes:
>> diff --git a/gcc/config/mips/sync.md b/gcc/config/mips/sync.md
>> index 604aefa..ac953b5 100644
>> --- a/gcc/config/mips/sync.md
>> +++ b/gcc/config/mips/sync.md
>> @@ -607,10 +607
On 14/06/2012, at 6:33 AM, Richard Sandiford wrote:
> Looks good, thanks. Just a couple of silly comments...
>
> Maxim Kuvyrkov writes:
>> +/* Subroutines of the mips_process_sync_loop.
>> + Emit barriers as needed for the memory MODEL. */
On 14/06/2012, at 6:59 AM, Richard Sandiford wrote:
> Maxim Kuvyrkov writes:
>> + /* Don't bother setting returns that are never used. */
>> + if (cmp && find_reg_note (insn, REG_UNUSED, cmp))
>> +cmp = 0;
>> + if (required_oldval &&
Walter,
While working on atomics for a different target, I've noticed below typo bug in
TileGX.
Patch checked in as obvious.
Thank you,
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
fsf-gcc-tile-sync.patch
Description: Binary data
would appreciate target maintainers
to cast a close look at the changes for their targets. The changes are simple,
but you can never eliminate typo mistakes.
Thank you,
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
0001-Unify-emit_-pre-post-_atomic_barrier-across-Alpha-AR.patch
Description: B
On 15/06/2012, at 8:51 AM, Hans-Peter Nilsson wrote:
> On Thu, 14 Jun 2012, Maxim Kuvyrkov wrote:
>> On 14/06/2012, at 6:33 AM, Richard Sandiford wrote:
>>> Maxim Kuvyrkov writes:
>>>> +/* Subroutines of the mips_process_sync_loop.
>>>> + Em
On 14/06/2012, at 7:01 AM, Richard Sandiford wrote:
> Maxim Kuvyrkov writes:
>>
...
>> After a chat with Bernd Schmidt, this is not a bug. I've already fixed the
>> patch per yours and Bernd's instructions. Do you want to look through an
>> updated p
On 16/06/2012, at 7:45 PM, Richard Sandiford wrote:
> Maxim Kuvyrkov writes:
>> Updated patch attached. Any further comments?
>
> It's due to my bad explanation, sorry, but this isn't what I meant.
> The two main changes I was looking for were:
>
> 1) Your p
I've now checked these patches.
Tom, thanks for great optimizing sync and atomic builtins for MIPS and XLP,
and, Richard, thanks for the reviews and education on writing good .md
descriptions.
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
On 13/06/2012, at 5:50 PM, Maxim Kuvyrkov
On 15/06/2012, at 11:16 AM, Richard Henderson wrote:
> On 2012-06-14 16:06, Maxim Kuvyrkov wrote:
>> 2012-06-15 Maxim Kuvyrkov
>>
>> * emit-rtl.c (need_atomic_barrier_p): New function.
>> * emit-rtl.h (need_atomic_barrier_p): Declare it.
>> *
)]
> - ""
> + "!(flag_android && OPTION_BIONIC)"
> {
> rtx flags = gen_rtx_REG (CCZmode, FLAGS_REG);
>
> @@ -18027,7 +18027,7 @@
>(match_operand:P 2 "memory_operand" "m")]
> UNSPEC_SP_TEST))
>(clobber (match_scratch:P 3 "=&r"))]
> - ""
> + "!(flag_android && OPTION_BIONIC)"
> "mov{}\t{%1, %3|%3, %1}\;xor{}\t{%2, %3|%3, %2}"
> [(set_attr "type" "multi")])
Thanks,
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
ey'll need to sign a copyright assignment.
>> Have they already done that?
>
> They have assigned the copyright to Mentor Graphics, so it should mean
> the code can be contributed by us.
That is correct. NetLogic developed the original xlp.md description, which
Chung-Lin essentially rewrote. In any case, Mentor has copyright assignment
for the original xlp.md specifically so that we can contribute this upstream.
Thank you,
--
Maxim Kuvyrkov
CodeSourcery / Mentor Graphics
On 16/07/2012, at 6:56 PM, Maxim Kuvyrkov wrote:
> On 16/07/2012, at 6:37 PM, Chung-Lin Tang wrote:
>
>> On 2012/7/16 12:28 AM, Richard Sandiford wrote:
>>> Chung-Lin Tang writes:
>>>> This patch adds scheduling support for the NetLogic XLP, including a n
201 - 300 of 397 matches
Mail list logo