aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-10-04* lib/target-supports.expIra Rosen2-2/+8
(check_effective_target_vect_multiple_sizes): Make et_vect_multiple_sizes_saved global. (check_effective_target_vect64): Make et_vect64_saved global. From-SVN: r179490
2011-10-03More consistent access to sparc %ger register.David S. Miller2-32/+33
* config/sparc/sparc.md (fpack16_vis, fpackfix_vis, fpack32_vis): Make GSR_REG an input operand to UNSPEC instead of a parallel USE. (faligndata<V64I:mode>_vis): Likewise and use DI mode. (alignaddrsi_vis, alignaddrdi_vis, alignaddrlsi_vis, alignaddrldi_vis): Reference GSR_REG in DI mode, simplify convoluted expressions by using zero_extract. (bshuffle<V64I:mode>_vis): Reference GSR_REG in DI mode. From-SVN: r179489
2011-10-04* tree-eh.c (remove_unreachable_handlers): Obvious cleanup.Maxim Kuvyrkov2-1/+5
From-SVN: r179486
2011-10-04Daily bump.GCC Administrator1-1/+1
From-SVN: r179484
2011-10-03* de.po: Update.Joseph Myers2-172/+176
From-SVN: r179478
2011-10-03godump.c (go_output_typedef): Support printing enum values that don't fit in ↵Jakub Jelinek2-3/+20
a signed HOST_WIDE_INT. * godump.c (go_output_typedef): Support printing enum values that don't fit in a signed HOST_WIDE_INT. Co-Authored-By: Ian Lance Taylor <iant@google.com> From-SVN: r179477
2011-10-03cris.c (cris_output_addr_const_extra): Make static.Anatoly Sokolov4-7/+14
* config/cris/cris.c (cris_output_addr_const_extra): Make static. (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define. * config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA): Remove. * config/cris/cris-protos.h (cris_output_addr_const_extra): Remove. From-SVN: r179476
2011-10-03m68k.c (m68k_output_addr_const_extra): Make static.Anatoly Sokolov4-9/+13
* config/m68k/m68k.c (m68k_output_addr_const_extra): Make static. (TARGET_OUTPUT_ADDR_CONST_EXTRA): Define. * config/m68k/m68k.h (OUTPUT_ADDR_CONST_EXTRA): Remove. * config/m68k/m68k-protos.h (m68k_output_addr_const_extra): Remove. From-SVN: r179474
2011-10-03re PR target/49967 (The -static-libstdc++ does not work on HP-UX (IA64 ↵Steve Ellcey3-0/+24
B.11.23, probably others)) 2011-10-03 Steve Ellcey <sje@cup.hp.com> PR target/49967 * configure.ac (gcc_cv_ld_static_dynamic): Define for *-*-hpux*. (gcc_cv_ld_static_option): Ditto. (gcc_cv_ld_dynamic_option): Ditto. * configure: Regenerate. From-SVN: r179472
2011-10-03Minor fixup to the sparc bshuffle pattern.David S. Miller2-1/+4
* config/sparc/sparc.md (bshuffle<V64I:mode>_vis): Don't wrap GSR_REG in a USE, since it's now a true arg to the UNSPEC. From-SVN: r179470
2011-10-03Fix Artem's name spelling, at request.Richard Henderson2-2/+2
From-SVN: r179469
2011-10-03Fix broken commit wrt vect-shuffle-N.c tests.Richard Henderson5-247/+8
From-SVN: r179468
2011-10-03Minor fixups to the sparc bmask/bshuffle patterns.David S. Miller2-8/+26
* config/sparc/sparc.md (bmask<P:mode>_vis): Split into explicit 'di' and 'si' patterns which describe the GSR changes explicitly in the RTL using zero_extract. (bshuffle<V64I:mode>_vis): Put the GSR use inside of the unspec. From-SVN: r179465
2011-10-03Vector shuffling patch from Artem Shinkarov.Artjoms Sinkarovs32-126/+1521
From-SVN: r179462
2011-10-03re PR tree-optimization/50587 (ICE init_range_entry, at ↵Jakub Jelinek2-0/+8
tree-ssa-reassoc.c:1698 caused by recent change) PR tree-optimization/50587 * tree-ssa-reassoc.c (init_range_entry): Stop iterating when arg0 is not a SSA_NAME. From-SVN: r179447
2011-10-03ipa-inline-analysis.c (MAX_TIME): Update comment.Richard Sandiford2-2/+6
gcc/ * ipa-inline-analysis.c (MAX_TIME): Update comment. From-SVN: r179446
2011-10-03pt.c (tsubst_pack_expansion): Re-use ARGUMENT_PACK_SELECTs.Jason Merrill2-21/+31
* pt.c (tsubst_pack_expansion): Re-use ARGUMENT_PACK_SELECTs. Change unsubstituted_packs to bool. From-SVN: r179444
2011-10-03parser.c (cp_parser_range_for): Don't try to deduce from {} in a template.Jason Merrill4-1/+13
* parser.c (cp_parser_range_for): Don't try to deduce from {} in a template. From-SVN: r179443
2011-10-02Add missing changelog details in previous commit.David S. Miller1-0/+1
* config/sparc/predicates.md (const_one_operand): Delete. From-SVN: r179442
2011-10-02Add missing sparc shift zero extensions, and fix shift attributes.Richard Henderson3-12/+37
* config/sparc/sparc.md (ashlsi3, *ashldi3_sp64): Remove conditional insn type setting, we always emit a shift. (*ashlsi3_extend, *lshrsi3_extend0): New patterns. (*lshrsi3_extend): Rename to *lshrsi3_extend1. Co-Authored-By: David S. Miller <davem@davemloft.net> From-SVN: r179441
2011-10-03Daily bump.GCC Administrator1-1/+1
From-SVN: r179440
2011-10-02re PR c++/35722 ([C++0x] Variadic templates expansion into non-variadic ↵Jason Merrill12-326/+369
class template) PR c++/35722 Implement N2555 (expanding pack expansion to fixed parm list) * pt.c (coerce_template_parms): Allow expanding a pack expansion to a fixed-length argument list. (unify_pack_expansion): Handle explicit args properly. (unify) [TREE_VEC]: Handle pack expansions here. [TYPE_ARGUMENT_PACK]: Not here. (tsubst_pack_expansion): Don't try to do partial substitution. (pack_deducible_p): New. (fn_type_unification): Use it. (find_parameter_packs_r): Take the TYPE_MAIN_VARIANT of a type parameter. (check_non_deducible_conversion): Split from type_unification_real. (unify_one_argument): Split from type_unification_real... (unify_pack_expansion): ...and here. Drop call_args_p parm. (type_unification_real, unify, more_specialized_fn): Adjust. From-SVN: r179436
2011-10-02class.c (fixed_type_or_null): Handle NSDMI.Jason Merrill5-6/+43
* class.c (fixed_type_or_null): Handle NSDMI. * method.c (walk_field_subobs): Disable NSDMI noexcept checking for now. From-SVN: r179435
2011-10-02* invoke.texi (SPARC Options): Refer to GNU/Linux.Gerald Pfeifer2-2/+6
From-SVN: r179434
2011-10-02re PR target/50579 (gcc.target/mips/20020620-1.c FAILs on IRIX 6.5)Richard Sandiford3-11/+68
gcc/testsuite/ PR target/50579 * gcc.target/mips/mips.exp (mips_long32_abi_p, mips_long64_abi_p): New procedures. (mips-dg-options): Force an ABI option if the current ABI is incompatible with the required -mlong setting. Likewise force a long setting if the current one is incompatible with the chosen ABI. Keep abi_test_option_p, abi and eabi_p updated throughout procedure. * gcc.target/mips/abi-o64-long64.c: Require -mno-abicalls instead of addressing=absolute. From-SVN: r179433
2011-10-02mips.c (mips_frame_barrier): New function.Richard Sandiford4-41/+76
gcc/ * config/mips/mips.c (mips_frame_barrier): New function. (mips_expand_prologue): Call it after allocating stack space. (mips_deallocate_stack): New function. (mips_expand_epilogue): Call mips_frame_barrier and mips_deallocate_stack. gcc/testsuite/ * gcc.target/mips/stack-1.c: New test. From-SVN: r179432
2011-10-02re PR target/49696 (ICE on mips when compiling drizzle)Richard Sandiford4-7/+47
gcc/ PR target/49696 * config/mips/sync.md (sync_<optab>_12): Allow zero operands. (sync_old_<optab>_12, sync_new_<optab>_12, sync_nand_12): Likewise. (sync_old_nand_12, sync_new_nand_12, test_and_set_12): Likewise. gcc/testsuite/ * gcc.dg/pr49696.c: New test. From-SVN: r179431
2011-10-02* cgraphunit.c (verify_edge_count_and_frequency): Bounds check.Jan Hubicka2-1/+5
From-SVN: r179430
2011-10-02cgraphunit.c (ipa_passes): Remove unrechable nodes.Jan Hubicka7-9/+32
* cgraphunit.c (ipa_passes): Remove unrechable nodes. * lto-streamer-out.c (produce_symtab): Skip unused extern declarations. * ipa.c (cgraph_remove_unreachable_nodes): Do not assume that external functions are reachable when address is taken. * ipa-inline-analysis.c (reset_inline_edge_summary): New * gcc.dg/ipa/ctor-empty-1.c: Update dump file. From-SVN: r179429
2011-10-02* ipa-inline-analysis.c (inline_summary_alloc): Bounds check.Jan Hubicka2-9/+13
From-SVN: r179428
2011-10-02ipa-inline-analysis.c (reset_inline_edge_summary): New function.Jan Hubicka2-14/+58
* ipa-inline-analysis.c (reset_inline_edge_summary): New function. (reset_inline_summary): New function. (compute_inline_parameters, inline_node_removal_hook, inline_edge_removal_hook): Use it. (inline_free_summary): Reset holders correctly. (inline_generate_summary): Free summary before computing it. From-SVN: r179427
2011-10-02re PR preprocessor/36819 (memleak in split_quote_chain)Paolo Carlini2-0/+8
2011-10-02 Paolo Carlini <paolo.carlini@oracle.com> PR preprocessor/36819 * incpath.c (merge_include_chains): Call free_path on heads[QUOTE] and tails[QUOTE]. From-SVN: r179426
2011-10-02Fix r179381: add missing period in testsuite/Changelog.Revital Eres1-1/+1
From-SVN: r179425
2011-10-02re PR lto/47247 (Linker plugin specification makes it difficult to handle ↵Jan Hubicka9-12/+43
COMDATs) PR lto/47247 * lto-plugin.c (get_symbols_v2): New variable. (write_resolution): Use V2 API when available. (onload): Handle LDPT_GET_SYMBOLS_V2. * lto-symtab.c (lto_symtab_resolve_symbols): Do not resolve when resolution is already availbale from plugin. (lto_symtab_merge_decls_1): Handle LDPR_PREVAILING_DEF_IRONLY_EXP. * cgraph.c (ld_plugin_symbol_resolution): Add prevailing_def_ironly_exp. * lto-cgraph.c (LDPR_NUM_KNOWN): Update. * ipa.c (varpool_externally_visible_p): IRONLY variables are never externally visible. * varasm.c (resolution_to_local_definition_p): Add LDPR_PREVAILING_DEF_IRONLY_EXP. (resolution_local_p): Likewise. * common.c (lto_resolution_str): Add new resolution. * common.h (lto_resolution_str): Likewise. From-SVN: r179424
2011-10-01Start adding support for VIS 3.0 instructions.David S. Miller16-15/+745
gcc/ * config/sparc/sparc.opt (VIS3): New option. * doc/invoke.texi: Document it. * config/sparc/sparc.h: Force TARGET_VIS3 to zero if assembler is not capable of such instructions. * config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__ to 0x300 when TARGET_VIS3. * config/sparc/sparc-modes.def: Create 16-byte vector modes. * config/sparc/sparc.md (UNSPEC_CMASK8, UNSPEC_CMASK16, UNSPEC_CMASK32, UNSPEC_FCHKSM16, UNSPEC_PDISTN, UNSPC_FUCMP): New unspecs. (V64N8, VASS): New mode iterators. (vis3_shift, vis3_addsub_ss): New code iterators. (vbits, vconstr): New mode attributes. (vis3_shift_insn, vis3_addsub_ss_insn): New code attributes. (cmask8<P:mode>_vis, cmask16<P:mode>_vis, cmask32<P:mode>_vis, fchksm16_vis, <vis3_shift_insn><vbits>_vis, pdistn<mode>_vis, fmean16_vis, fpadd64_vis, fpsub64_vis, <vis3_addsub_ss_insn><vbits>_vis, fucmp<code>8<P:mode>_vis): New VIS 3.0 instruction patterns. * config/sparc/sparc.c (sparc_option_override): Set MASK_VIS3 by default when targetting capable cpus. TARGET_VIS3 implies TARGET_VIS2 and TARGET_VIS, and clear them when TARGET_FPU is disabled. (sparc_vis_init_builtins): Emit new VIS 3.0 builtins. (sparc_fold_builtin): Do not eliminate cmask{8,16,32} when result is ignored. * config/sparc/visintrin.h (__vis_cmask8, __vis_cmask16, __vis_cmask32, __vis_fchksm16, __vis_fsll16, __vis_fslas16, __vis_fsrl16, __vis_fsra16, __vis_fsll32, __vis_fslas32, __vis_fsrl32, __vis_fsra32, __vis_pdistn, __vis_fmean16, __vis_fpadd64, __vis_fpsub64, __vis_fpadds16, __vis_fpadds16s, __vis_fpsubs16, __vis_fpsubs16s, __vis_fpadds32, __vis_fpadds32s, __vis_fpsubs32, __vis_fpsubs32s, __vis_fucmple8, __vis_fucmpne8, __vis_fucmpgt8, __vis_fucmpeq8): New VIS 3.0 interfaces. * doc/extend.texi: Document new VIS 3.0 builtins. gcc/testsuite/ * gcc.target/sparc/cmask.c: New test. * gcc.target/sparc/fpadds.c: New test. * gcc.target/sparc/fshift.c: New test. * gcc.target/sparc/fucmp.c: New test. * gcc.target/sparc/vis3misc.c: New test. From-SVN: r179421
2011-10-02Daily bump.GCC Administrator1-1/+1
From-SVN: r179420
2011-10-01* ira-color.c (assign_hard_reg): Fix typo.Eric Botcazou2-1/+5
From-SVN: r179415
2011-10-01re PR fortran/50585 (ICE with assumed length character array argument)Janus Weil4-1/+28
2011-10-01 Janus Weil <janus@gcc.gnu.org> PR fortran/50585 * interface.c (get_expr_storage_size): Check if 'length' component is associated. 2011-10-01 Janus Weil <janus@gcc.gnu.org> PR fortran/50585 * gfortran.dg/assumed_charlen_arg_2.f90: New. From-SVN: r179413
2011-10-01Daily bump.GCC Administrator1-1/+1
From-SVN: r179410
2011-09-30cp-tree.h (TREE_NEGATED_INT): Remove.Jason Merrill4-19/+6
* cp-tree.h (TREE_NEGATED_INT): Remove. * semantics.c (finish_unary_op_expr): Don't set it. From-SVN: r179400
2011-09-30re PR c++/44473 (iterators already defined for std::vector when using ↵Janis Johnson10-5/+329
std::decimal) gcc/cp PR c++/44473 * mangle.c (write_type): Handle CV qualifiers for decimal classes. gcc/testsuite PR c++/44473 * g++.dg/dfp/44473-1.C: New test. * g++.dg/dfp/44473-2.C: New test. * g++.dg/dfp/mangle-1.C: New test. * g++.dg/dfp/mangle-2.C: New test. * g++.dg/dfp/mangle-3.C: New test. * g++.dg/dfp/mangle-4.C: New test. * g++.dg/dfp/mangle-5.C: New test. From-SVN: r179399
2011-09-30Add missing ','.H.J. Lu2-2/+6
2011-09-30 H.J. Lu <hongjiu.lu@intel.com> * doc/extend.texi: Add missing ','. From-SVN: r179397
2011-09-30Use 64bit integer for LTO symbol ID.H.J. Lu2-8/+92
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. Co-Authored-By: Andi Kleen <ak@linux.intel.com> From-SVN: r179395
2011-09-30c6x-common.c (c6x_option_optimization_table): Enable -fmodulo-sched at -O2 ↵Bernd Schmidt4-7/+898
and above. * 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. From-SVN: r179393
2011-09-30re PR target/50566 ([avr]: Add support for better logging similar to -mdeb)Georg-Johann Lay4-11/+36
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. From-SVN: r179391
2011-09-30re PR inline-asm/50571 (Undesirable folding in "m" constrained asm operands)Jakub Jelinek4-22/+58
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. From-SVN: r179389
2011-09-30re PR tree-optimization/46309 (optimization a==3||a==1)Jakub Jelinek7-244/+803
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. From-SVN: r179388
2011-09-30tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Handle ↵Jakub Jelinek5-8/+150
BUILT_IN_STRDUP and BUILT_IN_STRNDUP. * 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. Co-Authored-By: Richard Guenther <rguenther@suse.de> From-SVN: r179387
2011-09-30Split out LTO's writing of top level asm nodes in preparation of extending ↵Jan Beulich8-32/+151
what... 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. From-SVN: r179386
2011-09-30sched-ebb.c (schedule_ebb): No longer static.Bernd Schmidt3-49/+87
* 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. From-SVN: r179385