Re: werror fallout for cross-builds (was: Re: [BUILDROBOT][PATCH] Fix mmix (unused variable))

2014-07-22 Thread Mike Stump
On Jul 22, 2014, at 6:22 PM, Hans-Peter Nilsson wrote: > Note that I didn't actually ask for approval. Then I’m shadow boxing. I assumed that people wanted to turn it on by default. I’m all for that, I think it is a good idea and a fine direction. :-) The only limitation is whitelisting exa

Re: werror fallout for cross-builds (was: Re: [BUILDROBOT][PATCH] Fix mmix (unused variable))

2014-07-22 Thread Hans-Peter Nilsson
On Tue, 22 Jul 2014, Mike Stump wrote: > On Jul 22, 2014, at 1:40 PM, Hans-Peter Nilsson wrote: > > > > *Developers* (or rather, people cross-building non-released gcc > > source in their usual setup) don't use the fairly old or even > > broken host gcc versions that can be expected in use in the

Re: [PATCH, 4.9/4.10] Profile based option tuning

2014-07-22 Thread Pengfei Yuan
In the experiment, about 60% (1019/1699) profile data files are empty (all counters are zero). 2014-07-22 21:39 GMT+08:00 Richard Biener : > On Mon, Jul 21, 2014 at 7:13 AM, Pengfei Yuan <0xcool...@gmail.com> wrote: >> Hi, >> >> This patch tunes optimization options based on profile data: >> * Dis

[GSoC][match-and-simplify] change syntax of inner-if

2014-07-22 Thread Prathamesh Kulkarni
This patch changes syntax of inner-if to be parenthesized - (if (cond)) * genmatch.c (parse_match_and_simplify): Adjust to parse parenthesized if. (peek_ident): New function. * match.pd: Adjust patterns having if-expr to new syntax. Thanks and Regards, Prathamesh Index: gcc/genmatch.c =

Re: werror fallout for cross-builds (was: Re: [BUILDROBOT][PATCH] Fix mmix (unused variable))

2014-07-22 Thread Mike Stump
On Jul 22, 2014, at 1:40 PM, Hans-Peter Nilsson wrote: > > *Developers* (or rather, people cross-building non-released gcc > source in their usual setup) don't use the fairly old or even > broken host gcc versions that can be expected in use in the > general public (well, the users that still wan

[GSoC][match-and-simplify] remove unnecessary debug information

2014-07-22 Thread Prathamesh Kulkarni
I was displaying pattern = for debugging some issue related to implementing for-pattern, not meant for dumping with -v Removed accordingly. * genmatch.c (main): Remove unnecessary debug information. Thanks and Regards, Prathamesh Index: genmatch.c

Re: [gsoc][match-and-simplify] allow multiple patterns inside for ?

2014-07-22 Thread Prathamesh Kulkarni
On Wed, Jul 23, 2014 at 3:42 AM, Prathamesh Kulkarni wrote: > Would it be a good idea to allow multiple match_and_simplify within for ? allow multiple patterns (match_and_simplify, for). > * genmatch.c (parse_for): Adjust to parse multiple patterns. > > Thanks and Regards, > Prathamesh

[gsoc][match-and-simplify] allow multiple patterns inside for ?

2014-07-22 Thread Prathamesh Kulkarni
Would it be a good idea to allow multiple match_and_simplify within for ? * genmatch.c (parse_for): Adjust to parse multiple patterns. Thanks and Regards, Prathamesh Index: genmatch.c === --- genmatch.c (revision 212558) +++ genmatch

Re: werror fallout for cross-builds

2014-07-22 Thread Andreas Schwab
Hans-Peter Nilsson writes: > gcc: > * configure.ac: For cross-builds of non-releases with gcc 4.4.4 > and newer, enable -Werror. Provide per-target exceptions, and do > except vax-*. This will break when a new printf format is added. Andreas. -- Andreas Schwab, sch...@linux

PATCH: PR libgcc/61685: Strange check in bid128_fma.c - rounding_correction()

2014-07-22 Thread H.J. Lu
Hi, This patch from Marius removes the redundant tests. Tested on Linux/x86-64 without regressions. I will check it in tomorrow. Thanks. H.J. -- diff --git a/libgcc/config/libbid/ChangeLog b/libgcc/config/libbid/ChangeLog index 9405a3a..8ec7468 100644 --- a/libgcc/config/libbid/ChangeLog +++ b

