OSDN Git Service

pf3gnuchains/gcc-fork.git
10 years agoUse 64bit integer for LTO symbol ID.
hjl [Fri, 30 Sep 2011 15:48:51 +0000 (15:48 +0000)]
Use 64bit integer for LTO symbol ID.

gcc/lto

2011-09-30  H.J. Lu  <hongjiu.lu@intel.com>
    Andi Kleen  <ak@linux.intel.com>

PR lto/50568
* lto.c (lto_splay_tree_delete_id): New.
(lto_splay_tree_compare_ids): Likewise.
(lto_splay_tree_lookup): Likewise.
(lto_splay_tree_id_equal_p): Likewise.
(lto_splay_tree_insert): Likewise.
(lto_splay_tree_new): Likewise.
(lto_resolution_read): Change id to unsigned HOST_WIDE_INT.
Use lto_splay_tree_id_equal_p and lto_splay_tree_lookup.
(create_subid_section_table): Use lto_splay_tree_lookup and
lto_splay_tree_insert.
(lto_file_read): Use lto_splay_tree_new.

lto-plugin/

2011-09-30  H.J. Lu  <hongjiu.lu@intel.com>
    Andi Kleen  <ak@linux.intel.com>

PR lto/50568
* lto-plugin.c (sym_aux): Change id to unsigned long long.
(plugin_symtab): Likewise.
(dump_symtab): Likewise.
(resolve_conflicts): Likewise.
(process_symtab): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179395 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * common/config/c6x/c6x-common.c (c6x_option_optimization_table):
bernds [Fri, 30 Sep 2011 15:37:43 +0000 (15:37 +0000)]
* common/config/c6x/c6x-common.c (c6x_option_optimization_table):
Enable -fmodulo-sched at -O2 and above.
* config/c6x/c6x.md (doloop_end): New expander.
(mvilc, sploop, spkernel, loop_end): New patterns.
(loop_end with memory destination splitter): New.
* config/c6x/c6x.c: Include "hw-doloop.h".
(enum unitreqs): New.
(unit_req_table): New typedef.
(unit_reqs): New static variable.
(unit_req_factor, get_unit_reqs, count_unit_reqs, merge_unit_reqs,
res_mii, split_delayed_nonbranch, undo_split_delayed_nonbranch,
hwloop_pattern_reg, bb_earliest_end_cycle, filter_insns_above,
hwloop_optimize, hwloop_fail, c6x_hwloops): New static functions.
(struct c6x_sched_context): New member last_scheduled_iter0.
(init_sched_state): Initialize it.
(c6x_variable_issue): Update it.
(sploop_max_uid_iter0): New static variable.
(c6x_sched_reorder_1): Be careful about issuing sploop.
(c6x_reorg): Call c6x_hwlooops before the final schedule.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179393 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/50566
gjl [Fri, 30 Sep 2011 15:15:23 +0000 (15:15 +0000)]
PR target/50566
* config/avr/avr-protos.h (avr_log_t): New field address_cost.
* config/avr/avr.c (avr_address_cost): Use it.
* config/avr/avr-log.c (avr_log_set_avr_log): Initialize it.
(avr_log_vadump): Unknown %-codes finish printing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179391 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR inline-asm/50571
jakub [Fri, 30 Sep 2011 15:01:27 +0000 (15:01 +0000)]
PR inline-asm/50571
* gimple-fold.c (fold_stmt_1) <case GIMPLE_ASM>: If
input constraints allow mem and not reg, pass true instead of
false as second argument to maybe_fold_reference.

* gcc.dg/pr50571.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179389 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR tree-optimization/46309
jakub [Fri, 30 Sep 2011 15:00:12 +0000 (15:00 +0000)]
PR tree-optimization/46309
* fold-const.c (make_range, merge_ranges): Remove prototypes.
(make_range_step): New function.
(make_range): Use it.
* tree.h (make_range_step): New prototypes.
* Makefile.in (tree-ssa-reassoc.o): Depend on $(DIAGNOSTIC_CORE_H).
* tree-ssa-reassoc.c: Include diagnostic-core.h.
(struct range_entry): New type.
(init_range_entry, range_entry_cmp, update_range_test,
optimize_range_tests): New functions.
(reassociate_bb): Call optimize_range_tests.

* gcc.dg/pr46309.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179388 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Handle
jakub [Fri, 30 Sep 2011 14:58:27 +0000 (14:58 +0000)]
* tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Handle
BUILT_IN_STRDUP and BUILT_IN_STRNDUP.
* tree-ssa-alias.c (call_may_clobber_ref_p_1): Likewise.  Fix
handling of BUILT_IN_STRNCAT and BUILT_IN_STRNCAT_CHK.
(ref_maybe_used_by_call_p_1): Fix handling of BUILT_IN_STRCAT,
BUILT_IN_STRNCAT, BUILT_IN_STRCAT_CHK and BUILT_IN_STRNCAT_CHK.

* gcc.dg/strlenopt-21.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179387 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoSplit out LTO's writing of top level asm nodes in preparation of extending
jbeulich [Fri, 30 Sep 2011 14:56:01 +0000 (14:56 +0000)]
Split out LTO's writing of top level asm nodes in preparation of extending
what needs to be written out when top level asm-s get enhanced to accept a
limited set of input operands.

gcc/
2011-09-30  Jan Beulich  <jbeulich@suse.com>

* lto-cgraph.c (output_cgraph): Remove processing of
'cgraph_asm_nodes', call lto_output_toplevel_asms() instead.
(input_cgraph_1): Remove loop calling cgraph_add_asm_node(), call
lto_input_toplevel_asms() instead.
* lto-section-in.c (lto_section_name): Add "asm" entry.
* lto-streamer-in.c (lto_input_toplevel_asms): New.
* lto-streamer-out.c (lto_output_toplevel_asms): New.
* lto-streamer.h (LTO_minor_version): Bump.
(enum lto_section_type): Add LTO_section_asm.
(struct lto_asm_header): New.
(lto_input_toplevel_asms, lto_output_toplevel_asms): Declare.
* tree-streamer.h (streamer_write_string_cst): Declare.
* tree-streamer-out.c (write_string_cst): Rename to
streamer_write_string_cst and make global. Handle incoming string
being NULL.
(streamer_write_tree_header): Adjust call to renamed function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179386 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * sched-ebb.c (schedule_ebb): No longer static. Remove declaration.
bernds [Fri, 30 Sep 2011 14:12:34 +0000 (14:12 +0000)]
* sched-ebb.c (schedule_ebb): No longer static.  Remove declaration.
New arg modulo_scheduling.  All callers changed.  Move note handling
code here from schedule_ebbs.
(schedule_ebbs_finish, schedule_ebbs_init): New functions, broken
out of schedule_ebbs.
(schedule_ebbs): Call them.  Remove note handling code moved to
schedule_ebb.
* sched-int.h (schedule_ebb, schedule_ebbs_init,
schedule_ebbs_finish): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179385 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoada:
iains [Fri, 30 Sep 2011 13:44:48 +0000 (13:44 +0000)]
ada:
Partial reversion of r179358.

