OSDN Git Service

PR 26651
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 65cb475..570342c 100644 (file)
@@ -1,3 +1,202 @@
+2006-04-13  Richard Henderson  <rth@redhat.com>
+
+       PR 26651
+       * gimple-low.c (lower_omp_directive): Remove dead code.
+       (lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL.
+       * gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE.
+       * omp-low.c (struct omp_region): Move to tree-flow.h.
+       (root_omp_region): Export.
+       (omp_regions, lookup_omp_region): Remove.
+       (determine_parallel_type): Update for struct omp_region changes.
+       (dump_omp_region): Dump regions with block numbers.
+       (new_omp_region): Take type and block instead of stmt; malloc
+       instead of ggc.
+       (free_omp_region_1, free_omp_regions): New.
+       (expand_parallel_call): Take entry_stmt as argument; update for
+       changes to omp_region.
+       (remove_exit_barrier): Rewrite to update OMP_RETURN_NOWAIT.
+       (remove_exit_barriers): New.
+       (expand_omp_parallel): Update for struct omp_region changes.
+       (expand_omp_synch): Likewise.
+       (expand_omp): Likewise.
+       (expand_omp_for_static_nochunk): Likewise; update for OMP_CONTINUE.
+       (expand_omp_for_static_chunk): Likewise.
+       (expand_omp_for): Likewise.
+       (expand_omp_for_generic): Likewise; emit the proper GOMP_loop_end call.
+       (expand_omp_sections): Similarly, with GOMP_sections_end.
+       (expand_omp_single): New.
+       (build_omp_regions_1): Update for OMP_CONTINUE.
+       (execute_expand_omp): Call remove_exit_barriers, free_omp_regions.
+       (lower_omp_sections): Expand with OMP_CONTINUE, do not collect
+       OMP_SECTIONS_SECTIONS.
+       (lower_omp_single_simple): Don't emit barrier here.
+       (lower_omp_single_copy): Likewise.
+       (lower_omp_single): Fix bindings, and lower to straightline now.
+       (lower_omp_master, lower_omp_ordered): Likewise.
+       (lower_omp_critical): Likewise.
+       (lower_omp_for): Likewise.  Emit OMP_CONTINUE.
+       * tree-cfg.c (make_edges): Collect an omp_region tree, use it for
+       omp edges, free it afterward.
+       (make_omp_sections_edges): Remove.
+       (is_ctrl_altering_stmt): Don't bother checking flag_openmp.
+       (move_stmt_r): Handle OMP_CONTINUE.
+       * tree-flow.h (struct omp_region): Move from omp-low.c.  Switch 
+       statement pointers to basic blocks.  Add type member.
+       (root_omp_region, new_omp_region, free_omp_regions): Declare.
+       * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN, OMP_CONTINUE.
+       * tree-inline.c (estimate_num_insns_1): Likewise.
+       * tree-pretty-print.c (dump_generic_node): Likewise.
+       * tree-ssa-operands.c (get_expr_operands): Likewise.
+       * tree.def (OMP_SECTIONS): Remove OMP_SECTIONS_SECTIONS operand.
+       (OMP_RETURN): Rename from OMP_RETURN_EXPR.
+       (OMP_CONTINUE): New.
+       * tree.h (OMP_DIRECTIVE_P): Add OMP_CONTINUE.
+       (OMP_SECTIONS_SECTIONS): Remove.
+       (OMP_SECTION_LAST): New.
+       (OMP_RETURN_NOWAIT): New.
+
+2006-04-13  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (native_encode_vector, native_interpret_real):
+       Correct obvious mistakes in the previous check-in.
+
+2006-04-13  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (native_encode_expr): New function to encode
+       the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST
+       or VECTOR_CST into a specified buffer.
+       (native_encode_int): New function.
+       (native_encode_real): New function.
+       (native_encode_complex): New function.
+       (native_encode_vector): New function.
+       (native_interpret_expr): Inverse of native_encode_expr to convert
+       a target representation into an INTEGER_CST, REAL_CST etc...
+       (native_interpret_int): New function.
+       (native_interpret_real): New function.
+       (native_interpret_complex): New function.
+       (native_interpret_vector): New function.
+       (fold_view_convert_expr): New function to constant fold/evaluate
+       a VIEW_CONVERT_EXPR of a suitable constant expression.
+       (fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr.
+       Change call of build1 to fold_build1 when constructing a
+       VIEW_CONVERT_EXPR.
+
+2006-04-13  Paolo Bonzini  <bonzini@gnu.org>
+           Ulrich Weigand  <uweigand@de.ibm.com>
+
+       PR target/27006
+       * config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n
+       to be even.
+
+2006-04-13  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/26459
+       * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
+       optimize to lo_sum for DFmode if !TARGET_FPRS.
+
+2006-04-12  Kazu Hirata  <kazu@codesourcery.com>
+
+       * tree-ssa-alias.c (set_initial_properties, init_alias_info,
+       delete_alias_info, compute_flow_sensitive_aliasing,
+       group_aliases): Use VEC instead of VARRAY.
+       * tree-ssa-structalias.c (update_alias_info): Likewise.
+       * tree-ssa-structalias.h (alias_info): Change the type of
+       processed_ptrs to VEC(tree,heap) *.
+
+2006-04-12  J"orn Rennecke <joern.rennecke@st.com>
+
+       PR target/27060
+        * config/sh/lib1funcs.h: New file, broken out of:
+        * config/sh/lib1funcs.asm.
+        * config/sh/lib1funcs.h (DR00, DR01, DR20, DR21, DR40, DR41):
+       New macros.
+       * config/sh/lib1funcs.asm (udivsi3_i4): Use them.
+        * config/sh/lib1funcs-Os-4-200.asm: New file.
+       * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-Os-4-200.
+       * config/sh/t-sh (OPT_EXTRA_PARTS): New variable.
+       (EXTRA_MULTILIB_PARTS): Include it.
+       ($(T)sdivsi3_i4i-Os-4-200.o): New rule.
+       ($(T)udivsi3_i4i-Os-4-200.o, $(T)libgcc-Os-4-200.a): Likewise.
+       * config/sh/t-superh (EXTRA_MULTILIB_PARTS): Include OPT_EXTRA_PARTS.
+       * config/sh/sh.h (OVERRIDE_OPTIONS): Recognize -mdiv=call-table for
+       TARGET_SH2.
+
+2006-04-12  Kazu Hirata  <kazu@codesourcery.com>
+
+       * Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h.
+       * tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete,
+       tpa_compact, root_var_init, type_var_init): Use VEC instead of
+       VARRAY.
+       * tree-ssa-live.h: Include vecprim.h.
+       (tree_partition_associator_d): Change the type of
+       first_partition to VEC(int,heap) *.
+       (tpa_first_partition): Use VEC instead of VARRAY.
+
+       * Makefile.in (GTFILES): Move functions.h after tree.h.
+       * function.c (reset_block_changes, record_block_change,
+       check_block_change, free_block_changes): Use VEC instead of
+       VARRAY.
+       * function.h (function): Change the type of
+       ib_boundaries_block to VEC(tree,gc) *.
+       * tree-inline.c (copy_cfg_body): Initialize
+       ib_boundaries_block to NULL instead of (varray_type) 0.
+
+2006-04-12  Roger Sayle  <roger@eyesopen.com>
+
+       * expr.c (emit_group_store): Correct operand order in call to
+       subreg_lowpart_offset.  Always create paradoxical SUBREGs with
+       a SUBREG_BYTE of zero.
+
+2006-04-12  Richard Guenther  <rguenther@suse.de>
+
+       * profile.c (compute_branch_probabilities): Remove code
+       encapsulated in !ir_type (), which are remanents of the
+       removed RTL profiling code.
+       * rtl-profile.c: Remove.
+
+2006-04-12  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Update
+       magic NULL_RTX comment.
+       (function_arg): Store entire fp arg to mem if any part should go
+       on stack.
+       (rs6000_arg_partial_bytes): Adjust for above change.
+
+2006-04-11  Roger Sayle  <roger@eyesopen.com>
+
+       * dwarf2out.c (output_call_frame_info): Create debug_frame_section
+       if it hasn't been initialized by dwarf2out_init.
+
+2006-04-11  John David Anglin  <dava.anglin@nrc-cnrc.gc.ca>
+
+       * pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new
+       symbolic constants in branch patterns.
+
+2006-04-11  Roger Sayle  <roger@eyesopen.com>
+
+       * caller-save.c: #include "addresses.h" after #include "tm_p.h".
+
+2006-04-11  Richard Sandiford  <richard@codesourcery.com>
+
+       PR rtl-optimization/27073
+       * gcse.c (try_replace_reg): Revert last change.  Continue to search
+       for both REG_EQUAL and REG_EQUIV notes, but only perform replacements
+       on the former.
+
+2006-04-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.c (function_arg_slotno) <BLKmode>: Handle
+       aggregate types other than record and union types.
+       (function_arg): Likewise.
+       (function_arg_pass_by_reference): In 64-bit mode, return 0 for
+       small arrays.
+       (function_value): In 64-bit mode, return objects that require it
+       in FP registers.
+
+2006-04-11  Roger Sayle  <roger@eyesopen.com>
+
+       * dwarf2out.c (premark_used_types): Remove problematic prototype.
+
 2006-04-11  Jakub Jelinek  <jakub@redhat.com>
 
        * gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o.