werror fallout for cross-builds (was: Re: [BUILDROBOT][PATCH] Fix mmix (unused variable))

2014-07-22 Thread Hans-Peter Nilsson
On Tue, 22 Jul 2014, Richard Biener wrote: > On Fri, 18 Jul 2014, Hans-Peter Nilsson wrote: > > > On Fri, 18 Jul 2014, Jan-Benedict Glaw wrote: > > It should be per-target because there *may* be port-specific > > constructs warned about by buggy previous-but-not-ancient > > gcc-versions, where work

Re: [PATCH][AArch64][tests]Skip graphite tests that don't fit -mcmodel=tiny

2014-07-22 Thread Mike Stump
On Jul 22, 2014, at 4:01 AM, Kyrill Tkachov wrote: > These tests use very large arrays as part of their loop interchange testing > so they don't fit into the 1MiB binary size limit imposed by -mcmodel=tiny. > This causes errors at link-time. > Ok to commit? So the test suite should be used to

[cygming] make sure libgcc logic is consistent

2014-07-22 Thread DJ Delorie
This patch changes the logic in "crtbegin" that looks for libgcc.dll such that the test is only done once, guaranteeing consistent results between the register and deregister cases. Previously, a crash occurred if the application (directly or indirectly) caused libgcc.dll to load after main() was

Re: [PATCH] proposed fix for bug # 61144

2014-07-22 Thread Rich Felker
On Tue, Jul 22, 2014 at 09:17:12PM +0400, Alexander Monakov wrote: > On Tue, 22 Jul 2014, Alexander Monakov wrote: > > I'd like to push this topic forward a bit. I've bootstrapped and regtested > > a > > version of the patch based on the initial proposal to check DECL_WEAK. The > > approach with

Re: [PATCH] proposed fix for bug # 61144

2014-07-22 Thread Alexander Monakov
On Tue, 22 Jul 2014, Alexander Monakov wrote: > I'd like to push this topic forward a bit. I've bootstrapped and regtested a > version of the patch based on the initial proposal to check DECL_WEAK. The > approach with decl_replaceable_p looks not that easy; I'll expand in a > followup email. The

Re: [PATCH] proposed fix for bug # 61144

