+2008-04-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR bootstrap/35169
+ * optc-gen.awk: Work around HP-UX/IA awk bug.
+
+2008-04-28 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * config/i386/cygming-crtend.c (register_frame_ctor): Revert my
+ 2008-04-25 commit.
+
+2008-04-28 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/36073
+ * config/i386/i386.md
+ (*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit):
+ Change operand 1 predicate to nonimmediate_operand.
+
+2008-04-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/36060
+ * dwarf2out.c (struct die_struct): Mark as chain_circular through
+ die_sub field.
+ * gengtype.c (walk_type, write_func_for_structure): Handle
+ chain_circular.
+ * doc/gty.texi: Document chain_circular.
+
+2008-04-28 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/36066
+ * tree-vrp.c (execute_vrp): Cleanup the CFG only after finalizing
+ SCEV and loop.
+
+2008-04-28 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/36064
+ * config/i386/i386.md
+ (floatdi<X87MODEF:mode>2_i387_with_xmm splitters):
+ Use match_scratch instead of match_operand for operands 3 and 4.
+
+2008-04-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/18754
+ PR tree-optimization/34223
+ * tree-pass.h (pass_complete_unrolli): Declare.
+ * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Print
+ loop size before and after unconditionally of UL_NO_GROWTH in effect.
+ Rewrite loop into loop closed SSA form if it is not already.
+ (tree_unroll_loops_completely): Re-structure to iterate over
+ innermost loops with intermediate CFG cleanups.
+ Unroll outermost loops only if requested or the code does not grow
+ doing so.
+ * tree-ssa-loop.c (gate_tree_vectorize): Don't shortcut if no
+ loops are available.
+ (tree_vectorize): Instead do so here.
+ (tree_complete_unroll): Also unroll outermost loops.
+ (tree_complete_unroll_inner): New function.
+ (gate_tree_complete_unroll_inner): Likewise.
+ (pass_complete_unrolli): New pass.
+ * tree-ssa-loop-manip.c (find_uses_to_rename_use): Only record
+ uses outside of the loop.
+ (tree_duplicate_loop_to_header_edge): Only verify loop-closed SSA
+ form if it is available.
+ * tree-flow.h (tree_unroll_loops_completely): Add extra parameter.
+ * passes.c (init_optimization_passes): Schedule complete inner
+ loop unrolling pass before the first CCP pass after final inlining.
+
+2008-04-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * targhooks.h (default_emutls_var_fields,
+ default_emutls_var_init): Declare.
+ * tree.h (DECL_THREAD_LOCAL): Compare against TLS_MODEL_REAL.
+ * target.h (struct gcc_target): Add struct emutls member.
+ * target-def.h (TARGET_EMUTLS_GET_ADDRESS,
+ TARGET_EMUTLS_REGISTER_COMMON, TARGET_EMUTLS_VAR_SECTION,
+ TARGET_EMUTLS_TMPL_SECTION, TARGET_EMUTLS_VAR_PREFIX,
+ TARGET_EMUTLS_TMPL_PREFIX, TARGET_EMUTLS_VAR_FIELDS,
+ TARGET_EMUTLS_VAR_INIT, TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS,
+ TARGET_EMUTLS_VAR_ALIGN_FIXED, TARGET_EMUTLS): New.
+ (TARGET_INITIALIZER): Add TARGET_EMUTLS.
+ * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS,
+ BUILT_IN_EMUTLS_REGISTER_COMMON): Get name from targetm structure.
+ * dwarf2out.c (loc_descriptor_from_tree_1): Check if emutls can
+ emit debug information.
+ * coretypes.h (tls_model): Add TLS_MODEL_EMULATED, TLS_MODEL_REAL.
+ * varasm.c: Include targhooks.h.
+ (emutls_object_section, emutls_tmpl_section): New.
+ (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): Remove.
+ (EMUTLS_SEPARATOR): New.
+ (prefix_name): New.
+ (get_emutls_object_name): New.
+ (default_emutls_var_fields): New, broken out of ...
+ (get_emutls_object_type): ... here. Adjust to use target hooks.
+ (get_emutls_init_templ_addr): Adjust to use target hooks.
+ (emutls_decl): Adjust to use target hooks.
+ (emutls_finish): Likewise.
+ (default_emutls_var_init): New, broken out of ...
+ (assemble_variable): ... here. Adjust to use target hooks.
+ * output.h (enum section_category): Add SECCAT_EMUTLS_VAR,
+ SECCAT_EMUTLS_TMPL.
+ * c-common.c (handle_section_attribute): Prevent overriding
+ sections for emulated tls with special sections.
+ * config/i386/i386.c (x86_64_elf_select_section): Add
+ SECCAT_EMUTLS_VAR and SECCAT_EMUTLS_TMPL.
+ (x86_64_elf_unique_section): Likewise.
+ * config/vxworks.c: Include tree.h.
+ (vxworks_emutls_var_fields, vxworks_emutls_var_init): New.
+ (vxworks_override_options): Set TLS scheme.
+ * doc/tm.texi (Emulated TLS): New node.
+
2008-04-26 Simon Baldwin <simonb@google.com>
PR c/35652
2008-04-01 George Helffrich <george@gcc.gnu.org>
- PR fortran/PR35154, fortran/PR23057
- * fortran/trans-common.c (create_common): Add decl to function
- chain to preserve identifier scope in debug output.
-
+ PR fortran/35154, fortran/23057
* dbxout.c: Emit .stabs debug info for Fortran COMMON block
variables as base symbol name + offset using N_BCOMM/N_ECOMM.
(is_fortran, dbxout_common_name, dbxout_common_check): New functions.
(common_check): New function to check whether symbol in Fortran COMMON.
(gen_variable_die): If COMMON, use DW_TAG_common_block.
- * testsuite/gcc.dg/debug/pr35154.c: New test to check that non-Fortran
- use of common is unchanged.
-
- * testsuite/lib/gfortran-dg.exp: New harness to compile Fortran progs
- with all combinations of debug options available on target.
- * testsuite/gfortran.dg/debug/debug.exp: Ditto.
- * testsuite/gfortran.dg/debug/trivial.f: Ditto.
- * testsuite/gfortran.dg/debug/pr35154-stabs.f: New test case for
- .stabs functionality.
- * testsuite/gfortran.dg/debug/pr35154-dwarf2.f: New test case for
- DWARF functionality.
-
2008-04-01 Volker Reichelt <v.reichelt@netcologne.de>
PR c/35436
* config/spu/spu-builtins.def: Fixed wrong parameter type in spu
intrinsics spu_convts, spu_convtu, spu_convtf.
- * testsuite/gcc.target/spu/intrinsics-3.c: New. Test error messages.
2008-02-08 Hans-Peter Nilsson <hp@axis.com>