Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
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
|
|
* c-family/c-common.h (constant_string_class): Documented with
comment identical to the one in c-common.c.
From-SVN: r164447
|
|
2010-09-20 H.J. Lu <hongjiu.lu@intel.com>
* g++.dg/tree-ssa/pr45605.C: Add "\\".
From-SVN: r164446
|
|
* 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
|
|
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-20 Rafael Carre <rafael.carre@gmail.com>
PR target/45726
* arm.md (arm_movt): Only enable on machines with MOVT.
From-SVN: r164441
|
|
* 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-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
|
|
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-20 Rafael Carre <rafael.carre@gmail.com>
PR target/45726
* arm.md (arm_movtas_ze): Only enable on machine with MOVT.
From-SVN: r164436
|
|
PR testsuite/45706
* gcc.dg/vect/pr43432.c: Don't override dg-options, defaults are
enough.
From-SVN: r164435
|
|
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
|
|
PR testsuite/45706
* lib/target-supports.exp (check_effective_target_vect_perm):
Add i?86-*-*.
From-SVN: r164433
|
|
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
|
|
From-SVN: r164429
|
|
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
|
|
* 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
|
|
* 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
|
|
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
|
|
enumerators.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: Do
not generate debug info for individual enumerators.
From-SVN: r164418
|
|
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
|
|
* 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
|
|
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
|
|
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
|
|
* 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
|
|
From-SVN: r164409
|
|
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-19 Thomas Koenig <tkoenig@gcc.gnu.org>
* frontend-passes.c (gfc_expr_walker): Also
handle EXPR_SUBSTRING.
From-SVN: r164404
|
|
2010-09-17 Thomas Koenig <tkoenig@gcc.gnu.org>
* frontend-passes.c (gfc_expr_walker): Handle
constructors and references.
From-SVN: r164403
|
|
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
|
|
ck_list, too.
* call.c (compare_ics): Do lvalue/rvalue reference binding
comparison for ck_list, too.
From-SVN: r164401
|
|
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
|
|
From-SVN: r164396
|
|
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
|
|
* lto-elf.c (lto_obj_file_open): Also provide filename when
elf_begin fails.
From-SVN: r164394
|
|
2010-09-18 Kai Tietz <kai.tietz@onevision.com>
* config.gcc (*-w64-mingw*): Correct typo about t-dfprules.
From-SVN: r164393
|
|
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
|
|
From-SVN: r164387
|
|
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-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
|
|
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
|
|
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
|
|
* 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
|
|
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
|
|
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
|
|
* 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
|