| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
* gcc/gimplify.c (shortcut_cond_expr): Re-compute side-effects.
* gcc/testsuite/gcc.c-torture/execute/20050125-1.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94300 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* expr.c (categorize_ctor_elements): New argument p_must_clear.
(categorize_ctor_elements_1): Likewise. Detect a union that isn't
fully initialized.
(mostly_zeros_p): Update for new categorize_ctor_elements argument.
* gimplify.c (gimplify_init_constructor): Likewise. Only shove
objects into static storage if they have more than one non-zero value.
* tree.h (categorize_ctor_elements): Update decl.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94266 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fold-const.c, gimplify.c, params.h, tree-data-ref.c,
tree-if-conv.c, tree-nested.c, tree-outof-ssa.c,
tree-ssa-dom.c, tree-vectorizer.c, tree.def, config/darwin.c,
config/freebsd-spec.h, config/arm/arm.h,
config/h8300/h8300.md, config/i386/i386.md,
config/i386/predicates.md, config/i386/sse.md,
config/ia64/ia64.c, config/ip2k/ip2k.c, config/s390/s390.c,
config/vax/vax.md: Fix comment typos. Follow spelling
conventions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94112 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tree-inline.c: Include "tree-flow.h".
(expand_call_inline): If warn_return_type, warn if non-void inline
function falls through.
* tree-cfg.c (execute_warn_function_return): Don't warn about
control reaching end if TREE_NO_WARNING is set. Set
TREE_NO_WARNING.
* gimple-low.c (block_may_fallthru): Don't assume that SWITCH_EXPR
has been lowered.
* gimplify.c (shortcut_cond_expr): Don't emit a jump over the else
branch if we don't need one.
* c-typeck.c: Include "tree-flow.h"
(c_finish_bc_stmt): Don't add a goto if the current statement
list doesn't fall through to the current point.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94024 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* c-typeck.c (digest_init): Only call build_vector if all constructor
elements are *_CST nodes.
* gimplify.c (gimplify_init_constructor): Likewise.
* gcc.c-torture/compile/20050113-1.c: New testcase.
PR middle-end/19164
* c-typeck.c (digest_init): Only call build_vector if inside_init
is a CONSTRUCTOR.
* gcc.dg/20050113-1.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93891 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
accessing DECL_FUNCTION_CODE.
* dojump.c (do_jump): Likewise.
* gimplify.c (gimplify_call_expr): Likewise.
* predict.c (expr_expected_value): Likewise.
(strip_builtin_expect): Likewise.
* tree-inline.c (estimate_num_insns_1): Likewise.
* tree-ssa-loop-im.c (stmt_cost): Likewise
* fold-const.c (fold): Test for BUILT_IN_NORMAL.
(tree_expr_nonnegative_p): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93864 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
c-tree.h, cfgbuild.c, cgraph.c, cgraph.h, collect2.c,
combine.c, config.gcc, coverage.h, cse.c, cselib.c,
defaults.h, df.c, dwarf2asm.c, dwarf2out.c, explow.c, expr.c,
flow.c, fold-const.c, gcse.c, ggc-page.c, gimple-low.c,
gimplify.c, ifcvt.c, langhooks-def.h, lcm.c, optabs.h,
output.h, postreload-gcse.c, postreload.c, recog.c,
resource.c, rtl.def, rtlanal.c, sched-deps.c, sched-rgn.c,
targhooks.h, toplev.c, tree-data-ref.c, tree-eh.c,
tree-flow.h, tree-loop-linear.c, tree-mudflap.h, tree-nrv.c,
tree-optimize.c, tree-outof-ssa.c, tree-pass.h,
tree-scalar-evolution.c, tree-ssa-copy.c, tree-ssa-dce.c,
tree-ssa-dse.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c,
tree-ssa-pre.c, tree-ssa.c, tree-vectorizer.c, tree.def,
unwind-dw2-fde-darwin.c, var-tracking.c: Update copyright.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93827 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* function.c (use_register_for_decl): Check DECL_IGNORED_P instead
of DECL_ARTIFICIAL.
(assign_parms_augmented_arg_list): Set DECL_IGNORED_P.
* c-decl.c (build_compound_literal): Likewise.
* dwarf2asm.c (dw2_force_const_mem): Likewise.
* gimplify.c (create_artificial_label): Likewise.
* tree-inline.c (expand_call_inline): Likewise.
* var-tracking.c (vt_initialize): Likewise.
* tree-outof-ssa.c (create_temp): Copy DECL_IGNORED_P.
cp/
* call.c (make_temporary_var_for_ref_to_temp): Set DECL_IGNORED_P.
* class.c (build_vtable): Don't conditionallize setting it
based on DWARF2_DEBUG.
(layout_class_type): Set DECL_IGNORED_P.
* decl2.c (get_guard): Likewise.
* rtti.c (get_tinfo_decl, build_lang_decl): Likewise.
* tree.c (build_local_temp): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92781 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gimplify.c (gimplify_asm_expr): Move resolve asm names ...
* c-typeck.c (build_asm_expr): ... here. Validate input
constraints. Mark memory inputs addressable.
* semantics.c (finish_asm_stmt): Resolve asm names. Validate input
constraints. Mark memory inputs addressable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92693 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* gimplify.c (gimplify_cond_expr): Add post_p parameter.
(gimplify_modify_expr_rhs): Adjust call to gimplify_cond_expr.
(gimplify_expr): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92640 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* g++.dg/opt/temp1.C: Make memcpy actually copy bytes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92571 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* gimplify.c (gimplify_modify_expr_rhs): Handle
INDIRECT_REF/ADDR_EXPR combinations.
PR c++/16405
* g++.dg/opt/temp1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92539 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* tree.h (TYPE_SIZES_GIMPLIFIED): New.
* function.c (gimplify_parm_type): Don't gimplify type if already done.
* gimplify.c (gimplify_decl_expr): Likewise.
(gimplify_type_sizes): Set TYPE_SIZES_GIMPLIFIED. Examine nested
array types.
2004-12-22 Richard Henderson <rth@redhat.com>
* gimplify.c (eval_save_expr): Remove.
(gimplify_one_sizepos): Unshare expr before gimplifying.
* stor-layout.c (variable_size): Revert 2004-12-19 change.
(layout_decl): Revert 2004-12-18 change.
(layout_type): Revert 2004-12-21 change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92495 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
(gimplify_one_sizepos): Use it.
* stor-layout.c (layout_type): Unshare TYPE_MIN/MAX_VALUE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92468 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR middle-end/18191
PR middle-end/18965
PR middle-end/18999
* expr.c (categorize_ctor_elements_1): Count the total number
of elements in the constructor.
(categorize_ctor_elements): Return it in a new argument.
* tree.h (categorize_ctor_elements): Adjust prototype.
* gimplify.c (gimplify_init_ctor_eval_range): New.
(gimplify_init_ctor_eval): Gimplify RANGE_EXPR.
(gimplify_init_constructor): Block clear the object if the
constructor has fewer elements than the object type. Only try
to add assignments to individual elements when we have to.
testsuite/
* gcc.dg/20041219-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92415 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* c-decl.c (store_parm_decls): Clarify get_pending_sizes insertion
comment.
* c-objc-common.c (c_cannot_inline_tree_fn): Remove pending sizes
checks.
* c-tree.h (struct lang_decl): Remove pending_sizes.
* function.c: Include tree-gimple.h
(assign_parm_setup_reg): Remove callee-copies code.
(gimplify_parm_type, gimplify_parameters): New functions.
(expand_pending_sizes): Remove.
(expand_function_start): Don't call it.
* gimplify.c (gimplify_expr): Examine DECL_VALUE_EXPR for PARM_DECL.
(gimplify_body): Add do_parms argument. Use gimplify_parameters.
(gimplify_function_tree): Setup cfun. Update gimplify_body call.
* tree-gimple.h (gimplify_body): Update decl.
* tree-inline.c (initialize_inlined_parameters): Update gimplify_body
call.
* tree.h (gimplify_parameters): Declare.
* Makefile.in (function.o): Depend on TREE_GIMPLE_H.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92373 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR c++/18672
* gimplify.c (canonicalize_addr_expr): Cope with array of
incomplete type.
(gimplify_conversion): Remove redundant checks.
testsuite:
PR c++/18672
* g++.dg/opt/array1.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91865 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
for loops whose conditions are known at compile-time.
* gimplify.c (append_to_statement_list_1): Remove side_effects
parameter, this function should never be called if its false.
(append_to_statement_list): Only call append_to_statement_list_1
if t is non-NULL tree with side-effects.
(append_to_statement_list_force): Likewise, if t is not NULL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91784 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR middle-end/17909
* builtins.c (fold_builtin_next_arg): Export and return true
when there is a warning or an error.
(expand_builtin_va_start): When fold_builtin_next_arg returns true,
return const0_rtx.
(expand_builtin): Likewise.
* gimplify.c (gimplify_call_expr): Error out if there is not
enough arguments to va_start. Call fold_builtin_next_arg also
on the second argument.
* tree.h (fold_builtin_next_arg): Prototype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91727 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(handled_component_p): Likewise.
* alias.c (can_address_p): Reformat and simplify. Handle
REAL/IMAGPART_EXPR. Do not disable addressability based on
alias set zero.
* fold-const.c (build_fold_addr_expr_with_type): Remove duplicate
check for REAL/IMAGPART_EXPR.
* gimplify.c (gimplify_compound_lval): Likewise.
* tree-cfg.c (verify_expr): Likewise.
* tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
* tree-nested.c (build_addr, convert_nonlocal_reference): Likewise.
(convert_local_reference): Likewise.
* tree-ssa-loop-ivopts.c (prepare_decl_rtl): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91511 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR middle-end/18164
* gimplify.c (gimplify_asm_expr): If the length of an output operand
is zero, do not process it, just let it go through.
2004-11-28 Andrew Pinski <pinskia@physics.uc.edu>
* gcc.dg/pr18164.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91459 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91194 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* expr.c (expand_expr_real_1): Remove cases for EXIT_BLOCK_EXPR
and LABELED_BLOCK_EXPR.
* gimplify.c (gimplify_labeled_block_expr): Remove.
(gimplify_exit_block_expr): Remove.
(gimplify_expr): Don't call them.
* tree-inline.c (copy_body_r): Don't handle EXIT_BLOCK_EXPR
and LABELED_BLOCK_EXPR.
(estimate_num_insns_1): Likewise.
(walk_tree): Likewise.
* tree-pretty-print.c (dump_generic_node): Don't handle
EXIT_BLOCK_EXPR and LABELED_BLOCK_EXPR.
* tree.def (EXIT_BLOCK_EXPR): Moved to java-tree.def.
(LABELED_BLOCK_EXPR): Likewise.
* tree.h (LABELED_BLOCK_LABEL): Moved to java-tree.h.
(LABELED_BLOCK_BODY): Likewise.
(EXIT_BLOCK_LABELED_BLOCK): Likewise.
(EXIT_BLOCK_RETURN): Removed.
java/
* java-gimplify.c (java_gimplify_labeled_block_expr): New function.
(java_gimplify_exit_block_expr): New function.
(java_gimplify_expr): Use them to gimplify EXIT_BLOCK_EXPR and
LABELED_BLOCK_EXPR.
* java-tree.def (LABELED_BLOCK_EXPR): Moved from tree.def.
(EXIT_BLOCK_EXPR): Likewise.
* java-tree.h (LABELED_BLOCK_LABEL): Moved from tree.h.
(LABELED_BLOCK_BODY): Likewise.
(EXIT_BLOCK_LABELED_BLOCK): Likewise.
* jcf-write.c (generate_bytecode_insns): Don't handle the unused
EXIT_BLOCK_RETURN operand. Use EXIT_BLOCK_LABELED_BLOCK instead of
TREE_OPERAND.
* lang.c (java_tree_inlining_walk_subtrees): Handle EXIT_BLOCK_EXPR.
(java_dump_tree): Use LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY, and
EXIT_BLOCK_LABELED_BLOCK instead of TREE_OPERAND. Don't handle the
second operand of EXIT_BLOCK_EXPR.
* parse.y (find_expr_with_wfl): Use LABELED_BLOCK_BODY instead of
TREE_OPERAND.
(build_bc_statement): Use build1 to build EXIT_BLOCK_EXPR nodes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91149 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
lambda-code.c, postreload.c, predict.c, tree-sra.c,
tree-ssa-loop-manip.c, tree.c: Fix comment typos.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90596 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
through the operand if it is a useless type conversion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89488 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* gimplify.c (gimple_push_condition): Make sure that we don't
have any saved condition cleanup if we were at the top level.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88877 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tree-gimple.c (is_gimple_reg): Reject hard registers.
(is_gimple_asm_val): New.
* tree-gimple.h (is_gimple_asm_val): Declare.
* gimplify.c (gimplify_asm_expr): Use it.
* tree-pretty-print.c (print_declaration): Dump hard regs.
* tree-outof-ssa.c (check_replaceable): Don't check for hard regs.
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
* tree-ssa-pre.c (is_undefined_value): Likewise.
* tree-ssa-copy.c (may_propagate_copy): Likewise.
(may_propagate_copy_into_asm): Protect DECL_HARD_REGISTER.
* tree-ssa.c (warn_uninit): Likewise.
* tree.h (DECL_HARD_REGISTER): Check for VAR_DECL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88321 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tree.def (ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF):
New tree-codes.
* tree.h (REF_ORIGINAL): Consider ALIGN_INDIRECT_REF and
MISALIGNED_INDIRECT_REF.
* alias.c (get_alias_set, nonoverlapping_memrefs_p): Likewise.
* emit-rtl.c (mem_expr_equal_p, set_mem_attributes_minus_bitpos):
Likewise.
* expr.c (safe_from_p, expand_expr_real_1, rewrite_address_base)
(find_interesting_uses_address): Likewise.
* fold-const.c (non_lvalue, operand_equal_p): Likewise.
(build_fold_addr_expr_with_type): Likewise.
* gimplify.c (gimplify_addr_expr, gimplify_expr): Likewise.
* print-rtl.c (print_mem_expr): Likewise.
* tree-dump.c (dequeue_and_dump): Likewise.
* tree-eh.c (tree_could_trap_p): Likewise.
* tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
* tree-pretty-print.c (op_prio, op_symbol, dump_generic_node): Likewise.
* tree-ssa-alias.c (find_ptr_dereference, ptr_is_dereferenced_by):
Likewise.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
* tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
* tree-ssa-loop-im.c (for_each_index, is_call_clobbered_ref): Likewise.
* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
(add_address_candidates, rewrite_address_base): Likewise.
* tree-ssa-operands.c (get_expr_operands, get_indirect_ref_operands):
Likewise.
* tree.c (staticp, build1_stat): Likewise.
* tree.def (REALIGN_LOAD_EXPR, REALIGN_STORE_EXPR): New tree-codes.
* tree-pretty-print.c (dump_generic_node): Consider REALIGN_LOAD_EXPR.
* tree-ssa-operands.c (get_expr_operands): Likewise.
* expr.c (expand_expr_real_1): Likewise.
* optabs.h (vec_realign_store_optab, vec_realign_load_optab): New
optabs.
(OTI_vec_realign_store, OTI_vec_realign_load): New optab_index values
for the new optabs.
(expand_ternary_op): New function.
* genopinit.c (optabs): Handle the new optabs.
* optabs.c (optab_for_tree_code): Add cases for the new tree-codes.
(init_optabs): Initialize vec_realign_load_optab.
(expand_ternary_op): New functions.
* target-def.h (TARGET_VECTORIZE): New member for struct gcc_target.
(TARGET_VECTORIZE_MISALIGNED_MEM_OK): New member for targetm.vectorize.
(TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Likewise.
(TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Likewise.
* target.h (struct vectorize): New member for struct gcc_target.
(misaligned_mem_ok): New member for targetm.vectorize.
(builtin_mask_for_load): Likewise.
(builtin_mask_for_store): Likewise.
* targethooks.c (default_vect_misaligned_mem_ok): New function.
* targethooks.h (default_vect_misaligned_mem_ok): New function.
* config/rs6000/altivec.md (build_vector_mask_for_load): New
define_expand.
(vec_realign_load_v4si, vec_realign_load_v4sf, vec_realign_load_v8hi)
(vec_realign_load_v16qi): New define_insn.
* config/rs6000/rs6000.h (ALTIVEC_BUILTIN_MASK_FOR_LOAD):
(ALTIVEC_BUILTIN_MASK_FOR_STORE): New target builtins.
* config/rs6000/rs6000.c (altivec_builtin_mask_for_load):
(altivec_builtin_mask_for_store): New variables.
(rs6000_builtin_mask_for_load): New function. Implements
TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD.
(rs6000_builtin_mask_for_store): New function. Implements
TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE.
(rs6000_expand_builtin): Expand the target builtins
builtin_mask_for_load and builtin_mask_for_store.
(altivec_init_builtins): Initialize the new target builtins.
* config/i386/i386.c (ix86_misaligned_mem_ok): New function.
Implements the target hook TARGET_VECTORIZE_MISALIGNED_MEM_OK.
* tree-vectorizer.c (vect_create_data_ref): Renamed to
vect_create_data_ref_ptr. Returns a pointer instead of an array-ref.
(vect_create_addr_base_for_vector_ref): Additional argument (offset).
(vectorizable_store): Call vect_create_data_ref_ptr with additional
arguments, and create an indirect_ref with its return value data_ref.
Check aligned_access_p.
(vectorizable_load): Handle misaligned loads, using software-pipelined
scheme with REALIGN_LOAD_EXPR and ALIGN_INDIRECT_REF if
vec_realign_load_optab is supported, or using a scheme without
software-pipelining with MISALIGNED_INDIRECT_REF if the target hook
misaligned_mem_ok is supported.
(vect_finish_stmt_generation): Typo.
(vect_enhance_data_refs_alignment): Rename loop_vinfo to loop_info.
(vect_analyze_data_refs_alignment): Don't fail vectorization in the
presence of misaligned loads.
(vect_analyze_data_ref_access): Add check for constant init.
(vect_get_symbl_and_dr): Remove duplicate line.
* tree-vectorizer.h (DR_MISALIGNMENT): Add comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87948 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* builtins.c (simplify_builtin_va_start): Remove.
(simplify_builtin): Ditto.
(fold_builtin_strchr): Ditto.
(simplify_builtin_*): Rename remainders to fold_builtin_*.
(expand_builtin): Fix up for above changes.
(fold_builtin_1): Add new folders. Change for above.
(expand_builtin_va_start): Call fold_builtin_next_arg.
* gimplify.c (gimplify_call_expr): Fix calls to simplify_builtin.
* tree.h: Remove prototype for simplify_builtin.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87921 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Zack Weinberg <zack@codesourcery.com>
* alias.c (find_base_decl): Remove unreachable case '3' block.
* expr.c (safe_from_p): Abort if passed a type.
* tree-gimple.c (recalculate_side_effects): Abort if passed
anything other than an expression.
* tree-ssa-pre.c (phi_translate): Return expr immediately if
is_gimple_min_invariant is true for it. Reorder cases for clarity.
Abort on un-handled tree classes.
(valid_in_set): Likewise.
* tree.c (tree_code_class_strings): New static data.
* tree.h (enum tree_code_class): New.
(tree_code_class_strings): Declare.
(TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P)
(REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P)
(STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros.
(TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS)
(checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update.
* tree.def, c-common.def, objc/objc-tree.def: Use
tree_code_class enumeration constants instead of code letters.
* alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c
* c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c
* emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c
* langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c
* tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c
* tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c
* tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c
* tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c
* tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c
* tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c
* tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c
* config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c
* config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c
Update to match.
* LANGUAGES: Add note about change.
ada:
* ada-tree.def: Use tree_code_class enumeration constants
instead of code letters.
* ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
Update for new tree-class enumeration constants.
cp:
* cp-tree.def: Use tree_code_class enumeration constants
instead of code letters.
* call.c, class.c, cp-gimplify.c, cp-lang.c, cxx-pretty-print.c
* mangle.c, pt.c, semantics.c, tree.c, typeck.c:
Update for new tree-class enumeration constants.
fortran:
* f95-lang.c, trans-expr.c, trans.c: Update for new tree-class
enumeration constants.
java:
* java-tree.def: Use tree_code_class enumeration constants
instead of code letters.
* java-gimplify.c, jcf-write.c, lang.c, parse.y: Update for
new tree-class enumeration constants.
treelang:
* treetree.c: Update for new tree-class enumeration constants.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87675 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
gimplify.c, lambda-code.c, optabs.c, predict.c,
tree-scalar-evolution.c, tree-sra.c, tree-ssa-loop-ch.c,
tree-ssa.c, vec.h: Fix comment typos. Follow spelling
conventions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87637 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* gimplify.c (gimplify_addr_expr): Don't inadvertently change types
while folding <ADDR_EXPR <INDIRECT_REF X>>.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87528 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
temporary variables.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87335 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cprop_insn, do_local_cprop, local_cprop_pass, find_bypass_set,
process_insert_insn, insert_insn_end_bb, pre_insert_copy_insn,
hoist_code, extract_mentioned_regs_helper, compute_store_table,
insert_store): Use gcc_assert and gcc_unreachable.
* ggc-common.c (ggc_splay_alloc, ggc_splay_dont_free,
gt_pch_note_object, gt_pch_note_reorder, relocate_ptrs,
ggc_record_overhead): Likewise.
* ggc-page.c (alloc_page, free_page, ggc_set_mark, ggc_marked_p,
init_ggc, ggc_push_context, ggc_recalculate_in_use_p,
ggc_pop_context, clear_marks, validate_free_objects,
ggc_pch_read): Likewise.
* ggc-zone.c (ggc_allocated_p, free_chunk, ggc_set_mark,
ggc_marked_p, ggc_get_size, init_ggc, destroy_ggc_zone,
ggc_push_context, check_cookies, ggc_collect,
ggc_print_statistics): Likewise.
* gimple-low.c (lower_function_body, lower_stmt,
lower_bind_expr): Likewise.
* gimplify.c (gimple_tree_eq, push_gimplify_context,
pop_gimplify_context, gimple_pop_condition, create_tmp_var,
declare_tmp_vars, gimple_add_tmp_var, annotate_all_with_locus,
mostly_copy_tree_r, gimplify_return_expr, gimplify_switch_expr,
gimplify_case_label_expr, gimplify_exit_block_expr,
canonicalize_component_ref, gimplify_compound_lval,
gimplify_self_mod_expr, gimplify_call_expr,
gimplify_init_ctor_eval, gimplify_init_constructor,
gimplify_modify_expr, gimplify_save_expr, gimplify_target_expr,
gimplify_expr, check_pointer_types_r,
force_gimple_operand): Likewise.
* global.c (global_alloc, build_insn_chain): Likewise.
* graph.c (clean_graph_dump_file,
finish_graph_dump_file): Likewise.
gcov-io.c (gcov_open): Use GCOV_CHECK.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87240 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gimplify.c, gthr-nks.h, hooks.c, lambda-code.c, lambda-mat.c,
stor-layout.c, target.h, tree-cfg.c, tree-chrec.c,
tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
tree-mudflap.c, tree-optimize.c, tree-scalar-evolution.c,
tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dce.c,
tree-ssa-pre.c, tree-vectorizer.c, tree-vectorizer.h, tree.h,
vec.h: Fix comment formatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87105 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
et-forest.c, expr.c, gimplify.c, global.c, gthr-lynx.h,
hard-reg-set.h, modulo-sched.c, optabs.c, postreload-gcse.c,
tree-data-ref.c, tree-flow.h, tree-if-conv.c, tree-inline.c,
tree-sra.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
tree-ssa-loop-niter.c, tree-ssa-operands.c,
tree-ssa-operands.h, tree-ssa-propagate.c,
tree-ssa-propagate.h, tree-ssa-threadupdate.c, value-prof.c,
vec.c, vec.h: Fix comment typos. Follow spelling conventions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87104 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.in (tree-ssa-loop-ivopts.c): Add.
* cfgloop.h (target_avail_regs, target_res_regs, target_small_cost,
target_pres_cost, target_spill_cost): Declare.
* cfgloopanal.c (avail_regs, res_regs, small_cost, pres_cost,
spill_cost): Renamed to ...
(target_avail_regs, target_res_regs, target_small_cost,
target_pres_cost, target_spill_cost): ... and exported.
(init_set_costs, global_cost_for_size): Work with renamed variables.
* common.opt (flag_ivopts): New flag.
* expr.c (expand_expr_real_1): Handle SSA_NAME case. Handle
REF_ORIGINAL.
* gimplify.c (struct gimplify_ctx): Add into_ssa field.
(internal_get_tmp_var, gimplify_modify_expr, gimplify_expr): Support
generating SSA form.
(force_gimple_operand): New function.
* timevar.def (TV_TREE_LOOP_IVOPTS): New timevar.
* tree-cfg.c (stmt_bsi): New function.
* params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
PARAM_IV_MAX_CONSIDERED_USES): New.
* tree-flow.h (stmt_bsi, tree_ssa_iv_optimize, split_loop_exit_edge,
bsi_insert_on_edge_immediate_loop. standard_iv_increment_position,
ip_end_pos, ip_normal_pos, force_gimple_operand): Declare.
* tree-gimple.c (is_gimple_formal_tmp_var): Accept ssa names.
* tree-nested.c (build_addr): Export.
* tree-optimize.c (init_tree_optimization_passes): Add
pass_iv_optimize.
* tree-pass.h (pass_iv_optimize): Declare.
* tree-ssa-loop-im.c (for_each_index): Handle REALPART_EXPR and
IMAGPART_EXPR.
* tree-ssa-loop-manip.c (create_iv): Force the base to be acceptable
as a phi node argument.
(split_loop_exit_edge, bsi_insert_on_edge_immediate_loop,
ip_end_pos, ip_normal_pos, standard_iv_increment_position): New
functions.
* tree-ssa-loop-niter.c (zero_p, unsigned_type_for): Export.
* tree-ssa-loop.c (tree_ssa_loop_ivopts, gate_tree_ssa_loop_ivopts,
pass_iv_optimize): New pass.
* tree-ssa-operands.c (get_indirect_ref_operands): Handle REF_ORIGINAL.
* tree-ssanames.c (release_ssa_name): Allow calling with var = NULL.
* tree.c (build_int_cst_type, cst_and_fits_in_hwi): New functions.
* tree.h (REF_ORIGINAL): New macro.
(build_int_cst_type, unsigned_type_for, zero_p,
cst_and_fits_in_hwi, build_addr): Declare.
* doc/invoke.texi (-fivopts): Document.
(PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
PARAM_IV_MAX_CONSIDERED_USES): Document.
* doc/passes.texi: Document induction variable optimizations pass.
* gcc.dg/tree-ssa/loop-2.c: New test.
* gcc.dg/tree-ssa/loop-3.c: New test.
* gcc.dg/tree-ssa/loop-4.c: New test.
* gcc.dg/tree-ssa/loop-5.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87100 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87088 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GGC.
* ggc-page.c: include tree-flow.h.
(extra_order_size_table): Add stmt_ann_d.
(STAT_LABEL): Rename from ....
(LABEL): ... this one.
* Makefile.in (ggc-page.o): Add dependency.
* ggc-common.c (ggc_force_collect): New global variable.
(loc_description): Add fields "freed", "collected"
(ptr_hash): New static hash
(ptr_hash_entry): New structure.
(hash_ptr,eq_ptr,ggc_prune_ptr): New static functions.
(ggc_record_overhead): Take ptr argument, record it
(ggc_prune_overhead_list, ggc_free_overhead): New functions.
(cmp_statistics): Imrove sorting.
(dump_ggc_loc_statistics): Output newly collected statistics
* ggc-page.c (ggc_alloc): Update call of ggc_record_overhead
(ggc_free): Call ggc_free_overhead.
(ggc_collect): Force collection when asked to be forced.
(ggc_collect): Call ggc_prune_overhead_list.
* ggc.h (ggc_force_collect): Declare
(ggc_record_overhead): Update prototype.
(ggc_free_overhead, ggc_prune_overhead_list): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86974 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(c_sizeof_of_alignof_type): Likewise.
* expr.c (array_ref_element_size): Likewise.
(highest_pow2_factor_for_target): Likewise.
* gimplify.c (canonicalize_addr_expr): Likewise.
(gimplify_compound_lval): Likewise.
* stor-layout.c (finalize_record_size, finalize_type_size): Likewise.
* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.
* varasm.c (assemble_variable): Likewise.
(output_constant_def_contents): Alignments are unsigned.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86848 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* cp/decl.c (expand_static_init): Use thread-safety API.
(register_dtor_fn): Return the call, don't expand it.
* cp/tree.c (add_stmt_to_compound): New fn.
(stabilize_call): Use it.
* gimplify.c (gimplify_cleanup_point_expr): Handle CLEANUP_EH_ONLY.
(gimple_push_cleanup): Add eh_only parm.
(gimplify_target_expr): Pass it.
* c.opt (-fno-threadsafe-statics): New option.
* c-opts.c (c_common_handle_option): Handle it.
* c-common.h (flag_threadsafe_statics): Declare it.
* c-common.c (flag_threadsafe_statics): Record it.
* doc/invoke.texi: Document it.
* tsystem.h (_GNU_SOURCE): Define.
* gthr-posix.h (__gthread_recursive_mutex_t): New typedef.
(__GTHREAD_RECURSIVE_MUTEX_INIT): New macro.
(__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): New macro.
(__gthread_recursive_mutex_init_function): New fn.
(__gthread_recursive_mutex_lock): New fn.
(__gthread_recursive_mutex_trylock): New fn.
(__gthread_recursive_mutex_unlock): New fn.
* gthr-solaris.h, gthr-single.h, gthr-dce.h: Likewise.
* gthr-win32.h, gthr-vxworks.h: Likewise.
* gthr.h: Document.
* libsupc++/guard.cc (static_mutex): Internal class implementing a
recursive mutex which controls initialization of local statics.
(__gnu_cxx::recursive_init): New exception class.
(__cxa_guard_acquire): Deal with locking and recursion detection.
(acquire_1, __cxa_guard_abort, __cxa_guard_release): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86687 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
optimizing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86563 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Andrew Pinski <apinski@apple.com>
* gimplify.c (gimplify_array_ref_to_plus): Delete.
(gimplify_addr_expr): Do not call gimplify_array_ref_to_plus
for ARRAY_REF.
* config/rs6000/rs6000.c (altivec_expand_builtin): Go passed
ARRAY_REF also to get to the STRING_CST.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86487 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
| |
* gimplify.c (gimplify_save_expr): Use it.
* expr.c (expand_expr_real_1): Likewise. Also set DECL_IGNORED_P
on the temporary variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86387 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* gimplify.c (gimplify_minimax_expr): Remove.
(gimplify_expr) <MIN_EXPR, MAX_EXPR>: Remove special handling.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86245 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(DECL_GIMPLE_FORMAL_TEMP_P): New.
* gimplify.c (pop_gimplify_context): Clear it.
(lookup_tmp_var): Set it, if is_formal.
(gimplify_init_constructor): Use rhs_predicate_for for COMPLEX.
Use is_gimple_val for VECTOR. Simplify return value.
(gimplify_save_expr): Use and set DECL_GIMPLE_FORMAL_TEMP_P.
(gimplify_expr): Likewise.
* tree-gimple.c (is_gimple_formal_tmp_rhs): Rename from
is_gimple_tmp_rhs for clarity. Update all callers.
(is_gimple_reg_rhs): Simplify logic.
(is_gimple_formal_tmp_var): Rename from is_gimple_tmp_var for
clarity; use DECL_GIMPLE_FORMAL_TEMP_P.
(is_gimple_formal_tmp_reg): Similarly.
* tree-gimple.h: Update decls.
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Use
DECL_IGNORED_P, not DECL_ARTIFICIAL. Tidy formatting.
* tree-ssa-live.c (var_union, type_var_init): Likewise.
java/
* java-gimplify.c (java_gimplify_expr): Move '2' handling into
default case. Treat '<' similarly. Update for
is_gimple_formal_tmp_var name change.
testsuite/
* gcc.dg/20040206-1.c: XFAIL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86176 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
(gimplify_init_ctor_preeval_1): New.
(gimplify_init_ctor_preeval): New.
(gimplify_init_ctor_eval): New.
(gimplify_init_constructor): Use them. Always gimplify the LHS
object first.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85845 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* builtins.c (expand_builtin) <BUILT_IN_STACK_ALLOC>: Remove.
* dwarf2out.c (loc_descriptor): Handle PARALLEL here ...
(add_location_or_const_value_attribute): ... not here. Use
loc_descriptor_from_tree if possible.
(loc_descriptor_from_tree_1): Rename from loc_descriptor_from_tree.
Simplify address handling. Handle DECL_VALUE_EXPR. Handle register
values specially.
(loc_descriptor_from_tree): New. Update callers.
* expr.c (expand_var): Ignore DECL_VALUE_EXPR variables.
* gimplify.c (gimplify_decl_expr): Lower variable sized types to
pointer plus dereference. Set DECL_VALUE_EXPR. Set save_stack.
(gimplify_call_expr): Do not recognize BUILT_IN_STACK_ALLOC
and BUILT_IN_STACK_RESTORE.
(gimplify_expr): Lower DECL_VALUE_EXPR decls.
* stmt.c (expand_stack_alloc): Remove.
* tree-mudflap.c (mx_register_decls): Don't look for
BUILT_IN_STACK_ALLOC.
* tree-nested.c (convert_local_reference): Likewise.
* tree.h (DECL_VALUE_EXPR): New.
ada/
* utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
add __builtin_alloca.
fortran/
* f95-lang.c (gfc_init_builtin_functions): Remove
__builtin_stack_alloc, add __builtin_alloca.
* trans-array.c (gfc_trans_auto_array_allocation): Use DECL_EXPR.
* trans-decl.c (gfc_trans_auto_character_variable): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85794 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* gimplify.c (gimplify_call_expr): Make return in memory explicit.
(gimplify_modify_expr_rhs): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85676 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* function.c (aggregate_value_p): Check DECL_BY_REFERENCE.
(assign_parm_find_data_types): Remove code for old front end
invisible reference handling.
(assign_parms): Handle DECL_BY_REFERENCE on the RESULT_DECL.
(expand_function_end): Likewise.
* gimplify.c (gimplify_return_expr): Handle a dereferenced
RESULT_DECL.
* tree-inline.c (copy_body_r): Don't bother looking for &* anymore.
(declare_return_variable): Handle DECL_BY_REFERENCE.
* cp/cp-gimplify.c (is_invisiref_parm): Also handle RESULT_DECL.
(cp_genericize_r): Use convert_from_reference.
Don't dereference a RESULT_DECL directly inside a RETURN_EXPR.
(cp_genericize): Handle the RESULT_DECL. Unset TREE_ADDRESSABLE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85675 138bc75d-0d04-0410-961f-82ee72b054a4
|