+2008-04-18 Ian Lance Taylor <iant@google.com>
+
+ * fold-const.c (pointer_may_wrap_p): New static function.
+ (fold_comparison): Add another test for pointer overflow. Use
+ pointer_may_wrap_p to disable some false positives.
+
+2008-04-18 Kris Van Hees <kris.van.hees@oracle.com>
+
+ * c-common.c (CHAR16_TYPE, CHAR32_TYPE): New macros.
+ (fname_as_string): Match updated cpp_interpret_string prototype.
+ (fix_string_type): Support char16_t* and char32_t*.
+ (c_common_nodes_and_builtins): Add char16_t and char32_t (and
+ derivative) nodes. Register as builtin if C++0x.
+ (c_parse_error): Support CPP_CHAR{16,32}.
+ * c-common.h (RID_CHAR16, RID_CHAR32): New elements.
+ (enum c_tree_index) <CTI_CHAR16_TYPE, CTI_SIGNED_CHAR16_TYPE,
+ CTI_UNSIGNED_CHAR16_TYPE, CTI_CHAR32_TYPE, CTI_SIGNED_CHAR32_TYPE,
+ CTI_UNSIGNED_CHAR32_TYPE, CTI_CHAR16_ARRAY_TYPE,
+ CTI_CHAR32_ARRAY_TYPE>: New elements.
+ (char16_type_node, signed_char16_type_node, unsigned_char16_type_node,
+ char32_type_node, signed_char32_type_node, char16_array_type_node,
+ char32_array_type_node): New defines.
+ * c-lex.c (cb_ident): Match updated cpp_interpret_string prototype.
+ (c_lex_with_flags): Support CPP_CHAR{16,32} and CPP_STRING{16,32}.
+ (lex_string): Support CPP_STRING{16,32}, match updated
+ cpp_interpret_string and cpp_interpret_string_notranslate prototypes.
+ (lex_charconst): Support CPP_CHAR{16,32}.
+ * c-parser.c (c_parser_postfix_expression): Support CPP_CHAR{16,32}
+ and CPP_STRING{16,32}.
+
+2008-04-18 Paolo Bonzini <bonzini@gnu.org>
+
+ PR bootstrap/35457
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+
+2008-04-18 Jan Hubicka <jh@suse.cz>
+
+ * except.c (dw2_size_of_call_site_table,
+ sjlj_size_of_call_site_table): Use vector API for call_site_record.
+
+ * cgraphbuild.c (build_cgraph_edges): Update.
+ * tree-pass.h: Update comment.
+ * final.c (leaf_function_p): Update.
+ (leaf_renumber_regs): Update.
+ (rest_of_clean_state): Update.
+ * omp-low.c (expand_omp_parallel): Update.
+ * ipa-reference.c (analyze_function): Update.
+ * reorg.c (find_end_label): Update.
+ (optimize_skip): Update.
+ (fill_simple_delay_slots): Update.
+ (fill_simple_delay_slots): Update.
+ (make_return_insns): Update.
+ (dbr_schedule): Update.
+ * gimple-low.c (record_vars_into): Update.
+ * cfgbuild.c (make_edges): Update.
+ * function.c (assign_stack_local): Update.
+ (assign_parm_adjust_stack_rtl): Update.
+ (locate_and_pad_parm): Update.
+ (allocate_struct_function): Do not initialize stack_alignment_needed
+ and preferred_stack_boundary here.
+ (stack_protect_prologue): Update.
+ (stack_protect_epilogue): Update.
+ (expand_function_start): Initialize stack_alignment_needed,
+ preferred_stack_boundary and max_jumptable_ents.
+ (expand_function_end): Update.
+ (free_after_compilation): Do not NULLify epilogue_delay_list.
+ * function.h (struct rtl_data): Add stack_protect_guard,
+ stack_alignment_needed,
+ preferred_stack_boundary, epilogue_delay_list.
+ (struct function): Remove value_histograms, stack_alignment_needed,
+ preferred_stack_boundary, epilogue_delay_list, max_jumptable_ents,
+ last_label_uid,
+ unexpanded_var_list, stack_protect_guard.
+ (current_function_epilogue_delay_list): Remove.
+ * ipa-type-escape.c (analyze_function): Update.
+ * gimplify.c (pop_gimplify_context): Update comment.
+ * calls.c (expand_call): Update.
+ (emit_library_call_value_1): Update.
+ * except.c (set_nothrow_function_flags): Update.
+ * cfgexpand.c (get_decl_align_unit): Update.
+ (create_stack_guard): Update.
+ (estimated_stack_frame_size): Update.
+ (expand_used_vars): Update.
+ (tree_expand_cfg): Free histogram earliers, init expansion variables.
+ * explow.c (allocate_dynamic_stack_space): Update.
+ * tree-ssa-live.c (remove_unused_locals): Update.
+ * varasm.c (mark_constant_pool): Update.
+ * tree-inline.c (remap_decls): Update.
+ (initialize_cfun): Update.
+ (declare_return_variable): Update.
+ (inline_forbidden_p): Update.
+ (expand_call_inline): Update.
+ (declare_inline_vars): Update.
+ (tree_function_versioning): Update.
+ * tree-flow.h (value_histograms): New.
+ (VALUE_HISTOGRAMS): New macro.
+ * basic-block.h (control_flow_graph): Add max_jumptable_ents,
+ last_label_uid.
+ * tree-cfg.c (set_bb_for_stmt): Update.
+ (replace_by_duplicate_decl): Update.
+ (move_block_to_fn): Update.
+ (new_label_mapper): Update.
+ (dump_function_to_file): Update.
+ * ipa-struct-reorg.c (build_data_structure): Update.
+ * cfgrtl.c (print_rtl_with_bb): Update.
+ * reload1.c (reload): Update.
+ (reload): Update.
+ * config/i386/i386.c (setup_incoming_varargs_64,
+ ix86_compute_frame_layout): Update.
+ * config/arc/arc.c (arc_output_function_epilogue): Update.
+
+2008-04-18 Marius Strobl <marius@FreeBSD.org>
+
+ * gthr-posix.h (__gthread_active_p): Use the Solaris implementation
+ for FreeBSD as well.
+ * gthr-posix95.h: Likewise.
+
+2008-04-17 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ PR rtl-optimization/35838
+ * dse.c (find_shift_sequence): Use subreg_lowpart_offset to work
+ out the byte offset of the first subreg.
+
+2008-04-17 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (addti3 splitter): Pass arrays of 3 operands
+ to split_ti instead of three separate calls with single member arrays.
+ (subti3 splitter): Ditto.
+ (adddi3 splitter): Ditto with split_di.
+ (subdi3 splitter): Ditto.
+ (negti2 splitter): Pass arrays of 2 operands to split_ti instead of
+ two separate calls with single member arrays. Swap match_dup
+ operands 1 and 2 to better fit into the array.
+ (negdi2 splitter): Ditto with split_di.
+ (movdfcc splitter): Pass arrays of 2 operands to split_di instead of
+ two separate calls with single member arrays. Swap match_dup operands
+ 6 and 7 to better fit into the array.
+
+2008-04-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (sse_builtin_type): New.
+ (bdesc_sse_args): Likewise.
+ (bdesc_sse_3arg): Removed.
+ (bdesc_2arg): Remove IX86_BUILTIN_AESKEYGENASSIST128.
+ (bdesc_1arg): Remove IX86_BUILTIN_ROUNDPD and
+ IX86_BUILTIN_ROUNDPS.
+ (ix86_init_mmx_sse_builtins): Handle bdesc_sse_args. Remove
+ bdesc_sse_3arg. Remove IX86_BUILTIN_ROUNDPD and
+ IX86_BUILTIN_ROUNDPS.
+ (ix86_expand_sse_4_operands_builtin): Removed.
+ (ix86_expand_sse_operands_builtin): New.
+ (ix86_expand_unop_builtin): Remove CODE_FOR_sse4_1_roundpd
+ and CODE_FOR_sse4_1_roundps.
+ (ix86_expand_builtin): Remove IX86_BUILTIN_AESKEYGENASSIST128.
+ Handle bdesc_sse_args. Remove bdesc_sse_3arg.
+
+2008-04-17 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/35907
+ * config/rs6000/rs6000.c (rs6000_emit_epilogue): Restore vr and vrsave
+ regs before frame pop when needed. If use_backchain_to_restore_sp
+ then load backchain into a temp reg to restore vr and vrsave. Add
+ code to restore vr after frame pop if possible.
+
2008-04-17 Richard Guenther <rguenther@suse.de>
* tree-vn.c (expressions_equal_p): Do not check type