- 04 Aug, 2010 30 commits
-
-
By exporting padding[012] and to_allocate from ix86_compute_frame_layout, we encouraged re-computation of the size of the local frame. All of the truly relevant offsets are now exported directly, and should be compared against directly. From-SVN: r162891
Richard Henderson committed -
Union the undo of the frame pointer between the pop and move code paths. Combine the local frame stack deallocation with the one for ix86_static_chain_on_stack, if possible. From-SVN: r162890
Richard Henderson committed -
We had been relying on some extremely fragile code within dwarf2out in order to guess what to do with aligned stack frames, which broke when we decided to perform the stores to the aligned stack frame via EBP instead of ESP. Instead, emit the appropriate unwinding instructions from the backend. This requires adding a new reg-note in order to describe a register save at an arbitrary address. From-SVN: r162889
Richard Henderson committed -
Record register save offsets in ix86_frame. Move SP/FP offsets into the global state; update them everywhere we currently handle CFA offsets. Use that global state to choose base registers and offsets for the register saves and restores. There is a bug fix contained herein, whereby r11 could be clobbered along an indirect sibcall path when the stack frame is very large (>2GB). The emit_restore_{sse_,}regs_using_mov functions didn't handle this case, but pro_epilogue_adjust_stack does. From-SVN: r162888
Richard Henderson committed -
The definition in cygming.h differed from the definition in i386.h in that the predicate was true for 32-bit when outside of any function. Which (a) seems wrong and (b) never matters because the predicate is only tested in terms of REGPARM and RED_ZONE, both of which are tied to functions. From-SVN: r162887
Richard Henderson committed -
Emit the entire required hook code sequence via ASM_BYTE; emit unwind info onto a blockage insn. Remove the vswapmov pattern. Fix indentation in several places. From-SVN: r162886
Richard Henderson committed -
From-SVN: r162885
Richard Henderson committed -
From-SVN: r162884
Richard Henderson committed -
Trying to reduce the amount of code compiled when dwarf2 debug info and/or dwarf2 unwind info are disabled results in a twisted mess. Don't bother -- just build it all even if it's not going to be used. From-SVN: r162883
Richard Henderson committed -
PR debug/45171 * dwarf2out.c (gen_typedef_die): Don't re-generate the die of an is_naming_typedef_decl. From-SVN: r162882
Richard Henderson committed -
PR rtl-optimization/45162 * df-problems.c (df_word_lr_bb_local_compute): Ignore DEBUG_INSNs. * dce.c (word_dce_process_block): Likewise. From-SVN: r162881
Bernd Schmidt committed -
From-SVN: r162880
Changpeng Fang committed -
re PR fortran/42207 ([OOP] Compile-time errors on typed allocation and pointer function result assignment) 2010-08-04 Janus Weil <janus@gcc.gnu.org> PR fortran/42207 PR fortran/44064 PR fortran/44065 * class.c (gfc_find_derived_vtab): Do not generate vtabs for class container types. Do not artificially increase refs. Commit symbols one by one. * interface.c (compare_parameter): Make sure vtabs are present before generating module variables. * resolve.c (resolve_allocate_expr): Ditto. 2010-08-04 Janus Weil <janus@gcc.gnu.org> PR fortran/42207 PR fortran/44064 PR fortran/44065 * gfortran.dg/class_25.f03: New. * gfortran.dg/class_26.f03: New. From-SVN: r162879
Janus Weil committed -
From-SVN: r162872
Daniel Gutson committed -
2010-08-04 Tobias Burnus <burnus@net-b.de> PR fortran/45183 PR fortran/44857 * resolve.c (resolve_structure_cons): Fix freeing of charlen. From-SVN: r162871
Tobias Burnus committed -
2010-07-29 Steve Ellcey <sje@cup.hp.com> PR target/44583 * config/ia64/constraints.md (Z): New. * config/ia64/predicates.md (fr_reg_or_signed_fp01_operand): New. (xfreg_or_signed_fp01_operand): New. * config/ia64/ia64.md (addsf3): Replace fr_reg_or_fp01_operand with fr_reg_or_signed_fp01_operand and constraint G with Z. (subsf3): Ditto. (*maddsf4): Ditto. (*msubsf4): Ditto. (adddf3): Ditto. (adddf3_trunc): Ditto. (subdf3): Ditto. (*subdf3_trunc): Ditto. (*madddf4): Ditto. (*madddf4_trunc): Ditto. (*msubdf4): Ditto. (*msubdf4_trunc): Ditto. (addxf3): Replace xfreg_or_fp01_operand with xfreg_or_signed_fp01_operand and constraint G with Z. (*addxf3_truncsf): Ditto. (*addxf3_truncdf): Ditto. (subxf3): Ditto. (*subxf3_truncsf): Ditto. (*subxf3_truncdf): Ditto. (*maddxf4): Ditto. (*maddxf4_truncsf): Ditto. (*maddxf4_truncdf): Ditto. (*msubxf4): Ditto. (*msubxf4_truncsf): Ditto. (*msubxf4_truncdf): Ditto. From-SVN: r162869
Steve Ellcey committed -
* c-ada-spec.c (dump_ada_template): Mark underlying instance type as visited. (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to decide whether a type has already been declared/seen. Do not go to the original type. (dump_nested_types): New parameter forward. Generate forward declaration if needed and mark type as visited. (print_ada_declaration): Call dump_nested_types if not already done. Mark types as visited. From-SVN: r162868
Arnaud Charlet committed -
2010-08-04 Richard Guenther <rguenther@suse.de> * alias.c (rtx_refs_may_alias_p): Do not resort to TBAA if either alias-set is zero. From-SVN: r162867
Richard Guenther committed -
re PR c++/44641 (Generated constructors and destructors get wrong debug location when a typedef uses a forward declaration of the type before the definition) PR c++/44641 * lib/scanasm.exp (dg-function-on-line): Expand regex to also ignore .frame and .mask assembler directives. From-SVN: r162866
Uros Bizjak committed -
2010-08-04 Mikael Morin <mikael@gcc.gnu.org> PR fortran/42051 PR fortran/44064 * symbol.c (changed_syms): Made static again. (gfc_symbol_state): Don't conditionalize on GFC_DEBUG. Changed conditional internal error into assert. Rename function to ... (gfc_enforce_clean_symbol_state): ... this. * gfortran.h (gfc_symbol_state, gfc_enforce_clean_symbol_state): Rename the former to the latter. * parse.c (decode_statement, decode_omp_directive, decode_gcc_attribute): Update callers accordingly. Don't conditionalize on GFC_DEBUG. (changed_syms): Remove declaration. (next_statement): Use gfc_enforce_clean_symbol_state. From-SVN: r162865
Mikael Morin committed -
2010-08-04 Richard Guenther <rguenther@suse.de> * tree-ssa-propagate.h (struct prop_value_d, prop_value_t): Move ... * tree-ssa-ccp.c: ... here. * tree-ssa-copy.c: ... and here. * tree-ssa-propagate.h (enum value_range_type, struct value_range_d, value_range_t): Move ... * tree-vrp.c: ... here. * tree-ssa-propagate.h (ssa_prop_get_value_fn): New typedef. (substitute_and_fold): Adjust prototype. * tree-ssa-propagate.c (replace_uses_in): Adjust. (replace_phi_args_in): Likewise. (substitute_and_fold): Take callback to query lattice instead of pointer to lattice. Replace SSA name defs with lattice values first. * tree-ssa-ccp.c (ccp_finalize): Adjust. * tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust. (get_value): New function. (fini_copy_prop): Adjust. * tree-vrp.c (vrp_finalize): Adjust. * gcc.dg/tree-ssa/vrp35.c: Adjust. * gcc.dg/tree-ssa/vrp36.c: Likewise. * gcc.dg/tree-ssa/vrp50.c: Likewise. * gcc.dg/tree-ssa/vrp52.c: Likewise. From-SVN: r162864
Richard Guenther committed -
2010-08-04 Tobias Burnus <burnus@net-b.de> PR fortran/44857 * resolve.c (resolve_structure_cons): Fix handling of initialization structcture constructors with character elements of the wrong length. * array.c (gfc_check_iter_variable): Add NULL check. (gfc_resolve_character_array_constructor): Also truncate character length. 2010-08-04 Tobias Burnus <burnus@net-b.de> PR fortran/44857 * gfortran.dg/derived_constructor_char_1.f90: New. * gfortran.dg/derived_constructor_char_2.f90: New. From-SVN: r162863
Tobias Burnus committed -
2010-08-04 Richard Guenther <rguenther@suse.de> PR middle-end/45176 * expr.c (expand_expr_real_1): Also preserve TARGET_MEM_REF points-to set for original MEM_REF. From-SVN: r162862
Richard Guenther committed -
2010-08-04 Richard Guenther <rguenther@suse.de> * tree-ssa-ccp.c (get_constant_value): New function. (get_rhs_assign_op_for_ccp): Remove. (valueize_op): New function. (ccp_fold): Use get_constant_value and valueize_op. (fold_const_aggregate_ref): Likewise. (ccp_fold_stmt): Likewise. (visit_assignment): Simplify. From-SVN: r162860
Richard Guenther committed -
2010-08-04 Richard Guenther <rguenther@suse.de> * Makefile.in (double-int.o): Add $(TOPLEV_H) dependency. * double-int.h (double_int_ctz): Declare. * double-int.c (double_int_ctz): New function. From-SVN: r162859
Richard Guenther committed -
* config/picochip/picochip.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define. picochip_expand_movmemhi : Expand movmem pattern. * config/picochip/picochip-protos.h (picochip_expand_movmemhi) : Declare. * config/picochip/picochip.md (movmemhi) : New pattern. From-SVN: r162858
Hariharan Sandanagobalane committed -
2010-08-04 Tobias Burnus <burnus@net-b.de> * trans-io.c (gfc_build_io_library_fndecls): Fix return value of some libgfortran functions. From-SVN: r162857
Tobias Burnus committed -
* config/i386/unix.h (GLOBAL_ASM_OPS): Add tabs around .globl. From-SVN: r162855
Uros Bizjak committed -
* gcc-interface/decl.c: Do not undefine IN_GCC_FRONTEND and do not include expr.h. (gnat_to_gnu_entity) <object>: Force address of -1 at the tree level for the debug-only entity. * gcc-interface/Make-lang.in (ada/decl.o): Adjust dependencies. From-SVN: r162854
Eric Botcazou committed -
From-SVN: r162853
GCC Administrator committed
-
- 03 Aug, 2010 9 commits
-
-
simplify-rtx.c (simplify_binary_operation_1): Try to simplify away NEG as operand of a MULT by merging it with the other operand. * simplify-rtx.c (simplify_binary_operation_1): Try to simplify away NEG as operand of a MULT by merging it with the other operand. * combine.c (make_compound_operation): Use trunc_int_for_mode when generating a MULT with constant. Canonicalize PLUS and MINUS involving MULT. * config/arm/constraints.md (M): Examine only 32 bits of a HOST_WIDE_INT. * config/arm/predicates.md (power_of_two_operand): Likewise. From-SVN: r162849
Bernd Schmidt committed -
2010-08-03 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/45159 * dependency.c (gfc_deb_compare_expr): Remove any integer conversion functions to larger types from both arguments. Remove handling these functions futher down. 2010-08-03 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/45159 * gfortran.dg/dependency_30.f90: New test. From-SVN: r162848
Thomas Koenig committed -
* config/spu/spu.c (spu_emit_branch_hint): Do not access NOTE_KIND of non-NOTE insns. From-SVN: r162845
Ulrich Weigand committed -
* ipa-split.c (struct split_point): Add split_part_set_retval. (find_retval): Forward declare. (test_nonssa_use, mark_nonssa_use): Special case return by reference. (consider_split): Compute current->split_part_set_retval. (visit_bb): Do not look into return value. (split_function): Handle !split_part_set_retval From-SVN: r162842
Jan Hubicka committed -
tree-sra.c (completely_scalarize_record): New parameter REF, create its own access->expr intead of using build_ref_for_offset. 2010-08-03 Martin Jambor <mjambor@suse.cz> * tree-sra.c (completely_scalarize_record): New parameter REF, create its own access->expr intead of using build_ref_for_offset. From-SVN: r162841
Martin Jambor committed -
2010-08-03 Janus Weil <janus@gcc.gnu.org> PR fortran/44584 PR fortran/45161 * class.c (add_procs_to_declared_vtab1): Don't add erroneous procedures. * resolve.c (resolve_tb_generic_targets): Check for errors. 2010-08-03 Janus Weil <janus@gcc.gnu.org> PR fortran/44584 PR fortran/45161 * gfortran.dg/typebound_call_9.f03: Modified. * gfortran.dg/typebound_generic_1.f03: Modified. From-SVN: r162840
Janus Weil committed -
* config/alpha/alpha.h (SWITCH_TAKES_ARG): Define. * config/alpha/osf5.h (LIB_SPEC): Don't handle -a. * config/bfin/bfin.h (ASM_SPEC, LINK_SPEC): Don't pass -G* options. * config/darwin.h (WORD_SWITCH_TAKES_ARG): Handle -iframework. * config/ia64/ia64.h (SWITCH_TAKES_ARG): Define. * config/iq2000/iq2000.h (SWITCH_TAKES_ARG): Remove. * config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Define using DEFAULT_SWITCH_TAKES_ARG. * config/rx/rx.opt (-patch=): Remove option. * config/rx/rx.c (rx_handle_option): Don't handle OPT_patch_. * defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Handle -imultilib. * doc/invoke.texi (RX Options): Remove -patch=. * gcc.c (cc1_options): Pass -aux-info* instead of -a* options. (option_map): Remove --profile-blocks, --quiet and --silent. ada: * gcc-interface/lang-specs.h: Don't pass -a options. c-family: * c.opt (-print-pch-checksum): Remove option. * c-opts.c (c_common_handle_option): Don't handle OPT_print_pch_checksum. From-SVN: r162838
Joseph Myers committed -
* config/i386/i386.h (ix86_compare_op0, ix86_compare_op1): Remove. * config/i386/i386.c (ix86_compare_op0, ix86_compare_op1): Remove. (ix86_expand_branch): Add op0 and op1 arguments. Do not access ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead. Update calls to ix86_expand_compare and ix86_expand_branch. (ix86_expand_setcc): Add op0 and op1 arguments. Update calls to ix86_expand_compare. (ix86_expand_compare): Add op0 and op1 arguments. Do not access ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead. Make static. (ix86_expand_carry_flag_compare): Do not set ix86_compare_op0 and ix86_compare_op1. Update calls to ix86_expand_compare. (ix86_expand_int_movcc): Ditto. (ix86_expand_fp_movcc): Ditto. Update calls to ix86_expand_setcc. * config/i386/i386-protos.h (ix86_expand_branch): Update prototype. (ix86_expand_setcc): Ditto. (ix86_expand_compare): Remove prototype. * config/i386/i386.md (cbranch<SDWIM:mode>4): Do not set ix86_compare_op0 and ix86_compare_op1. Update calls to ix86_expand_branch to directly pass operands[1] and operands[2]. (cbranchxf4): Ditto. (cbranch<MODEF:mode>4): Ditto. (cbranchcc4): Ditto. (cstore<SWIM:mode>4): Do not set ix86_compare_op0 and ix86_compare_op1. Update calls to ix86_expand_setcc to directly pass operands[2] and operands[3]. (cstorexf4): Ditto. (cstore<MODEF:mode>4): Ditto. (cstorecc4): Ditto. From-SVN: r162837
Uros Bizjak committed -
From-SVN: r162834
GCC Administrator committed
-
- 02 Aug, 2010 1 commit
-
-
2010-08-02 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/45159 * depencency.c (gfc_dep_resolver): Fix logic for when a loop can be reversed. 2010-08-02 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/45159 * gfortran.dg/dependency_29.f90: New test. From-SVN: r162829
Thomas Koenig committed
-