aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2010-09-20re PR rtl-optimization/45678 (crash on vector code with -m32 -msse)Jakub Jelinek2-3/+9
PR middle-end/45678 * cfgexpand.c (expand_one_stack_var_at): Use crtl->max_used_stack_slot_alignment as max_align, instead of maximum of that and PREFERRED_STACK_BOUNDARY. Don't call update_stack_alignment. From-SVN: r164454
2010-09-20langhooks.h (struct lang_hooks_for_types): Remove hash_types field.Eric Botcazou11-73/+146
* langhooks.h (struct lang_hooks_for_types): Remove hash_types field. * langhooks-def.h (LANG_HOOKS_HASH_TYPES): Delete. (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remove LANG_HOOKS_HASH_TYPES. * system.h (LANG_HOOKS_HASH_TYPES): Poison. * tree.c (type_hash_canon): Do not test lang_hooks.types.hash_types. (build_nonstandard_integer_type): Likewise. (build_range_type_1): New function, built from... (build_range_type): ...this. Call build_range_type_1. (build_nonshared_range_type): New function. (build_array_type_1): New function, built from... (build_array_type: ...this. Call build_array_type_1. (build_nonshared_array_type): New function. * tree.h (build_nonshared_range_type): Declare. (build_nonshared_array_type): Likewise. ada/ * gcc-interface/decl.c (gnat_to_gnu_entity): Replace calls to build_array_type with calls to build_nonshared_array_type. (substitute_in_type): Likewise. * gcc-interface/misc.c (LANG_HOOKS_HASH_TYPES): Delete. (LANG_HOOKS_TYPE_HASH_EQ): Define. (gnat_post_options): Add 'static' keyword. (gnat_type_hash_eq): New static function. * gcc-interface/utils.c (fntype_same_flags_p): New function. (create_subprog_type): Call it. (create_index_type): Call build_nonshared_range_type and tidy up. (create_range_type): Likewise. * gcc-interface/gigi.h (fntype_same_flags_p): Declare. From-SVN: r164452
2010-09-20arm.h (CLASS_LIKELY_SPILLED_P): Remove.Anatoly Sokolov3-7/+26
* config/arm/arm.h (CLASS_LIKELY_SPILLED_P): Remove. * config/arm/arm.c (TARGET_CLASS_LIKELY_SPILLED_P): Define. (arm_class_likely_spilled_p): New function. From-SVN: r164450
2010-09-20i386.c (ix86_expand_ashl_const): Rewrite using indirect functions.Uros Bizjak2-117/+138
* config/i386/i386.c (ix86_expand_ashl_const): Rewrite using indirect functions. (ix86_split_ashl): Ditto. (ix86_split_ashr): Ditto. (ix86_split_lshr): Ditto. (ix86_adjust_counter): Ditto. From-SVN: r164449
2010-09-20re PR fortran/45081 (ICE in gfc_conv_array_initializer, at ↵Paul Thomas4-1/+58
fortran/trans-array.c:4208) 2010-09-20 Paul Thomas <pault@gcc.gnu.org> PR fortran/45081 * simplify.c (is_constant_array_expr): Allow structure array elements as well as constants. (gfc_simplify_pack, gfc_simplify_reshape, gfc_simplify_spread, gfc_simplify_transpose, gfc_simplify_unpack): Copy the derived type of source to the result. 2010-09-20 Paul Thomas <pault@gcc.gnu.org> PR fortran/45081 * gfortran.dg/derived_array_intrinsics_1.f90 : New test. From-SVN: r164448
2010-09-20In gcc/:Nicola Pero2-1/+6
* c-family/c-common.h (constant_string_class): Documented with comment identical to the one in c-common.c. From-SVN: r164447
2010-09-20Add "\\".H.J. Lu2-1/+5
2010-09-20 H.J. Lu <hongjiu.lu@intel.com> * g++.dg/tree-ssa/pr45605.C: Add "\\". From-SVN: r164446
2010-09-20dwarf2out.c (any_cfis_emitted): New static variable.Jakub Jelinek2-2/+17
* dwarf2out.c (any_cfis_emitted): New static variable. (add_fde_cfi): Set it. (dwarf2out_frame_debug): Clear it before processing, if it is set afterwards, flush any queued reg saves. From-SVN: r164443
2010-09-20re PR debug/45124 (No DW_AT_accessibility for public DIEs in DW_TAG_class_type)Jakub Jelinek2-2/+33
PR debug/45124 * dwarf2out.c (add_accessibility_attribute): Assume DW_ACCESS_private as the default for dwarf_version > 2 and DW_TAG_class_type parent. (gen_inheritance_die): Assume DW_ACCESS_public as the default for dwarf_version > 2 and parent other than DW_TAG_class_type. From-SVN: r164442
2010-09-20re PR target/45726 (Thumb2 instruction emitted for incompatible CPU)Rafael Carre2-1/+6
2010-09-20 Rafael Carre <rafael.carre@gmail.com> PR target/45726 * arm.md (arm_movt): Only enable on machines with MOVT. From-SVN: r164441
2010-09-20arm.c (arm_address_offset_is_imm): New.Jie Zhang6-4/+305
* config/arm/arm.c (arm_address_offset_is_imm): New. (arm_early_store_addr_dep): New. (arm_early_load_addr_dep): New. * config/arm/arm-protos.h (arm_early_store_addr_dep): Declare. (arm_early_load_addr_dep): Declare. (arm_address_offset_is_imm): Declare. * config/arm/cortex-m4.md: New file. * config/arm/cortex-m4-fpu.md: New file. * config/arm/arm.md: Include cortex-m4.md and cortex-m4-fpu.md. (attr generic_sched): Exclude cortexm4. (attr generic_vfp): Exclude cortexm4. From-SVN: r164440
2010-09-20re PR tree-optimization/45704 (load byte instruction is used for volatile int)Richard Guenther4-0/+34
2010-09-20 Richard Guenther <rguenther@suse.de> PR middle-end/45704 * gimplify.c (gimplify_modify_expr_rhs): Preserve volatileness. * gcc.dg/torture/pr45704.c: New testcase. From-SVN: r164439
2010-09-20re PR tree-optimization/45605 (Missed devirtualization)Jan Hubicka14-33/+109
PR tree-optimize/45605 * cgraph.h (const_value_known_p): Declare. (varpool_decide_const_value_known): Remove. * tree-ssa-ccp.c (get_base_constructor): Use it. * lto-cgraph.c (compute_ltrans_boundary): Likewise. * expr.c (string_constant): Likewise. * tree-ssa-loop-ivcanon.c (constant_after_peeling): Likewise. * ipa.c (ipa_discover_readonly_nonaddressable_var, function_and_variable_visibility): Likewise. * gimplify.c (gimplify_call_expr): Likewise. * gimple-fold.c (get_symbol_constant_value): Likewise. * varpool.c (varpool_decide_const_value_known): Replace by... (const_value_known_p): ... this one; handle other kinds of DECLs too and work for automatic vars. (varpool_finalize_decl): Use const_value_known_p. * lto.c (lto_promote_cross_file_statics): Use const_value_known_p. * g++.dg/tree-ssa/pr45605.C: New testcase. From-SVN: r164438
2010-09-20re PR target/45726 (Thumb2 instruction emitted for incompatible CPU)Rafael Carre2-1/+6
2010-09-20 Rafael Carre <rafael.carre@gmail.com> PR target/45726 * arm.md (arm_movtas_ze): Only enable on machine with MOVT. From-SVN: r164436
2010-09-20re PR testsuite/45706 (gcc.dg/vect/vect-114.c)Michael Matz2-1/+6
PR testsuite/45706 * gcc.dg/vect/pr43432.c: Don't override dg-options, defaults are enough. From-SVN: r164435
2010-09-20re PR middle-end/45705 (Useless store not optimized away)Richard Guenther4-0/+71
2010-09-20 Richard Guenther <rguenther@suse.de> PR tree-optimization/45705 * tree-ssa-dom.c (optimize_stmt): Perform redundant store elimination. * gcc.dg/tree-ssa/ssa-dom-dse-1.c: New testcase. From-SVN: r164434
2010-09-20re PR testsuite/45706 (gcc.dg/vect/vect-114.c)Michael Matz2-0/+7
PR testsuite/45706 * lib/target-supports.exp (check_effective_target_vect_perm): Add i?86-*-*. From-SVN: r164433
2010-09-20re PR rtl-optimization/45695 (-O1 wrong-code by cmove)Jakub Jelinek4-52/+68
PR rtl-optimization/45695 * combine.c (try_combine): When splitting a two set pattern, make sure the pattern which will be put into i2 doesn't use REGs or MEMs set by insns in between i2 and i3. * gcc.c-torture/execute/pr45695.c: New test. From-SVN: r164431
2010-09-20Daily bump.GCC Administrator1-1/+1
From-SVN: r164429
2010-09-19re PR lto/44246 (ICE with -fwhopr/-flto when using strlen and strcat without ↵Jan Hubicka4-1/+38
previous declaration) PR lto/44246 * lto-cgraph.c (input_cgraph_1, input_varpool_1): Avoid processing same node twice. * gcc.c-torture/compile/pr44246.c:New file. From-SVN: r164425
2010-09-19trans.c (gnat_pushdecl): Do not do anything special for PARM_DECLs.Eric Botcazou3-84/+99
* gcc-interface/trans.c (gnat_pushdecl): Do not do anything special for PARM_DECLs. (end_subprog_body): If the body is a BIND_EXPR, make its associated block the top-level one. (build_function_stub): Build a statement group for the whole function. * gcc-interface/utils.c (Subprogram_Body_to_gnu): If copy-in/copy-out is used, create the enclosing block early and process first the OUT parameters. From-SVN: r164422
2010-09-19bfin.h (CLASS_LIKELY_SPILLED_P): Remove.Anatoly Sokolov3-9/+32
* config/bfin/bfin.h (CLASS_LIKELY_SPILLED_P): Remove. * config/bfin/bfin.c (TARGET_CLASS_LIKELY_SPILLED_P): Define. (bfin_class_likely_spilled_p): New function From-SVN: r164421
2010-09-19re PR tree-optimization/45714 (Vectorization of double pow function causes a ↵Ira Rosen5-2/+71
segmentation fault) PR tree-optimization/45714 * tree-vect-stmts.c (vect_transform_stmt): Use a dummy statement created in vectorizable_call instead of the original statement in def stmt updates. From-SVN: r164420
2010-09-19decl.c (gnat_to_gnu_entity): Do not generate debug info for individual ↵Eric Botcazou2-1/+7
enumerators. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: Do not generate debug info for individual enumerators. From-SVN: r164418
2010-09-19decl.c (gnat_to_gnu_entity): Use record type instead of enumeral type as the ↵Eric Botcazou2-1/+7
dummy type built for the... * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Use record type instead of enumeral type as the dummy type built for the template type of fat pointers. From-SVN: r164417
2010-09-19gigi.h (get_elaboration_procedure): Declare.Eric Botcazou11-32/+153
* gcc-interface/gigi.h (get_elaboration_procedure): Declare. (gnat_zaplevel): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force global binding level for an external constant. <E_Constant>: Force the local context and create a fake scope before translating the defining expression of an external constant. <object>: Treat external constants at the global level explicitly for renaming declarations. (elaborate_expression_1): Force the variable to be static if the expression is global. * gcc-interface/trans.c (get_elaboration_procedure): New function. (call_to_gnu): Use it. (gnat_to_gnu): Likewise. <N_Object_Declaration>: Do not test Is_Public to force the creation of an initialization variable. (add_decl_expr): Discard the statement if the declaration is external. * gcc-interface/utils.c (gnat_pushdecl): Do not put the declaration in the current block if it is external. (create_var_decl_1): Do not test Is_Public to set TREE_STATIC. (gnat_zaplevel): New global function. From-SVN: r164416
2010-09-19decl.c (gnat_to_gnu_entity): Explicitly test _LEVEL variables against zero ↵Eric Botcazou3-23/+42
in all cases. * gcc-interface/decl.c (gnat_to_gnu_entity): Explicitly test _LEVEL variables against zero in all cases. (rest_of_type_decl_compilation): Likewise. * gcc-interface/trans.c (gigi): Pass properly typed constants to create_var_decl. (call_to_gnu): Fix formatting. (Handled_Sequence_Of_Statements_to_gnu): Likewise. (Exception_Handler_to_gnu_zcx): Likewise. (gnat_to_gnu) <N_Object_Declaration>: Short-circuit handling of constant expressions in presence of a freeze node. From-SVN: r164415
2010-09-19decl.c (gnat_to_gnu_entity): Look into expressions for external constants ↵Eric Botcazou6-12/+69
that are aggregates. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Look into expressions for external constants that are aggregates. * gcc-interface/utils2.c (build_simple_component_ref): If the field is an inherited component in an extension, look through the extension. From-SVN: r164414
2010-09-19i386-protos.h (split_double_mode): New prototype.Uros Bizjak5-130/+109
* config/i386/i386-protos.h (split_double_mode): New prototype. (split_di, split_ti): Remove prototypes. * config/i386/i386.c (split_double_mode): New function. (split_di, split_ti): Remove. (ix86_expand_branch): Use split_double_mode. (ix86_split_to_parts): Ditto. (ix86_split_ashl): Ditto. (ix86_split_ashr): Ditto. (ix86_split_lshr): Ditto. (ix86_force_to_memory): Ditto. * config/i386/i386.md: Use split_double_mode in double-mode splitters. From-SVN: r164413
2010-09-19Daily bump.GCC Administrator1-1/+1
From-SVN: r164409
2010-09-18re PR tree-optimization/45453 (ICE: verify_cgraph_node failed: inlined_to ↵Jan Hubicka7-2/+54
pointer set for noninline callers with -O2 -fno-early-inlining) PR tree-optimization/45453 * cgraphunit.c (cgraph_finalize_function): Consider comdat & external virtual functions are reachable. * ipa-inline.c (cgraph_clone_inlined_nodes): Likewise. * ipa.c (cgraph_remove_unreachable_nodes): Likewise. * ipa-prop.c (ipa_modify_formal_parameters): Clear DECL_VIRTUAL_P when modifying function. * g++.dg/tree-ssa/pr45453.C: New testcase. From-SVN: r164405
2010-09-18frontend-passes.c (gfc_expr_walker): Also handle EXPR_SUBSTRING.Thomas Koenig2-1/+7
2010-09-19 Thomas Koenig <tkoenig@gcc.gnu.org> * frontend-passes.c (gfc_expr_walker): Also handle EXPR_SUBSTRING. From-SVN: r164404
2010-09-18frontend-passes.c (gfc_expr_walker): Handle constructors and references.Thomas Koenig2-0/+63
2010-09-17 Thomas Koenig <tkoenig@gcc.gnu.org> * frontend-passes.c (gfc_expr_walker): Handle constructors and references. From-SVN: r164403
2010-09-18re PR tree-optimization/45605 (Missed devirtualization)Jan Hubicka3-5/+76
PR tree-optimization/45605 * cgraphunit.c (cgraph_analyze_functions): Allocate bitmap obstack. * gimple-fold.c (static_object_in_other_unit_p): New function. (canonicalize_constructor_val): Use it. (get_symbol_constant_value): Be reaqdy for canonicalize_constructor_val returning NULL. (gimple_fold_obj_type_ref_known_binfo): Use static_object_in_other_unit_p. From-SVN: r164402
2010-09-18call.c (compare_ics): Do lvalue/rvalue reference binding comparison for ↵Jason Merrill4-6/+27
ck_list, too. * call.c (compare_ics): Do lvalue/rvalue reference binding comparison for ck_list, too. From-SVN: r164401
2010-09-18re PR tree-optimization/45709 (internal compiler error: in add_phi_arg, at ↵Richard Guenther4-5/+45
tree-phinodes.c:395) 2010-09-18 Richard Guenther <rguenther@suse.de> PR tree-optimization/45709 * tree-inline.c (copy_phis_for_bb): Delay commit of edge insertions until after all PHI nodes of the block are processed. * g++.dg/torture/pr45709-2.C: New testcase. From-SVN: r164397
2010-09-18* config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Add.Tijl Coosemans2-0/+9
From-SVN: r164396
2010-09-18Pass -fno-pic to gcc.target/i386/pad-3.c.H.J. Lu2-1/+6
2010-09-18 H.J. Lu <hongjiu.lu@intel.com> PR testsuite/45719 * gcc.target/i386/pad-3.c: Pass -fno-pic. From-SVN: r164395
2010-09-18lto-elf.c (lto_obj_file_open): Also provide filename when elf_begin fails.Gerald Pfeifer2-1/+6
* lto-elf.c (lto_obj_file_open): Also provide filename when elf_begin fails. From-SVN: r164394
2010-09-18config.gcc (*-w64-mingw*): Correct typo about t-dfprules.Kai Tietz2-1/+5
2010-09-18 Kai Tietz <kai.tietz@onevision.com> * config.gcc (*-w64-mingw*): Correct typo about t-dfprules. From-SVN: r164393
2010-09-18re PR tree-optimization/45709 (internal compiler error: in add_phi_arg, at ↵Richard Guenther3-1/+29
tree-phinodes.c:395) 2010-09-18 Richard Guenther <rguenther@suse.de> PR tree-optimization/45709 * tree-inline.c (copy_phis_for_bb): Fixup new_edge when we splitted it. * g++.dg/torture/pr45709.C: New testcase. From-SVN: r164390
2010-09-18Daily bump.GCC Administrator1-1/+1
From-SVN: r164387
2010-09-17Add DEBUG_FUNCTION to all the dot_* debugging functions.Sebastian Pop4-5/+13
2010-09-17 Sebastian Pop <sebastian.pop@amd.com> * graphite-dependences.c (dot_deps): Add DEBUG_FUNCTION. (dot_deps_stmt): Same. * graphite-poly.c (dot_lst): Same. * graphite-scop-detection.c (dot_all_scops): Same. (dot_scop): Same. From-SVN: r164381
2010-09-17Add back dot_rdg.Sebastian Pop2-0/+76
2010-09-17 Sebastian Pop <sebastian.pop@amd.com> Revert commit: 2009-12-16 Ben Elliston <bje@au.ibm.com> * tree-data-ref.c (dot_rdg_1): Added back. (dot_rdg): Same. Added "#if 0" around system call. From-SVN: r164380
2010-09-17Pad short functions with NOPs for Atom.H.J. Lu17-1/+343
gcc/ 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> Richard Henderson <rth@redhat.com> * config/i386/i386.c (initial_ix86_tune_features): Add X86_TUNE_PAD_SHORT_FUNCTION. (ix86_code_end): Pad with 8 NOPs for TARGET_PAD_SHORT_FUNCTION. (ix86_count_insn): New. (ix86_pad_short_function): Likewise. (ix86_reorg): Support TARGET_PAD_SHORT_FUNCTION. * config/i386/i386.h (ix86_tune_indices): Add X86_TUNE_PAD_SHORT_FUNCTION. (TARGET_PAD_SHORT_FUNCTION): New. * config/i386/i386.md (UNSPEC_NOPS): New. (nops): Likewise. gcc/testsuite/ 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> * gcc.target/i386/pad-1.c: New. * gcc.target/i386/pad-2.c: Likewise. * gcc.target/i386/pad-3.c: Likewise. * gcc.target/i386/pad-4.c: Likewise. * gcc.target/i386/pad-5a.c: Likewise. * gcc.target/i386/pad-5b.c: Likewise. * gcc.target/i386/pad-6a.c: Likewise. * gcc.target/i386/pad-6b.c: Likewise. * gcc.target/i386/pad-7.c: Likewise. * gcc.target/i386/pad-8.c: Likewise. * gcc.target/i386/pad-9.c: Likewise. * gcc.target/i386/pad-10.c: Likewise. Co-Authored-By: Richard Henderson <rth@redhat.com> From-SVN: r164379
2010-09-17Make sure that all variable sized adjustments are multiple of preferredH.J. Lu4-0/+57
stack boundary after stack alignment. gcc/ 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> PR middle-end/45234 * calls.c (expand_call): Make sure that all variable sized adjustments are multiple of preferred stack boundary after stack alignment. gcc/testsuite/ 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> PR middle-end/45234 * gcc.dg/torture/stackalign/alloca-5.c: New. From-SVN: r164377
2010-09-17rx.c (valid_psw_flag): New.DJ Delorie3-12/+54
* config/rx/rx.c (valid_psw_flag): New. (rx_expand_builtin): Call it for setpsw/clrpsw. (rx_expand_builtin_mvtipl): Pass an integer to IN_RANGE, not an RTX. * config/rx/rx.md (bitclr): Don't mark the output as early-clobber. (bitclr_in_memory): Likewise. (clrspw, setpsw, mvfc, mvtc, mvtipl): Make volatile. From-SVN: r164376
2010-09-17Update stack alignment when increasing local variable alignment.H.J. Lu4-11/+48
gcc/ 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> PR middle-end/45678 * cfgexpand.c (update_stack_alignment): New. (get_decl_align_unit): Use it. (expand_one_stack_var_at): Call update_stack_alignment. gcc/testsuite/ 2010-09-17 H.J. Lu <hongjiu.lu@intel.com> PR middle-end/45678 * gcc.dg/torture/pr45678-2.c: New. From-SVN: r164375
2010-09-17lto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers): ↵Richard Guenther2-1/+6
Properly copy the read string. 2010-09-17 Richard Guenther <rguenther@suse.de> * lto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers): Properly copy the read string. From-SVN: r164371
2010-09-17options.texi (Variable): Document.Joseph Myers13-58/+87
* doc/options.texi (Variable): Document. * optc-gen.awk, opth-gen.awk: Handle Variable records. Don't generate target_flags declarations explicitly. Don't define VarExists variables for the driver. * common.opt (target_flags): New Variable record. (flag_dump_unnumbered, flag_dump_unnumbered_links, flag_var_tracking, flag_var_tracking_assignments, flag_var_tracking_assignments_toggle): Don't mark variables with VarExists. * config/i386/i386.c (ix86_isa_flags): Don't define here. * config/i386/i386.opt (ix86_isa_flags): Define here. * config/mcore/mcore.c (mcore_stack_increment): Don't define here. * config/mcore/mcore.opt (mcore_stack_increment): Don't mark with VarExists. * flags.h (flag_dump_unnumbered, flag_var_tracking): Remove. * print-rtl.c (flag_dump_unnumbered, flag_dump_unnumbered_links): Only define for generator programs. * rtlanal.c (target_flags): Remove. * toplev.c (flag_var_tracking, flag_var_tracking_assignments, flag_var_tracking_assignments_toggle): Remove. From-SVN: r164370