* gcc-interface/Makefile.in (Darwin): Partial reversion of previous
change to powerpc section.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179384 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * haifa-sched.c (modulo_ii, modulo_max_states, modulo_n_insns,
bernds [Fri, 30 Sep 2011 13:33:54 +0000 (13:33 +0000)]
* haifa-sched.c (modulo_ii, modulo_max_states, modulo_n_insns,
modulo_insns_scheduled, modulo_iter0_max_uid, modulo_backtracks_left,
modulo_last_stage): New static variables.
(set_modulo_params, discard_delay_pairs_above): New functions.
(struct delay_pair): New member stages.
(htab_i2_traverse, htab_i1_traverse): New static functions.
(record_delay_slot_pair): New arg stages.  All callers changed.
Record it.
(pair_delay): Take stages into account.
(add_delay_dependencies): Don't do so for stage pairs.
(struct sched_block_state): New member modulo_epilogue.
(save_backtrack_point): Don't set SHADOW_P for stage pairs.
(unschedule_insns_until): Decrease modulo_insns_scheduled.
Set HARD_DEP without using or.
(resolve_dependencies): New static function.
(prune_ready_list): New arg modulo_epilogue_p.  All callers changed.
If it is true, allow only insns with INSN_EXACT_TICK set.
(schedule_block): Return bool, always true for normal scheduling,
true or false depending on modulo scheduling success otherwise.
Add bookkeeping for modulo scheduling, and call resolve_dependencies
on everything left over after a modulo schedule.
(haifa_sched_init): Remove check_cfg call.  Clear modulo_ii.
* sched-int.h (schedule_block, record_delay_slot_pair): Adjust
declarations.
(set_modulo_params, discard_delay_pairs_above): Declare.
* params.def (PARAM_MAX_MODULO_BACKTRACK_ATTEMPS): New.
* doc/invoke.texi (--param): Document it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179383 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-30 Richard Guenther <rguenther@suse.de>
rguenth [Fri, 30 Sep 2011 13:33:14 +0000 (13:33 +0000)]
2011-09-30  Richard Guenther  <rguenther@suse.de>

PR middle-end/50574
* tree-cfg.c (verify_gimple_comparison): Compare component
mode sizes for vector comparisons.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179382 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoSMS: Support instructions with REG_INC_NOTE
revitale [Fri, 30 Sep 2011 13:25:30 +0000 (13:25 +0000)]
SMS: Support instructions with REG_INC_NOTE

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179381 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoSMS: Avoid generating redundant reg-moves
revitale [Fri, 30 Sep 2011 13:10:56 +0000 (13:10 +0000)]
SMS: Avoid generating redundant reg-moves

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179380 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * hw-doloop.c (scan_loop): Compute register usage only for non-debug
bernds [Fri, 30 Sep 2011 12:26:57 +0000 (12:26 +0000)]
* hw-doloop.c (scan_loop): Compute register usage only for non-debug
insns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179379 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoFix PR target/50099
ramana [Fri, 30 Sep 2011 09:36:43 +0000 (09:36 +0000)]
Fix PR target/50099

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179378 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoCommit for Matthew Gretton-Dann fix for the test.
ramana [Fri, 30 Sep 2011 09:28:38 +0000 (09:28 +0000)]
Commit for Matthew Gretton-Dann fix for the test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179377 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoAdd sparc VIS 2.0 builtins, intrinsics, and option to control them.
davem [Fri, 30 Sep 2011 07:54:07 +0000 (07:54 +0000)]
Add sparc VIS 2.0 builtins, intrinsics, and option to control them.

gcc/

* config/sparc/sparc.opt (VIS2): New option.
* doc/invoke.texi: Document it.
* config/sparc/sparc.md (UNSPEC_EDGE8N, UNSPEC_EDGE8LN,
UNSPEC_EDGE16N, UNSPEC_EDGE16LN, UNSPEC_EDGE32N,
UNSPEC_EDGE32LN, UNSPEC_BSHUFFLE): New unspecs.
(define_attr type): New insn type 'edgen'.
(bmask<P:mode>_vis, bshuffle<V64I:mode>_vis, edge8n<P:mode>_vis,
edge8ln<P:mode>_vis, edge16n<P:mode>_vis, edge16ln<P:mode>_vis,
edge32n<P:mode>_vis, edge32ln<P:mode>_vis): New insn VIS 2.0
patterns.
* niagara.md: Handle edgen.
* niagara2.md: Likewise.
* ultra1_2.md: Likewise.
* ultra3.md: Likewise.
* config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__
to 0x200 when TARGET_VIS2.
* config/sparc/sparc.c (sparc_option_override): Set MASK_VIS2 by
default when targetting capable cpus.  TARGET_VIS2 implies
TARGET_VIS, clear and it when TARGET_FPU is disabled.
(sparc_vis_init_builtins): Emit new VIS 2.0 builtins.
(sparc_expand_builtin): Fix predicate indexing when builtin returns
void.
(sparc_fold_builtin): Do not eliminate bmask when result is ignored.
* config/sparc/visintrin.h (__vis_bmask, __vis_bshuffledi,
__vis_bshufflev2si, __vis_bshufflev4hi, __vis_bshufflev8qi,
__vis_edge8n, __vis_edge8ln, __vis_edge16n, __vis_edge16ln,
__vis_edge32n, __vis_edge32ln): New VIS 2.0 interfaces.
* doc/extend.texi: Document new VIS 2.0 builtins.

gcc/testsuite/

* gcc.target/sparc/bmaskbshuf.c: New test.
* gcc.target/sparc/edgen.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179376 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Fri, 30 Sep 2011 00:18:39 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179375 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoMore sparc pixel-compare insn pattern cleanups.
davem [Thu, 29 Sep 2011 19:17:13 +0000 (19:17 +0000)]
More sparc pixel-compare insn pattern cleanups.

* config/sparc/sparc.md (VIS pixel-compare insn): There is only one
code iterator used, so just use <code>.  There are two mode iterators
so explicitly use <GCM:gcm_name>.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179366 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/frv/frvbegin.c: Fix location of unwind-dw2-fde.h header
nickc [Thu, 29 Sep 2011 17:57:06 +0000 (17:57 +0000)]
* config/frv/frvbegin.c: Fix location of unwind-dw2-fde.h header
file.
* config/frv/frvend.c: Likewise.
* config/frv/frv.c (frv_function_prologue): Move misplaced
CALL_ARG_LOCATION notes back to their proper locations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179363 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 29 Sep 2011 17:26:32 +0000 (17:26 +0000)]
2011-09-29  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
Remove noexcept from declaration too.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179360 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/50566
gjl [Thu, 29 Sep 2011 16:24:57 +0000 (16:24 +0000)]
PR target/50566
* config/avr/avr-log.c (avr_log_vadump): Use %b to print bool.
* config/avr/avr.c (avr_rtx_costs_1): New static function, renamed
from avr_rtx_costs.
(avr_legitimate_address_p): Use avr_edump to print log information
filtered by avr_log.
(extra_constraint_Q): Ditto.
(avr_legitimize_address): Ditto.
(avr_rtx_costs): Ditto.  Rewrite as wrapper for avr_rtx_costs_1.
(final_prescan_insn): Use avr_log.rtx_costs as filter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179359 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoada:
iains [Thu, 29 Sep 2011 15:51:14 +0000 (15:51 +0000)]
ada:

* gcc-interface/Makefile.in (Darwin): Factor LIBGNAT_TARGET_PAIRS
across the port.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179358 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
rsandifo [Thu, 29 Sep 2011 15:03:06 +0000 (15:03 +0000)]
gcc/
* config/arm/arm-protos.h (arm_modes_tieable_p): Declare.
* config/arm/arm.h (MODES_TIEABLE_P): Use it.
* config/arm/arm.c (arm_modes_tieable_p): New function.  Allow
NEON vector and structure modes to be tied.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179355 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Thu, 29 Sep 2011 14:06:31 +0000 (14:06 +0000)]
2011-09-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* graphite-scop-detection.c (make_close_phi_nodes_unique):  New
forward declaration.
(remove_duplicate_close_phi): Detect and repair creation of
duplicate close-phis for a containing loop.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179351 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoUse urandom in gcc.c too
ak [Thu, 29 Sep 2011 13:15:29 +0000 (13:15 +0000)]
Use urandom in gcc.c too

gcc also takes generates a random number in some special circumstances,
so teach it about /dev/urandom too.

gcc/:

2011-09-27   Andi Kleen <ak@linux.intel.com>

* gcc.c (get_local_tick). Rename to get_random_number.
        Read from /dev/urandom.
Add getpid call.
(compare_debug_dump_opt_spec_function): Drop getpid call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179349 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoUse urandom to get random seed
ak [Thu, 29 Sep 2011 13:15:13 +0000 (13:15 +0000)]
Use urandom to get random seed

When available use /dev/urandom to get the random seem. This will lower the probability
of collisions.

