Re: Replacement of isl_int by isl_val

2014-08-03 Thread Tobias Grosser
LGTM. Cheers, Tobias

Re: [PATCH] Keep patch file permissions in mklog

2014-08-03 Thread Yury Gribov
Thanks! My 2 (actually 4) cents below. > +if ($#ARGV == 1 && ("$ARGV[0]" eq "-i" || "$ARGV[0]" eq "--inline")) { > + $diff = $ARGV[1]; Can we shift here and then just set $diff to $ARGV[0] unconditionally? > + if ($diff eq "-") { > + die "Reading from - and using -i are not compatibl

Re: [GSoC] checking for the loop parallelism

2014-08-03 Thread Tobias Grosser
On 04/08/2014 08:09, Roman Gareev wrote: Those waw dependences seem to be correct. Should even the previous analysis only mark the j-loop as parallel? The previous and the current analysis mark the j-loop as nonparallelizable. (Possibly, I don't fully understand the question. Could you please r

Re: [PATCH][Ping v5] Add patch for debugging compiler ICEs

2014-08-03 Thread Yury Gribov
On 08/01/2014 07:53 PM, Jakub Jelinek wrote: I think we should use David Malcolm's approach i.e. add some --report-bug flag to driver. This could be enabled by default at configure time via --with-spec. -freport-bug or whatever we call it should not be, at least if it attempts to communicate ove

[PATCH, ivopt] Try aligned offset when get_address_cost

2014-08-03 Thread Zhenqiang Chen
Hi, For some TARGET, like ARM THUMB1, the offset in load/store should be nature aligned. But in function get_address_cost, when computing max_offset, it only tries byte-aligned offsets: ((unsigned HOST_WIDE_INT) 1 << i) - 1 which can not meet thumb_legitimate_offset_p check called from thumb1_

Re: [GSoC] checking for the loop parallelism

2014-08-03 Thread Roman Gareev
> Those waw dependences seem to be correct. Should even the previous analysis > only mark the j-loop as parallel? The previous and the current analysis mark the j-loop as nonparallelizable. (Possibly, I don't fully understand the question. Could you please reformulate it?) --

Fix build of *86*-linux-android with "--enable-shared"

2014-08-03 Thread Alexander Ivchenko
Hi, libcilkrts is compiled with "-nostdlib", that means we have to explicitly specify the pthread library we should link with (e.g. we don't have such problem with libgomp, because it is C). And, indeed, "-lpthread" is hard-coded in the Makefile for cilkrts. For Android this doesn't work, because

Re: [PATCH] Add statistical printout of rank_for_schedule decisions

2014-08-03 Thread Maxim Kuvyrkov
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 its decisions are hard to track and debu

[PATCH 4.9] libstdc++ pretty-printers: Backport Python 3 support from mainline

2014-08-03 Thread Samuel Bronson
Since Jonathan Wakely independantly committed some of the changes I was preparing, I had to backport two commits, r210625 and r212453 (git commits 3a30bda and b0a6074). 2014-08-02 Samuel Bronson Backport r212453 from trunk 2014-07-11 Samuel Bronson Matth

Re: [PATCH 2/2] Enable elimination of zext/sext

2014-08-03 Thread Kugan
On 02/08/14 02:03, Kugan wrote: if (rhs_uns) return wi::ge_p (min, 0); // if min >= 0 then range contains positive values else return wi::le_p (max, wi::max_value (TYPE_PRECISION (TREE_TYPE (ssa)), SIGNED); // if max <= signed-max-of-type then range doesn't

Replacement of isl_int by isl_val

2014-08-03 Thread Mircea Namolaru
Hello, In the isl library used by Graphite, isl_val replaces isl_int (that become obsolete). This patch implements the required changes in Graphite. No regressions for c/c++/fortran on x86-64 Linux. Mircea Index: gcc/graphite-poly.c ===

Aw: RE: RE: Re: [MIPS r5900] libgcc floating point fixes

2014-08-03 Thread Jürgen Urban
Hello, > > > > Fixes for high level libraries should also be > > > > high level (dmult vs __FLT_MAX_EXP__); i.e. there should be no change in > > a > > > > different package which is specific for MIPS. The type double should > > stay > > > > double and is handled without a problem when the FPU is

[PATCH] Add D demangling support to libiberty

2014-08-03 Thread Iain Buclaw
Hi, This adds a demangler for the D programming language to libiberty, intended to be used in GDB and Binutils. GDB already has a trimmed down implementation of this, but have been advised that here would be a better location to house it. Notes that I think are of interest / questions I have abo

[RFA] Introdue warning_n; fix singulars in the final keyword wanrings

2014-08-03 Thread Jan Hubicka
* diagnostic.c (warning_n): New function. * diagnostic-core.h (warning_n): Declare. * ipa-devirt.c (ipa_devirt): Handle singulars correctly; output dynamic counts when available. Index: diagnostic.c ===

[PATCH 50/50] varasm.c:compute_reloc_for_rtx

2014-08-03 Thread Richard Sandiford
There's no point calling for_each_rtx/FOR_EACH_SUBRTX on a LABEL_REF or SYMBOL_REF. We can just handle them directly instead. gcc/ * varasm.c (compute_reloc_for_rtx_1): Take a const_rtx. Remove the pointer to the cumulative reloc value and return the value for this reloc

[PATCH 49/50] varasm.c:mark_constants

2014-08-03 Thread Richard Sandiford
gcc/ * varasm.c (mark_constant): Replace this for_each_rtx callback with... (mark_constants_in_pattern): ...this new function to iterate over all the subrtxes. (mark_constants): Update accordingly. Index: gcc/varasm.c

[PATCH 48/50] varasm.c:const_rtx_hash

2014-08-03 Thread Richard Sandiford
const_rtx_hash_1 had code to hash all elements of a CONST_VECTOR, but const_rtx_hash also hashes all subrtxes, so we'd end up hashing the same thing twice. This looked unintentional so I just removed the CONST_VECTOR case. If instead it was a deliberate decision then I think it deserves a comment

[PATCH 47/50] var-tracking.c:add_uses

2014-08-03 Thread Richard Sandiford
gcc/ * var-tracking.c (add_uses): Take an rtx rather than an rtx *. Give real type of data parameter. Remove return value. (add_uses_1): Use FOR_EACH_SUBRTX_VAR rather than for_each_rtx to iterate over subrtxes. Index: gcc/var-tracking.c ===

[PATCH 46/50] var-tracking.c:use_narrower_mode_test

2014-08-03 Thread Richard Sandiford
gcc/ * var-tracking.c (use_narrower_mode_test): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. (adjust_mems): Update accordingly. Index: gcc/var-tracking.c ===

[PATCH 45/50] var-tracking.c:non_suitable_const

2014-08-03 Thread Richard Sandiford
gcc/ * var-tracking.c (non_suitable_const): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. Remove handling of null rtxes. (add_uses): Update accordingly. Index: gcc/var-tracking.c ===

[PATCH 44/50] var-tracking.c:rtx_debug_expr_p

2014-08-03 Thread Richard Sandiford
gcc/ * var-tracking.c: Include rtl-iter.h. (rtx_debug_expr_p): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. (use_type): Update accordingly. Index: gcc/var-tracking.c ===

[PATCH 43/50] store-motion.c:extract_mentioned_regs

2014-08-03 Thread Richard Sandiford
gcc/ * store-motion.c: Include rtl-iter.h. (extract_mentioned_regs_1): Delete. (extract_mentioned_regs): Use FOR_EACH_SUBRTX_VAR rather than for_each_rtx to iterate over subrtxes. Index: gcc/store-motion.c

[PATCH 42/50] sel-sched.c:count_occurrences_equiv

2014-08-03 Thread Richard Sandiford
gcc/ * sel-sched.c: Include rtl-iter.h (count_occurrences_1): Delete. (count_occurrences_equiv): Turn rtxes into const_rtxes. Use FOR_EACH_SUBRTX rather than for_each_rtx. Index: gcc/sel-sched.c === ---

[PATCH 41/50] rtlanal.c:tls_referenced_p

2014-08-03 Thread Richard Sandiford
gcc/ * rtl.h (tls_referenced_p): Take a const_rtx rather than an rtx. * rtlanal.c (tls_referenced_p_1): Delete. (tls_referenced_p): Take a const_rtx rather than an rtx. Use FOR_EACH_SUBRTX rather than for_each_rtx. Index: gcc/rtl.h ==

[PATCH 40/50] rtlanal.c:for_each_inc_dec

2014-08-03 Thread Richard Sandiford
The old for_each_inc_dec callback had a for_each_rtx-like return value, with >0 being returned directly, 0 meaning "continue" and <0 meaning "skip subrtxes". But there's no reason to distinguish the latter two cases since auto-inc/dec expressions aren't allowed to contain other auto-inc/dec expres

[PATCH 39/50] rtlanal.c:record_hard_reg_uses

2014-08-03 Thread Richard Sandiford
find_all_hard_regs seems like a useful function so I split it out of the note_uses callback and exposed it in rtl.h. I have (or had) other patches that make use of it. gcc/ * rtl.h (find_all_hard_regs): Declare. * rtlanal.c (find_all_hard_regs): New function. (record_hard

[PATCH 38/50] rtlanal.c:replace_label

2014-08-03 Thread Richard Sandiford
The main change here is to handle ADDR_VEC and ADDR_DIFF_VECs specially, since they can have many elements and are a relatively important case for this function. This is for speed rather than correctness. gcc/ * rtl.h (replace_label_data): Delete. (replace_label): Take the old la

[PATCH 37/50] rtlanal.c:rtx_referenced_p

2014-08-03 Thread Richard Sandiford
The old function handled constant pool SYMBOL_REFs by going straight to the underlying constant, which meant you couldn't test for the SYMBOL_REF itself. gcc/ * rtl.h (get_pool_constant, rtx_referenced_p): Replace rtx parameters with const_rtx parameters. * varasm.c (get_p

Re: [GSoC] checking for the loop parallelism

2014-08-03 Thread Tobias Grosser
On 03/08/2014 16:05, Roman Gareev wrote: This looks very similar to what we reported to the isl mailing list. It is definitely not the best test case for the parallelism patch. In fact, I doubt this requires the parallelism test at all. I've found out, that Graphite generates the expected code

[PATCH 36/50] reload1.c:note_reg_elim_costly

2014-08-03 Thread Richard Sandiford
gcc/ * reload1.c: Include rtl-iter.h. (note_reg_elim_costly): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. (eliminate_regs_1, elimination_costs_in_insn): Update accordingly. Index: gcc/reload1.c ==

[PATCH 35/50] regcprop.c:cprop_find_used_regs

2014-08-03 Thread Richard Sandiford
gcc/ * regcprop.c (cprop_find_used_regs_1): Delete. (cprop_find_used_regs): Use FOR_EACH_SUBRTX instead of for_each_rtx. Index: gcc/regcprop.c === --- gcc/regcprop.c 2014-08-03 11:25:29.603148851 +0100 +++ gcc/reg

[PATCH 34/50] regcprop.c:kill_autoinc_value

2014-08-03 Thread Richard Sandiford
gcc/ * regcprop.c: Include rtl-iter.h. (kill_value): Take a const_rtx. (kill_autoinc_value): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. (copyprop_hardreg_forward_1): Update accordingly. Index: gcc/regcprop.c

[PATCH 33/50] reg-stack.c:subst_all_stack_regs_in_debug_insn

2014-08-03 Thread Richard Sandiford
gcc/ * reg-stack.c: Include rtl-iter.h. (subst_stack_regs_in_debug_insn): Delete. (subst_all_stack_regs_in_debug_insn): Use FOR_EACH_SUBRTX_PTR instead of for_each_rtx. Index: gcc/reg-stack.c === --- gc

[PATCH 32/50] lower-subreg.c:find_decomposable_subregs

2014-08-03 Thread Richard Sandiford
Mostly just reindentation. gcc/ * lower-subreg.c (find_decomposable_subregs): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. Remove handling of null rtxes. (decompose_multiword_subregs): Update accordingly. Index: gc

[PATCH 31/50] lower-subreg.c:resolve_debug

2014-08-03 Thread Richard Sandiford
gcc/ * lower-subreg.c (adjust_decomposed_uses): Delete. (resolve_debug): Use FOR_EACH_SUBRTX_PTR rather than for_each_rtx. Remove handling of null rtxes. Index: gcc/lower-subreg.c === --- gcc/lower-subreg.c 20

[PATCH 30/50] lower-subreg.c:resolve_subreg_use

2014-08-03 Thread Richard Sandiford
gcc/ * lower-subreg.c: Include rtl-iter.h. (resolve_subreg_use): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. Remove handling of null rtxes. (resolve_reg_notes, resolve_simple_move): Update accordingly.

[PATCH 29/50] loop-iv.c:altered_reg_used

2014-08-03 Thread Richard Sandiford
gcc/ * loop-iv.c (altered_reg_used): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. (simplify_using_condition, simplify_using_initial_values): Update accordingly. Index: gcc/loop-iv.c ===

[PATCH 28/50] loop-iv.c:replace_single_def_regs

2014-08-03 Thread Richard Sandiford
gcc/ * loop-iv.c: Include rtl-iter.h. (find_single_def_src): New function. (replace_single_def_regs): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. (replace_in_expr, simplify_using_initial_values): Update accord

[PATCH 27/50] jump.c:eh_returnjump_p

2014-08-03 Thread Richard Sandiford
gcc/ * jump.c (eh_returnjump_p_1): Delete. (eh_returnjump_p): Use FOR_EACH_SUBRTX rather than for_each_rtx. Remove handling of null rtxes. Index: gcc/jump.c === --- gcc/jump.c 2014-08-03 11:25:27.442127486 +01

[PATCH 26/50] jump.c:returnjump_p

2014-08-03 Thread Richard Sandiford
gcc/ * jump.c: Include rtl-iter.h. (returnjump_p_1): Delete. (returnjump_p): Use FOR_EACH_SUBRTX rather than for_each_rtx. Remove handling of null rtxes. Index: gcc/jump.c === --- gcc/jump.c 2014-08-03

[PATCH 25/50] ira.c:set_paradoxical_subreg

2014-08-03 Thread Richard Sandiford
gcc/ * ira.c: Include rtl-iter.h. (set_paradoxical_subreg): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. Remove handling of null rtxes. (update_equiv_regs): Update call accordingly. Index: gcc/ira.c =

[PATCH 24/50] fwprop.c:varying_mem_p

2014-08-03 Thread Richard Sandiford
gcc/ * fwprop.c: Include rtl-iter.h. (varying_mem_p): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. (propagate_rtx): Update accordingly. Index: gcc/fwprop.c =

[PATCH 23/50] function.c:instantiate_virtual_regs_in_rtx

2014-08-03 Thread Richard Sandiford
gcc/ * function.c: Include rtl-iter.h (instantiate_virtual_regs_in_rtx): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. Return the changed flag. (instantiate_virtual_regs_in_insn, instantiate_decl_rtl) (i

Re: [GSoC] checking for the loop parallelism

2014-08-03 Thread Roman Gareev
Sorry for misprints > Graphite successfully passes all the tests from > libgomp/testsuite/libgomp.graphite except graphite-isl-ast-to-gimple.c > and graphite-poly.h except force-parallel-5.c and force-parallel-8.c -- Cheers, Roman Gareev.

[PATCH 22/50] final.c:mark_symbol_refs_as_used

2014-08-03 Thread Richard Sandiford
gcc/ * final.c: Include rtl-iter.h. (mark_symbol_ref_as_used): Delete. (mark_symbol_refs_as_used): Use FOR_EACH_SUBRTX instead of for_each_rtx. Index: gcc/final.c === --- gcc/final.c 2014-08-03 11:25:10

[PATCH 21/50] Faster for_each_rtx-like iterators

2014-08-03 Thread Richard Sandiford
The switch statement in the old code seemed overly cautious. It's well established elsewhere that the first operand of an RTX_AUTOINC is the automodified register. If anyone wanted to add a new code for which that wasn't true they should (a) reconsider or (b) go through all RTX_AUTOINCs as a prec

Re: [GSoC] checking for the loop parallelism

2014-08-03 Thread Roman Gareev
> This looks very similar to what we reported to the isl mailing list. It is > definitely not the best test case for the parallelism patch. In fact, I > doubt this requires the parallelism test at all. I've found out, that Graphite generates the expected code using the separate option for all dime

[PATCH 20/50] dwarf2out.c:resolve_one_addr

2014-08-03 Thread Richard Sandiford
gcc/ * dwarf2out.c (resolve_one_addr): Remove unused data parameter. Return a bool, inverting the result so that 0/false means "not ok". Use FOR_EACH_SUBRTX_PTR instead of for_each_rtx to iterate over subrtxes of a CONST. (mem_loc_descriptor, add_const_value_

Fix -Wsuggest-final-types warning

2014-08-03 Thread Jan Hubicka
Hi, this patch fixes thinko and makes the type warned about to be output right. Thanks to Trevor for noticing that. Bootstrapped/regtested x86_64-linux, comitted. Honza * ipa-devirt.c (odr_type_warn_count): Add type. (possible_polymorphic_call_targets): Set it. (ipa_dev

[PATCH 19/50] dwarf2out.c:const_ok_for_output

2014-08-03 Thread Richard Sandiford
gcc/ * dwarf2out.c: Include rtl-iter.h. (const_ok_for_output_1): Take the rtx instead of a pointer to it. Remove unused data parameter. Return a bool, inverting the result so that 0/false means "not ok". (const_ok_for_output): Update accordingly. Use FOR_EA

[PATCH 18/50] dse.c:check_mem_read_use

2014-08-03 Thread Richard Sandiford
gcc/ * dse.c: Include rtl-iter.h. (check_mem_read_rtx): Change void * parameter to real type. Remove return value. (check_mem_read_use): Fix comment. Use FOR_EACH_SUBRTX_PTR instead of for_each_rtx. Don't handle null rtxes. Index: gcc/dse.c ===

[PATCH 17/50] df-problems.c:find_memory

2014-08-03 Thread Richard Sandiford
This also fixes what I think is a bug: find_memory used to stop at the first MEM it found. If that MEM was nonvolatile and nonconstant, we'd return MEMREF_NORMAL even if there was another volatile MEM. gcc/ * df-problems.c: Include rtl-iter.h. (find_memory): Turn from being a for

[PATCH 16/50] ddg.c:insns_may_alias_p

2014-08-03 Thread Richard Sandiford
gcc/ * ddg.c (walk_mems_2, walk_mems_1): Delete. (insns_may_alias_p): Use FOR_EACH_SUBRTX rather than for_each_rtx to iterate over subrtxes. Return a bool rather than an int. Index: gcc/ddg.c === --- gcc/ddg.c

[PATCH 15/50] ddg.c:mark_mem_use

2014-08-03 Thread Richard Sandiford
gcc/ * ddg.c: Include rtl-iter.h. (mark_mem_use_1): Rename to... (mark_mem_use): ...deleting old mark_mem_use. Use FOR_EACH_SUBRTX instead of for_each_rtx. (mem_read_insn_p): Update accordingly. Index: gcc/ddg.c =

[PATCH 14/50] cse.c:cse_change_cc_mode

2014-08-03 Thread Richard Sandiford
gcc/ * cse.c (change_cc_mode_args): Delete. (cse_change_cc_mode): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. Take the fields of change_cc_mode_args as argument and return void. (cse_change_cc_mode_insn): Up

[PATCH 13/50] cse.c:is_dead_debug_insn

2014-08-03 Thread Richard Sandiford
gcc/ * cse.c (is_dead_reg): Change argument to const_rtx. (dead_debug_insn_data): Delete. (is_dead_debug_insn): Expand commentary. Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. Take the fields of dead_debug_in

[PATCH 12/50] cse.c:check_for_label_ref

2014-08-03 Thread Richard Sandiford
gcc/ * cse.c (check_for_label_ref): Move earlier in file. Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. (cse_extended_basic_block): Update call accordingly. Index: gcc/cse.c ===

[PATCH 11/50] Faster for_each_rtx-like iterators

2014-08-03 Thread Richard Sandiford
The order of the arguments matches canon_anti_dependence rather than the order of the old structure fields. gcc/ * cse.c (check_dependence_data): Delete. (check_dependence): Change from being a for_each_rtx callback to being a function that examines all subrtxes itself. D

[PATCH 10/50] cse.c:approx_reg_cost

2014-08-03 Thread Richard Sandiford
gcc/ * cse.c: Include rtl-iter.h. (approx_reg_cost_1): Delete. (approx_reg_cost): Use FOR_EACH_SUBRTX instead of for_each_rtx. Don't handle null rtxes. Index: gcc/cse.c === --- gcc/cse.c 2014-08-03 11

[PATCH 09/50] cfgcleanup.c:mentions_nonequal_regs

2014-08-03 Thread Richard Sandiford
gcc/ * cfgcleanup.c: Include rtl-iter.h. (mentions_nonequal_regs): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. (thread_jump): Update accordingly. Index: gcc/cfgcleanup.c ==

[PATCH 08/50] Faster for_each_rtx-like iterators

2014-08-03 Thread Richard Sandiford
gcc/ * combine-stack-adj.c: Include rtl-iter.h. (record_stack_refs_data): Delete. (record_stack_refs): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. Take a pointer to the reflist. Invert sense of return value

[PATCH 07/50] combine.c:record_truncated_values

2014-08-03 Thread Richard Sandiford
gcc/ * combine.c (record_truncated_value): Turn from being a for_each_rtx callback to a function that takes an rtx and returns a bool (record_truncated_values): Use FOR_EACH_SUBRTX_VAR instead of for_each_rtx. Index: gcc/combine.c ===

[PATCH 06/50] combine.c:unmentioned_reg_p

2014-08-03 Thread Richard Sandiford
gcc/ * combine.c: Include rtl-iter.h. (unmentioned_reg_p_1): Delete. (unmentioned_reg_p): Use FOR_EACH_SUBRTX rather than for_each_rtx. Don't handle null rtxes. Index: gcc/combine.c === --- gcc/combine.

[PATCH 05/50] calls.c:internal_arg_pointer_based_exp

2014-08-03 Thread Richard Sandiford
gcc/ * calls.c: Include rtl-iter.h. (internal_arg_pointer_based_exp_1): Delete. (internal_arg_pointer_based_exp): Take a const_rtx. Use FOR_EACH_SUBRTX to iterate over subrtxes. Index: gcc/calls.c === -

[PATCH 04/50] caller-save.c:add_used_regs

2014-08-03 Thread Richard Sandiford
As noted in https://gcc.gnu.org/ml/gcc-patches/2014-02/msg01391.html a bitmap-related cleanup turned add_used_regs_1 into a no-op for pseudo registers, because the result of: regno = reg_renumber[regno]; is never used. This patch does as Steven requested and adds an assert that no allocated ps

[PATCH 03/50] bt-load.c:find_btr_use

2014-08-03 Thread Richard Sandiford
With the move away from for_each_rtx and the separate static variable used to communicate the found reference, there's not really any need to keep btr_referenced_p and find_btr_use separate. gcc/ * bt-load.c: Include rtl-iter.h. (btr_reference_found, find_btr_reference, btr_refere

[PATCH 02/50] alias.c:refs_newer_value_p

2014-08-03 Thread Richard Sandiford
gcc/ * alias.c: Include rtl-iter.h. (refs_newer_value_cb): Delete. (refs_newer_value_p): Use FOR_EACH_SUBRTX instead of for_each_rtx. Index: gcc/alias.c === --- gcc/alias.c 2014-08-03 11:25:10.551960499 +0100 +

[PATCH 01/50] Add rtl-iter.h

2014-08-03 Thread Richard Sandiford
This patch adds the new iterators. gcc/ * rtl-iter.h: New file. * rtlanal.c: Include it. (rtx_all_subrtx_bounds, rtx_nonconst_subrtx_bounds): New variables. (generic_subrtx_iterator ::add_single_to_queue) (generic_subrtx_iterator ::add_subrtxes_to_queue)

[PATCH 0/50] Faster for_each_rtx-like iterators

2014-08-03 Thread Richard Sandiford
In May I posted an RFC about a worklist-based replacement for for_each_rtx: https://gcc.gnu.org/ml/gcc-patches/2014-05/msg00435.html (see there for rationale). This series is the first part of the process. It adds the new iterators and converts all for_each_rtx users in generic code. If these pa

[C PATCH] Better location for check_case_value

2014-08-03 Thread Marek Polacek
Bootstrapped/regtested on x86_64-linux, applying to trunk. 2014-08-02 Marek Polacek * c-common.c (check_case_value): Add location_t parameter. Use it. (c_add_case_label): Pass loc to check_case_value. * gcc.dg/case-bogus-1.c: New test. diff --git gcc/c-family/c-comm