aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2010-04-16re PR target/40603 (unnecessary conversion from unsigned byte load to signed ↵Bernd Schmidt5-10/+66
byte load) PR target/40603 * config/arm/arm.md (cbranchqi4): New pattern. * config/arm/predicates.md (const0_operand, cbranchqi4_comparison_operator): New predicates. PR target/40603 * gcc.target/arm/thumb-cbranchqi.c: New test. From-SVN: r158407
2010-04-16gimple-pretty-print.c (dump_gimple_phi): Dump alias info.Richard Guenther2-1/+31
2010-04-16 Richard Guenther <rguenther@suse.de> * gimple-pretty-print.c (dump_gimple_phi): Dump alias info. (dump_gimple_stmt): Likewise. From-SVN: r158406
2010-04-16arm.md (addsi3_cbranch): If destination is a high register...Bernd Schmidt2-6/+9
* config/arm/arm.md (addsi3_cbranch): If destination is a high register, inputs must be low registers and we need a low register scratch. Handle alternative 2 like alternative 3. From-SVN: r158405
2010-04-16re PR target/41514 (redundant compare instruction of consecutive conditional ↵Bernd Schmidt4-2/+43
branches) PR target/41514 * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn". If the previous insn is a cbranchsi4_insn with the same arguments, omit the compare instruction. PR target/41514 gcc.target/arm/thumb-comparisons.c: New test. From-SVN: r158404
2010-04-16recog.h (struct recog_data): New field is_operator.Bernd Schmidt5-1/+20
* recog.h (struct recog_data): New field is_operator. (struct insn_operand_data): New field is_operator. * recog.c (extract_insn): Set recog_data.is_operator. * genoutput.c (output_operand_data): Emit code to set the is_operator field. * reload.c (find_reloads): Use it rather than testing for an empty constraint string. From-SVN: r158403
2010-04-16alias.c (memrefs_conflict_p): If x and y are the same VALUE, don't call ↵Jakub Jelinek2-2/+38
get_addr on both. * alias.c (memrefs_conflict_p): If x and y are the same VALUE, don't call get_addr on both. If one expression is a VALUE and the other a REG, check VALUE's locs if the REG isn't among them. From-SVN: r158401
2010-04-16add accumulate-outgoing-args and omit-frame-pointer for SHChristian Bruel7-21/+87
From-SVN: r158399
2010-04-16decl.c (make_type_from_size): Just copy TYPE_NAME.Eric Botcazou7-32/+114
* gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Just copy TYPE_NAME. * gcc-interface/trans.c (smaller_packable_type_p): Rename into... (smaller_form_type_p): ...this. Change parameter and variable names. (call_to_gnu): Use the nominal type of the parameter to create the temporary if it's a smaller form of the actual type. (addressable_p): Return false if the actual type is integral and its size is greater than that of the expected type. From-SVN: r158398
2010-04-16Daily bump.GCC Administrator1-1/+1
From-SVN: r158397
2010-04-15re PR target/43741 (sh-elf ICEs for libstdc++-v3/src/ios_init.cc with -m2a)Kaz Kojima2-4/+10
PR target/43471 * config/sh/sh.c (sh_legitimize_reload_address): Use MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P. Remove a unneeded check for offset_base. From-SVN: r158393
2010-04-15re PR fortran/30073 (Array out of bounds gives name of RHS array not LHS array)Steven G. Kargl2-4/+9
PR fortran/30073 * trans-array.c (gfc_trans_array_bound_check): Eliminate a redundant block of code. Set name to the variable associated with the descriptor. From-SVN: r158392
2010-04-15cuintp.c (UI_To_gnu): Fix long line.Eric Botcazou7-248/+279
* gcc-interface/cuintp.c (UI_To_gnu): Fix long line. * gcc-interface/gigi.h (MARK_VISITED): Skip objects of constant class. (process_attributes): Delete. (post_error_ne_num): Change parameter name. * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force debug info with -g3. Remove a couple of obsolete lines. Minor tweaks. If type annotating mode, operate on trees to compute the adjustment to the sizes of tagged types. Fix long line. (cannot_be_superflat_p): Tweak head comment. (annotate_value): Fold local constant. (set_rm_size): Fix long line. * gcc-interface/trans.c (Identifier_to_gnu): Rework comments. (Attribute_to_gnu): Fix long line. <Attr_Size>: Remove useless assertion. Reorder statements. Use size_binop routine. (Loop_Statement_to_gnu): Use build5 in lieu of build_nt. Create local variables for the label and the test. Tweak comments. (Subprogram_Body_to_gnu): Reset cfun to NULL. (Compilation_Unit_to_gnu): Use the Sloc of the Unit node. (process_inlined_subprograms): Integrate into... (Compilation_Unit_to_gnu): ...this. (gnat_to_gnu): Fix long line. (post_error_ne_num): Change parameter name. * gcc-interface/utils.c (process_attributes): Static-ify. <ATTR_MACHINE_ATTRIBUTE>: Set input_location before proceeding. (create_type_decl): Add comment. (create_var_decl_1): Process the attributes after adding the VAR_DECL to the current binding level. (create_subprog_decl): Likewise for the FUNCTION_DECL. (end_subprog_body): Do not reset cfun to NULL. (build_vms_descriptor32): Fix long line. (build_vms_descriptor): Likewise. (handle_nonnull_attribute): Likewise. (convert_vms_descriptor64): Likewise. * gcc-interface/utils2.c (fill_vms_descriptor): Fix long line. (gnat_protect_expr): Fix thinko. From-SVN: r158390
2010-04-15trans.c (gigi): Set DECL_IGNORED_P on EH functions.Eric Botcazou3-33/+96
* gcc-interface/trans.c (gigi): Set DECL_IGNORED_P on EH functions. (gnat_to_gnu) <N_Op_Eq>: Restore the value of input_location before translating the top-level node. (lvalue_required_p) <N_Function_Call>: Return 1 if !constant. <N_Object_Declaration>: Likewise. <N_Assignment_Statement>: Likewise. <N_Unchecked_Type_Conversion>: Likewise. (call_to_gnu): Remove kludge. (gnat_to_gnu) <N_Return_Statement>: When not optimizing, force labels associated with user returns to be preserved. (gnat_to_gnu): Add special code to deal with boolean rvalues. * gcc-interface/utils2.c (compare_arrays): Set input_location on all comparisons. (build_unary_op) <ADDR_EXPR>: Call build_fold_addr_expr. <INDIRECT_REF>: Call build_fold_indirect_ref. From-SVN: r158388
2010-04-15Regenerate gcc/configure.H.J. Lu2-2/+6
2010-04-15 H.J. Lu <hongjiu.lu@intel.com> * configure: Regenerated. From-SVN: r158386
2010-04-15s390.c (s390_call_save_register_used): Switch back to HARD_REGNO_NREGS.Andreas Krebbel2-21/+12
2010-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/s390.c (s390_call_save_register_used): Switch back to HARD_REGNO_NREGS. From-SVN: r158384
2010-04-15g-socket.adb: A target can have multiple missing errno's.Joel Sherrill2-47/+94
2010-04-15 Joel Sherrill <joel.sherrill@oarcorp.com> * g-socket.adb: A target can have multiple missing errno's. This will result in multiple errno's being defined as -1. Because of this we can not use a case but must use a series of if's to avoid a duplicate case error in GNAT.Sockets.Resolve_Error. From-SVN: r158382
2010-04-15gsocket.h: Run-time can no longer be built without network OS headers available.Joel Sherrill1-0/+6
2010-04-13 Joel Sherrill <joel.sherrill@oarcorp.com> * gsocket.h: Run-time can no longer be built without network OS headers available. Changing RTEMS GNAT build procedure to reflect this and letting run-time build use network .h files. From-SVN: r158381
2010-04-15alias.c (alias_set_subset_of): Handle alias-set zero child properly.Richard Guenther2-1/+6
2010-04-15 Richard Guenther <rguenther@suse.de> * alias.c (alias_set_subset_of): Handle alias-set zero child properly. From-SVN: r158380
2010-04-15thumb2.md (thumb2_movsi_insn): Split ldr and str alternatives according to ↵Mark Shinwell4-21/+40
use of high and low regs. gcc/ * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str alternatives according to use of high and low regs. * config/arm/vfp.md (thumb2_movsi_vfp): Likewise. * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when optimizing for size on Thumb-2. Co-Authored-By: Julian Brown <julian@codesourcery.com> From-SVN: r158378
2010-04-15config.gcc: Handle softfp as for Linux.Thomas Schwinge2-1/+7
2010-04-15 Thomas Schwinge <tschwinge@gnu.org> gcc/ * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux. libgcc/ * config.host <i[34567]86-*-gnu*>: Handle softfp as for Linux. From-SVN: r158375
2010-04-15tree-ssa-structalias.c (struct variable_info): Add is_fn_info flag.Richard Guenther32-180/+1755
2010-04-15 Richard Guenther <rguenther@suse.de> * tree-ssa-structalias.c (struct variable_info): Add is_fn_info flag. (new_var_info): Initialize it. (dump_constraints): Support printing last added constraints. (debug_constraints): Adjust. (dump_constraint_graph): Likewise. (make_heapvar_for): Check for NULL cfun. (get_function_part_constraint): New function. (get_fi_for_callee): Likewise. (find_func_aliases): Properly implement IPA PTA constraints. (process_ipa_clobber): New function. (find_func_clobbers): Likewise. (insert_into_field_list_sorted): Remove. (create_function_info_for): Properly allocate vars for IPA mode. Do not use insert_into_field_list_sorted. (create_variable_info_for): Properly generate constraints for global vars in IPA mode. (dump_solution_for_var): Always dump the solution. (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode. (find_what_var_points_to): Adjust. (pt_solution_set): Change. (pt_solution_ior_into): New function. (pt_solution_empty_p): Export. (pt_solution_includes_global): Adjust. (pt_solution_includes_1): Likewise. (pt_solutions_intersect_1): Likewise. (dump_sa_points_to_info): Check some invariants. (solve_constraints): Move constraint dumping ... (compute_points_to_sets): ... here. (ipa_pta_execute): ... and here. (compute_may_aliases): Do not re-compute points-to info locally if IPA info is available. (ipa_escaped_pt): New global var. (ipa_pta_execute): Properly implement IPA PTA. * tree-into-ssa.c (dump_decl_set): Support dumping decls not in referenced-vars. * tree-flow.h (struct gimple_df): Add ipa_pta flag. * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust. (dump_points_to_solution): Likewise. * tree-dfa.c (dump_variable): Also dump DECL_PT_UID. * tree-inline.c (remap_ssa_name): Copy IPA points-to solution. (remap_gimple_stmt): Reset call clobber/use information if necessary. (copy_decl_to_var): Copy DECL_PT_UID. (copy_result_decl_to_var): Likewise. * tree.c (make_node_stat): Initialize DECL_PT_UID. (copy_node_stat): Copy it. * tree.h (DECL_PT_UID): New macro. (SET_DECL_PT_UID): Likewise. (DECL_PT_UID_SET_P): Likewise. (struct tree_decl_minimal): Add pt_uid member. * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag. (pt_solution_empty_p): Declare. (pt_solution_set): Adjust. (ipa_escaped_pt): Declare. * cfgexpand.c (update_alias_info_with_stack_vars): Adjust. * gimple-pretty-print.c (pp_points_to_solution): New function. (dump_gimple_call): Dump call clobber/use information. * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry. * tree-pass.h (TDF_ALIAS): New dump option. * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to. * doc/invoke.texi (-fipa-pta): Update documentation. * gcc.dg/ipa/ipa-pta-1.c: New testcase. * gcc.dg/ipa/ipa-pta-2.c: Likewise. * gcc.dg/ipa/ipa-pta-3.c: Likewise. * gcc.dg/ipa/ipa-pta-4.c: Likewise. * gcc.dg/ipa/ipa-pta-5.c: Likewise. * gcc.dg/ipa/ipa-pta-6.c: Likewise. * gcc.dg/ipa/ipa-pta-7.c: Likewise. * gcc.dg/ipa/ipa-pta-8.c: Likewise. * gcc.dg/ipa/ipa-pta-9.c: Likewise. * gcc.dg/ipa/ipa-pta-10.c: Likewise. * gcc.dg/ipa/ipa-pta-11.c: Likewise. * gcc.dg/ipa/ipa-pta-12.c: Likewise. * gcc.dg/ipa/ipa-pta-13.c: Likewise. * gcc.dg/torture/ipa-pta-2.c: Likewise. * gcc.dg/torture/ipa-pta-1.c: Adjust. From-SVN: r158374
2010-04-15Makefile.in (OBJS-common): Add gimple-fold.o.Richard Guenther7-1563/+1639
2010-04-15 Richard Guenther <rguenther@suse.de> * Makefile.in (OBJS-common): Add gimple-fold.o. (gimple-fold.o): New rule. * tree.h (maybe_fold_offset_to_reference, maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move prototypes ... * gimple.h: ... here. * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value, may_propagate_address_into_dereference): Move prototypes ... * gimple.h: ... here. * tree-ssa-ccp.c (get_symbol_constant_value, may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref, maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference, maybe_fold_offset_to_address, maybe_fold_stmt_indirect, maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen, ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond, fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace, gimplify_and_update_call_from_tree): Move ... * gimple-fold.c: ... here. New file. (ccp_fold_builtin): Rename to ... (gimple_fold_builtin): ... this. * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust. From-SVN: r158373
2010-04-15fold-const.c (LOWPART, [...]): Move ...Richard Guenther5-761/+793
2010-04-15 Richard Guenther <rguenther@suse.de> * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode, fit_double_type, force_fit_type_double, add_double_with_sign, neg_double, mul_double_with_sign, lshift_double, rshift_double, lrotate_double, rrotate_double, div_and_round_double): Move ... * double-int.c: ... here. * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign, add_double, neg_double, mul_double_with_sign, mul_double, lshift_double, rshift_double, lrotate_double, rrotate_double, div_and_round_double): Move prototypes ... * double-int.h: ... here. From-SVN: r158372
2010-04-15trans.c (call_to_gnu): Open a nesting level if this is a statement.Eric Botcazou3-95/+188
* gcc-interface/trans.c (call_to_gnu): Open a nesting level if this is a statement. Otherwise, if at top-level, push the processing of the elaboration routine. In the misaligned case, issue the error messages again on entry and create the temporary explicitly. Do not issue them for CONSTRUCTORs. For a function call, emit the range check if necessary. In the copy-in copy-out case, create the temporary for the return value explicitly. Do not unnecessarily convert by-ref parameters to the formal's type. Remove obsolete guards in conditions. (gnat_to_gnu) <N_Assignment_Statement>: For a function call, pass the target to call_to_gnu in all cases. (gnat_gimplify_expr) <ADDR_EXPR>: Remove handling of SAVE_EXPR. (addressable_p) <CONSTRUCTOR>: Return false if not static. <COMPOUND_EXPR>: New case. * gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Fold a compound expression if it has unconstrained array type. (gnat_mark_addressable) <COMPOUND_EXPR>: New case. (gnat_stabilize_reference) <COMPOUND_EXPR>: Stabilize operands on an individual basis. From-SVN: r158371
2010-04-15trans.c (gigi): Do not start statement group.Eric Botcazou3-54/+36
* gcc-interface/trans.c (gigi): Do not start statement group. (Compilation_Unit_to_gnu): Set current_function_decl to NULL. Start statement group and push binding level here... (gnat_to_gnu) <N_Compilation_Unit>: ...and not here. Do not push fake contexts at top level. Remove redundant code. (call_to_gnu): Rename a local variable and constify another. * gcc-interface/utils.c (gnat_pushlevel): Fix formatting nits. (set_current_block_context): Set it as the group's block. (gnat_init_decl_processing): Delete unrelated init code. (end_subprog_body): Use NULL_TREE. From-SVN: r158370
2010-04-15trans.c (call_to_gnu): Do not unnecessarily force side-effects of actual ↵Eric Botcazou2-12/+11
parameters before the call. * gcc-interface/trans.c (call_to_gnu): Do not unnecessarily force side-effects of actual parameters before the call. From-SVN: r158369
2010-04-15decl.c (validate_size): Reorder, remove obsolete test and warning.Eric Botcazou2-44/+40
* gcc-interface/decl.c (validate_size): Reorder, remove obsolete test and warning. (set_rm_size): Reorder and remove obsolete test. From-SVN: r158368
2010-04-15re PR target/43742 (web.c/union_match_dups segfaults for a null *ref on sh-elf)Bernd Schmidt2-9/+15
PR target/43742 * config/sh/sh.md (doloop_end_split, dect): Undo previous patch. Use matching constraints to ensure inputs match the output. From-SVN: r158367
2010-04-15trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P on VAR_DECL ↵Jakub Jelinek2-11/+15
LBOUND and/or UBOUND, even for -O1. * trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P on VAR_DECL LBOUND and/or UBOUND, even for -O1. From-SVN: r158366
2010-04-15Daily bump.GCC Administrator1-1/+1
From-SVN: r158365
2010-04-14re PR target/43742 (web.c/union_match_dups segfaults for a null *ref on sh-elf)Kaz Kojima2-1/+7
PR target/43742 * config/sh/sh.md (doloop_end_split): Remove "+r" constraint in an input-only operand. From-SVN: r158361
2010-04-15double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.Anatoly Sokolov7-123/+112
* double-int.h (HOST_BITS_PER_DOUBLE_INT): Define. (double_int_not, double_int_lshift, double_int_rshift): Declare. (double_int_negative_p): Convert to static inline function. * double-int.c (double_int_lshift, double_int_lshift): Add new function. (double_int_negative_p): Remove. * tree.h (lshift_double, rshift_double): * tree.c (build_low_bits_mask): Clean up, use double_int_* functions. * fold-const.c (fold_convert_const_int_from_real, fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.). (lshift_double): Change type of arith argument to bool. (rshift_double): Change type of arith argument to bool. Correct comment. * expmed.c (mask_rtx, lshift_value): (Ditto.). From-SVN: r158360
2010-04-14re PR rtl-optimization/21803 ([ia64] gcc produces really odd predicated code)Bernd Schmidt6-30/+261
gcc/ PR target/21803 * ifcvt.c (cond_exec_process_if_block): Look for identical sequences at the start and end of the then/else blocks, and omit them from the conversion. * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE argument; all callers changed. Pass zero to old_insns_match_p instead. (flow_find_head_matching_sequence): New function. (old_insns_match_p): Check REG_EH_REGION notes for calls. * basic-block.h (flow_find_cross_jump, flow_find_head_matching_sequence): Declare functions. gcc/testsuite/ PR target/21803 * gcc.target/arm/pr42496.c: New test. From-SVN: r158357
2010-04-14re PR c++/36625 (bogus error on __attribute__((aligned(N))) in template code)Jason Merrill7-14/+64
PR c++/36625 * c-common.c (attribute_takes_identifier_p): New fn. * c-common.h: Declare it. cp/ * parser.c (cp_parser_parenthesized_expression_list): Change is_attribute_list parm to int to indicate whether or not to handle initial identifier specially. (cp_parser_attribute_list): Use attribute_takes_identifier_p. From-SVN: r158355
2010-04-14Add ChangeLog entry for my previous commit.Steven G. Kargl1-0/+8
From-SVN: r158354
2010-04-14i386.md (*divmod<mode>4): Remove stray "&&" from splitter condition.Uros Bizjak2-2/+8
* config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from splitter condition. (*udivmod<mode>4): Ditto. From-SVN: r158353
2010-04-14intrinsic.texi: Add the missing specific name of intrinsic procedure where ↵Steven G. Kargl1-60/+147
the specific name is... 2010-04-14 Steven G. Kargl <kargl@gcc.gnu.org> * fortran/intrinsic.texi: Add the missing specific name of intrinsic procedure where the specific name is identical to the generic name. Fix inconsistent or mismatch in the argument names in intrinsic procedure descriptions. Add the SCALAR allocatable description to ALLOCATED. From-SVN: r158352
2010-04-14re PR testsuite/43739 (FAIL: gcc.dg/pr43643.c (test for excess errors))Steve Ellcey2-0/+6
2010-04-14 Steve Ellcey <sje@cup.hp.com> PR testsuite/43739 * gcc.dg/pr43643.c: Use static link on hppa*-*-hpux*. From-SVN: r158351
2010-04-14i386.md (maxmin_int): Rename code attribute from maxminiprefix and update ↵Uros Bizjak5-54/+67
all users. * config/i386/i386.md (maxmin_int): Rename code attribute from maxminiprefix and update all users. (maxmin_float): Ditto from maxminfprefix. (logic): Ditto from logicprefix. (absneg_mnemonic): Ditto from absnegprefix. * config/i386/mmx.md: Update all users of maxminiprefix, maxminfprefix and loficprefix for rename. * config/i386/sse.md: Ditto. * config/i386/sync.md (sync_<code><mode>): Update for logicprefix rename. From-SVN: r158350
2010-04-14re PR other/42966 (add some indication that a warning has been converted to ↵Manuel López-Ibáñez18-31/+86
an error) 2010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org> PR 42966 * diagnostics.c (diagnostic_report_diagnostic): Mark specially warnings converted to errors. testsuite/ * gcc.dg/cpp/warn-undef-2.c: Update. * gcc.dg/cpp/warn-traditional-2.c: Update. * gcc.dg/cpp/warn-comments-2.c: Update. * gcc.dg/cpp/warn-variadic-2.c: Update. * gcc.dg/cpp/warn-long-long-2.c: Update. * gcc.dg/cpp/warn-deprecated-2.c: Update. * gcc.dg/cpp/warn-multichar-2.c: Update. * gcc.dg/cpp/warn-normalized-3.c: Update. * gcc.dg/cpp/warn-cxx-compat-2.c: Update. * gcc.dg/cpp/warn-trigraphs-3.c: Update. * gcc.dg/cpp/warn-unused-macros-2.c: Update. * gcc.dg/cpp/warn-trigraphs-4.c: Update. * gcc.dg/cpp/warn-redefined-2.c: Update. * gfortran.dg/warning-directive-2.F90: Update. * c-c++-common/cpp/warning-directive-2.c: Update. From-SVN: r158349
2010-04-14alpha.c (alpha_adjust_cost): Remove set but not used insn_type variable.Uros Bizjak2-3/+9
* config/alpha/alpha.c (alpha_adjust_cost): Remove set but not used insn_type variable. (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration to avoid set-but-not-used warning. From-SVN: r158348
2010-04-14df-core.c (df_ref_debug): Change format string placeholder from 0x%x to %#x.Uros Bizjak6-27/+41
* df-core.c (df_ref_debug): Change format string placeholder from 0x%x to %#x. * dwarf2asm.c (dw2_asm_output_data_raw, dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto. * dwarf2out.c (output_cfi, output_cfi_directive, dwarf2out_do_cfi_startproc, output_loc_sequence_raw, output_cfa_loc_raw, output_die, output_ranges, output_file_names): Ditto. * genattrtab.c (write_test_expr, write_attr_valueq): Ditto. * print-rtl.c (print_rtx): Ditto. From-SVN: r158347
2010-04-14PR 42694: Optimize pow (x, 0.25), pow (x, 0.75), pow (x, 1./6.)Michael Meissner2-0/+104
From-SVN: r158346
2010-04-14re PR tree-optimization/42963 (Redundant switch labels not cleaned up anymore)Michael Matz4-88/+161
PR tree-optimization/42963 * tree-cfg.c (touched_switch_bbs): New static variable. (group_case_labels_stmt): New function broken out from ... (group_case_labels): ... here, use the above. (start_recording_case_labels): Allocate touched_switch_bbs. (end_recording_case_labels): Deallocate it, call group_case_labels_stmt. (gimple_redirect_edge_and_branch): Remember index of affected BB. testsuite/ * testsuite/gcc.dg/pr42963.c: New testcase. From-SVN: r158345
2010-04-14i386.md (*popcountsi2_cmp_zext): Remove mode attribute from insn template.Uros Bizjak2-1/+6
* config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute from insn template. From-SVN: r158340
2010-04-14gigi.h: Reorder declarations and tweak comments.Eric Botcazou5-31/+76
* gcc-interface/gigi.h: Reorder declarations and tweak comments. (gigi): Adjust ATTRIBUTE_UNUSED markers. * gcc-interface/gadaint.h: New file. * gcc-interface/trans.c: Include it in lieu of adaint.h. Reorder. (__gnat_to_canonical_file_spec): Remove declaration. (number_names): Delete. (number_files): Likewise. (gigi): Adjust. * gcc-interface/Make-lang.in (ada/trans.o): Adjust dependencies to above change. From-SVN: r158296
2010-04-14decl.c (gnat_to_gnu_entity): Fix comment.Eric Botcazou7-53/+99
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Class_Wide_Type>: Fix comment. * gcc-interface/trans.c (process_freeze_entity): Use local copy of Ekind. Return early for class-wide types. Do not compute initializer unless necessary. Reuse the tree for an associated class-wide type only if processing its root type. From-SVN: r158295
2010-04-14i386.md (*ashlqi3_1_slp): New insn pattern.Uros Bizjak2-8/+54
* config/i386/i386.md (*ashlqi3_1_slp): New insn pattern. From-SVN: r158293
2010-04-14re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])Tobias Burnus13-19/+933
2010-04-14 Tobias Burnus <burnus@net-b.de> PR fortran/18918 * array.c (gfc_find_array_ref): Handle codimensions. (gfc_match_array_spec,gfc_match_array_ref): Use gfc_fatal_error. * check.c (is_coarray, dim_corank_check, gfc_check_lcobound, gfc_check_image_index, gfc_check_this_image, gfc_check_ucobound): New functions. * gfortran.h (gfc_isym_id): Add GFC_ISYM_IMAGE_INDEX, GFC_ISYM_LCOBOUND, GFC_ISYM_THIS_IMAGE, GFC_ISYM_UCOBOUND. * intrinsic.h (add_functions): Add this_image, image_index, lcobound and ucobound intrinsics. * intrinsic.c (gfc_check_lcobound,gfc_check_ucobound, gfc_check_image_index, gfc_check_this_image, gfc_simplify_image_index, gfc_simplify_lcobound, gfc_simplify_this_image, gfc_simplify_ucobound): New function prototypes. * intrinsic.texi (IMAGE_INDEX, LCOBOUND, THIS_IMAGE IMAGE_INDEX): Document new intrinsic functions. * match.c (gfc_match_critical, sync_statement): Make * -fcoarray=none error fatal. * simplify.c (simplify_bound_dim): Handle coarrays. (simplify_bound): Update simplify_bound_dim call. (gfc_simplify_num_images): Add -fcoarray=none check. (simplify_cobound, gfc_simplify_lcobound, gfc_simplify_ucobound, gfc_simplify_ucobound, gfc_simplify_ucobound): New functions. 2010-04-14 Tobias Burnus <burnus@net-b.de> PR fortran/18918 * gfortran.dg/coarray_9.f90: Update dg-errors. * gfortran.dg/coarray_10.f90: New test. * gfortran.dg/coarray_11.f90: New test. From-SVN: r158292
2010-04-14re PR fortran/43747 (ICE in find_array_section, at fortran/expr.c:1551)Jerry DeLisle2-0/+14
2010-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/43747 gfortran.dg/initialization_24.f90: New test. From-SVN: r158291