On other systems it will fallback to the old methods.

Passes bootstrap + testsuite on x86_64. Ok?

gcc/:

2011-09-26   Andi Kleen <ak@linux.intel.com>

* toplev.c (init_local_tick): Try reading random seed from /dev/urandom

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179348 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoChange random seeds to 64bit and drop re-crcing
ak [Thu, 29 Sep 2011 13:14:51 +0000 (13:14 +0000)]
Change random seeds to 64bit and drop re-crcing

I had some trouble with random build failures in a large LTO project
and it turned out to be random seed collisions in a highly parallel build
(thanks to Honza for suggesting that)

There were multiple problems:
- The way to generate the random seed is not very random (milliseconds time plus pid)
and prone to collisions on highly parallel builds
- It's only 32bit
- Several users take the existing ascii seed and re-CRC32 it again, which
doesn't exactly improve it.

This patch changes that to:
- Always use 64bit seeds as numbers (no re-crcing)
- Change all users to use HOST_WIDE_INT
- When the user specifies a random seed it's still crc32ed, but only in
this case.

Passes bootstrap + testsuite on x86_64-linux.

gcc/cp:

2011-09-26   Andi Kleen <ak@linux.intel.com>

* repo.c (finish_repo): Use HOST_WIDE_INT_PRINT_HEX_PURE.

gcc/:

2011-09-26   Andi Kleen <ak@linux.intel.com>

* hwint.h (HOST_WIDE_INT_PRINT_HEX_PURE): Add.
* lto-streamer.c (lto_get_section_name): Remove crc32_string.
  Handle numerical random seed.
* lto-streamer.h (lto_file_decl_data): Change id to unsigned HOST_WIDE_INT.
* toplev.c (random_seed): Add.
(init_random_seed): Change for numerical random seed.
(get_random_seed): Return as HOST_WIDE_INT.
(set_random_seed): Crc32 existing string.
* toplev.h (get_random_seed): Change to numercal return.
* tree.c (get_file_function_name): Remove CRC. Handle numerical random seed.

gcc/lto/:

2011-09-26   Andi Kleen <ak@linux.intel.com>

* lto.c (lto_resolution_read): Remove id dumping.
(lto_section_with_id): Turn id HOST_WIDE_ID.
(create_subid_section_table): Dito.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179347 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-29 Janus Weil <janus@gcc.gnu.org>
janus [Thu, 29 Sep 2011 11:57:35 +0000 (11:57 +0000)]
2011-09-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/50547
* resolve.c (resolve_formal_arglist): Fix pureness check for dummy
functions.

PR fortran/50553
* symbol.c (check_conflict): Forbid TARGET attribute for statement
functions.

2011-09-29  Janus Weil  <janus@gcc.gnu.org>

PR fortran/50547
* gfortran.dg/pure_formal_proc_3.f90: New.

PR fortran/50553
* gfortran.dg/stfunc_7.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179345 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/50566
gjl [Thu, 29 Sep 2011 11:51:59 +0000 (11:51 +0000)]
PR target/50566
* config.gcc (extra_objs): Add avr-log.o for $target in:
avr-*-rtems*, avr-*-*.
* config/avr/t-avr (avr-log.o): New rule to compile...
* config/avr/avr-log.c: ...this new file.
* config/avr/avr.opt (mlog=): New option.
* config/avr/avr-protos.h (avr_edump, avr_fdump): New macros.
(avr_log_set_caller_e, avr_log_set_caller_f): New prototypes.
(avr_log_set_avr_log): New prototype.
(avr_log_t): New typedef.
(avr_log): New declaration.
* config/avr/avr.c (avr_option_override): Call avr_log_set_avr_log.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179344 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoThe commands of the $(TOOLS_ZIP) rule include copying of two subtrees from the
jbeulich [Thu, 29 Sep 2011 11:37:47 +0000 (11:37 +0000)]
The commands of the $(TOOLS_ZIP) rule include copying of two subtrees from the
source tree (asm/ and classes/). If the source tree is read-only, the use of
cp's -p option here prevents the trees from getting deleted later in the rule
if they (or at least their directories) don't get marked writable.

Committed as obvious.

libjava/classpath/
2011-09-29  Jan Beulich  <jbeulich@suse.com>

* tools/Makefile.am (TOOLS_ZIP): Make writable the copied subtrees
asm/ and classes/.
* tools/Makefile.in: Re-generate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179343 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-29 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
rguenth [Thu, 29 Sep 2011 11:29:03 +0000 (11:29 +0000)]
2011-09-29  Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>

* expr.c (do_store_flag): Expand vector comparison by
building an appropriate VEC_COND_EXPR.
* c-typeck.c (build_binary_op): Typecheck vector comparisons.
(c_objc_common_truthvalue_conversion): Adjust.
* tree-vect-generic.c (do_compare): Helper function.
(expand_vector_comparison): Check if hardware supports
vector comparison of the given type or expand vector
piecewise.
(expand_vector_operation): Treat comparison as binary
operation of vector type.
(expand_vector_operations_1): Adjust.

* gcc.c-torture/execute/vector-compare-1.c: New testcase.
* gcc.c-torture/execute/vector-compare-2.c: Likewise.
* gcc.dg/vector-compare-1.c: Likewise.
* gcc.dg/vector-compare-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179342 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-29 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 29 Sep 2011 11:26:46 +0000 (11:26 +0000)]
2011-09-29  Richard Guenther  <rguenther@suse.de>

* tree.c (build_opaque_vector_type): Make opaque vectors
variant types of the corresponding non-opaque type.  Make
sure to share opaque vector types properly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179341 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * ChangeLog: Fix whitespace.
uros [Thu, 29 Sep 2011 09:04:03 +0000 (09:04 +0000)]
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179338 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRemove unnecessary sparc code attr.
davem [Thu, 29 Sep 2011 07:56:05 +0000 (07:56 +0000)]
Remove unnecessary sparc code attr.

* config/sparc/sparc.md (gcond_name): Delete unnecessary code attr.
(VIS pixel-compare insn): Just use <gcond:name>.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179335 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoAdd sparc 3D array addressing VIS intrinsics.
davem [Thu, 29 Sep 2011 07:35:16 +0000 (07:35 +0000)]
Add sparc 3D array addressing VIS intrinsics.

gcc/

* config/sparc/sparc.md (UNSPEC_ARRAY8, UNSPEC_ARRAY16,
UNSPEC_ARRAY32): New unspec.
(define_attr type): New type 'array'.
(array{8,16,32}<P:mode>_vis): New patterns.
* config/sparc/ultra1_2.md: Add reservations for 'array'.
* config/sparc/ultra3.md: Likewise.
* config/sparc/niagara.md: Likewise.
* config/sparc/niagara2.md: Likewise.
* config/sparc/sparc.c (sparc_vis_init_builtins): Build new
array builtins.
* config/sparc/visintrin.h (__vis_array8, __vis_array16,
__vis_array32): New.
* doc/extend.texi: Document new VIS builtins.

gcc/testsuite/

* gcc.target/sparc/array.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179334 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc:
iains [Thu, 29 Sep 2011 07:17:42 +0000 (07:17 +0000)]
gcc:

* config/darwin9.h (STACK_CHECK_STATIC_BUILTIN): Enable for
Darwin >= 9.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179332 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-29 Jiangning Liu <jiangning.liu@arm.com>
jye2 [Thu, 29 Sep 2011 06:48:26 +0000 (06:48 +0000)]
2011-09-29  Jiangning Liu  <jiangning.liu@arm.com>

* gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c: Explicitly turn on
loop unroll and set max unroll times to 8.
* gcc/testsuite/gcc.dg/tree-ssa/predcom-2.c: Likewise.
* gcc/testsuite/gcc.dg/tree-ssa/predcom-3.c: Likewise.
* gcc/testsuite/gcc.dg/tree-ssa/predcom-4.c: Likewise.
* gcc/testsuite/gcc.dg/tree-ssa/predcom-5.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179330 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRespin sparc pixel-compare patterns using iterators.
davem [Thu, 29 Sep 2011 03:52:00 +0000 (03:52 +0000)]
Respin sparc pixel-compare patterns using iterators.

