Age | Commit message (Collapse) | Author | Files | Lines |
|
PR target/21078, 21080
* config/avr/avr.c (avr_return_addr_rtx): New function for
builtin_return_address.
(expand_prologue): Calculate stack usage.
(avr_asm_function_end_prologue): Output stack size and offset label.
* config/avr/avr.h (RETURN_ADDR_RTX): Replace.
(machine_function): Add stack_usage.
* config/avr/avr-protos.h (avr_return_addr_rtx): New function.
From-SVN: r154188
|
|
From-SVN: r154187
|
|
* config/iq2000/iq2000.c (iq2000_function_value): Make static, add
new 'outgoing' argument.
(iq2000_libcall_value, iq2000_function_value_regno_p): New functions.
(TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare.
* config/iq2000/iq2000.h: (FUNCTION_VALUE_REGNO_P): Redefine, use
iq2000_function_value_regno_p.
(FUNCTION_VALUE, LIBCALL_VALUE): Remove.
* config/iq2000/iq2000-protos.h (iq2000_function_value_regno_p):
Declare.
From-SVN: r154184
|
|
PR target/42031
* arm.md (adddi_sesidi_di): Place tied contraint first.
(adddi_zesidi_di, subdi_di_zesidi, subdi_di_sesidi): Likewise
(subdi_zesidi_di, subdi_sesidi_di): Likewise.
(mulsi3_compare0, mulsi_compare0_scratch): Likewise.
(mulsi3addsi, mulsi3addsi_compare0): Likewise.
(mulsi3addsi_compare0_scratch, smulsi3_highpart_nov6): Likewise.
(umulsi3_highpart_nov6, anddi_zesidi_di, anddi_sesdi_di): Likewise.
(anddi_notdi_di, iordi_sesidi_di, xordi_sesidi_di): Likewise.
(andsi_iorsi3_notsi, arm_ashldi3_1bit, arm_ashrdi3_1_bit): Likewise.
(arm_lshrdi3_1bit, one_cmpldi2): Likewise.
From-SVN: r154182
|
|
* arm.md (adddi_sesidi_di): Place tied contraint first.
(adddi_zesidi_di, subdi_di_zesidi, subdi_di_sesidi): Likewise
(subdi_zesidi_di, subdi_sesidi_di): Likewise.
(mulsi3_compare0, mulsi_compare0_scratch): Likewise.
(mulsi3addsi, mulsi3addsi_compare0): Likewise.
(mulsi3addsi_compare0_scratch, smulsi3_highpart_nov6): Likewise.
(umulsi3_highpart_nov6, anddi_zesidi_di, anddi_sesdi_di): Likewise.
(anddi_notdi_di, iordi_sesidi_di, xordi_sesidi_di): Likewise.
(andsi_iorsi3_notsi, arm_ashldi3_1bit, arm_ashrdi3_1_bit): Likewise.
(arm_lshrdi3_1bit, one_cmpldi2): Likewise.
From-SVN: r154181
|
|
* config/i386/predicates.md (call_register_no_elim_operand):
New predicate. Reject stack register as valid call operand
for 32bit targets.
(call_insn_operand): Use call_register_no_elim_operand.
From-SVN: r154178
|
|
From-SVN: r154177
|
|
return void; simplify.
2009-11-13 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.h (forward_list<>::erase_after):
Change signature per N2988, return void; simplify.
(_Fwd_list_base<>::_M_erase_after): Likewise return void.
(forward_list<>::~forward_list): Do not call _M_erase_after
unnecessarily, the base class destructor already does it.
(forward_list<>::splice_after(const_iterator position,
forward_list&&, const_iterator i): Check position != i and
position != ++i.
* include/bits/forward_list.tcc (_Fwd_list_base<>::
_M_erase_after(typename _Node_base::_Pointer): Simplify.
(_Fwd_list_base<>::_M_erase_after(typename _Node_base::_Pointer,
typename _Node_base::_Pointer): Fix (remove the correct range
of element) and simplify (update __pos->_M_next at the end).
* testsuite/23_containers/forward_list/modifiers/3.cc: Adjust
and extend.
* testsuite/23_containers/forward_list/ext_pointer/
modifiers/3.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
assign_neg.cc: Tweak dg-error line numbers.
* testsuite/23_containers/forward_list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_2_neg.cc: Likewise.
From-SVN: r154174
|
|
From-SVN: r154173
|
|
stack_protect_guard and guard_decl.
* function.c (stack_protect_prologue): Don't bypass expand_expr
for stack_protect_guard and guard_decl.
(stack_protect_epilogue): Likewise.
From-SVN: r154168
|
|
PUBLIC is set.
* ipa.c (function_and_variable_visibility): Clear COMDAT on functions
when to PUBLIC is set.
From-SVN: r154167
|
|
PR c++/27425
PR c++/34274
* pt.c (expand_template_argument_pack): Handle null arg gracefully.
(convert_template_argument): Use %T for type.
From-SVN: r154164
|
|
PR c++/29363
* decl.c (create_implicit_typedef): Set TYPE_STUB_DECL here.
(cxx_init_decl_processing): Not here.
* name-lookup.c (pushtag): Or here.
* pt.c (lookup_template_class): Or here.
From-SVN: r154163
|
|
clause)
PR middle-end/42029
* gimplify.c (gimplify_omp_atomic): Set DECL_GIMPLE_REG_P on
tmp_load if needed.
* libgomp.c/pr42029.c: New test.
From-SVN: r154161
|
|
2009-11-13 Uros Bizjak <ubizjak@gmail.com>
PR target/41900
(*call_pop_1, *call_1, *call_value_pop_1, *call_value_1): Use "lsm"
as operand 1 constraint.
* config/i386/predicates.md (call_insn_operand): Depend on
index_register_operand to avoid %esp register.
2009-11-13 Uros Bizjak <ubizjak@gmail.com>
Revert:
2009-11-03 Uros Bizjak <ubizjak@gmail.com>
PR target/41900
* config/i386/i386.h (ix86_arch_indices) <X86_ARCH_CALL_ESP>: New.
(TARGET_CALL_ESP): New define.
* config/i386/i386.c (initial_ix86_tune_features): Initialize
X86_ARCH_CALL_ESP.
* config/i386/i386.md (*call_pop_1_esp, *call_1_esp,
*call_value_pop_1_esp, *call_value_1_esp): Rename from *call_pop_1,
*call_1, *call_value_pop_1 and *call_value_1. Depend on
TARGET_CALL_ESP.
(*call_pop_1, *call_1, *call_value_pop_1, *call_value_1):
New patterns, use "lsm" as operand 1 constraint.
* config/i386/predicates.md (call_insn_operand): Depend on
index_register_operand for !TARGET_CALL_ESP to avoid %esp register.
From-SVN: r154160
|
|
From-SVN: r154159
|
|
PR debug/26965
* dwarf2out.c (gen_variable_die): Don't worry about DECL_COMDAT.
Don't emit a second declaration at any scope.
From-SVN: r154157
|
|
From-SVN: r154154
|
|
2009-11-13 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/algorithm: Include <utility>, per UK-300.
* include/bits/stl_algobase.h: Don't do it here.
From-SVN: r154152
|
|
PR c++/35075
* pt.c (convert_nontype_argument): Give helpful error about
reference variable argument to reference template parameter.
From-SVN: r154151
|
|
PR c++/21008, DR 515
* semantics.c (finish_non_static_data_member): Don't check
derivation in a template.
From-SVN: r154150
|
|
PR c++/11987
* parser.c (cp_parser_direct_declarator): Give helpful error about
trying to define member of a dependent typedef.
* pt.c (resolve_typename_type): Don't resolve a typedef typename.
* tree.c (typedef_variant_p): New.
* cp-tree.h: Declare it.
From-SVN: r154149
|
|
PR rtl-optimization/41697
* sel-sched-ir.c (fallthru_bb_of_jump): Bail out when a block with
a conditional jump has a single successor.
From-SVN: r154148
|
|
2009-11-13 Andrey Belevantsev <abel@ispras.ru>
* sched-deps.c (init_deps): New parameter lazy_reg_last. Don't
allocate reg_last when in case lazy_reg_last is true.
(init_deps_reg_last): New.
(free_deps): When max_reg is 0, this context is already freed.
* sched-int.h (init_deps_reg_last): Export.
(init_deps): Update prototype.
* sched-ebb.c (schedule_ebb): Update the call to init_deps.
* sched-rgn.c (sched_rgn_compute_dependencies): Likewise.
* ddg.c (build_intra_loop_deps): Likewise.
* sel-sched-ir.c (copy_deps_context, create_deps_context,
reset_deps_context, deps_init_id): Likewise.
(init_first_time_insn_data): Lazy allocate INSN_DEPS_CONTEXT.
(free_data_for_scheduled_insn): New, break down from ...
(free_first_time_insn_data): ... here.
(has_dependence_p): Allocate reg_last now, when it is needed.
(extend_insn_data): When maximal LUID is big enough, allocate
per-insn data in smaller chunks.
* sel-sched-ir.h (free_data_for_scheduled_insn): Export.
* sel-sched.c (update_seqnos_and_stage): Free INSN_DEPS_CONTEXT
in scheduled insn.
From-SVN: r154147
|
|
not --disable-multilib ))
PR testsuite/42001
* g++.dg/lto/lto.exp: Pass no-mathlib to lto_init. Call
lto_finish at the end.
* gfortran.dg/lto/lto.exp: Ditto.
From-SVN: r154145
|
|
* config/i386/i386.md (call_value): Fix comment.
(sibcall_value): Ditto.
From-SVN: r154143
|
|
From-SVN: r154142
|
|
* config/i386/linux-unwind.h (x86_frob_update_context): New function.
(MD_FROB_UPDATE_CONTEXT): Define.
From-SVN: r154141
|
|
2009-11-12 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/type_traits (declval): Add, per DR 1255.
(__is_convertible_helper, common_type): Use it.
* include/bits/move.h: Mention std::declval.
* testsuite/20_util/declval/requirements/1.cc: New.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
* testsuite/20_util/common_type/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/common_type/requirements/
explicit_instantiation.cc: Extend.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r154140
|
|
PR c++/27078
* parser.c (cp_parser_primary_expression): Don't give a duplicate
ambiguity error.
From-SVN: r154139
|
|
From-SVN: r154138
|
|
method with union)
PR c++/39560
* decl2.c (build_anon_union_vars): Set DECL_ARTIFICIAL.
From-SVN: r154133
|
|
* config/sparc/linux-unwind.h (sparc64_fallback_frame_state): Tidy.
Do not schedule an %sp restore. Compensate for RETURN_ADDR_OFFSET.
(sparc_fallback_frame_state): Tidy. Compensate for RETURN_ADDR_OFFSET.
ada/
* init.c (GNU/Linux Section): Enable for all architectures.
From-SVN: r154132
|
|
explicit template class instantation)
PR c++/37037
* decl.c (grokdeclarator): Don't generate a void PARM_DECL.
From-SVN: r154131
|
|
on the value of its first expression?!?)
PR c++/42013
* call.c (build_conditional_expr): Check specifically for folding
to CALL_EXPR rather than TREE_SIDE_EFFECTS.
From-SVN: r154129
|
|
clear DECL_COMMON on localized declarations.
* ipa.c (function_and_variable_visibility): Fix my accidentail commit and
clear DECL_COMMON on localized declarations.
From-SVN: r154128
|
|
From-SVN: r154127
|
|
2009-11-12 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_algobase.h: Include the full <utility>, per
UK-300.
* include/bits/stl_algo.h: Tweak includes.
From-SVN: r154126
|
|
* typeck.c (cv_qualified_p): New fn.
(decay_conversion): Use it.
* cp-tree.h: Declare it.
* tree.c (rvalue): Use it and cv_unqualified.
* init.c (build_aggr_init): Likewise.
From-SVN: r154125
|
|
on the value of its first expression?!?)
PR c++/42013
* call.c (build_conditional_expr): Don't fold a TREE_SIDE_EFFECTS
COND_EXPR in unevaluated context.
From-SVN: r154124
|
|
PR rtl-opt/38582
* regrename.c (struct du_head): New structure; some elements moved
from...
(struct du_chain): ... this one.
(open_chains, closed_chains): Now of type struct du_head *.
(do_replace): Accept du_head argument, not du_chain. All callers
changed. Modified code to match new data structures.
(build_def_use): Return a list of du_head structures. Modified code
to match new data structures.
(dump_def_use_chain): Accept du_head argument, not du_chain. All
callers changed. Modified code to match new data structures.
(merge_overlapping_regs): Accept du_head argument, not du_chain. All
callers changed. Modified code to match new data structures.
(scan_rtx_reg): Change type of this_regno and this_nregs to unsigned.
Allocate a du_head structure as well as a du_chain when creating a
new chain. Modified other code to match new data structures.
From-SVN: r154123
|
|
* cgraph.h (varpool_node_name): Declare.
* cgraphunit.c (process_function_and_variable_attributes): Set force_output
flag on used variables.
* ipa.c (function_and_variable_visibility): Dump externally visible and needed
variables.
* varpool.c (varpool_node_name): Export.
(decide_is_variable_needed): Check COMDAT for externally visible vars;
ignore needed flag.
From-SVN: r154121
|
|
2009-11-12 Rafael Avila de Espindola <espindola@google.com>
* lto-plugin.c (write_resolution): Assume resolution_file is set.
Print the symbol name.
(all_symbols_read_handler): Create a resolution file.
Pass it to gcc.
(cleanup_handler): Remove the resolution file.
(process_option): Drop the -resolution option.
2009-11-12 Rafael Avila de Espindola <espindola@google.com>
* lang.opt (fresolution): Renamed from resolution.
* lto-lang.c (lto_handle_option): Handle new option name.
* lto.c (lto_resolution_read): Add more checks. Discard rest of line.
From-SVN: r154118
|
|
2009-11-12 Tobias Burnus <burnus@net-b.de>
* intrinsic.texi (XOR): Refer also to .NEQV.
(ISO_FORTRAN_ENV): State which parameters are F2008.
From-SVN: r154117
|
|
PR middle-end/41930
* simplify-rtx.c (simplify_replace_fn_rtx) <case 'e'>: Skip
processing if XEXP (x, i) is NULL.
From-SVN: r154116
|
|
* decl2.c (constrain_visibility): Clear WEAK and COMMON flags.
* ipa.c (function_and_variable_visibility): Verify that WEAK || COMMON
imply PUBLIC || EXTERNAL.
From-SVN: r154115
|
|
* testsuite/Makefile.am: Remove use of baseline_file.
* testsuite/Makefile.in: Likewise.
From-SVN: r154114
|
|
PR c++/39131
* rtti.c (emit_support_tinfos): Add DFP types.
* config/abi/pre/gnu.ver: Add DFP types.
* testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.4.
From-SVN: r154113
|
|
PR middle-end/41440
* cfgexpand.c (expand_gimple_basic_block): Append NOP to a fallthru,
single successor block, ending with jump created by RTL expander.
From-SVN: r154112
|
|
From-SVN: r154111
|