Jan Hubicka [Thu, 11 Sep 2008 12:41:36 +0000 (14:41 +0200)]
cgraph.c (cgraph_release_function_body): Plug memory leak on ipa_transforms_to_apply and CFG...
* cgraph.c (cgraph_release_function_body): Plug memory leak on
ipa_transforms_to_apply and CFG; ggc_free gimple df and struct function
so we are sure we do not dangle it forever.
* function.c (outer_function_chain, find_function_data): Remove.
(function_context_stack): New.
(push_function_context, pop_function_context): Update.
* function.h (struct function): Remove pointer outer.
(outer_function_chain, find_function_data): Remove.
* stmt.c (force_label_rtx): Remove dead call of find_function_data.
Jan Hubicka [Thu, 11 Sep 2008 12:34:53 +0000 (14:34 +0200)]
re PR middle-end/37448 (cannot compile big function)
PR middle-end/37448
* tree-inline.c (add_lexical_block): Replace with ...
(prepend_lexical_block): ... prepend at begginig.
(remap_blocks): Use it and reverse later.
(expand_call_inline): Use prepend_lexical_block.
Daniel Kraft [Thu, 11 Sep 2008 07:28:18 +0000 (09:28 +0200)]
re PR fortran/36214 (Wrong simplification of BOZ constants)
2008-09-11 Daniel Kraft <d@domob.eu>
PR fortran/36214
* simplify.c (simplify_cmplx): Added linebreak to long line.
* target-memory.c (gfc_convert_boz): Fix indentation.
(gfc_interpret_float): Set mpfr precision to right value before
calling mpfr_init.
2008-09-11 Daniel Kraft <d@domob.eu>
PR fortran/36214
* gfortran.dg/boz_9.f90: Corrected test.
* gfortran.dg/boz_13.f90: New test.
* gfortran.dg/boz_14.f90: New test.
Joel Sherrill [Wed, 10 Sep 2008 20:11:49 +0000 (20:11 +0000)]
Makefile.in: Switch RTEMS to s-interr-hwint.adb.
2008-09-10 Joel Sherrill <joel.sherrill@oarcorp.com>
* gcc-interface/Makefile.in: Switch RTEMS to s-interr-hwint.adb.
* s-osinte-rtems.ads: Add shared hardware interrupt adapter
layer. RTEMS binds to OS provided adapter routines so there are
no modifications to s-osinte-rtems.adb.
Sebastian Pop [Wed, 10 Sep 2008 14:46:35 +0000 (14:46 +0000)]
re PR tree-optimization/37388 ([graphite] No warn with "-O0 -fgraphite" when cloog or ppl are not present)
2008-09-10 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/37388
* toplev.c (process_options): Fail and warn when graphite
flags are used, but the compiler has not been configured
with graphite libraries.
* graphite.c (graphite_transform_loops): Remove printfs
to dump_file for the case when graphite is not available.
H.J. Lu [Wed, 10 Sep 2008 14:14:28 +0000 (07:14 -0700)]
re PR target/37434 (ICE in extract_insn, at recog.c:2027)
gcc/
2008-09-10 H.J. Lu <hongjiu.lu@intel.com>
PR target/37434:
* config/i386/i386.c (ix86_expand_vector_init_interleave): Force
the even element into register.
(ix86_expand_vector_init_general): Don't use
ix86_expand_vector_init_interleave on V16QImode and V8HImode
if we can't move from GPR to SSE register directly.
bfin.c (workaround_speculation): Correct algorithm to not lose track of the number of NOPs needed.
* config/bfin/bfin.c (workaround_speculation): Correct algorithm to
not lose track of the number of NOPs needed. Number of NOPs needed
for sync vs. loads workaround was switched; corrected. Run second
pass for all workarounds. No NOPs needed after call insns. Change
second pass to use find_next_insn_start and find_load helpers in order
to properly detect parallel insns.
* config/bfin/bfin.md (cbranch_with_nops): Increase length.
Jakub Jelinek [Wed, 10 Sep 2008 08:00:40 +0000 (10:00 +0200)]
re PR tree-optimization/37353 (ICE: vector VEC(gimple,base) push domain error, in tree_call_cdce at tree-call-cdce.c:890)
PR tree-optimization/37353
* tree-call-cdce.c (cond_dead_built_in_calls): Remove.
(shrink_wrap_conditional_dead_built_in_calls): Add calls argument, use
calls instead of cond_dead_built_in_calls.
(tree_call_cdce): Add cond_dead_built_in_calls automatic variable,
initalize the vector only before adding first entry. Use VEC_safe_push
instead of VEC_quick_push. Pass cond_dead_built_in_calls to
shrink_wrap_conditional_dead_built_in_calls call.
Ira Rosen [Wed, 10 Sep 2008 07:18:52 +0000 (07:18 +0000)]
re PR middle-end/37385 (ICE in set_mem_alias_set with the vectorizer and function pointers)
PR tree-optimization/37385
* tree-vect-transform.c (vect_create_data_ref_ptr): Add a new argument,
and use it as a vector type if not NULL.
(vectorizable_store): Call vect_create_data_ref_ptr with the type of
vectorized rhs.
(vect_setup_realignment): Call vect_create_data_ref_ptr with additional
argument.
(vectorizable_load): Likewise.
re PR other/37265 (mt_allocator.cc:646: ICE: in gt_ggc_m_S, at ggc-page.c:1281)
PR other/37265
* dwarf2asm.c (dw2_force_const_mem): Use unstripped symbol name for
splay tree lookup.
(dw2_output_indirect_constant_1): Use unstripped name in symbol
reference.
Jakub Jelinek [Tue, 9 Sep 2008 22:06:20 +0000 (00:06 +0200)]
re PR middle-end/37356 (ICE in gsi_insert_seq_nodes_after, at gimple-iterator.c:222)
PR middle-end/37356
* tree-inline.c (copy_bb): Insert stmt into copy_basic_block before
calling gimple_regimplify_operands on it. Iterate over all newly
added statements, not just the last one.
(insert_init_stmt): Insert stmt into seq first, then call
gimple_regimplify_operands on it. Don't create new gimplification
context, nor find referenced vars.
* g++.dg/tree-ssa/pr37356.C: New test.
Co-Authored-By: Jan Hubicka <jh@suse.cz>
From-SVN: r140177
Paolo Carlini [Tue, 9 Sep 2008 21:33:46 +0000 (21:33 +0000)]
cinttypes: Restore __STDC_FORMAT_MACRO after inclusion of <inttypes.h>.
2008-09-09 Paolo Carlini <paolo.carlini@oracle.com>
* include/tr1_impl/cinttypes: Restore __STDC_FORMAT_MACRO after
inclusion of <inttypes.h>.
* include/tr1_impl/cstdint: Likewise for __STDC_LIMIT_MACROS and
__STDC_CONSTANT_MACROS after <stdint.h>.
* include/bits/postypes.h: Likewise.
Jakub Jelinek [Tue, 9 Sep 2008 19:19:41 +0000 (21:19 +0200)]
re PR other/37419 (mpfr related memory corruption)
PR other/37419
* ipa-prop.h (ipa_propagate_indirect_call_infos): Change last argument
to pointer to vector pointer.
* ipa-prop.c (ipa_propagate_indirect_call_infos,
propagate_info_to_inlined_callees): Likewise.
(update_call_notes_after_inlining): Likewise. Push new indirect edge
to *new_edges instead of new_edges. Reread IPA_EDGE_REF after
ipa_check_create_edge_args.
* ipa-inline.c (cgraph_decide_recursive_inlining): Change last argument
to pointer to vector pointer.
(cgraph_decide_inlining_of_small_function): Adjust
cgraph_decide_recursive_inlining and ipa_propagate_indirect_call_infos
calls.
Sebastian Pop [Tue, 9 Sep 2008 18:39:45 +0000 (18:39 +0000)]
re PR middle-end/37375 ([graphite] Parameter detection and scev only take a surrounding loop as border)
2008-09-05 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/37375
* tree-scalar-evolution.c (scev_info_str): Add field instantiated_below.
(new_scev_info_str, eq_scev_info, find_var_scev_info,
set_scalar_evolution, get_scalar_evolution, get_instantiated_value,
set_instantiated_value): Pass instantiated_below.
(analyze_scalar_evolution_1, analyze_scalar_evolution): Update calls to
above functions.
(instantiate_scev_1, instantiate_scev): Pass a basic block above which the
definitions are not instantiated.
* tree-scalar-evolution.h (instantiate_scev): Update declaration.
(block_before_loop): New.
* tree-data-ref.c (dr_analyze_indices): Update uses of instantiate_scev.
* graphite.c (block_before_scop): New.
(loop_affine_expr, stmt_simple_for_scop_p, harmful_stmt_in_bb): Pass a
basic block, not a loop for determining the parameters.
(scopdet_edge_info, build_scops_1): Do not pass outermost loop in the
scop.
(idx_record_params, find_params_in_bb, find_scop_parameters,
build_loop_iteration_domains, add_conditions_to_domain): Update calls
to instantiate_scev.
* Makefile.in (cfgloopmanip.o): Add missing dependency on TREE_FLOW_H.
Daniel Kraft [Tue, 9 Sep 2008 18:08:08 +0000 (20:08 +0200)]
re PR fortran/37429 (Checks when assigning from a type-bound procedure broken)
2008-09-09 Daniel Kraft <d@domob.eu>
PR fortran/37429
* resolve.c (expression_rank): Added assertion to guard against
EXPR_COMPCALL expressions.
(resolve_compcall): Set expression's rank from the target procedure's.
2008-09-09 Daniel Kraft <d@domob.eu>
PR fortran/37429
* gfortran.dg/typebound_call_7.f03: New test.
* gfortran.dg/typebound_call_8.f03: New test.
Makefile.in (mips-tfile.o-warn): Don't error out on mips-tfile.c warnings.
* Makefile.in (mips-tfile.o-warn): Don't error out on mips-tfile.c
warnings.
* mips-tfile.c (copy_object): Cast alloca result to int *.
* mips-tdump.c (print_symbol): Cast xmalloc return values to
proper types.
Rename class to sclass.
(read_tfile): Cast read_seek return values to proper types.
Cast xcalloc return value to proper type.
haifa-sched.c (advance_one_cycle): Do not print '\n' before printing dump message.
* haifa-sched.c (advance_one_cycle): Do not print '\n' before printing
dump message.
(choose_ready): When first insn is chosen from the ready list, also
dump it.
* config/bfin/bfin.c (n_regs_to_save): New static variable.
(push_multiple_operation, pop_multiple_operation): Set it.
(workaround_rts_anomaly): New function.
(workaround_speculation): New function, broken out of bfin_reorg.
(bfin_reorg): Call the new functions.
re PR tree-optimization/37354 (ICE: in find_func_aliases, at tree-ssa-structalias.c:3906)
2008-09-09 Richard Guenther <rguenther@suse.de>
PR middle-end/37354
PR middle-end/30165
* gimplify.c (gimplify_conversion): Change conversions of
non-register type to VIEW_CONVERT_EXPRs.
(gimplify_addr_expr): If we need to make the operand
addressable make sure to use a properly initialized
temporary for that so it gets a valid gimple store.
Jakub Jelinek [Mon, 8 Sep 2008 21:31:36 +0000 (23:31 +0200)]
re PR middle-end/37393 (error: EH edge 10->12 is missing)
PR middle-end/37393
* tree-inline.c (copy_bb): When replacing a gimple_call_va_arg_pack_p
call stmt by new_call, clear gimple_bb on stmt after gsi_replace.
Jakub Jelinek [Mon, 8 Sep 2008 21:30:23 +0000 (23:30 +0200)]
re PR middle-end/37414 (ICE with -ffast-math)
PR middle-end/37414
* predict.c (optimize_function_for_size_p): Don't segfault if
FUN is NULL.
* fold-const.c (LOGICAL_OP_NON_SHORT_CIRCUIT, fold_truthop,
tree_swap_operands_p): Don't test cfun != NULL before calling
optimize_function_for_s*_p.
Jason Merrill [Mon, 8 Sep 2008 20:52:44 +0000 (16:52 -0400)]
re PR c++/37302 (function parameters are declared too late)
PR c++/37302
* parser.c (cp_parser_parameter_declaration_list): Process the
PARM_DECLs as we go and push them. Return a TREE_LIST.
(cp_parser_parameter_declaration_clause): Return a TREE_LIST.
(cp_parser_direct_declarator): Create a binding level and
suppress deprecated warnings in the parameter list.
(make_call_declarator): PARMS is now a tree.
* cp-tree.h (struct cp_declarator): Function parms are now a tree.
* decl.h (enum deprecated_states, deprecated_state): Move here.
* decl.c: From here.
(type_is_deprecated): New fn.
(grokparms): PARMLIST is a tree now. Warn about parms that
use deprecated types.
* mangle.c (write_expression): Handle PARM_DECL, CALL_EXPR and
0-operand cast.
* pt.c (tsubst) [DECLTYPE_TYPE]: Set skip_evaluation.
(tsubst_copy) [PARM_DECL]: Handle a PARM_DECL used outside of a
function.
* name-lookup.c (pushtag): Look through function parameter scopes.
(pushdecl_maybe_friend): Don't set DECL_CONTEXT on a PARM_DECL
when we're parsing a function declarator.
Jakub Jelinek [Mon, 8 Sep 2008 19:31:18 +0000 (21:31 +0200)]
re PR middle-end/37337 (ICE: verify_flow_info failed)
PR middle-end/37337
* tree-ssa-dom.c (optimize_stmt): Call maybe_clean_or_replace_eh_stmt
even when a stmt has been gimple_modified_p, but after fold_stmt is
not any longer. Remove unneeded may_have_exposed_new_symbols
initializations.
PR fortran/37203
* gfortran.d/reshape_order_1.f90: New test case.
* gfortran.d/reshape_order_2.f90: New test case.
* gfortran.d/reshape_order_3.f90: New test case.
* gfortran.d/reshape_order_4.f90: New test case.