* config/sparc/sparc.md (UNSPEC_FCMPLE, UNSPEC_FCMPNE,
UNSPEC_FCMPGT, UNSPEC_FCMPEQ): Delete and reduce to...
(UNSPEC_FCMP): New unspec.
(gcond): New code iterator.
(gcond_name): New code attr.
(GCM): New mode iterator.
(gcm_name): New mode attr.
(fcmp{le,ne,gt,eq}{16,32}_vis): Reimplement using iterators.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179329 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Thu, 29 Sep 2011 00:18:27 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179327 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-28 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 28 Sep 2011 23:14:04 +0000 (23:14 +0000)]
2011-09-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/40145
* g++.dg/ext/visibility/warn5.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179323 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago/cp
paolo [Wed, 28 Sep 2011 22:04:48 +0000 (22:04 +0000)]
/cp
2011-09-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/45278
* typeck.c (cp_build_binary_op): With -Wextra, warn for ordered
comparison of pointer with zero.

/testsuite
2011-09-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/45278
* g++.dg/warn/Wextra-3.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179321 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/49486
kkojima [Wed, 28 Sep 2011 21:43:01 +0000 (21:43 +0000)]
PR target/49486
* config/sh/sh.md (negdi2): Move expansion into split to
allow more combination options.  Add T_REG clobber.
(abssi2): New expander.
(*negdi2, *abssi2, *negabssi2): New insns.
(cneg): Change from insn to insn_and_split.  Rename to
negsi_cond.  Add alternative for non-SH4.
* gcc.target/sh/pr49468-si.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179320 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago include/
devans [Wed, 28 Sep 2011 19:09:50 +0000 (19:09 +0000)]
include/
* timeval-utils.h: New file.

libiberty/
* timeval-utils.c: New file.
* Makefile.in (CFILES): Add it.
(REQUIRED_OFILES): Add timeval-utils.$(objext).
(INSTALLED_HEADERS): Add timeval-utils.h.
(timeval-utils.$(objext)): Add rule.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179319 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago include/
devans [Wed, 28 Sep 2011 19:04:30 +0000 (19:04 +0000)]
include/
* libiberty.h (countargv): Declare.

libiberty/
* argv.c (countargv): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179318 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
rsandifo [Wed, 28 Sep 2011 15:00:10 +0000 (15:00 +0000)]
gcc/
* config/arm/neon.md (neon_move_lo_quad_<mode>): Delete.
(neon_move_hi_quad_<mode>): Likewise.
(move_hi_quad_<mode>, move_lo_quad_<mode>): Use subreg moves.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179316 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/rx/predicates.md (rx_minmax_operand): New predicate.
nickc [Wed, 28 Sep 2011 14:37:30 +0000 (14:37 +0000)]
* config/rx/predicates.md (rx_minmax_operand): New predicate.
Accepts immediates and a restricted subset of MEMs.
* config/rx/rx.md (int_modes): New iterator.
(smaxsi3, sminsi3): Delete and replace with...
(smax<int_mode>3, smin<int_mode>3): New patterns.
(umax<>3_u, umax<>3_ur, umax<>3, umin<>3): New patterns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179315 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/rx/rx-lib.h: Always restrict doubles to the SF type when
nickc [Wed, 28 Sep 2011 13:56:19 +0000 (13:56 +0000)]
* config/rx/rx-lib.h: Always restrict doubles to the SF type when
64-bit doubles are not enabled.
* config/rx/rx-abi.h: Fix extraneous renaming of the floatsisf
and floatunsisf functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179314 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-28 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 28 Sep 2011 13:47:12 +0000 (13:47 +0000)]
2011-09-28  Richard Guenther  <rguenther@suse.de>

PR middle-end/50460
* fold-const.c (try_move_mult_to_index): Handle &a.array the
same as &a.array[0].

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179313 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agomksysinfo: #include <ttold.h> on Irix.
ian [Wed, 28 Sep 2011 13:14:11 +0000 (13:14 +0000)]
mksysinfo: #include <ttold.h> on Irix.

From Rainer Orth.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179312 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-28 Tom de Vries <tom@codesourcery.com>
vries [Wed, 28 Sep 2011 08:48:00 +0000 (08:48 +0000)]
2011-09-28  Tom de Vries  <tom@codesourcery.com>

PR testsuite/50485
* gcc.target/i386/sse4_1-blendps.c: Include <stdlib.h>.
(TEST): Initialize src3 with random floats.
* gcc.target/i386/sse4_1-blendps-2.c (sse4_1_test): Remove field i from
union src3.  Initialize src3 with random floats.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179309 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * configure.ac: Add test for new section attribute
ktietz [Wed, 28 Sep 2011 08:07:39 +0000 (08:07 +0000)]
* configure.ac: Add test for new section attribute
specifier "e" via define HAVE_GAS_SECTION_EXCLUDE.
* config.in: Regenerated.
* configure: Regenerated.
* config/i386/winnt.c (i386_pe_asm_named_section): Emit
new section flag "e" for excluded sections, if supported.
Otherwise we mark section withc SECTION_EXCLUDE flag
as never-load.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179308 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-27 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Wed, 28 Sep 2011 01:37:10 +0000 (01:37 +0000)]
2011-09-27  Benjamin Kosnik  <bkoz@redhat.com>