2014-07-22 Thread Alexander Monakov
On Mon, 16 Jun 2014, Jan Hubicka wrote: > > > /* Variables declared 'const' without an initializer > > > have zero as the initializer if they may not be > > > overridden at link or run time. */ > > > if (!DECL_INITIAL (real_decl) > > > && (DECL_EXTERNAL (decl) || decl_replaceab

Re: Implement N4051 - Allow typename in a template template parameter

2014-07-22 Thread Ville Voutilainen
On 22 July 2014 15:53, Ed Smith-Rowland <3dw...@verizon.net> wrote: > On 07/22/2014 01:56 AM, Ville Voutilainen wrote: >> >> +/* Parse a type-parameter-key. >> + >> + type-parameter-key: >> + class >> + typedef >> + >> + Returns the kind of type-parameter-key specified, or none_type to

Re: [GSoC] generation of Gimple code from isl_ast_node_block

2014-07-22 Thread Tobias Grosser
On 22/07/2014 18:00, Roman Gareev wrote: I've attached the patch, which contains generation of Gimple code from isl_ast_node_block. Is it fine for trunk? LGTM. Tobias

Re: [GSoC] extend schedules

2014-07-22 Thread Tobias Grosser
On 22/07/2014 18:00, Roman Gareev wrote: I've attached the patch, which adds the extension of all schedules to the maximal number of schedule dimensions. It is necessary for the proper work of the isl AST generator. Is it fine for trunk? -- Cheers, Roman Garee

Re: [RFC][ARM] TARGET_ATOMIC_ASSIGN_EXPAND_FENV hook

2014-07-22 Thread Ramana Radhakrishnan
On Sat, Jul 12, 2014 at 11:40 PM, Kugan wrote: >> >> - if (!TARGET_VFP) >> -return; >> + if (!TARGET_VFP || TARGET_THUMB1) >> +return default_atomic_assign_expand_fenv (hold, clear, update); >> >> You don't need to call default function here. It is empty, the >> documentation says: >> >>

[PATCH, testcase, committed] Exit with zero status from g++.dg/ipa/pr61160-3.C

2014-07-22 Thread Martin Jambor
Hi, in order to avoid spurious testsuite failures, I've checked in the following obvious patch so that the testcase always returns zero. I have verified it still properly tests for non-existence of the bug. Thanks, Martin 2014-07-22 Martin Jambor PR ipa/61160 * g++.dg/ipa/p

Re: [PATCH][ARM] Enable arm target in ira-shrinkwrap-prep* testcases

2014-07-22 Thread Ramana Radhakrishnan
On Mon, Jul 14, 2014 at 11:11 AM, Jiong Wang wrote: > currently the following testcases are disabled for arm target, > > gcc.dg/ira-shrinkwrap-prep-1.c > gcc.dg/ira-shrinkwrap-prep-2.c > gcc.dg/pr10474.c > > the reason is on arm target, register r3 is caller-saved. Normally it does > not need to

Re: a new libgcov interface: __gcov_dump_all

2014-07-22 Thread Xinliang David Li
Please take a look the updated patch. It addresses the issue of using dlclose before dump, and potential races (between a thread closing a library and the dumper call). David On Sun, Jul 20, 2014 at 11:12 PM, Nathan Sidwell wrote: > On 07/20/14 21:38, Xinliang David Li wrote: >> >> The gcov_info

[GSoC] extend schedules

2014-07-22 Thread Roman Gareev
I've attached the patch, which adds the extension of all schedules to the maximal number of schedule dimensions. It is necessary for the proper work of the isl AST generator. Is it fine for trunk? -- Cheers, Roman Gareev. 2014-07-22 Roman Gareev gcc/

[GSoC] generation of Gimple code from isl_ast_node_block

2014-07-22 Thread Roman Gareev
I've attached the patch, which contains generation of Gimple code from isl_ast_node_block. Is it fine for trunk? -- Cheers, Roman Gareev. 2014-07-22 Roman Gareev gcc/ * graphite-isl-ast-to-gimple.c: (translate_isl_ast_node_block): New

Re: Strenghten assumption about dynamic type changes (placement new)

2014-07-22 Thread Jan Hubicka
> I don't see why > > long x[1024]; > > Q *q = new (x) Q; > q->~Q (); > new (x) T; > > would be invalid. I also don't see why > > Q q; > q.~Q (); > new (&q) T; > > would be. Object lifetime is precisely specified and I don't see where it is > tied to (static) storage lifetime. This is preci

Re: [PATCH][AArch64][tests]Skip graphite tests that don't fit -mcmodel=tiny

2014-07-22 Thread Kyrill Tkachov
On 22/07/14 16:01, Sebastian Pop wrote: On Tue, Jul 22, 2014 at 6:01 AM, Kyrill Tkachov wrote: Hi all, These tests use very large arrays as part of their loop interchange testing so they don't fit into the 1MiB binary size limit imposed by -mcmodel=tiny. This causes errors at link-time. Skip

Re: [PATCH][AArch64][tests]Skip graphite tests that don't fit -mcmodel=tiny

2014-07-22 Thread Sebastian Pop
On Tue, Jul 22, 2014 at 6:01 AM, Kyrill Tkachov wrote: > Hi all, > > These tests use very large arrays as part of their loop interchange testing > so they don't fit into the 1MiB binary size limit imposed by -mcmodel=tiny. > This causes errors at link-time. > > Skip them when that is the case. > >

[AArch64/GCC][11/N] Unify vector and core register save/restore code as one copy

2014-07-22 Thread Jiong Wang
split save and restore code. the logic will be easier to understand. ok for upstream? thanks. gcc/ * config/aarch64/aarch64.md: (aarch64_save_or_restore_callee_saves): Rename to aarch64_save_callee_saves, remove restore code. (aarch64_restore_callee_saves): New function. >From b063ab3e22

[AArch64/GCC][16/N] New parameter 'skip_wb' for 'aarch64_save/restore_callee_save_common'

2014-07-22 Thread Jiong Wang
the common reg save/restore function should skip those write-back candidate reg if 'skip_wb' be true. *no functional change* ok to install? thanks. gcc/ * config/aarch64/aarch64.c (aarch64_save_callee_save_common): New parameter "skip_wb". (aarch64_restore_callee_save_common): Likewise.

[AArch64/GCC][15/N] Add two new frame fields

2014-07-22 Thread Jiong Wang
Add two new frame fields: * cfun->machine->frame.wb_candidate1 * cfun->machine->frame.wb_candidate2 * wb_candidate1 to record the first reg index which could carry write-back. * wb_candidate2 to record the second reg index which could form reg pair with * wb_candidate1 to carry write

[AArch64/GCC][10/N] Unify vector and core register save/restore code as one copy

2014-07-22 Thread Jiong Wang
vector and core register push/restore code are duplicated. this patch unify them as one copy. *no functional change* ok to install? thanks. gcc/ * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Deleted. (aarch64_save_callee_saves): New function to handle reg save for both core

[AArch64/GCC][14/N] Optimize epilogue when there is frame pointer

2014-07-22 Thread Jiong Wang
currently we are generating sub-optimal epilogue when there is frame pointer and there is outgoing area. take gcc.target/aarch64/test_frame_12.c for example: the epilogue for test_12 is: .L12: sub sp, x29, #16 ldp x29, x30, [sp, 16] add sp, sp, 4

[AArch64/GCC][13/N] Simplify epilogue expand using new helper functions

2014-07-22 Thread Jiong Wang
Like patch 12, this patch simplify aarch64_expand_epilogue using our new helper functions. All ad-hoc code for saving FP/LR are removed. *no functional change* OK to install? thanks. gcc/ * config/aarch64/aarch64.c (aarch64_gen_loadwb_pair): New helper function. (aarch64_popwb_pair_reg): L

[AArch64/GCC][12/N] Simplify prologue expand using new helper functions

2014-07-22 Thread Jiong Wang
This patch simplify aarch64_expand_prologue using our new helper functions. All ad-hoc code for saving FP/LR are removed. *no functional change* OK to install? thanks. gcc/ * config/aarch64/aarch64.c (aarch64_gen_storewb_pair): New helper function. (aarch64_pushwb_pair_reg): Likewise. (a

[AArch64/GCC][7/N] Hoist calculation of register rtx

2014-07-22 Thread Jiong Wang
This patch hoist the calcuation of register rtx to avoid invoking of "gen_rtx_REG" scattered everywhere. *no functional change* ok to install? thanks. gcc/ * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Hoist calculation of register rtx. (aarch64_save_or_restore_callee_save_r

[AArch64/GCC][9/N] Use helper functions to handle multiple mode

2014-07-22 Thread Jiong Wang
This patch add several helper functions to handle function invokation under different mode. We will merge core/vectore register push/restore function in later patches, so these helper functions are necessary. *no functional change* ok to install? thanks. gcc/ * config/aarch64/aarch64.c (aar

[AArch64/GCC][4/N] Remove useless parameter 'base_rtx'

2014-07-22 Thread Jiong Wang
This patch removes the useless paramter 'base_rtx', as we use stack_pointer_rtx always. *no functional change* OK to install? thanks gcc/ * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Remove base_rtx. (aarch64_save_or_restore_callee_save_registers): Likewise. >From a3712f8a842

[AArch64/GCC][5/N] Use register offset in 'cfun->machine->frame.reg_offset'

2014-07-22 Thread Jiong Wang
We should use offset calculated during frame layout instead of ad-hoc interative increment. This patch let the code fetch reg offsets from cfun->machine->frame.reg_offset. By this fix, FP/LR could be treated as normal register also. *no functional change* OK to install? thanks gcc/ * config

[AArch64/GCC][8/N] Refactor code out into 'aarch64_next_callee_save'

2014-07-22 Thread Jiong Wang
This patch refactor the inner loop out into "aarch64_next_callee_save", and simplify the code logic and reduce indent. *no functional change* ok to install? thanks. gcc/ * config/aarch64/aarch64.c (aarch64_next_callee_save): New function. (aarch64_save_or_restore_fprs): Use aarch64_next_ca

[AArch64/GCC][6/N] Remove useless variable 'increment'

2014-07-22 Thread Jiong Wang
This patch removes useless variable "increment", use UNITS_PER_WORD directly. *no functional change* ok to install? thanks. gcc/ * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Remove "increment". (aarch64_save_or_restore_callee_save_registers): Likewise. >From 9754ca4c3aea24007

[AArch64/GCC][2/N] Let parameter type be consistent

2014-07-22 Thread Jiong Wang
This patch change the type of "start_offset" to HOST_WIDE_INT to be consistent with all other code *no functional change* OK to install ? thanks. gcc/ * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Change type to HOST_WIDE_INT. >From 942f4a0fa1edb85f3d5b67abe6712e5813bd67fe Mon

[AArch64/GCC][3/N] Remove useless local variable "start_offset"

2014-07-22 Thread Jiong Wang
This patch remove the useless local variable start_offset. *no functional change* OK to install? thanks. gcc/ * config/aarch64/aarch64.c (aarch64_save_or_restore_callee_save_registers): Rename 'offset' to 'start_offset'. Remove local variable 'start_offset'. >From 5aa00d14362096436069092

[AArch64/GCC][1/N] GNU-Stylize some un-formatted code

2014-07-22 Thread Jiong Wang
indenting and making sure columns less than 80 in the following functions: * aarch64_save_or_restore_fprs * aarch64_save_or_restore_callee_save_registers *no functional change* OK to install? thanks. gcc/ * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): GNU-Stylize code. (aar

Re: [PATCH] New check and updates in check_GNU_style script

2014-07-22 Thread Sebastian Pop
Yes, clang-format knows how to format patches, and it also has a vi and emacs mode able to format a region of code. On Tue, Jul 22, 2014 at 12:46 AM, Yury Gribov wrote: > On 07/22/2014 02:24 AM, Sebastian Pop wrote: >> >> What about getting clang-format to GNU format instead of improving >> this

[AArch64/GCC][0/N] Refactor prologue/epilogue code and optimize insns generated

2014-07-22 Thread Jiong Wang
currently, the implementation of AArch64 prologue/epilogue expand hooks are a bit unclean. the major issues are: * when pushing callee-saved registers, register offset are calculated by ad-hoc code instead of referencing offset table initialized in aarch64_layout_frame. * FP/LR push/

Re: [PATCH] Move Asan instrumentation to sanopt pass

2014-07-22 Thread Yury Gribov
On 07/22/2014 05:57 PM, Richard Biener wrote: I probably could provide fnspec with (EAF_DIRECT | EAF_NOCLOBBER | EAF_NOESCAPE) or even EAF_UNUSED for these functions but this does not seem to be supported in current middle-end. Simply add the "fn spec" attribute to the functions? Problem is t

Re: [PATCH] Move Asan instrumentation to sanopt pass

2014-07-22 Thread Richard Biener
On Tue, Jul 22, 2014 at 4:15 PM, Yury Gribov wrote: > On 07/22/2014 05:57 PM, Richard Biener wrote: >>> >>> I probably could >>> provide fnspec with (EAF_DIRECT | EAF_NOCLOBBER | EAF_NOESCAPE) or >>> even EAF_UNUSED for these functions but this does not seem >>> to be supported in current middle-e

Re: Strenghten assumption about dynamic type changes (placement new)

2014-07-22 Thread Richard Biener
On Tue, Jul 22, 2014 at 3:54 PM, Jan Hubicka wrote: >> >> As discussen during the Cauldron keeping some builtin doesn't help because >> you are not forced to access the newly created object via the pointer >> returned >> by the placement new. That is, >> >> template >> struct Storage { >>

Re: [PATCH] Move Asan instrumentation to sanopt pass

2014-07-22 Thread Richard Biener
On Fri, Jul 18, 2014 at 3:36 PM, Yury Gribov wrote: > Hi all, > > Attached patch delays generation of Asan memory checking code > until sanopt pass. This is a first step towards global static analysis > of Asan instrumentation which would allow to > * remove redundant instrumentations > * aggregat

Re: Strenghten assumption about dynamic type changes (placement new)

2014-07-22 Thread Jan Hubicka
> > As discussen during the Cauldron keeping some builtin doesn't help because > you are not forced to access the newly created object via the pointer returned > by the placement new. That is, > > template > struct Storage { > char x[sizeof(T)]; > Storage() { new (x) T; } > T& g

Re: [PATCH, 4.9/4.10] Profile based option tuning

2014-07-22 Thread Richard Biener
On Mon, Jul 21, 2014 at 7:13 AM, Pengfei Yuan <0xcool...@gmail.com> wrote: > Hi, > > This patch tunes optimization options based on profile data: > * Disable PGO options if profile is not available or empty. > * Optimize for size if profile is available but empty. Err ... these don't seem interest

Re: Strenghten assumption about dynamic type changes (placement new)

2014-07-22 Thread Richard Biener
On Sat, Jul 19, 2014 at 5:44 PM, Jan Hubicka wrote: >> On 07/18/2014 11:03 AM, Jan Hubicka wrote: >> >I really only care about types containing virtual table pointers to not >> >change, >> >so non-PODs are out of game. Current propagation is built around >> >assumption that >> >once polymorphic

Re: [PATCH][AArch64][2/2] Add rtx cost function handling of clz, clrsb, rbit

2014-07-22 Thread Marcus Shawcroft
On 22 July 2014 12:23, Kyrill Tkachov wrote: > Hi all, > > Following up on patch "[1/2] Remove UNSPEC_CLS and use clrsb RTL code in > its' place" this patch adds rtx costs handling of the CLZ, CLRSB RTL codes > as well as the UNSPEC_RBIT unspec. > > The CLZ and CLRSB cases are handled identically

Re: [PATCH][AArch64][1/2] Remove UNSPEC_CLS and use clrsb RTL code in its' place

2014-07-22 Thread Marcus Shawcroft
On 22 July 2014 12:23, Kyrill Tkachov wrote: > Hi all, > > I noticed that we use UNSPEC_CLS for the clrsb optab when we could be using > the RTL code for it. I don't see any reason not to use the RTL code and some > execution tests confirm that the cls instruction implements the expected > clrsb s

Re: [PATCH] Fix bootstrap with gcc 4.3

2014-07-22 Thread Richard Biener
On Sat, 19 Jul 2014, Gerald Pfeifer wrote: > On Mon, 14 Jul 2014, Richard Biener wrote: > > 2014-07-14 Richard Biener > > > > * libgcov.h (struct gcov_fn_info): Make ctrs size 1. > > I actually had the same patch ready and tested already, but realized > this would increase memory consumpt

Re: [BUILDROBOT][PATCH] Fix mmix (unused variable)

2014-07-22 Thread Richard Biener
On Fri, 18 Jul 2014, Hans-Peter Nilsson wrote: > On Fri, 18 Jul 2014, Jan-Benedict Glaw wrote: > > This was a build using GCC's ./contrib/config-list.mk to do the build. > > It passes --enable-werror-always to top-level `configure', this is > > where the -Werror comes from. > > Aha. Looks like i

Re: Implement N4051 - Allow typename in a template template parameter

2014-07-22 Thread Ed Smith-Rowland
On 07/22/2014 01:56 AM, Ville Voutilainen wrote: +/* Parse a type-parameter-key. + + type-parameter-key: + class + typedef + + Returns the kind of type-parameter-key specified, or none_type to indicate + error. */ + Typo above, should be typename, not typedef. Thanks! New patch

Re: [PATCH][AArch64] Implement vbsl_f64 arm_neon.h intrinsic

2014-07-22 Thread Marcus Shawcroft
On 16 July 2014 10:49, Kyrill Tkachov wrote: > Hi all, > > This patch implements the vbsl_f64 intrinsic and adds an execution test for > it. > Not much else to say about it. > > Tested aarch64-none-elf. > > Ok for trunk? > > 2014-07-16 Kyrylo Tkachov > > * config/aarch64/arm_neon.h (vbsl_f6

gcov symbols

2014-07-22 Thread Nathan Sidwell
In looking at David's gcov patch I noticed that other changes have introduced more global symbols into the user's namespace, without even using a gcov prefix. That's bad. This patch gets rid of one of them (set_gcov_list). I'll apply shortly unless there are comments. nathan 2014-07-22 Nath

[PATCH][AArch64][2/2] Add rtx cost function handling of clz, clrsb, rbit

2014-07-22 Thread Kyrill Tkachov
Hi all, Following up on patch "[1/2] Remove UNSPEC_CLS and use clrsb RTL code in its' place" this patch adds rtx costs handling of the CLZ, CLRSB RTL codes as well as the UNSPEC_RBIT unspec. The CLZ and CLRSB cases are handled identically (they are implemented by the clz and cls instructions

[PATCH][AArch64][1/2] Remove UNSPEC_CLS and use clrsb RTL code in its' place

2014-07-22 Thread Kyrill Tkachov
Hi all, I noticed that we use UNSPEC_CLS for the clrsb optab when we could be using the RTL code for it. I don't see any reason not to use the RTL code and some execution tests confirm that the cls instruction implements the expected clrsb semantics. This patch removes the UNSPEC_CLS definitio

[PATCH][AArch64][tests]Skip graphite tests that don't fit -mcmodel=tiny

2014-07-22 Thread Kyrill Tkachov
Hi all, These tests use very large arrays as part of their loop interchange testing so they don't fit into the 1MiB binary size limit imposed by -mcmodel=tiny. This causes errors at link-time. Skip them when that is the case. Ok to commit? Thanks, Kyrill 2014-07-22 Kyrylo Tkachov *

Re: [PATCH] Support asan-fixed-shadow-offset in GCC

2014-07-22 Thread Yury Gribov
> This function just returns some global variable, and I don't think we will need something more complex in future. For kernel probably yes but what about userspace? -Y

Re: [PATCH] Support asan-fixed-shadow-offset in GCC

2014-07-22 Thread Andrey Ryabinin
On 07/22/14 14:30, Yury Gribov wrote: >>> It is required for Kernel AddressSanitizer, as the shadow offset is >>> not known at the compile time, >> >> To get shadow offset this patch uses function __asan_get_shadow_ptr. >> Wouldn't be more effective just to read variable instead of function call? >

Re: [PATCH] Support asan-fixed-shadow-offset in GCC

2014-07-22 Thread Yury Gribov
It is required for Kernel AddressSanitizer, as the shadow offset is not known at the compile time, To get shadow offset this patch uses function __asan_get_shadow_ptr. Wouldn't be more effective just to read variable instead of function call? Depends on how much logic you want to hide there. I

Re: [PATCH] Support asan-fixed-shadow-offset in GCC

2014-07-22 Thread Andrey Ryabinin
On 07/21/14 23:00, Alexey Preobrazhensky wrote: > Hi all, > > This patch adds support for non-fixed shadow in asan stack instrumentation. > > It is required for Kernel AddressSanitizer, as the shadow offset is > not known at the compile time, To get shadow offset this patch uses function __asan_

Re: [PATCH] rs6000: fix for PR61396 (wide-int fallout)

2014-07-22 Thread Mike Stump
On Jul 21, 2014, at 9:43 PM, Segher Boessenkool wrote: > CONSTANT_P is true for more than just all kinds of constant number. > This patch undoes that part of the wide-int patches. > Okay to apply? Ok. I’ve audited the rest of the wide-int patches to ensure that this was not repeated any place

Re: Warn when returning the address of a temporary (middle-end) v2

2014-07-22 Thread Marc Glisse
On Wed, 16 Jul 2014, Jeff Law wrote: On 06/22/14 12:20, Marc Glisse wrote: Hello, I followed the advice in this discussion: https://gcc.gnu.org/ml/gcc-patches/2014-04/msg00269.html and here is a new patch. I made an effort to isolate a path in at least one subcase so it doesn't look too stran

Re: [PATCH] Move Asan instrumentation to sanopt pass

2014-07-22 Thread Yury Gribov
> Attached patch delays generation of Asan memory checking > code until sanopt pass. Here is an updated patch based on Jakub's review. Bootstrapped and regtested on x64. -Y commit 7c371a6f462e166d3f2ad89afbe2e61b1a0b799b Author: Yury Gribov Date: Thu Jul 17 09:45:26 2014 +0400 Move inl

Re: [PATCH, testsuite]: A bunch of fixes

2014-07-22 Thread Rainer Orth
Hi Uros, > Hello! > > - Thunk name encodes offset into the structure, which is different > between 32/64bit targete when pointers are involved. > - CCP runs with -O1 only > - Missing dump cleanup > > 2014-07-22 Uros Bizjak > > * g++.dg/ipa/imm-devirt-2.C (dg-final): Improve einline dump str

[PATCH, testsuite]: A bunch of fixes

2014-07-22 Thread Uros Bizjak
Hello! - Thunk name encodes offset into the structure, which is different between 32/64bit targete when pointers are involved. - CCP runs with -O1 only - Missing dump cleanup 2014-07-22 Uros Bizjak * g++.dg/ipa/imm-devirt-2.C (dg-final): Improve einline dump string. * gcc.dg/pr44024.c

RE: [RFC: Patch, PR 60102] [4.9/4.10 Regression] powerpc fp-bit ices at dwf_regno

2014-07-22 Thread rohitarul...@freescale.com
Ping! > -Original Message- > From: Dharmakan Rohit-B30502 > Sent: Tuesday, July 08, 2014 8:13 AM > To: gcc-patches@gcc.gnu.org > Cc: Wienskoski Edmar-RA8797; dje@gmail.com; Alan Modra; Jakub Jelinek > Subject: [RFC: Patch, PR 60102] [4.9/4.10 Regression] powerpc fp-bit ices at > dwf_re