aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-05-09compiler: Add -fgo-pkgpath option.Ian Lance Taylor17-320/+457
* lang.opt: Add -fgo-pkgpath. * go-lang.c (go_pkgpath): New static variable. (go_prefix): New static variable. (go_langhook_init): Pass go_pkgpath and go_prefix to go_create_gogo. (go_langhook_handle_option): Handle -fgo-pkgpath. Change -fgo-prefix handling to just set go_prefix. * go-c.h (go_set_prefix): Don't declare. (go_create_gogo): Add pkgpath and prefix to declaration. * go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix to pkgpath. Don't include the package name in the asm name. * gccgo.texi (Invoking gccgo): Document -fgo-pkgpath. Update the docs for -fgo-prefix. From-SVN: r187356
2012-05-09re PR c++/53289 (unnecessary repetition of caret diagnostics)Manuel López-Ibáñez3-1/+14
2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c++/53289 gcc/ * diagnostic.h (diagnostic_context): Add last_location. * diagnostic.c (diagnostic_initialize): Initialize it. (diagnostic_show_locus): Use it. From-SVN: r187355
2012-05-09re PR target/52908 (xop-mul-1:f9 miscompiled on bulldozer (-mxop))Uros Bizjak4-83/+33
PR target/52908 * config/i386/sse.md (vec_widen_smult_hi_v4si): Expand using xop_pmacsdqh insn pattern instead of xop_mulv2div2di3_high. (vec_widen_smult_lo_v4si): Expand using xop_pmacsdql insn pattern instead of xop_mulv2div2di3_low. (xop_p<macs>dql): Fix vec_select selector. (xop_p<macs>dqh): Ditto. (xop_mulv2div2di3_low): Remove insn_and_split pattern. (xop_mulv2div2di3_high): Ditto. testsuite/ChangeLog: PR target/52908 * gcc.target/i386/xop-imul32widen-vector.c: Update scan-assembler directive to Scan for vpmuldq, not vpmacsdql. From-SVN: r187354
2012-05-09extend.texi (Function Attributes): Point xref to section about Pragmas.Manuel López-Ibáñez2-2/+6
2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org> * doc/extend.texi (Function Attributes): Point xref to section about Pragmas. From-SVN: r187353
2012-05-09i386.c (*movdf_internal_rex64): Remove TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL ↵Uros Bizjak2-6/+14
handling from asm output code. * config/i386/i386.c (*movdf_internal_rex64): Remove TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling from asm output code. Calculate "mode" attribute according to TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flag. (*movdf_internal): Ditto. From-SVN: r187348
2012-05-09re PR target/44141 (Redundant loads and stores generated for AMD bdver1 target)Uros Bizjak3-103/+110
PR target/44141 * config/i386/i386.c (ix86_expand_vector_move_misalign): Do not handle 128 bit vectors specially for TARGET_AVX. Emit sse2_movupd and sse_movupd RTXes for TARGET_AVX, TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL or when optimizing for size. * config/i386/sse.md (*mov<mode>_internal): Remove TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling from asm output code. Calculate "mode" attribute according to optimize_function_for_size_p and TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flag. (*<sse>_movu<ssemodesuffix><avxsizesuffix>): Choose asm template depending on the mode of the instruction. Calculate "mode" attribute according to optimize_function_for_size_p, TARGET_SSE_TYPELESS_STORES and TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flags. (*<sse2>_movdqu<avxsizesuffix>): Ditto. From-SVN: r187347
2012-05-09re PR target/53256 ([avr] Attribute 'interrupt' shall override attribute ↵Georg-Johann Lay6-114/+181
'signal') PR target/53256 * config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove. * config/avr/avr-protos.h (avr_asm_declare_function_name): Remove. * config/avr/avr.h (struct machine_function): Add attributes_checked_p. * config/avr/avr.c (avr_asm_declare_function_name): Remove. (expand_prologue): Move initialization of cfun->machine->is_naked, is_interrupt, is_signal, is_OS_task, is_OS_main from here to... (avr_set_current_function): ...this new static function. (TARGET_SET_CURRENT_FUNCTION): New define. (avr_function_ok_for_sibcall): Use cfun->machine->is_* instead of checking attributes of current_function_decl. (avr_regs_to_save): Ditto. (signal_function_p): Rename to avr_signal_function_p. (interrupt_function_p): Rename to avr_interrupt_function_p. * doc/extend.texi (Function Attributes): Better explanation of 'interrupt' and 'signal' for AVR. Move 'ifunc' down to establish alphabetical order. From-SVN: r187342
2012-05-09re PR bootstrap/50461 (mpfr.h found in mpfr-3.1.0/src instead of ↵Nick Clifton3-6/+29
mpfr-3.0.1/. as previously) PR bootstrap/50461 * configure.ac (mpfr-dir): When using in-tree MPFR sources allow for the fact that from release v3.1.0 of MPFR the source files were moved into a src sub-directory. * configure: Regenerate. Co-Authored-By: Paul Smith <psmith@gnu.org> From-SVN: r187341
2012-05-09re PR tree-optimization/53185 (segmentation fault in vectorizable_load)Michael Matz4-0/+38
PR tree-optimization/53185 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Disable peeling when we see strided loads. testsuite/ * gcc.dg/vect/pr53185.c: New test. From-SVN: r187340
2012-05-09gcc-ar.c (main): Don't check for execute bits for the plugin.Matthias Klose2-1/+5
2012-05-09 Matthias Klose <doko@ubuntu.com> * gcc-ar.c (main): Don't check for execute bits for the plugin. From-SVN: r187338
2012-05-09* gcc_update: Use $GCC_SVN to retrieve branch and revision.David Edelsohn2-2/+6
From-SVN: r187337
2012-05-09Use a URL for FSF address and replace spaces with tabH.J. Lu2-18/+22
* longlong.h: Use a URL instead of an FSF postal address. Replace spaces with tab. From-SVN: r187333
2012-05-09Add a test for PR middle-end/53249H.J. Lu2-0/+30
PR middle-end/53249 * gcc.target/i386/pr53249.c: New. From-SVN: r187331
2012-05-09re PR tree-optimization/18437 (vectorizer failed for matrix multiplication)Richard Guenther2-0/+6
2012-05-09 Richard Guenther <rguenther@suse.de> PR tree-optimization/18437 * gfortran.dg/vect/rnflow-trs2a2.f90: Move ... * gfortran.dg/vect/fast-math-rnflow-trs2a2.f90: ... here. From-SVN: r187330
2012-05-09tree-ssa-loop-ivopts.c (add_autoinc_candidates, [...]): Replace use of ↵Ramana Radhakrishnan5-9/+111
HAVE_{POST/PRE}_{INCREMENT/DECREMENT} with... 2012-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> * tree-ssa-loop-ivopts.c (add_autoinc_candidates, get_address_cost): Replace use of HAVE_{POST/PRE}_{INCREMENT/DECREMENT} with USE_{LOAD/STORE}_{PRE/POST}_{INCREMENT/DECREMENT} appropriately. * config/arm/arm.h (ARM_AUTOINC_VALID_FOR_MODE_P): New. (USE_LOAD_POST_INCREMENT): Define. (USE_LOAD_PRE_INCREMENT): Define. (USE_LOAD_POST_DECREMENT): Define. (USE_LOAD_PRE_DECREMENT): Define. (USE_STORE_PRE_DECREMENT): Define. (USE_STORE_PRE_INCREMENT): Define. (USE_STORE_POST_DECREMENT): Define. (USE_STORE_POST_INCREMENT): Define. (arm_auto_incmodes): Add enumeration. * config/arm/arm-protos.h (arm_autoinc_modes_ok_p): Declare. * config/arm/arm.c (arm_autoinc_modes_ok_p): Define. From-SVN: r187329
2012-05-09re PR tree-optimization/53226 (Endless loop in forwprop)Jakub Jelinek4-10/+38
PR tree-optimization/53226 * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Remove prev and prev_initialized vars, gimple_set_plf (stmt, GF_PLF_1, false) before processing it and gimple_set_plf (stmt, GF_PLF_1, true) if it doesn't need to be revisited, look for earliest stmt with !gimple_plf (stmt, GF_PLF_1) if something changed. * gcc.c-torture/compile/pr53226.c: New test. From-SVN: r187328
2012-05-09genmultilib: Update copyright dates.Terry Guo3-2/+7
* genmultilib: Update copyright dates. * doc/fragments.texi: Ditto. From-SVN: r187327
2012-05-09Makefile.in (s-mlib): Add new argument MULTILIB_REQUIRED.Terry Guo4-3/+72
* Makefile.in (s-mlib): Add new argument MULTILIB_REQUIRED. * genmultilib (MULTILIB_REQUIRED): New. * doc/fragments.texi: Document the MULTILIB_REQUIRED. From-SVN: r187325
2012-05-09tree-vectorizer.h (vect_loop_versioning): Adjust prototype.Richard Guenther4-81/+66
2012-05-09 Richard Guenther <rguenther@suse.de> * tree-vectorizer.h (vect_loop_versioning): Adjust prototype. (vect_do_peeling_for_loop_bound): Likewise. (vect_do_peeling_for_alignment): Likewise. * tree-vect-loop-manip.c (conservative_cost_threshold): Remove. (vect_do_peeling_for_loop_bound): Get check_profitability and threshold as parameters. (vect_do_peeling_for_alignment): Likewise. (vect_loop_versioning): Likewise. * tree-vect-loop.c (vect_transform_loop): Compute check_profitability and threshold here. Control where to put the check here. From-SVN: r187323
2012-05-09Fix gcc.target/i386/hle-* testcases with Sun asRainer Orth15-14/+31
* gcc.target/i386/hle-add-acq-1.c: Allow for ; after lock. * gcc.target/i386/hle-add-rel-1.c: Likewise. * gcc.target/i386/hle-and-acq-1.c: Likewise. * gcc.target/i386/hle-and-rel-1.c: Likewise. * gcc.target/i386/hle-cmpxchg-acq-1.c: Likewise. * gcc.target/i386/hle-cmpxchg-rel-1.c: Likewise. * gcc.target/i386/hle-or-acq-1.c: Likewise. * gcc.target/i386/hle-or-rel-1.c: Likewise. * gcc.target/i386/hle-sub-acq-1.c: Likewise. * gcc.target/i386/hle-sub-rel-1.c: Likewise. * gcc.target/i386/hle-xadd-acq-1.c: Likewise. * gcc.target/i386/hle-xadd-rel-1.c: Likewise. * gcc.target/i386/hle-xor-acq-1.c: Likewise. * gcc.target/i386/hle-xor-rel-1.c: Likewise. From-SVN: r187321
2012-05-09re PR bootstrap/53249 (Bootstrap failure)Richard Sandiford16-70/+61
gcc/ PR middle-end/53249 * dwarf2out.h (get_address_mode): Move declaration to... * rtl.h: ...here. * dwarf2out.c (get_address_mode): Move definition to... * rtlanal.c: ...here. * var-tracking.c (get_address_mode): Delete. * combine.c (find_split_point): Use get_address_mode instead of targetm.addr_space.address_mode. * cselib.c (cselib_record_sets): Likewise. * dse.c (canon_address, record_store): Likewise. * emit-rtl.c (adjust_address_1, offset_address): Likewise. * expr.c (move_by_pieces, emit_block_move_via_loop, store_by_pieces) (store_by_pieces_1, expand_assignment, store_expr, store_constructor) (expand_expr_real_1): Likewise. * ifcvt.c (noce_try_cmove_arith): Likewise. * optabs.c (maybe_legitimize_operand_same_code): Likewise. * reload.c (find_reloads): Likewise. * sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise. * sel-sched-dump.c (debug_mem_addr_value): Likewise. From-SVN: r187320
2012-05-09mips.c (mips16_gp_pseudo_reg): Remove line information from the instruction ↵Maciej W. Rozycki2-1/+7
produced. * config/mips/mips.c (mips16_gp_pseudo_reg): Remove line information from the instruction produced. From-SVN: r187319
2012-05-09stor-layout.c (bit_from_pos): Document.Richard Guenther2-23/+44
2012-05-09 Richard Guenther <rguenther@suse.de> * stor-layout.c (bit_from_pos): Document. (byte_from_pos): Likewise. Optimize. (pos_from_bit): Likewise. (normalize_offset): Use pos_from_bit instead of replicating it. From-SVN: r187317
2012-05-09re PR target/53271 (powerpc-eabispe build fails with ice on unwind-dw2.c)Alan Modra2-128/+104
PR target/53271 * config/rs6000/rs6000.c (gen_frame_set): New function. (gen_frame_load, gen_frame_store): New functions. (rs6000_savres_rtx): Use the above. (rs6000_emit_epilogue, rs6000_emit_prologue): Here too. Correct mode used for CR2 in save/restore_world patterns. Don't emit instructions for eh_return frame unwind reg info. From-SVN: r187316
2012-05-09predict-1.c: Remove the replicated text in this test.Dehao Chen8-155/+16
gcc/testsuite * gcc.dg/predict-1.c: Remove the replicated text in this test. * gcc.dg/predict-2.c: Likewise. * gcc.dg/predict-3.c: Likewise. * gcc.dg/predict-4.c: Likewise. * gcc.dg/predict-5.c: Likewise. * gcc.dg/predict-6.c: Likewise. From-SVN: r187315
2012-05-09cgraphbuild.c (build_cgraph_edges): Do not finalize vars with VALUE_EXPR.Jan Hubicka13-22/+85
* cgraphbuild.c (build_cgraph_edges): Do not finalize vars with VALUE_EXPR. * cgraph.h (varpool_can_remove_if_no_refs): Vars with VALUE_EXPR are removable. * toplev.c (wrapup_global_declaration_2): Vars with VALUE_EXPR need to wrapup. (compile_file): Do not output variables. * cgraphbuild.c (varpool_finalize_decl): When var is finalized late, output it. * langhooks.c: Include timevar.h (write_global_declarations): Finalize compilation unit after wrapup; set timevars correctly. * passes.c (rest_of_decl_compilation): Decls with VALUE_EXPR needs not to be added to varpool. * varpool.c (varpool_assemble_decl): Sanity check that we are called only on cases where it makes sense; skip constant pool and value expr vars. * lto.c (do_whole_program_analysis): Set timevars correctly. (lto_main): Likewise. * trans-common.c (create_common): Do not fake TREE_ASM_WRITTEN. * trans-decl.c (gfc_finish_cray_pointee): Likewise. From-SVN: r187314
2012-05-08Remove -Y option from linker command line on Linux/Sparc.David S. Miller3-3/+9
gcc/ * config/sparc/linux.h (LINK_SPEC): Don't pass "-Y" option. * config/sparc/linux64.h (LINK_ARCH32_SPEC): Likewise. * config/sparc/linux64.h (LINK_ARCH64_SPEC): Likewise. From-SVN: r187309
2012-05-09Daily bump.GCC Administrator1-1/+1
From-SVN: r187307
2012-05-08re PR c++/53261 (ICE in tree_strip_nop_conversions)Manuel López-Ibáñez2-2/+8
2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c++/53261 c-family/ * c-common.c (warn_logical_operator): Check that argument of integer_zerop is not NULL. From-SVN: r187300
2012-05-08re PR rtl-optimization/53278 (internal compiler error: in df_uses_record, at ↵Richard Sandiford2-2/+6
df-scan.c:3179 when compiling libgcc2.c __mulvdi3 on armv5tel-linux) gcc/ PR rtl-optimization/53278 * lower-subreg.c (decompose_multiword_subregs): Remove left-over speed_p code from earlier patch. From-SVN: r187299
2012-05-08re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)Oleg Endo2-1/+52
PR target/51244 * config/sh/sh.md (*branch_true, *branch_false): New insns. From-SVN: r187298
2012-05-08This patch adds functionality to libgcov to enable user applications to ↵Teresa Johnson6-26/+111
collect... This patch adds functionality to libgcov to enable user applications to collect profile data only in regions of interest. This is useful, for example, to collect profile data from a long-running server only during the time when it is serving requests. Specifically, the new routines __gcov_reset will clear all profile counters to zero and __gcov_dump will write out the profile information collected so far. A global variable is used to prevent writing out the profile a second time during exit. 2012-05-08 Teresa Johnson <tejohnson@google.com> * libgcc/libgcov.c (gcov_clear, __gcov_reset): New functions. (__gcov_dump): Ditto. (gcov_dump_complete): New global variable. (gcov_exit): Export hidden to enable use in L_gcov_dump. (__gcov_flush): Outline functionality now in gcov_clear. * libgcc/Makefile.in (L_gcov_reset, L_gcov_dump): Define. * gcc/gcov-io.h (__gcov_reset, __gcov_dump): Declare. * gcc/doc/gcov.texi: Add note on using __gcov_reset and __gcov_dump. From-SVN: r187297
2012-05-08cgraph.c (cgraph_call_edge_duplication_hooks): Export.Jan Hubicka1-0/+876
* cgraph.c (cgraph_call_edge_duplication_hooks): Export. (cgraph_create_node_1): Rename to ... (cgraph_create_empty_node): ... this one; export. (cgraph_create_node): Update. (cgraph_set_call_stmt_including_clones): Move to cgraphclones.c (cgraph_create_edge_including_clones): Likewise. (cgraph_find_replacement_node): Likewise. (cgraph_clone_edge): Likewise. (cgraph_clone_node): Likewise. (clone_function_name): Likewise. (cgraph_create_virtual_clone): Likewise. (cgraph_remove_node_and_inline_clones): Likewise. (cgraph_redirect_edge_call_stmt_to_callee): Move here from cgraphunit.c * cgraph.h: Reorder declarations so they match file of origin. (cgraph_create_empty_node): Declare. * cgraphunit.c (update_call_expr): Move to cgraphclones.c (cgraph_copy_node_for_versioning): Likewise. (cgraph_function_versioning): Likewise. (cgraph_materialize_clone): Likewise. (cgraph_redirect_edge_call_stmt_to_callee): Likewise. (cgraph_materialize_all_clones): Likewise. * cgraphclones.c: New file. * Makefile.in: Update for cgraphclones. From-SVN: r187296
2012-05-08cgraph.c (cgraph_call_edge_duplication_hooks): Export.Jan Hubicka5-881/+154
* cgraph.c (cgraph_call_edge_duplication_hooks): Export. (cgraph_create_node_1): Rename to ... (cgraph_create_empty_node): ... this one; export. (cgraph_create_node): Update. (cgraph_set_call_stmt_including_clones): Move to cgraphclones.c (cgraph_create_edge_including_clones): Likewise. (cgraph_find_replacement_node): Likewise. (cgraph_clone_edge): Likewise. (cgraph_clone_node): Likewise. (clone_function_name): Likewise. (cgraph_create_virtual_clone): Likewise. (cgraph_remove_node_and_inline_clones): Likewise. (cgraph_redirect_edge_call_stmt_to_callee): Move here from cgraphunit.c * cgraph.h: Reorder declarations so they match file of origin. (cgraph_create_empty_node): Declare. * cgraphunit.c (update_call_expr): Move to cgraphclones.c (cgraph_copy_node_for_versioning): Likewise. (cgraph_function_versioning): Likewise. (cgraph_materialize_clone): Likewise. (cgraph_redirect_edge_call_stmt_to_callee): Likewise. (cgraph_materialize_all_clones): Likewise. * cgraphclones.c: New file. * Makefile.in: Update for cgraphclones. From-SVN: r187295
2012-05-08* ChangeLog: Fix PR number of my last commit.Uros Bizjak1-1/+1
From-SVN: r187290
2012-05-08re PR target/53250 ([SH] ICE: in change_address_1, at emit-rtl.c:2018)Uros Bizjak2-2/+62
PR target/53250 * config/i386/i386.c (ix86_set_reg_reg_cost): New function. (ix86_rtx_costs): Handle SET. From-SVN: r187289
2012-05-08basic-block.h (struct rtl_bb_info): Remove visited member and move head_ ↵Michael Matz8-113/+168
member to ... * basic-block.h (struct rtl_bb_info): Remove visited member and move head_ member to ... (struct basic_block_def.basic_block_il_dependent): ... the new member x, replacing but containing old member rtl. (enum bb_flags): New BB_VISITED flag. (BB_HEADER, BB_FOOTER): New macros. * jump.c (mark_all_labels): Adjust. * cfgcleanup.c (try_optimize_cfg): Adjust. * cfglayout.c (record_effective_endpoints): Adjust. (relink_block_chain): Ditto (and don't fiddle with visited). (fixup_reorder_chain): Adjust. (fixup_fallthru_exit_predecessor): Ditto. (cfg_layout_duplicate_bb): Ditto. * combine.c (update_cfg_for_uncondjump): Adjust. * bb-reorder.c (struct bbro_basic_block_data_def): Add visited member. (bb_visited_trace): New accessor. (mark_bb_visited): Move in front. (rotate_loop): Use bb_visited_trace. (find_traces_1_round): Ditto. (emit_barrier_after): Ditto. (copy_bb): Ditto, and initialize visited on resize. (reorder_basic_blocks): Initize visited member. (duplicate_computed_gotos): Clear bb flags at start, use BB_VISITED flags. * cfgrtl.c (try_redirect_by_replacing_jump): Adjust. (rtl_verify_flow_info_1): Ditto. (cfg_layout_split_block): Ditto. (cfg_layout_delete_block): Ditto. (cfg_layout_merge_blocks): Ditto. (init_rtl_bb_info): Adjust and initialize il.x.head_ member. From-SVN: r187288
2012-05-08re PR target/53272 (wrong condition-codes for strict-low-part destination ↵Hans-Peter Nilsson3-0/+83
and small-integer source) PR target/53272 * gcc.dg/torture/pr53272-1.c, gcc.dg/torture/pr53272-2.c: New test. From-SVN: r187284
2012-05-08re PR target/53272 (wrong condition-codes for strict-low-part destination ↵Hans-Peter Nilsson2-0/+9
and small-integer source) PR target/53272 * config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32, when a constant source operand matches an "I" constraint, the "no CC0 change" applies to a register-destination only, not a strict_low_part-destination. From-SVN: r187283
2012-05-08fold-const.c (fold_binary_loc): Fold (X * CST1) & CST2 to zero or to (X * ↵Richard Guenther4-0/+49
CST1) & CST2' when... 2012-05-08 Richard Guenther <rguenther@suse.de> * fold-const.c (fold_binary_loc): Fold (X * CST1) & CST2 to zero or to (X * CST1) & CST2' when CST1 has trailing zeros. * gcc.dg/fold-bitand-4.c: New testcase. From-SVN: r187280
2012-05-08Makefile.in (TEXI_GCC_FILES): Add avr-mmcu.texi.Georg-Johann Lay8-83/+235
* Makefile.in (TEXI_GCC_FILES): Add avr-mmcu.texi. * doc/avr-mmcu.texi: New auto-generated file. * doc/invoke.texi (AVR Options): Include avr-mmcu.texi in order to document all valid -mmcu= arguments. * config/avr/avr.h (arch_info_s): New struct definition. * config/avr/avr-devices.c (avr_texinfo): New variable. * config/avr/gen-avr-mmcu-texi.c: New file. * config/avr/t-avr: New rules and dependencies to build avr-mmcu.texi. From-SVN: r187279
2012-05-08predict.c (find_qualified_ssa_name): NewDehao Chen10-0/+706
2012-05-08 Dehao Chen <dehao@google.com> gcc/ * predict.c (find_qualified_ssa_name): New (find_ssa_name_in_expr): New (find_ssa_name_in_assign_stmt): New (is_comparison_with_loop_invariant_p): New (is_bound_expr_similar): New (predict_iv_comparison): New (predict_loops): Add heuristic for loop-nested branches that compare an induction variable to a loop bound variable. * predict.def (PRED_LOOP_IV_COMPARE): New macro testsuite/ * gcc.dg/predict-1.c: Check if LOOP_IV_COMPARE static predict heuristic is working properly. * gcc.dg/predict-2.c: Likewise. * gcc/dg/predict-3.c: Likewise. * gcc/dg/predict-4.c: Likewise. * gcc/dg/predict-5.c: Likewise. * gcc/dg/predict-6.c: Likewise. From-SVN: r187277
2012-05-08i386.c (has_dispatch): Use TARGET_BDVER1 and TARGET_BDVER2 defines where ↵Uros Bizjak2-4/+8
appropriate. * config/i386/i386.c (has_dispatch): Use TARGET_BDVER1 and TARGET_BDVER2 defines where appropriate. From-SVN: r187276
2012-05-08Daily bump.GCC Administrator1-1/+1
From-SVN: r187275
2012-05-07configure.ac (PLUGIN_LD): Rename into...Eric Botcazou5-8/+16
* configure.ac (PLUGIN_LD): Rename into... (PLUGIN_LD_SUFFIX): ...this and strip the target_alias triplet. * config.in: Regenerate. * configure: Likewise. * collect2.c (main): Set plugin_ld_suffix to PLUGIN_LD_SUFFIX. From-SVN: r187269
2012-05-07tree-dfa.c (get_ref_base_and_extent): Do the offset computation using the ↵Eric Botcazou3-17/+49
precision of the index type. * tree-dfa.c (get_ref_base_and_extent) <ARRAY_REF>: Do the offset computation using the precision of the index type. * gimple-fold.c (fold_const_aggregate_ref_1) <ARRAY_REF>: Likewise. (fold_array_ctor_reference): Do index computations in the index type. From-SVN: r187268
2012-05-07compiler: fix an ICE when parsing 0xdie, reject token 0x123i.Ian Lance Taylor1-1/+3
The lexer used to incorrectly accept a token like 0x123i and interpreted it as 123i. It also used to die when encountering 0xdie. From-SVN: r187266
2012-05-07compiler: fix ICE in handling of rune constants.Ian Lance Taylor1-1/+4
This patch corrects an ICE in handling on constant expressions such as const r = ^'a' Part of issue 9. From-SVN: r187264
2012-05-07compiler: reject NOT operator on integer types.Ian Lance Taylor1-3/+6
The Go specification only accepts the NOT operator on boolean types. Fixes issue 10. From-SVN: r187262
2012-05-07avr.c (avr_prologue_setup_frame): Fix mode passed down to plus_constant.Georg-Johann Lay2-2/+9
* config/avr/avr.c (avr_prologue_setup_frame): Fix mode passed down to plus_constant. (expand_epilogue): Ditto. From-SVN: r187259