* doc/html/*: Regenerate.

* doc/Makefile.am: Un-nest the ext output directory.
* doc/Makefile.in: Regenerate.
* spine.xml: Remove authors, add abstract for short
contents. Rename to index.html for html output.
* manual/spine.xml: Authors here, manual starts with index.html.
* api.xml: Update.
* faq.xml: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179304 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Wed, 28 Sep 2011 00:18:32 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179302 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
rsandifo [Tue, 27 Sep 2011 23:04:14 +0000 (23:04 +0000)]
gcc/
* config/m32r/m32r.md: Use match_test rather than eq/ne symbol_ref
throughout file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179297 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
rsandifo [Tue, 27 Sep 2011 23:03:57 +0000 (23:03 +0000)]
gcc/
* config/iq2000/iq2000.md: Use match_test rather than eq/ne symbol_ref
throughout file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179296 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc.target/sh/mfmovd.c: Extend list of supported targets.
kkojima [Tue, 27 Sep 2011 22:46:00 +0000 (22:46 +0000)]
* gcc.target/sh/mfmovd.c: Extend list of supported targets.
* gcc.target/sh/struct-arg-dw2.c: Fix typo.
* gcc.target/sh/sh4a-sincos.c: Make test SH4A only.
* gcc.target/sh/sh4a-sincosf.c: Ditto.
* gcc.target/sh/sh4a-cos.c: Ditto.
* gcc.target/sh/sh4a-cosf.c: Ditto.
* gcc.target/sh/sh4a-sin.c: Ditto.
* gcc.target/sh/sh4a-sinf.c: Ditto.
* gcc.target/sh/sh4a-fsrra.c: Ditto.
* gcc.target/sh/sh4a-memmovua.c: Ditto.
* gcc.target/sh/sh4a-bitmovua.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179295 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago/cp
paolo [Tue, 27 Sep 2011 21:52:19 +0000 (21:52 +0000)]
/cp
2011-09-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/31489
* parser.c (cp_parser_elaborated_type_specifier): For RECORD_TYPE,
set CLASSTYPE_DECLARED_CLASS.

/testsuite
2011-09-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/31489
* g++.dg/parse/error40.C: New.
* g++.dg/warn/incomplete1.C: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179293 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * trans-types.c (gfc_type_for_size): Return wider type
jakub [Tue, 27 Sep 2011 19:17:31 +0000 (19:17 +0000)]
* trans-types.c (gfc_type_for_size): Return wider type
if no suitable narrower type has been found.
(gfc_type_for_mode): Return NULL_TREE if gfc_type_for_size
returned type doesn't have expected TYPE_MODE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179290 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-27 Sriraman Tallam <tmsriram@google.com>
tmsriram [Tue, 27 Sep 2011 17:52:13 +0000 (17:52 +0000)]
2011-09-27  Sriraman Tallam  <tmsriram@google.com>

* output.h (SECTION_EXCLUDE): New macro.
* varasm.c (default_elf_asm_named_section): Check for
SECTION_EXCLUDE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179288 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
rsandifo [Tue, 27 Sep 2011 17:24:03 +0000 (17:24 +0000)]
gcc/
* fwprop.c (forward_propagate_and_simplify): After checking
reg/subreg combinations, check whether the modes are the same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179287 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
rsandifo [Tue, 27 Sep 2011 17:23:27 +0000 (17:23 +0000)]
gcc/
2011-09-25  Bernd Schmidt  <bernds@codesourcery.com>
    Richard Sandiford  <rdsandiford@googlemail.com>

* config/mips/mips.c (mips_add_cfa_restore): New function.
(mips16e_save_restore_reg): Use it.
(mips_restore_reg): Likewise.  Split double FPRs for
REG_CFA_RESTORE notes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179286 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
rsandifo [Tue, 27 Sep 2011 17:18:22 +0000 (17:18 +0000)]
gcc/
PR middle-end/50386
PR middle-end/50326
* tree-sra.c (build_ref_for_model): Use the type of the field as
the type of the COMPONENT_REF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179285 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * ifcvt.c (cheap_bb_rtx_cost_p): Add SCALE argument. Scale
law [Tue, 27 Sep 2011 16:49:17 +0000 (16:49 +0000)]
* ifcvt.c (cheap_bb_rtx_cost_p): Add SCALE argument.  Scale
non-jumping insns by REG_BR_PROB_BASE and the maximum cost
by SCALE.
(find_if_case_1): Use the probability of the THEN clause when
determining if speculation is profitable.
(find_if_case_2): Similarly for the ELSE clause.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179284 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR middle-end/49463
hubicka [Tue, 27 Sep 2011 16:28:24 +0000 (16:28 +0000)]
PR middle-end/49463
* gcc.c-torture/execute/builtins/strstr-asm-lib.c
(my_strstr): Mark used.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179280 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * common.opt: Add -foptimize-strlen option.
jakub [Tue, 27 Sep 2011 16:18:49 +0000 (16:18 +0000)]
* common.opt: Add -foptimize-strlen option.
* Makefile.in (OBJS): Add tree-ssa-strlen.o.
(tree-sssa-strlen.o): Add dependencies.
* opts.c (default_options_table): Enable -foptimize-strlen
by default at -O2 if not -Os.
* passes.c (init_optimization_passes): Add pass_strlen
after pass_object_sizes.
* timevar.def (TV_TREE_STRLEN): New timevar.
* params.def (PARAM_MAX_TRACKED_STRLENS): New parameter.
* tree-pass.h (pass_strlen): Declare.
* tree-ssa-strlen.c: New file.
* c-decl.c (merge_decls): If compatible stpcpy prototype
is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
cp/
* decl.c (duplicate_decls): If compatible stpcpy prototype
is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
testsuite/
* gcc.dg/strlenopt-1.c: New test.
* gcc.dg/strlenopt-1f.c: New test.
* gcc.dg/strlenopt-2.c: New test.
* gcc.dg/strlenopt-2f.c: New test.
* gcc.dg/strlenopt-3.c: New test.
* gcc.dg/strlenopt-4.c: New test.
* gcc.dg/strlenopt-4g.c: New test.
* gcc.dg/strlenopt-4gf.c: New test.
* gcc.dg/strlenopt-5.c: New test.
* gcc.dg/strlenopt-6.c: New test.
* gcc.dg/strlenopt-7.c: New test.
* gcc.dg/strlenopt-8.c: New test.
* gcc.dg/strlenopt-9.c: New test.
* gcc.dg/strlenopt-10.c: New test.
* gcc.dg/strlenopt-11.c: New test.
* gcc.dg/strlenopt-12.c: New test.
* gcc.dg/strlenopt-12g.c: New test.
* gcc.dg/strlenopt-13.c: New test.
* gcc.dg/strlenopt-14g.c: New test.
* gcc.dg/strlenopt-14gf.c: New test.
* gcc.dg/strlenopt-15.c: New test.
* gcc.dg/strlenopt-16g.c: New test.
* gcc.dg/strlenopt-17g.c: New test.
* gcc.dg/strlenopt-18g.c: New test.
* gcc.dg/strlenopt.h: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179279 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * common.opt: Add -foptimize-strlen option.
jakub [Tue, 27 Sep 2011 16:16:57 +0000 (16:16 +0000)]
* common.opt: Add -foptimize-strlen option.
* Makefile.in (OBJS): Add tree-ssa-strlen.o.
(tree-sssa-strlen.o): Add dependencies.
* opts.c (default_options_table): Enable -foptimize-strlen
by default at -O2 if not -Os.
* passes.c (init_optimization_passes): Add pass_strlen
after pass_object_sizes.
* timevar.def (TV_TREE_STRLEN): New timevar.
* params.def (PARAM_MAX_TRACKED_STRLENS): New parameter.
* tree-pass.h (pass_strlen): Declare.
* tree-ssa-strlen.c: New file.
* c-decl.c (merge_decls): If compatible stpcpy prototype
is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
cp/
* decl.c (duplicate_decls): If compatible stpcpy prototype
is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
testsuite/
* gcc.dg/strlenopt-1.c: New test.
* gcc.dg/strlenopt-1f.c: New test.
* gcc.dg/strlenopt-2.c: New test.
* gcc.dg/strlenopt-2f.c: New test.
* gcc.dg/strlenopt-3.c: New test.
* gcc.dg/strlenopt-4.c: New test.
* gcc.dg/strlenopt-4g.c: New test.
* gcc.dg/strlenopt-4gf.c: New test.
* gcc.dg/strlenopt-5.c: New test.
* gcc.dg/strlenopt-6.c: New test.
* gcc.dg/strlenopt-7.c: New test.
* gcc.dg/strlenopt-8.c: New test.
* gcc.dg/strlenopt-9.c: New test.
* gcc.dg/strlenopt-10.c: New test.
* gcc.dg/strlenopt-11.c: New test.
* gcc.dg/strlenopt-12.c: New test.
* gcc.dg/strlenopt-12g.c: New test.
* gcc.dg/strlenopt-13.c: New test.
* gcc.dg/strlenopt-14g.c: New test.
* gcc.dg/strlenopt-14gf.c: New test.
* gcc.dg/strlenopt-15.c: New test.
* gcc.dg/strlenopt-16g.c: New test.
* gcc.dg/strlenopt-17g.c: New test.
* gcc.dg/strlenopt-18g.c: New test.
* gcc.dg/strlenopt.h: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179278 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * common.opt: Add -foptimize-strlen option.
jakub [Tue, 27 Sep 2011 16:15:46 +0000 (16:15 +0000)]
* common.opt: Add -foptimize-strlen option.
* Makefile.in (OBJS): Add tree-ssa-strlen.o.
(tree-sssa-strlen.o): Add dependencies.
* opts.c (default_options_table): Enable -foptimize-strlen
by default at -O2 if not -Os.
* passes.c (init_optimization_passes): Add pass_strlen
after pass_object_sizes.
* timevar.def (TV_TREE_STRLEN): New timevar.
* params.def (PARAM_MAX_TRACKED_STRLENS): New parameter.
* tree-pass.h (pass_strlen): Declare.
* tree-ssa-strlen.c: New file.
* c-decl.c (merge_decls): If compatible stpcpy prototype
is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
cp/
* decl.c (duplicate_decls): If compatible stpcpy prototype
is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
testsuite/
* gcc.dg/strlenopt-1.c: New test.
* gcc.dg/strlenopt-1f.c: New test.
* gcc.dg/strlenopt-2.c: New test.
* gcc.dg/strlenopt-2f.c: New test.
* gcc.dg/strlenopt-3.c: New test.
* gcc.dg/strlenopt-4.c: New test.
* gcc.dg/strlenopt-4g.c: New test.
* gcc.dg/strlenopt-4gf.c: New test.
* gcc.dg/strlenopt-5.c: New test.
* gcc.dg/strlenopt-6.c: New test.
* gcc.dg/strlenopt-7.c: New test.
* gcc.dg/strlenopt-8.c: New test.
* gcc.dg/strlenopt-9.c: New test.
* gcc.dg/strlenopt-10.c: New test.
* gcc.dg/strlenopt-11.c: New test.
* gcc.dg/strlenopt-12.c: New test.
* gcc.dg/strlenopt-12g.c: New test.
* gcc.dg/strlenopt-13.c: New test.
* gcc.dg/strlenopt-14g.c: New test.
* gcc.dg/strlenopt-14gf.c: New test.
* gcc.dg/strlenopt-15.c: New test.
* gcc.dg/strlenopt-16g.c: New test.
* gcc.dg/strlenopt-17g.c: New test.
* gcc.dg/strlenopt-18g.c: New test.
* gcc.dg/strlenopt.h: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179277 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-27 Tom de Vries <tom@codesourcery.com>
vries [Tue, 27 Sep 2011 16:12:35 +0000 (16:12 +0000)]
2011-09-27  Tom de Vries  <tom@codesourcery.com>

PR middle-end/43864
* gcc.dg/fold-compare-2.c (dg-options): Add -fno-tree-tail-merge.
* gcc/testsuite/gcc.dg/uninit-pred-2_c.c: Same.
* gcc.dg/pr43864.c: New test.
* gcc.dg/pr43864-2.c: Same.
* gcc.dg/pr43864-3.c: Same.
* gcc.dg/pr43864-4.c: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179276 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-27 Tom de Vries <tom@codesourcery.com>
vries [Tue, 27 Sep 2011 16:10:42 +0000 (16:10 +0000)]
2011-09-27  Tom de Vries  <tom@codesourcery.com>

PR middle-end/43864
* tree-ssa-tail-merge.c: New file.
(struct same_succ_def): Define.
(same_succ, const_same_succ): New typedef.
(struct bb_cluster_def): Define.
(bb_cluster, const_bb_cluster): New typedef.
(struct aux_bb_info): Define.
(BB_SIZE, BB_SAME_SUCC, BB_CLUSTER, BB_VOP_AT_EXIT): Define.
(gvn_uses_equal): New function.
(same_succ_print, same_succ_print_traverse, update_dep_bb)
(stmt_update_dep_bb, local_def, same_succ_hash)
(inverse_flags, same_succ_equal, same_succ_alloc, same_succ_delete)
(same_succ_reset): New function.
(same_succ_htab, same_succ_edge_flags)
(deleted_bbs, deleted_bb_preds): New var.
(debug_same_succ): New function.
(worklist): New var.
(print_worklist, add_to_worklist, find_same_succ_bb, find_same_succ)
(init_worklist, delete_worklist, delete_basic_block_same_succ)
(same_succ_flush_bbs, purge_bbs, update_worklist): New function.
(print_cluster, debug_cluster, update_rep_bb)
(add_bb_to_cluster, new_cluster, delete_cluster): New function.
(all_clusters): New var.
(alloc_cluster_vectors, reset_cluster_vectors, delete_cluster_vectors)
(merge_clusters, set_cluster): New function.
(gimple_equal_p, gsi_advance_bw_nondebug_nonlocal, find_duplicate)
(same_phi_alternatives_1, same_phi_alternatives, bb_has_non_vop_phi)
(deps_ok_for_redirect_from_bb_to_bb, deps_ok_for_redirect)
(find_clusters_1, find_clusters): New function.
(update_vuses, vop_phi, vop_at_entry, replace_block_by): New function.
(update_bbs): New var.
(apply_clusters): New function.
(update_debug_stmt, update_debug_stmts): New function.
(tail_merge_optimize): New function.
tree-pass.h (tail_merge_optimize): Declare.
* tree-ssa-pre.c (execute_pre): Use tail_merge_optimize.
* Makefile.in (OBJS-common): Add tree-ssa-tail-merge.o.
(tree-ssa-tail-merge.o): New rule.
* opts.c (default_options_table): Set OPT_ftree_tail_merge by default at
OPT_LEVELS_2_PLUS.
* tree-ssa-sccvn.c (vn_valueize): Move to ...
* tree-ssa-sccvn.h (vn_valueize): Here.
* timevar.def (TV_TREE_TAIL_MERGE): New timevar.
* common.opt (ftree-tail-merge): New switch.
* params.def (PARAM_MAX_TAIL_MERGE_COMPARISONS)
(PARAM_MAX_TAIL_MERGE_ITERATIONS): New parameter.
* doc/invoke.texi (Optimization Options, -O2): Add -ftree-tail-merge.
(-ftree-tail-merge, max-tail-merge-comparisons)
(max-tail-merge-iterations): New item.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179275 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * ipa-inline-analysis.c (MAX_TIME): Reduce to avoid overflows.
hubicka [Tue, 27 Sep 2011 15:27:41 +0000 (15:27 +0000)]
* ipa-inline-analysis.c (MAX_TIME): Reduce to avoid overflows.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179274 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc.dg/ipa/inline-5.c: New testcase.
hubicka [Tue, 27 Sep 2011 15:08:31 +0000 (15:08 +0000)]
* gcc.dg/ipa/inline-5.c: New testcase.
* ipa-inline-analysis.c (eliminated_by_inlining_prob): Handle parameters
passed by reference; handle loads from non-SSA scalars and update comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179273 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR rtl-optimization/50249
bernds [Tue, 27 Sep 2011 14:55:11 +0000 (14:55 +0000)]
PR rtl-optimization/50249
* reload1.c (reload_reg_reaches_end_p): Accept a reloadnum argument
instead of opnum and type.  All callers changed.  Remove useless
declaration.
Search forward for other reloads of the same type for the same operand
using the same register; if any are found, return false.
(reload_regs_reach_end_p): Same argument changes; all callers changed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179272 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * doc/invoke.texi (ffat-lto-objects): Document.
hubicka [Tue, 27 Sep 2011 14:36:48 +0000 (14:36 +0000)]
* doc/invoke.texi (ffat-lto-objects): Document.
* toplev.c (compile_file): Do not output assembly when doing slim lto;
Output __gnu_slim_lto when doing slim lto.
* cgraphunit.c (ipa_passes): Do only analysis when producing slim lto.
(cgraph_optimize): Return early when doing slim lto.
* opts.c (finish_options): Complain about lack of linker plugin
when doing slim lto.
* common.opt (ffat-lto-objects): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179271 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agomksysinfo: Fix for systems that don't define TIOCSCTTY.
ian [Tue, 27 Sep 2011 13:16:22 +0000 (13:16 +0000)]
mksysinfo: Fix for systems that don't define TIOCSCTTY.

From Rainer Orth.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179269 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
rsandifo [Tue, 27 Sep 2011 13:01:31 +0000 (13:01 +0000)]
gcc/
* ipa-inline-analysis.c (predicate_probability): Avoid comparison
between signed and unsigned.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179268 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * tree-vect-stmts.c (vectorizable_type_demotion): Handle basic
irar [Tue, 27 Sep 2011 12:26:34 +0000 (12:26 +0000)]
    * tree-vect-stmts.c (vectorizable_type_demotion): Handle basic
        block vectorization.
        (vectorizable_type_promotion): Likewise.
        (vect_analyze_stmt): Call vectorizable_type_demotion and
        vectorizable_type_promotion for basic blocks.
        (supportable_widening_operation): Don't assume loop
        vectorization.
        * tree-vect-slp.c (vect_build_slp_tree): Allow multiple types
        for basic blocks.  Update vectorization factor for basic block
        vectorization.
        (vect_analyze_slp_instance): Allow multiple types for basic
        block vectorization.  Recheck unrolling factor after
        construction of SLP instance.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179267 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * testsuite/lib/target-supports.exp (check_profiling_available):
bernds [Tue, 27 Sep 2011 11:04:34 +0000 (11:04 +0000)]
* testsuite/lib/target-supports.exp (check_profiling_available):
Don't rely solely on TLS tests for -fprofile-generate, fall
through to the other code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179263 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-27 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 27 Sep 2011 10:11:01 +0000 (10:11 +0000)]
2011-09-27  Ed Schonberg  <schonberg@adacore.com>

* a-cbhase.adb, a-cbhase.ads, a-cborse.adb, a-cborse.ads,
a-cihase.adb, a-cihase.ads, a-ciorse.adb, a-ciorse.ads,
a-coorse.adb, a-coorse.ads: Add iterator machinery to bounded sets and
indefinite sets.
* a-coorma.ads: Minor reformmating.
* einfo.ads: Improve the comment describing the
Directly_Designated_Type function.
* a-ciorma.adb, a-ciorma.ads: Add iterator machinery to indefinite
ordered maps.
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179260 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-27 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 27 Sep 2011 10:06:40 +0000 (10:06 +0000)]
2011-09-27  Richard Guenther  <rguenther@suse.de>

* tree-object-size.c (compute_object_sizes): Fix dumping of
folded statement.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179259 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-27 Robert Dewar <dewar@adacore.com>
charlet [Tue, 27 Sep 2011 10:03:09 +0000 (10:03 +0000)]
2011-09-27  Robert Dewar  <dewar@adacore.com>

* a-comutr.ads: Minor reformatting.

2011-09-27  Ed Schonberg  <schonberg@adacore.com>

* a-cimutr.adb, a-cimutr.ads, a-cbmutr.adb, a-cbmutr.ads: Add children
iterators to multiway trees.

2011-09-27  Yannick Moy  <moy@adacore.com>

* debug.adb (d.D): New option for strict Alfa mode.
* opt.ads (Strict_Alfa_Mode): New flag to interpret compiler
permissions as strictly as possible.
* sem_ch3.adb (Signed_Integer_Type_Declaration): In non-strict
Alfa mode, now, interpret ranges of base types like GNAT does; in
strict mode, simply change the range of the implicit base Itype.
* gnat1drv.adb: Update comments. Set Strict_Alfa_Mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179258 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-27 Robert Dewar <dewar@adacore.com>
charlet [Tue, 27 Sep 2011 09:58:53 +0000 (09:58 +0000)]
2011-09-27  Robert Dewar  <dewar@adacore.com>

* exp_ch9.adb: Minor comment fixes.

2011-09-27  Ed Schonberg  <schonberg@adacore.com>

* a-comutr.adb, a-comutr.ads: Add children iterators on multiway
trees.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179257 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-27 Eric Botcazou <ebotcazou@adacore.com>
charlet [Tue, 27 Sep 2011 09:57:19 +0000 (09:57 +0000)]
2011-09-27  Eric Botcazou  <ebotcazou@adacore.com>

* checks.adb (Apply_Scalar_Range_Check): Use Designated_Type
instead of Directly_Designated_Type in the indirect array case.

2011-09-27  Robert Dewar  <dewar@adacore.com>

* exp_util.adb, exp_aggr.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179256 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-27 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 27 Sep 2011 09:54:10 +0000 (09:54 +0000)]
2011-09-27  Ed Schonberg  <schonberg@adacore.com>

* sinfo.ads, par-ch3.adb: Minor comment update: aspect specification
on subtype declarations.
* exp_aggr.adb: Minor comment update.

2011-09-27  Eric Botcazou  <ebotcazou@adacore.com>

* exp_util.adb (Safe_Prefixed_Reference): Remove always-false
test in the N_Explicit_Dereference case.  Fold double logical
negation in the special loop case and conditionalize it on
Variable_Ref being true.

2011-09-27  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Analyze_Selected_Component): If the prefix is a
single protected object and the selector is a discriminant or an
entry family, this is a non-overloaded candidate interpretation,
and possible primitive operations of the type must not be
examined.

2011-09-27  Arnaud Charlet  <charlet@adacore.com>

* s-taspri-posix-noaltstack.ads (Lock): Mark fields aliased.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179255 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-27 Pascal Obry <obry@adacore.com>
charlet [Tue, 27 Sep 2011 09:48:14 +0000 (09:48 +0000)]
2011-09-27  Pascal Obry  <obry@adacore.com>

* s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
s-osinte-irix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads:
Add dummy definitions for pthread_rwlock_t
and pthread_rwlockattr_t on all POSIX platforms.
* s-taprop-irix.adb, s-taprop-posix.adb (Initialize_Lock): Fix lock
reference.
(Finalize_Lock): Likewise.
(Write_Lock): Likewise.
(Unlock): Likewise.

2011-09-27  Tristan Gingold  <gingold@adacore.com>

* s-tassta.adb (Task_Wrapper): Increase Guard_Page_Size value for
windows 64.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179254 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-27 Pascal Obry <obry@adacore.com>
charlet [Tue, 27 Sep 2011 09:45:00 +0000 (09:45 +0000)]
2011-09-27  Pascal Obry  <obry@adacore.com>

* s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taspri-vxworks.ads,
s-taprop-tru64.adb, s-osinte-aix.ads, s-taspri-posix-noaltstack.ads,
s-taspri-mingw.ads, s-taprop-vms.adb, s-tpoben.adb, s-tpoben.ads,
s-taprop-mingw.adb, s-taprob.adb, s-taprob.ads,
s-osinte-solaris-posix.ads, s-taprop-solaris.adb, s-taspri-solaris.ads,
s-osinte-irix.ads, s-taprop-irix.adb, s-osinte-darwin.ads,
s-taspri-dummy.ads, s-taspri-posix.ads, s-taprop.ads,
s-taspri-vms.ads, s-osinte-freebsd.ads, s-taprop-hpux-dce.adb,
s-taspri-hpux-dce.ads, s-taspri-tru64.ads, s-taprop-dummy.adb,
s-taprop-posix.adb: Revert previous changes.
(Lock): Now a record containing the two possible lock
(mutex and read/write) defined in OS_Interface.
* s-taprop-linux.adb (Finalize_Protection): Use r/w lock for
'R' locking policy.
(Initialize_Protection): Likewise.
(Lock): Likewise.
(Lock_Read_Only): Likewise.
(Unlock): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179253 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-27 Pascal Obry <obry@adacore.com>
charlet [Tue, 27 Sep 2011 09:37:53 +0000 (09:37 +0000)]
2011-09-27  Pascal Obry  <obry@adacore.com>

* s-taspri-posix-noaltstack.ads (RW_Lock): This type is now defined as
OS_Interface.pthread_rwlock_t.

2011-09-27  Robert Dewar  <dewar@adacore.com>

* exp_ch9.adb, a-cimutr.adb, a-cimutr.ads, gnat1drv.adb, a-comutr.adb,
a-comutr.ads, exp_dist.adb, a-cbmutr.adb, a-cbmutr.ads,
sem_ch5.adb, sem_util.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179252 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-27 Pascal Obry <obry@adacore.com>
charlet [Tue, 27 Sep 2011 09:33:30 +0000 (09:33 +0000)]
2011-09-27  Pascal Obry  <obry@adacore.com>

* s-taprop.ads (Initialize_Lock)[RW_Lock]: New spec for r/w lock.
(Finalize_Lock)[RW_Lock]: Likewise.
(Write_Lock)[RW_Lock]: Likewise.
(Unlock)[RW_Lock]: Likewise.
(Read_Lock): Define L as RW_Lock (instead of Lock).
* s-taprop-linux.adb (Initialize_Lock)[RW_Lock]: New
routine for r/w lock.
(Finalize_Lock)[RW_Lock]: Likewise.
(Write_Lock)[RW_Lock]: Likewise.
(Unlock)[RW_Lock]: Likewise.
(Read_Lock): Define L as RW_Lock (instead of Lock).

* s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
s-taprop-mingw.adb, s-taprop-solaris.adb, s-taprop-irix.adb,
s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb
(Initialize_Lock)[RW_Lock]: Same implementation as corresponding
routine for standard lock.
(Finalize_Lock)[RW_Lock]: Likewise.
(Write_Lock)[RW_Lock]: Likewise.
(Unlock)[RW_Lock]: Likewise.
(Read_Lock): Define L as RW_Lock (instead of Lock).
* s-taprob.ads, s-tpoben.ads (Protection): Add RWL (RW_Lock)
in the record definition.
* s-taprob.adb, s-taproben.adb (Finalize_Protection): Use r/w
lock for 'R' locking policy.
(Initialize_Protection): Likewise.
(Lock): Likewise.
(Lock_Read_Only): Likewise.
(Unlock): Likewise.
* s-taspri-posix.ads (RW_Lock): New type defined as
OS_Interface.pthread_rwlock_t.

* s-taspri-vxworks.ads, s-taspri-posix-noaltstack.ads,
s-taspri-mingw.ads, s-taspri-solaris.ads, s-taspri-dummy.ads,
s-taspri-posix.ads, s-taspri-vms.ads, s-taspri-hpux-dce.ads,
s-taspri-tru64.ads (RW_Lock): New type defined as alias to Lock.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179251 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-27 Pascal Obry <obry@adacore.com>
charlet [Tue, 27 Sep 2011 09:26:11 +0000 (09:26 +0000)]
2011-09-27  Pascal Obry  <obry@adacore.com>

* exp_ch9.adb, s-taspri-posix.ads: Minor reformatting.

2011-09-27  Pascal Obry  <obry@adacore.com>

* s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads,
s-osinte-hpux.ads, s-osinte-irix.ads,
s-osinte-solaris-posix.ads (pthread_rwlock_t): New definition alias of
pthread_mutex_t.
(pthread_rwlockattr_t): New definition alias of pthread_mutexattr_t.
* s-osinte-linux.ads (pthread_rwlock_t, pthread_rwlockattr_t,
pthread_rwlockattr_init, pthread_rwlockattr_destroy,
pthread_rwlockattr_setkind_np, pthread_rwlock_init,
pthread_rwlock_destroy, pthread_rwlock_rdlock,
pthread_rwlock_wrlock, pthread_rwlock_unlock): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179250 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-27 Pascal Obry <obry@adacore.com>
charlet [Tue, 27 Sep 2011 09:16:57 +0000 (09:16 +0000)]
2011-09-27  Pascal Obry  <obry@adacore.com>

* rtsfind.ads: Add RE_Lock_Read_Only into rtsfind circuitry.
(RE_Id): Add RE_Lock_Read_Only.
(RE_Unit_Table): Likewise.
* sem_prag.adb (Process_Convention): Change Pragma_Locking_Policy
to lift restriction on first character. Handle now the
Name_Concurrent_Readers_Locking where policy character is set to
'R'.
* snames.ads-tmpl (Name_Concurrent_Readers_Locking): New
constant.
* exp_ch9.adb (Build_Protected_Subprogram_Body): Generate a
read only lock for function in protected object.
* s-taprob.ads (Lock_Read_Only): Remove obsolete comment as
this routine is now used.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179248 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-27 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 27 Sep 2011 08:53:08 +0000 (08:53 +0000)]
2011-09-27  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/50363
* tree-ssa-pre.c (create_expression_by_pieces): Handle
pointer conversions in POINTER_PLUS_EXPRs properly.

* gcc.dg/torture/pr50363.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179247 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
rsandifo [Tue, 27 Sep 2011 08:27:31 +0000 (08:27 +0000)]
gcc/
* config/arm/neon.md (neon_vget_highv16qi, neon_vget_highv8hi)
(neon_vget_highv4si, neon_vget_highv4sf, neon_vget_highv2di)
(neon_vget_lowv16qi, neon_vget_lowv8hi, neon_vget_lowv4si)
(neon_vget_lowv4sf, neon_vget_lowv2di): Turn into define_expands
that produce subreg moves.  Define using VQX iterators.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179243 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/avr/avr.md (ashrqi3): Split alternative "n"
gjl [Tue, 27 Sep 2011 08:08:16 +0000 (08:08 +0000)]
* config/avr/avr.md (ashrqi3): Split alternative "n"
into its remaining parts C03, C04, C05, C06, C07 and describe
impact in CC by attribute "cc" appropriately.
* config/avr/avr.c (notice_update_cc): Clean-up: Don't patch CC0
by digging RTX.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179241 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * rtl.h (const_tiny_rtx): Change into array of 4 x MAX_MACHINE_MODE
jakub [Tue, 27 Sep 2011 07:29:21 +0000 (07:29 +0000)]
* rtl.h (const_tiny_rtx): Change into array of 4 x MAX_MACHINE_MODE
from 3 x MAX_MACHINE_MODE.
(CONSTM1_RTX): Define.
* emit-rtl.c (const_tiny_rtx): Change into array of 4 x MAX_MACHINE_MODE
        from 3 x MAX_MACHINE_MODE.
(gen_rtx_CONST_VECTOR): Use CONSTM1_RTX if all inner constants are
CONSTM1_RTX.
(init_emit_once): Initialize CONSTM1_RTX for MODE_INT and
MODE_VECTOR_INT modes.
* simplify-rtx.c (simplify_binary_operation_1) <case IOR, XOR, AND>:
Optimize if one operand is CONSTM1_RTX.
* config/i386/i386.c (ix86_expand_sse_movcc): Optimize mask ? -1 : x
into mask | x.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179238 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
jye2 [Tue, 27 Sep 2011 06:03:58 +0000 (06:03 +0000)]
2011-09-27  Marcus Shawcroft  <marcus.shawcroft@arm.com>

* libsupc++/tinfo.cc (type_info::operator==): Test __name instead
of name().

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179236 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoAdd explicit VIS intrinsics for addition and subtraction.
davem [Tue, 27 Sep 2011 03:56:50 +0000 (03:56 +0000)]
Add explicit VIS intrinsics for addition and subtraction.

gcc/

* config/sparc/sparc.c (sparc_vis_init_builtins): Add explicit
builtins for VIS vector addition and subtraction.
* config/sparc/visintrin.h (__vis_fpadd16, __vis_fpadd16s,
__vis_fpadd32, __vis_fpadd32s, __vis_fpsub16, __vis_fpsub16s,
__vis_fpsub32, __vis_fpsub32s): New.
* doc/extend.texi: Document new VIS intrinsics.

gcc/testsuite/

* gcc.target/sparc/fpaddsubi.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179235 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-09-26 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 27 Sep 2011 02:39:34 +0000 (02:39 +0000)]
2011-09-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/50529
* include/bits/vector.tcc (vector<>::erase(iterator, iterator)):
Fix to do nothing if the range is empty.
* include/bits/stl_bvector.h: Likewise.
* include/bits/deque.tcc: Likewise.
* include/debug/vector: Adjust.
* include/debug/deque: Likewise.
* testsuite/23_containers/vector/modifiers/erase/50529.cc: New.
* testsuite/23_containers/deque/modifiers/erase/50529.cc: Likewise.
* testsuite/23_containers/deque/modifiers/erase/3.cc: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179234 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agofix ChangeLog
jason [Tue, 27 Sep 2011 02:21:24 +0000 (02:21 +0000)]
fix ChangeLog

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179233 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR c++/45102
jason [Tue, 27 Sep 2011 02:13:00 +0000 (02:13 +0000)]
PR c++/45102
* pt.c (tsubst_copy_and_build) [CONST_DECL]: Don't pull out
constant value if we're still in a template.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179230 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR c++/46105
jason [Tue, 27 Sep 2011 02:12:51 +0000 (02:12 +0000)]
PR c++/46105
* typeck.c (structural_comptypes): Ignore cv-quals on typename scope.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179229 138bc75d-0d04-0410-961f-82ee72b054a4