Home | History | Annotate | Line # | Download | only in gcc
      1 2010-12-31  Gerald Pfeifer  <gerald (a] pfeifer.com>
      2 
      3 	* doc/install.texi (powerpc-*-darwin*): Update reference to
      4 	Apple Developer Tools.
      5 
      6 2010-12-31  Ken Werner  <ken.werner (a] de.ibm.com>
      7 
      8 	* config/arm/sync.md (sync_clobber, sync_t2_reqd): New code attribute.
      9 	(arm_sync_old_<sync_optab>si, arm_sync_old_<sync_optab><mode>): Use
     10 	the sync_clobber and sync_t2_reqd code attributes.
     11 	* config/arm/arm.c (arm_output_sync_loop): Reverse the operation if
     12 	the t2 argument is NULL.
     13 
     14 2010-12-31  Gerald Pfeifer  <gerald (a] pfeifer.com>
     15 
     16 	* doc/sourcebuild.texi (Top Level): Adjust link to libgo.
     17 
     18 2010-12-31  Gerald Pfeifer  <gerald (a] pfeifer.com>
     19 
     20 	* doc/install.texi (Specific): Remove reference to interix.com.
     21 
     22 2010-12-31  Paul Koning  <ni1d (a] arrl.net>
     23 
     24 	* config/pdp11/pdp11.h (PRINT_OPERAND): Delete.
     25 	* config/pdp11/pdp11.c (TARGET_PRINT_OPERAND,
     26 	TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define
     27 	(pdp11_asm_print_operand, pdp11_asm_print_operand_punct_valid_p):
     28 	New function.
     29 	* config/pdp11/pdp11.md (tablejump): Fix generated assembly.
     30 
     31 2010-12-31  Joern Rennecke  <amylaar (a] spamcop.net>
     32 
     33 	PR target/47111
     34 	* config/rtems.h (NO_IMPLICIT_EXTERN_C): Undef before defining.
     35 
     36 	PR target/47112
     37 	* config/mips/r3900.h: Update Copyright years.
     38 	(MIPS_CPU_STRING_DEFAULT): Undef before defining.
     39 	(MULTILIB_DEFAULTS, MIPS_ABI_DEFAULT, SUBTARGET_CC1_SPEC): Likewise.
     40 
     41 	PR target/47135
     42 	* config/pdp11/pdp11.c (pdp11_asm_print_operand_punct_valid_p): Change
     43 	type to match target.def .
     44 
     45 	PR target/47114
     46 	* config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): Add
     47 	ATTRIBUTE_UNUSED to declaration.
     48 	(rs6000_elf_asm_out_destructor): Likewise.
     49 
     50 	PR target/47084
     51 	* config/mn10300/linux.h (PRINT_OPERAND): Update for name changes
     52 	to mn10300_print_operand / mn10300_print_operand_address.
     53 
     54 2010-12-30  Mingjie Xing  <mingjie.xing (a] gmail.com>
     55 
     56 	* config/mips/mips.h (SHIFT_COUNT_TRUNCATED): Change
     57 	TARGET_LOONGSON_2EF to TARGET_LOONGSON_VECTORS.
     58 	* config/mips/mips.c (mips_shift_truncation_mask): Likewise.
     59 
     60 2010-12-30  Joseph Myers  <joseph (a] codesourcery.com>
     61 
     62 	* config/openbsd.opt: New.
     63 	* config.gcc (alpha*-*-openbsd*,
     64 	i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123],
     65 	i[34567]86-*-openbsd*, m68k*-*-openbsd*, mips*-*-openbsd*,
     66 	sparc64-*-openbsd*, vax-*-openbsd*): Use openbsd.opt.
     67 
     68 2010-12-30  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
     69 
     70 	* config/pa/pa.md: Add ",*" condition to 64-bit add/subtract boolean
     71 	patterns.
     72 
     73 2010-12-30  Eric Botcazou  <ebotcazou (a] adacore.com>
     74 
     75 	PR target/47038
     76 	* config/sparc/sparc.c (sparc_file_end): Call resolve_unique_section
     77 	on the GOT helper if USE_HIDDEN_LINKONCE.
     78 
     79 2010-12-30  Joseph Myers  <joseph (a] codesourcery.com>
     80 
     81 	PR c/46889
     82 	* c-decl.c (detect_field_duplicates): Ensure hash is used for
     83 	finding duplicates when first field is anonymous.
     84 
     85 2010-12-30  Nathan Froyd  <froydnj (a] codesourcery.com>
     86 
     87 	PR target/44606
     88 	* reload1.c (choose_reload_regs): Don't look for equivalences for
     89 	output reloads of constant loads.
     90 
     91 2010-12-30  Ulrich Weigand  <Ulrich.Weigand (a] de.ibm.com>
     92 
     93 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Explicitly derive
     94 	default values from MEM mode if no memory attributes are present.
     95 	Do not use mode alignment, even on STRICT_ALIGNMENT targets, when
     96 	called with an expression (not a type).
     97 
     98 2010-12-30  H.J. Lu  <hongjiu.lu (a] intel.com>
     99 
    100 	* config/i386/i386.c (upper_128bits_state): Remove comments.
    101 	(block_info_def): Add unchanged.
    102 	(move_or_delete_vzeroupper_2): Short circuit if upper 128bits
    103 	are unchanged in the block.
    104 
    105 2010-12-30  H.J. Lu  <hongjiu.lu (a] intel.com>
    106 
    107 	PR target/46519
    108 	* config/i386/i386.c (block_info_def): Remove referenced, count
    109 	and rescanned.
    110 	(move_or_delete_vzeroupper_2): Updated.
    111 	(move_or_delete_vzeroupper_1): Rewritten to avoid recursive call.
    112 	(rescan_move_or_delete_vzeroupper): Removed.
    113 	(move_or_delete_vzeroupper): Repeat processing all basic blocks
    114 	until no basic block state is changed to used at exit.
    115 
    116 2010-12-30  Paul Koning  <ni1d (a] arrl.net>
    117 
    118 	* config/pdp11/pdp11.md (movmemhi, movmemhi1): Correct
    119 	constraints.
    120 	* config/pdp11/pdp11.c (output_block_move): Rewrite.
    121 
    122 2010-12-30  Jakub Jelinek  <jakub (a] redhat.com>
    123 
    124 	PR tree-optimization/47060
    125 	* tree-parloops.c (reduction_phi): Return NULL if PHI is NULL.
    126 
    127 2010-12-29  Paul Koning  <ni1d (a] arrl.net>
    128 
    129 	* config/pdp11/pdp11-protos.h (pdp11_asm_output_var): Declare.
    130 	* config/pdp11/pdp11.c (pdp11_asm_output_var): New function.
    131 	* config/pdp11/pdp11.h (ASM_OUTPUT_ALIGNED_COMMON,
    132 	ASM_OUTPUT_ALIGNED_LOCAL): New macros.
    133 	(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
    134 
    135 2010-12-30  Joern Rennecke  <amylaar (a] spamcop.net>
    136 
    137 	PR target/47129
    138 	* config/ia64/ia64.c: Include "dwarf2out.h" .
    139 
    140 	PR target/47063
    141 	* config/alpha/vms.h (MALLOC_ALIGNMENT): Don't undef / define.
    142 	(MALLOC_ABI_ALIGNMENT): Undef / define.
    143 
    144 	PR target/47101
    145 	* vmsdbgout.c (vmsdbgout_init): Rename main_input_filename to filename.
    146 	(vmsdbgout_finish): Likewise.
    147 
    148 	PR target/47097
    149 	* config/i386/lynx.h (DBX_REGISTER_NUMBER): Add cast to avoid
    150 	mixing signed and unsigned types in conditional expression.
    151 
    152 2010-12-29  Jakub Jelinek  <jakub (a] redhat.com>
    153 
    154 	PR tree-optimization/47074
    155 	* gimple-fold.c (gimplify_and_update_call_from_tree): Call
    156 	pop_gimplify_context if returning early.
    157 
    158 2010-12-28  Sebastian Pop  <sebastian.pop (a] amd.com>
    159 
    160 	* Makefile.in (graphite.o): Depends on DIAGNOSTIC_CORE_H.
    161 	(graphite-clast-to-gimple.o): Same.
    162 	(graphite-poly.o): Same.
    163 	* graphite-clast-to-gimple.c: Include diagnostic-core.h.
    164 	* graphite-poly.c: Same.
    165 	* graphite.c: Same.
    166 
    167 2010-12-28  Richard Guenther  <rguenther (a] suse.de>
    168 
    169 	PR debug/46931
    170 	* tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Update
    171 	SSA before removing dead stmts.
    172 
    173 2010-12-28  H.J. Lu  <hongjiu.lu (a] intel.com>
    174 	    Uros Bizjak  <ubizjak (a] gmail.com>
    175 
    176 	* config/i386/i386-builtin-types.def (PUSHORT): New.
    177 	(INT_FTYPE_PUSHORT): Likewise.
    178 	(INT_FTYPE_PUNSIGNED): Likewise.
    179 	(INT_FTYPE_PULONGLONG): Likewise.
    180 	Remove "DEF_FUNCTION_TYPE (UINT16)".
    181 
    182 	* config/i386/i386.c (ix86_builtins): Remove
    183 	IX86_BUILTIN_RDRAND16, IX86_BUILTIN_RDRAND32 and
    184 	IX86_BUILTIN_RDRAND64.  Add IX86_BUILTIN_RDRAND16_STEP,
    185 	IX86_BUILTIN_RDRAND32_STEP and IX86_BUILTIN_RDRAND64_STEP.
    186 	(bdesc_special_args): Remove IX86_BUILTIN_RDRAND16,
    187 	IX86_BUILTIN_RDRAND32 and IX86_BUILTIN_RDRAND64.
    188 	(ix86_init_mmx_sse_builtins): Handle IX86_BUILTIN_RDRAND16_STEP,
    189 	IX86_BUILTIN_RDRAND32_STEP and IX86_BUILTIN_RDRAND64_STEP.
    190 	(ix86_expand_builtin): Likewise.
    191 	(ix86_expand_special_args_builtin): Remove UINT16_FTYPE_VOID.
    192 
    193 	* config/i386/i386.md (UNSPEC_RDRAND): New.
    194 	(UNSPECV_RDRAND): Removed.
    195 	(rdrand<mode>): Likewise.
    196 	(rdrand<mode>_1): Also set FLAGS_REG.  Replace UNSPECV_RDRAND
    197 	with UNSPEC_RDRAND.
    198 
    199 	* config/i386/immintrin.h (_rdrand_u16): Removed.
    200 	(_rdrand_u32): Likewise.
    201 	(_rdrand_u64): Likewise.
    202 	(_rdrand16_step): New.
    203 	(_rdrand32_step): Likewise.
    204 	(_rdrand64_step): Likewise.
    205 
    206 	* doc/extend.texi (__builtin_ia32_rdrand16): Removed.
    207 	(__builtin_ia32_rdrand32): Likewise.
    208 	(__builtin_ia32_rdrand64): Likewise.
    209 	(__builtin_ia32_rdrand16_step): New.
    210 	(__builtin_ia32_rdrand32_step): Likewise.
    211 	(__builtin_ia32_rdrand64_step): Likewise.
    212 
    213 2010-12-28  Sebastian Pop  <sebastian.pop (a] amd.com>
    214 
    215 	* Makefile.in (graphite.o): Add dependence on DIAGNOSTIC_H.
    216 	* graphite.c: Include diagnostic.h.
    217 
    218 2010-12-28  Sebastian Pop  <sebastian.pop (a] amd.com>
    219 
    220 	* Makefile.in (TREE_VECTORIZER_H): Removed duplicate definition.
    221 	(tree-browser.o): Update dependences.
    222 	(omega.o): Same.
    223 	(tree-chrec.o): Same.
    224 	(tree-scalar-evolution.o): Same.
    225 	(tree-data-ref.o): Same.
    226 	(sese.o): Same.
    227 	(graphite.o): Same.
    228 	(graphite-blocking.o): Same.
    229 	(graphite-clast-to-gimple.o): Same.
    230 	(graphite-cloog-util.o): Same.
    231 	(graphite-dependences.o): Same.
    232 	(graphite-flattening.o): Same.
    233 	(graphite-interchange.o): Same.
    234 	(graphite-poly.o): Same.
    235 	(graphite-ppl.o): Same.
    236 	(graphite-scop-detection.o): Same.
    237 	(graphite-sese-to-poly.o): Same.
    238 	(tree-loop-linear.o): Same.
    239 	(tree-loop-distribution.o): Same.
    240 	(tree-parloops.o): Same.
    241 	(lambda-mat.o): Same.
    242 	(lambda-trans.o): Same.
    243 	(lambda-code.o): Same.
    244 	* tree-browser.o: Do not include unnecessary .h files.
    245 	* omega.o: Same.
    246 	* tree-chrec.o: Same.
    247 	* tree-scalar-evolution.o: Same.
    248 	* tree-data-ref.o: Same.
    249 	* sese.o: Same.
    250 	* graphite.o: Same.
    251 	* graphite-blocking.o: Same.
    252 	* graphite-clast-to-gimple.o: Same.
    253 	* graphite-cloog-util.o: Same.
    254 	* graphite-dependences.o: Same.
    255 	* graphite-flattening.o: Same.
    256 	* graphite-interchange.o: Same.
    257 	* graphite-poly.o: Same.
    258 	* graphite-ppl.o: Same.
    259 	* graphite-scop-detection.o: Same.
    260 	* graphite-sese-to-poly.o: Same.
    261 	* tree-loop-linear.o: Same.
    262 	* tree-loop-distribution.o: Same.
    263 	* tree-parloops.o: Same.
    264 	* lambda-mat.o: Same.
    265 	* lambda-trans.o: Same.
    266 	* lambda-code.o: Same.
    267 	* graphite.h: Removed.
    268 
    269 2010-12-28  Paul Koning  <ni1d (a] arrl.net>
    270 
    271 	* config/pdp11/pdp11.md: Correct length attribute for float
    272 	literal case.
    273 
    274 2010-12-28  Jie Zhang  <jie (a] codesourcery.com>
    275 
    276 	* builtins.c (SLOW_UNALIGNED_ACCESS): Remove.
    277 
    278 2010-12-27  Joseph Myers  <joseph (a] codesourcery.com>
    279 
    280 	* config/freebsd.opt (assert=, defsym=, profile, pthread,
    281 	rpath-link=, rpath=, soname=): New Driver options.
    282 
    283 2010-12-26  Martin Jambor  <mjambor (a] suse.cz>
    284 
    285 	* tree.c (get_binfo_at_offset): Use BINFO_TYPE instead of TREE_TYPE,
    286 	compare TYPE_MAIN_VARIANTs of types.
    287 
    288 2010-12-26  Andreas Schwab  <schwab (a] linux-m68k.org>
    289 
    290 	* config/m68k/t-linux (M68K_MLIB_CPU): Only include 680x0 CPUs.
    291 
    292 2010-12-24  Alexander Monakov  <amonakov (a] ispras.ru>
    293 
    294 	PR rtl-optimization/47036
    295 	* sel-sched-ir.c (fallthru_bb_of_jump): Remove special support for
    296 	unconditional jumps.
    297 	* sel-sched.c (moveup_expr): Ditto.
    298 
    299 2010-12-23  Sebastian Pop  <sebastian.pop (a] amd.com>
    300 	    Richard Guenther  <rguenther (a] suse.de>
    301 
    302 	PR tree-optimization/46758
    303 	* graphite-sese-to-poly.c (scan_tree_for_params_right_scev): Use
    304 	tree_int_to_gmp instead of int_cst_value.
    305 	(scan_tree_for_params_int): Same.
    306 	(scan_tree_for_params): Same.
    307 	(pdr_add_data_dimensions): Use ppl_set_inhomogeneous_tree.
    308 
    309 2010-12-23  Sebastian Pop  <sebastian.pop (a] amd.com>
    310 
    311 	PR tree-optimization/47002
    312 	* tree-data-ref.c (compute_data_dependences_for_loop): Pass in a
    313 	pointer to the loop_nest.
    314 	(analyze_all_data_dependences): Initialize and free the loop_nest.
    315 	(free_dependence_relations): Do not free loop_nest.
    316 	(build_rdg): Pass in the loop_nest, datarefs, and dependence_relations.
    317 	(free_rdg): Also free the data on edges.
    318 	* tree-data-ref.h (build_rdg): Update declaration.
    319 	(compute_data_dependences_for_loop): Same.
    320 	* tree-if-conv.c (if_convertible_loop_p_1): Pass in the loop_nest.
    321 	(if_convertible_loop_p): Allocate and free loop_nest.
    322 	* tree-loop-distribution.c (rdg_flag_loop_exits): Free conds.
    323 	(free_rdg_components): VEC_free components.
    324 	(distribute_loop): Update call to build_rdg.  Allocate and free
    325 	loop_nest, datarefs, and dependence_relations.
    326 	* tree-loop-linear.c (linear_transform_loops): Allocate and free
    327 	loop_nest.
    328 	* tree-parloops.c (loop_parallel_p): Same.
    329 	* tree-predcom.c (tree_predictive_commoning_loop): Same.
    330 	* tree-vect-data-refs.c (vect_analyze_data_refs): Pass to
    331 	compute_data_dependences_for_loop a pointer to LOOP_VINFO_LOOP_NEST.
    332 	* tree-vect-loop.c (new_loop_vec_info): Initialize LOOP_VINFO_LOOP_NEST.
    333 	(destroy_loop_vec_info): Free LOOP_VINFO_MAY_ALIAS_DDRS and
    334 	LOOP_VINFO_LOOP_NEST.
    335 	* tree-vect-slp.c (destroy_bb_vec_info): Call free_data_refs and
    336 	free_dependence_relations.
    337 	* tree-vectorizer.h (struct _loop_vec_info): Add a field loop_nest.
    338 	(LOOP_VINFO_LOOP_NEST): New.
    339 
    340 2010-12-23  Martin Jambor  <mjambor (a] suse.cz>
    341 
    342 	* ipa.c (cgraph_remove_unreachable_nodes): Update former_clone_of even
    343 	when not checking.
    344 
    345 2010-12-23  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
    346 
    347 	* configure.ac (gcc_cv_ld_eh_frame_hdr): Only check GNU ld for
    348 	--eh-frame-hdr.  Check for working Sun ld version.
    349 	(HAVE_LD_EH_FRAME_HDR): Adapt comment.
    350 	(glibc_header_dir): Set only once.  Rename to ...
    351 	(target_header_dir): ... this.  Adapt users.
    352 	(gcc_cv_target_dl_iterate_frame_hdr): Check on *-*-solaris2*.
    353 	(TARGET_DL_ITERATE_PHDR): Define if present.
    354 	* configure: Regenerate.
    355 	* config.in: Likewise.
    356 	* config/t-sol2 (LIB2ADDEH, LIB2ADDEHDEP): Define.
    357 	* crtstuff.c (USE_PT_GNU_EH_FRAME): Define for recent Solaris 11
    358 	with linker support and dl_iterate_phdr.
    359 	* unwind-dw2-fde-glibc.c (USE_PT_GNU_EH_FRAME): Likewise.
    360 	(_Unwind_IteratePhdrCallback) [PT_SUNW_UNWIND]: Also accept
    361 	PT_SUNW_UNWIND .eh_frame_hdr sections.
    362 	[CRT_GET_RFIB_DATA && __i386__ && __sun__ && __svr4__]: Add
    363 	load_base to data->dbase.
    364 	[CRT_GET_RFIB_DATA && __x86_64__ && __sun__ && __svr4__]: Handle
    365 	64-bit Solaris 10+/x86.
    366 	* config/sol2-gld.h [TARGET_DL_ITERATE_PHDR && HAVE_LD_EH_FRAME_HDR]
    367 	(LINK_EH_SPEC): Define.
    368 
    369 2010-12-23  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
    370 
    371 	* doc/extend.texi (Function Attributes, Volatiles): Fix typos.
    372 	* doc/install.texi (Prerequisites, Specific): Likewise.
    373 	* doc/invoke.texi (C Dialect Options, Debugging Options)
    374 	(Optimize Options, MicroBlaze Options)
    375 	(RS/6000 and PowerPC Options, RX Options, Code Gen Options): Likewise.
    376 	* doc/objc.texi (Method signatures)
    377 	(Fast enumeration protocol): Likewise.
    378 	* doc/tm.texi.in (Run-time Target, Register Arguments)
    379 	(Scheduling, Macros for Initialization, Misc): Likewise.
    380 	* doc/tm.texi: Renerate.
    381 
    382 2010-12-23  Nicola Pero  <nicola.pero (a] meta-innovation.com>
    383 
    384 	* doc/objc.texi (Modern GNU Objective-C runtime API): Mention that
    385 	reference documentation for functions in the API is in the header
    386 	files.
    387 	(Messaging with the GNU Objective-C runtime, Dynamically
    388 	registering methods, Forwarding hook): New sections.
    389 
    390 2010-12-22  Sebastian Pop  <sebastian.pop (a] amd.com>
    391 
    392 	PR tree-optimization/47019
    393 	* sese.h (scev_analyzable_p): Parameters of a SCoP are SCEV analyzable.
    394 
    395 2010-12-22  Nathan Froyd  <froydnj (a] codesourcery.com>
    396 
    397 	* c-aux-info.c (gen_formal_list_for_type): Use prototype_p.
    398 	* c-decl.c (diagnose_arglist_conflict): Likewise.
    399 	(diagnose_mismatched_decls, merge_decls): Likewise.
    400 	(c_builtin_function, c_builtin_function_ext_scope): Likewise.
    401 	(start_decl, start_function): Likewise.
    402 	* c-tree.h (C_DECL_ISNT_PROTOTYPED): Likewise.
    403 	* config/ia64/ia64.h (INIT_CUMULATIVE_ARGS): Likewise.
    404 	* config/mep/mep.c (mep_validate_interrupt): Likewise.
    405 	* config/pa/pa.h (INIT_CUMULATIVE_ARGS): Likewise.
    406 	* config/rs6000/rs6000.c (init_cumulative_args): Likewise.
    407 	* config/sh/sh.c (sh_init_cumulative_args): Likewise.
    408 	* config/sparc/sparc.c (init_cumulative_args): Likewise.
    409 	* dwarf2out.c (add_prototyped_attribute): Likewise.
    410 	(gen_subprogram_die): Likewise.
    411 	* ipa-type-escape.c (check_function_parameter_and_return_types):
    412 	Likewise.
    413 	(check_call): Likewise.
    414 	* tree-ssa.c (useless_type_conversion_p): Likewise.
    415 
    416 2010-12-22  Ulrich Weigand  <Ulrich.Weigand (a] de.ibm.com>
    417 
    418 	* config/spu/spu.md ("mov<mode>"): Use nonimmediate_operand
    419 	predicate for destination operand.
    420 	* config/spu/spu.c (spu_expand_mov): If move destination is an
    421 	invalid subreg, perform move in the subreg's inner mode instead.
    422 
    423 2010-12-22  Martin Jambor  <mjambor (a] suse.cz>
    424 
    425 	PR tree-optimization/45934
    426 	PR tree-optimization/46302
    427 	PR tree-optimization/46987
    428 	* gimple-fold.c (get_base_binfo_for_type): Removed.
    429 	(gimple_get_relevant_ref_binfo): Likewise.
    430 	(gimple_fold_obj_type_ref_call): Dumb down to 4.5 functionality,
    431 	removed parameter inplace, updated the caller.
    432 	* gimple.h (gimple_get_relevant_ref_binfo): Remove declaration.
    433 	* ipa-cp.c (ipcp_propagate_types): Do not derive types from constants.
    434 	(ipcp_discover_new_direct_edges): Do not do devirtualization based on
    435 	constants.
    436 	* ipa-prop.c (compute_known_type_jump_func): Use
    437 	get_ref_base_and_extent and get_binfo_at_offset instead of
    438 	gimple_get_relevant_ref_binfo.
    439 	(compute_known_type_jump_func): Likewise.
    440 	(update_jump_functions_after_inlining): Do not derive types from
    441 	constants.
    442 	(try_make_edge_direct_virtual_call): Likewise.
    443 	* tree.c (get_binfo_at_offset): Get type from non-artificial fields.
    444 
    445 2010-12-22  Joseph Myers  <joseph (a] codesourcery.com>
    446 
    447 	* config/svr4.h: Remove.
    448 	* system.h (USING_SVR4_H, SVR4_ASM_SPEC): Poison.
    449 	* config.gcc, config/bfin/bfin.h, config/cris/cris.h,
    450 	config/fr30/fr30.h, config/frv/frv.h, config/i386/openbsdelf.h,
    451 	config/i386/vx-common.h, config/ia64/elf.h, config/ia64/ia64.h,
    452 	config/ia64/sysv4.h, config/iq2000/iq2000.h, config/m68k/linux.h,
    453 	config/m68k/m68kelf.h, config/mips/mips.h, config/mips/vxworks.h,
    454 	config/moxie/moxie.h, config/netbsd-aout.h, config/openbsd.h,
    455 	config/rs6000/sysv4.h, config/sh/elf.h, config/sh/sh.h,
    456 	config/sol2.h, config/sparc/sysv4.h, config/stormy16/stormy16.h,
    457 	config/v850/v850.h, config/vxworks.h: Remove or update comments
    458 	referring to svr4.h.
    459 
    460 2010-12-22  Andrey Belevantsev  <abel (a] ispras.ru>
    461 
    462 	PR rtl-optimization/45352
    463 	PR rtl-optimization/46521
    464 	PR rtl-optimization/46522
    465 	* sel-sched.c (reset_sched_cycles_in_current_ebb): Recheck the
    466 	DFA state on the last iteration of the advancing loop.
    467 	(sel_sched_region_1): Propagate the rescheduling bit to the next
    468 	block also for empty blocks.
    469 
    470 2010-12-22  Alexandre Oliva  <aoliva (a] redhat.com>
    471 
    472 	PR debug/46724
    473 	* function.c (assign_parms_augmented_arg_list): Name and mark
    474 	DECL of result address as NAMELESS rather than IGNORED.
    475 	(assign_parms): Set DECL_VALUE_EXPR for indirect result.
    476 	* tree.h (tree_decl_common::decl_flag_2): Document RESULT_DECL.
    477 	(DECL_HAS_VALUE_EXPR_P): Accept RESULT_DECL.
    478 	* dwarf2out.c (loc_list_from_tree) <RESULT_DECL>: Use
    479 	DECL_VALUE_EXPR.
    480 	* dbxout.c (dbxout_expand_expr) <RESULT_DECL>: Likewise.
    481 	* var-tracking.c (vt_add_function_parameter): New, split out of...
    482 	(vt_add_function_parameters): ... this.  Handle incoming
    483 	pointer to hold result.
    484 
    485 2010-12-22  Jie Zhang  <jie (a] codesourcery.com>
    486 
    487 	* config/arm/arm.c (output_move_double): Update the comment
    488 	above the function to reflect the current implementation.
    489 
    490 2010-12-21  Steven Bosscher  <steven (a] gcc.gnu.org>
    491 
    492 	De-hookize profile infrastructure.
    493 	* value-prof.c (value_prof_hooks): Remove.
    494 	(struct value_prof_hooks): Remove.
    495 	(gimple_value_prof_hooks): Remove.
    496 	(gimple_register_value_prof_hooks): Remove.
    497 	(find_values_to_profile): Remove.
    498 	(value_profile_transformations): Remove.
    499 	(gimple_value_profile_transformations): No longer static.
    500 	(gimple_find_values_to_profile): Likewise.
    501 	* value-prof.h (gimple_register_value_prof_hooks): Remove prototype.
    502 	(find_values_to_profile): Likewise.
    503 	(value_profile_transformations): Likewise.
    504 	(tree_register_profile_hooks): Likewise.
    505 	(struct profile_hooks): Remove.
    506 	(tree_profile_hooks): Remove.
    507 	(gimple_find_values_to_profile): New protoype.
    508 	(gimple_value_profile_transformations): Likewise.
    509 	(gimple_init_edge_profiler): Likewise.
    510 	(gimple_gen_edge_profiler): Likewise.
    511 	(gimple_gen_interval_profiler): Likewise.
    512 	(gimple_gen_pow2_profiler): Likewise.
    513 	(gimple_gen_one_value_profiler): Likewise.
    514 	(gimple_gen_ic_profiler): Likewise.
    515 	(gimple_gen_ic_func_profiler): Likewise.
    516 	(gimple_gen_const_delta_profiler): Likewise.
    517 	(gimple_gen_average_profiler): Likewise.
    518 	(gimple_gen_ior_profiler): Likewise.
    519 	* profile.c (profile_hooks): Remove.
    520 	(instrument_edges): Call profiling functions directly instead
    521 	of through removed profile_hooks.
    522 	(instrument_values): Likewise.
    523 	(branch_prob): Call gimple_find_values_to_profile instead of
    524 	removed find_values_to_profile.
    525 	Call gimple_init_edge_profiler instead of removed hook.
    526 	(tree_register_profile_hooks): Remove.
    527 	* tree-profile.c (tree_init_ic_make_global_vars): Rename to
    528 	init_ic_make_global_vars.
    529 	(tree_init_edge_profiler): Rename to gimple_init_edge_profiler
    530 	and no longer static.
    531 	(tree_gen_edge_profiler, tree_gen_interval_profiler,
    532 	tree_gen_pow2_profiler, tree_gen_one_value_profiler,
    533 	tree_gen_ic_profiler, tree_gen_ic_func_profiler,
    534 	tree_gen_const_delta_profiler, tree_gen_average_profiler,
    535 	tree_gen_ior_profiler): Similarly renamed and no longer static.
    536 	(tree_profiling): Do not initialize tree profiling hooks.
    537 	(tree_profile_hooks): Remove.
    538 
    539 2010-12-21  Jakub Jelinek  <jakub (a] redhat.com>
    540 
    541 	PR target/46880
    542 	* config/i386/sse.md (sse2_loadlpd, sse2_movsd): Fix shufpd source
    543 	operand.
    544 
    545 2010-12-21  Ira Rosen  <irar (a] il.ibm.com>
    546 
    547 	PR tree-optimization/47001
    548 	* tree-vect-slp.c (vect_supported_load_permutation_p): Check that
    549 	the loads in reduction are different and there are no gaps between
    550 	them.
    551 
    552 2010-12-21  Steven Bosscher  <steven (a] gcc.gnu.org>
    553 
    554 	PR middle-end/45310
    555 	* tree-ssa-phiprop.c (propagate_with_phi): Remove statement
    556 	completely from the function, including EH traces.
    557 
    558 2010-12-21  Steven Bosscher  <steven (a] gcc.gnu.org>
    559 
    560 	PR rtl-optimization/46755
    561 	* ira.c (ira): If some dead edges were removed, find and delete
    562 	any blocks that might have become unreachable.
    563 
    564 2010-12-21  Jakub Jelinek  <jakub (a] redhat.com>
    565 
    566 	PR rtl-optimization/47008
    567 	* postreload.c (reload_combine_note_store): Also handle
    568 	PRE_MODIFY and POST_MODIFY.
    569 
    570 2010-12-21  Ulrich Weigand  <Ulrich.Weigand (a] de.ibm.com>
    571 
    572 	* config/arm/arm.c (require_pic_register): Set INSN_LOCATOR for all
    573 	instructions injected into the prologue to prologue_locator.
    574 
    575 2010-12-21  Jan Hubicka   <jh (a] suse.cz>
    576 
    577 	PR middle-end/47000
    578 	* tree-inline.c (estimate_operator_cost): Handle VIEW_CONVERT_EXPR.
    579 
    580 2010-12-21  Jie Zhang  <jie (a] codesourcery.com>
    581 
    582 	* config/arm/arm-ldmstm.ml: Fix a typo in comment.
    583 
    584 2010-12-21  Jakub Jelinek  <jakub (a] redhat.com>
    585 
    586 	PR middle-end/45852
    587 	* expr.c (store_expr): Ignore alt_rtl if equal to target,
    588 	but has side-effects.
    589 
    590 2010-12-21  Anatoly Sokolov  <aesok (a] post.ru>
    591 
    592 	* config/sh/sh.h (PREFERRED_RELOAD_CLASS): Remove.
    593 	* config/sh/sh-protos.h (secondary_reload_info, sh_secondary_reload):
    594 	Remove forward declaration.
    595 	* config/sh/sh.c (sh_preferred_reload_class): New function.
    596 	(sh_secondary_reload): Make static.
    597 	(TARGET_PREFERRED_RELOAD_CLASS): Define.
    598 
    599 2010-12-20  Joseph Myers  <joseph (a] codesourcery.com>
    600 
    601 	* config/alpha/linux.h (OPTION_GLIBC): Define differently if
    602 	SINGLE_LIBC.
    603 	* config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC):
    604 	Define differently if SINGLE_LIBC.
    605 	* config/rs6000/linux.h (OPTION_GLIBC): Define differently if
    606 	SINGLE_LIBC.
    607 	* config/rs6000/linux64.h (OPTION_GLIBC): Define differently if
    608 	SINGLE_LIBC.
    609 	* config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
    610 	*-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu): Define
    611 	SINGLE_LIBC instead of OPTION_GLIBC.
    612 	(*-*-uclinux*): Define DEFAULT_LIBC and SINGLE_LIBC.
    613 	(bfin*-uclinux*, moxie-*-uclinux*, m68k-*-uclinux*): Don't define
    614 	DEFAULT_LIBC or use linux.opt.
    615 
    616 2010-12-20  Richard Henderson  <rth (a] redhat.com>
    617 
    618 	* config/mn10300/mn10300.c (mn10300_legitimize_pic_address): Generate
    619 	UNSPEC patterns by hand, with the proper mode; use gen_const_mem.
    620 	* config/mn10300/mn10300.md (call, call_value): Generate UNSPEC_PLT
    621 	by hand, with the proper mode.
    622 	(symGOT2reg, symGOT2reg_i, symGOTOFF2reg): Remove.
    623 	(symGOTOFF2reg_i, sym2PIC, sym2PLT): Remove.
    624 
    625 2010-12-20  Sanjin Liu	<scliu (a] faraday-tech.com>
    626 	    Mingfeng Wu  <mingfeng (a] faraday-tech.com>
    627 
    628 	* config/arm/arm-cores.def: Add Faraday CPU support -
    629 	fa526/fa626/fa606te/fa626te/fmp626/fa726te.
    630 	* config/arm/arm-tune.md: Regenerate.
    631 	* config/arm/arm.c (arm_fa726te_tune): New tune_params for fa726te
    632 	(fa726te_sched_adjust_cost): New cost function for fa726te.
    633 	(arm_issue_rate): Add fa726te.
    634 	* config/arm/arm.md (generic_sched): Add Faraday cores to generic_sched
    635 	and include machine description files.
    636 	* config/arm/bpabi.h (TARGET_FIX_V4BX_SPEC): Add fa526 and fa626.
    637 	* config/arm/t-arm (MD_INCLUDES): Include machine description files for
    638 	Faraday cores.
    639 	* config/arm/t-arm-elf: Add multilib option for Faraday cores.
    640 	* config/arm/t-linux-eabi: Add multilib option for Faraday cores except
    641 	fa526 and fa626.
    642 	* doc/invoke.texi: Document -mcpu for Faraday cores.
    643 	* config/arm/fa526.md: New file.
    644 	* config/arm/fa606te.md: New file.
    645 	* config/arm/fa626te.md: New file.
    646 	* config/arm/fmp626.md: New file.
    647 	* config/arm/fa726te.md: New file.
    648 
    649 2010-12-20  Yvan Roux  <yvan.roux (a] st.com>
    650 
    651 	* config/arm/lib1funcs.asm (ARM_DIV_BODY case __OPTIMIZE_SIZE__): Fix
    652 	condition on IT instruction for early termination.
    653 
    654 2010-12-20  Joseph Myers  <joseph (a] codesourcery.com>
    655 
    656 	* config/rs6000/freebsd.h (SVR4_ASM_SPEC): Don't define.
    657 	(DBX_REGISTER_NUMBER): Define.
    658 	* config/rs6000/lynx.h (DBX_REGISTER_NUMBER): Define.
    659 	* config/rs6000/netbsd.h (DBX_REGISTER_NUMBER): Define.
    660 	* config/rs6000/sysv4.h (SIZE_TYPE): Define.
    661 	(ASM_SPEC): Define without using SVR4_ASM_SPEC.
    662 	(DBX_REGISTER_NUMBER): Undefine.
    663 	* config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
    664 	powerpc-*-eabisim*, powerpc-*-elf*, powerpc-*-eabialtivec*,
    665 	powerpc-xilinx-eabi*, powerpc-*-eabi*, powerpc-*-rtems*,
    666 	powerpc-*-linux* | powerpc64-*-linux*, powerpc64-*-gnu*,
    667 	powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
    668 	powerpc-wrs-vxworks|powerpc-wrs-vxworksae, powerpcle-*-elf*,
    669 	powerpcle-*-eabisim*, powerpcle-*-eabi*): Don't use svr4.h.
    670 
    671 2010-12-20  Iain Sandoe  <iains (a] gcc.gnu.org>
    672 	    Jan Hubicka  <jh (a] suse.cz>
    673 
    674 	PR middle-end/46916
    675 	* opts.c (finish_options): Enable -freorder-functions
    676 	when -freorder-blocks-and-partition is active.
    677 
    678 2010-12-20  Iain Sandoe  <iains (a] gcc.gnu.org>
    679 
    680 	PR c++/46904
    681 	PR middle-end/46916
    682 	PR target/46950
    683 	* config/darwin.c (generating_for_darwin_version): New var.
    684 	(darwin_text_section): Remove.
    685 	(darwin_rodata_section): Do not check function section here.
    686 	(darwin_emit_unwind_label): Do not emit for Darwin >= 9.
    687 	Emit distinct labels for successive calls for the same decl.
    688 	(darwin_override_options): Set generating_for_darwin_version.
    689 	Add FIXME and disable -freorder-blocks-and-partition.
    690 	Suppress automatic asynchronous unwind tables for m32.
    691 	Switch off -freorder-blocks-and-partition when unwind tables
    692 	will be generated.  Update to use generating_for_darwin_version.
    693 	(darwin_function_section): Check for cases that need to be placed
    694 	in coalesced sections.
    695 	* config/darwin-sections.def: Define hot, cold, startup and
    696 	exit sections for both coalesced and regular code.
    697 	* config/darwin.h (USE_SELECT_SECTION_FOR_FUNCTIONS): Delete.
    698 	* config/darwin10.h (TARGET_ASM_EMIT_UNWIND_LABEL): Delete.
    699 
    700 2010-12-20  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
    701 
    702 	* doc/cppopts.texi: Use @var when appropriate.
    703 	* doc/extend.texi (Structure-Packing Pragmas): Likewise.
    704 	* doc/gimple.texi (Logical Operators)
    705 	(Adding a new GIMPLE statement code): Likewise.
    706 	* doc/invoke.texi (Target Options, Precompiled Headers): Likewise.
    707 	* doc/plugins.texi (Plugins): Likewise.
    708 
    709 	* doc/install.texi (Configuration, Building, Testing, Specific):
    710 	Remove leading whitespace from examples.
    711 
    712 2010-12-19  Andi Kleen  <ak (a] linux.intel.com>
    713 
    714 	PR lto/46905
    715 	* collect2.c (main): Handle -fno-lto.
    716 	* opts.c (common_handle_option): Handle -fno-lto.
    717 
    718 2010-12-19  Eric Botcazou  <ebotcazou (a] adacore.com>
    719 
    720 	PR target/46729
    721 	* config/sparc/sparc.h (GLOBAL_OFFSET_TABLE_REGNUM): New macro.
    722 	(PIC_OFFSET_TABLE_REGNUM): Rewrite in terms of above macro.
    723 	* config/sparc/sparc.c (pic_helper_needed): Delete.
    724 	(global_offset_table): Likewise.
    725 	(pic_helper_symbol): Rename to...
    726 	(got_helper_rtx): ...this.
    727 	(global_offset_table_rtx): New global variable.
    728 	(sparc_got_symbol): Likewise.
    729 	(sparc_got): New static function.
    730 	(check_pic): Use local variable and call sparc_got.
    731 	(sparc_tls_symbol): Initialize to NULL_RTX.
    732 	(sparc_tls_got): In non-PIC mode, reload the GOT register for Sun TLS
    733 	and 32-bit ABI and copy the GOT symbol to a new register otherwise.
    734 	(get_pc_thunk_name): Rename local variable.
    735 	(gen_load_pcrel_sym): New wrapper around load_pcrel_sym{si,di}.
    736 	(load_pic_register): Rename to...
    737 	(load_got_register): ...this.  Adjust and call gen_load_pcrel_sym.
    738 	(sparc_expand_prologue): Do not test flag_pic.
    739 	(sparc_output_mi_thunk): Use pic_offset_table_rtx directly.
    740 	(sparc_file_end): Test got_helper_rtx instead of pic_helper_needed.
    741 	Rename local variable and do not call get_pc_thunk_name again.
    742 	* config/sparc/sparc.md (load_pcrel_sym): Add operand #3.
    743 
    744 2010-12-19  Dave Korn  <dave.korn.cygwin (a] gmail.com>
    745 
    746 	PR middle-end/46674
    747 	PR middle-end/46221
    748 	* varasm.c (symbol_alias_set_t): New typedef for derived pointer_set
    749 	wrapper class.
    750 	(symbol_alias_set_create): New wrapper function.
    751 	(symbol_alias_set_destroy): Likewise.
    752 	(symbol_alias_set_contains): Likewise.
    753 	(symbol_alias_set_insert): Likewise.
    754 	(compute_visible_aliases): Use the above and return symbol_alias_set_t,
    755 	not a pointer_set.
    756 	(remove_unreachable_alias_pairs): Adjust likewise to match.
    757 	(finish_aliases_1): Likewise.
    758 
    759 2010-12-19  Chung-Lin Tang  <cltang (a] codesourcery.com>
    760 
    761 	* config/arm/arm.c (arm_legitimate_index_p): Add VFP load/store
    762 	index range case. Change to SF/DFmode tests to avoid capturing HFmode.
    763 	(thumb2_legitimate_index_p): Same.
    764 
    765 2010-12-18  Jakub Jelinek  <jakub (a] redhat.com>
    766 
    767 	PR tree-optimization/46969
    768 	* tree-parloops.c (struct reduction_info): Add reduc_version.
    769 	(reduction_info_hash): Return reduc_version field.
    770 	(reduction_phi): Set reduc_version to gimple_uid (phi).
    771 	(build_new_reduction): Set reduc_version to SSA_NAME_VERSION of
    772 	phi result.
    773 	(set_reduc_phi_uids): New function.
    774 	(gather_scalar_reductions): Call it at the end through htab_traverse.
    775 
    776 2010-12-18  Nicola Pero  <nicola.pero (a] meta-innovation.com>
    777 
    778 	* c-parser.c (c_parser_objc_try_catch_finally_statement): Call
    779 	objc_maybe_warn_exceptions.
    780 	(c_parser_objc_synchronized_statement): Call
    781 	objc_maybe_warn_exceptions.
    782 
    783 2010-12-18  Jakub Jelinek  <jakub (a] redhat.com>
    784 
    785 	PR tree-optimization/46985
    786 	* tree-scalar-evolution.c (instantiate_scev_r): If chrec is NULL,
    787 	return it immediately.
    788 
    789 2010-12-18  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
    790 
    791 	PR target/46915
    792 	* config/pa/pa.c (branch_to_delay_slot_p): Use next_active_insn instead
    793 	of next_real_insn.  Search forward checking for both ASM_INPUT and
    794 	ASM_OPERANDS asms until exit condition is found.
    795 	(branch_needs_nop_p): Likewise.
    796 	(use_skip_p): New function.
    797 	(output_cbranch): Use use_skip_p.
    798 	(output_bb, output_bvb): Likewise.
    799 
    800 2010-12-18  Kai Tietz  <kai.tietz (a] onevision.com>
    801 
    802 	PR target/36834
    803 	* config/i386/i386.c (ix86_keep_aggregate_return_pointer):
    804 	New local function.
    805 	(ix86_return_pops_args): Use ix86_keep_aggregate_return_pointer
    806 	function instead of KEEP_AGGREGATE_RETURN_POINTER.
    807 	(ix86_handle_callee_pop_aggregate_return): New handler.
    808 	(ix86_attribute_table): Add new attribute
    809 	callee_pop_aggregate_return.
    810 	* doc/extend.texi (callee_pop_aggregate_return): Add
    811 	attribute documentation.
    812 
    813 2010-12-18  Iain Sandoe  <iains (a] gcc.gnu.org>
    814 
    815 	* config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS):
    816 	Only set sjlj exceptions for NeXT/m32.
    817 
    818 2010-12-18  Iain Sandoe  <iains (a] gcc.gnu.org>
    819 
    820 	* config/darwin.h (GCC_DRIVER_HOST_INITIALIZATION):
    821 	Only expose when not building for target.
    822 
    823 2010-12-17  Joseph Myers  <joseph (a] codesourcery.com>
    824 
    825 	* config/netbsd.opt, config/netbsd-elf.opt: New files.
    826 	* config.gcc (alpha*-*-netbsd*, arm*-*-netbsdelf*, arm*-*-netbsd*,
    827 	i[34567]86-*-netbsdelf*, i[34567]86-*-netbsd*, x86_64-*-netbsd*,
    828 	m68k*-*-netbsdelf*, mips*-*-netbsd*, powerpc-*-netbsd*,
    829 	sh*-*-netbsd*, sparc-*-netbsdelf*, sparc64-*-netbsd*,
    830 	vax-*-netbsdelf*, vax-*-netbsd*): Use these .opt files.
    831 
    832 2010-12-17  Richard Henderson  <rth (a] redhat.com>
    833 
    834 	* regcprop.c (find_oldest_value_reg): Continue search instead of
    835 	failing if an element in the copy chain is of the wrong regclass.
    836 
    837 2010-12-17  Paolo Bonzini  <bonzini (a] gnu.org>
    838 
    839 	PR c/20385
    840 	* function.c (used_types_insert): Handle ERROR_MARK.
    841 	* c-decl.c (grokdeclarator): Handle ERROR_MARK.
    842 	(declspecs_add_type): Leave error_mark_node in specs->type.
    843 	(finish_declspecs): Change it to integer_type_node here.
    844 	* c-parser.c (c_parser_peek_2nd_token): Move earlier.
    845 	(enum c_lookahead_kind): New.
    846 	(c_parser_next_token_starts_typename): New name of
    847 	c_parser_next_tokens_start_typename.  Accept lookahead enum
    848 	and handle it here instead of...
    849 	(c_parser_next_tokens_start_declaration): ... here.  Call it.
    850 	(c_parser_declspecs): Accept another argument.  Do not exit
    851 	on C_ID_ID if it is guessed to be an unknown typename.
    852 	(c_parser_parms_declarator): Use 2nd token to distinguish a K&R
    853 	declaration from an ANSI declaration starting with an unknown
    854 	typename.
    855 	(c_parser_struct_declaration, c_parser_objc_type_name,
    856 	c_parser_typeof_specifier, c_parser_declarator,
    857 	c_parser_direct_declarator_inner): Adjust calls.
    858 	(c_parser_parameter_declaration): Likewise.
    859 	(c_parser_type_name): Pass back an error_mark_node to the caller.
    860 	(c_parser_postfix_expression): Do error recovery when
    861 	c_parser_type_name returns NULL.
    862 
    863 2010-12-17  Joseph Myers  <joseph (a] codesourcery.com>
    864 
    865 	* config/i386/netware.h (ASM_SPEC, SIZE_TYPE, PTRDIFF_TYPE): Define.
    866 	* config/i386/nto.h (LIB_SPEC, ASM_SPEC): Define.
    867 	(DBX_REGISTER_NUMBER): Undefine.
    868 	* config/i386/sol2.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
    869 	* config/i386/vxworksae.h (ASM_SPEC, SIZE_TYPE, PTRDIFF_TYPE):
    870 	Define.
    871 	* config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
    872 	i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
    873 	i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
    874 	x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
    875 	i[3456x]86-*-netware*, i[34567]86-*-nto-qnx*,
    876 	i[34567]86-*-solaris2*,
    877 	i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae): Don't use svr4.h.
    878 
    879 2010-12-17  H.J. Lu  <hongjiu.lu (a] intel.com>
    880 
    881 	* config/i386/i386.c (move_or_delete_vzeroupper_2): Replace
    882 	"BB [%i]" with "[bb %i]" in dump.
    883 	(move_or_delete_vzeroupper_1): Likewise.
    884 	(rescan_move_or_delete_vzeroupper): Likewise.  Always dump
    885 	upper 128bit state at exit.
    886 
    887 2010-12-17  Joseph Myers  <joseph (a] codesourcery.com>
    888 
    889 	* config/interix.opt: New.
    890 	* config/interix.h (LINK_SPEC): Don't handle -soname*.
    891 	* config.gcc (i[34567]86-*-interix3*): Use interix.opt.
    892 
    893 2010-12-17  Andrew Stubbs  <ams (a] codesourcery.com>
    894 
    895 	* config/arm/arm.md (maddhisi4, *maddhidi4): Use the canonical
    896 	operand order for plus.
    897 	Drop redundant % from constraints.
    898 
    899 2010-12-17  Ulrich Weigand  <Ulrich.Weigand (a] de.ibm.com>
    900 
    901 	* config/spu/t-spu-elf (LIB2FUNCS_EXCLUDE): Add _floattisf and
    902 	_floatunstisf.
    903 	* config/spu/spu.md ("floattisf2"): New expander.
    904 	("floatunstisf2"): New insn pattern and splitter.
    905 	("cgt_ti_m1"): New insn pattern.
    906 
    907 2010-12-17  Bernd Schmidt  <bernds (a] codesourcery.com>
    908 
    909 	* config/arm/arm.c (arm_select_cc_mode): Before calling
    910 	arm_select_dominance_cc_mode for AND or IOR operations, ensure
    911 	that op is NE or EQ.
    912 
    913 2010-12-17  Alexander Monakov  <amonakov (a] ispras.ru>
    914 
    915 	PR middle-end/46761
    916 	* graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Prefer
    917 	to use unadjusted UB.
    918 
    919 2010-12-17  Dodji Seketeli  <dodji (a] redhat.com>
    920 
    921 	* dwarf2out.c (gen_type_die_with_usage): Do not try to emit debug
    922 	info for a redundant typedef that has DECL_ORIGINAL_TYPE set. Use
    923 	that underlying type instead.
    924 
    925 2010-12-16  Jan Hubicka  <jh (a] suse.cz>
    926 
    927 	PR middle-end/44563
    928 	* ipa-inline.c: Update doplevel comment.
    929 	(cgraph_estimate_size_after_inlining): Remove times attribute.
    930 	(cgraph_mark_inline_edge): Update.
    931 	(cgraph_mark_inline): Remove.
    932 	(cgraph_estimate_growth): Update.
    933 	(cgraph_check_inline_limits): Remove one only argument.
    934 	(cgraph_edge_badness): Update.
    935 	(cgraph_decide_recursive_inlining): Update.
    936 	(cgraph_decide_inlining_of_small_function): Fix handling of
    937 	tree_can_inline_p  and call_stmt_cannot_inline_p.
    938 	(cgraph_flatten): Likewise.
    939 	(cgraph_decide_inlining): Update.
    940 	(cgraph_decide_inlining_incrementally): Fix handling of
    941 	call_stmt_cannot_inline_p.
    942 
    943 2010-12-16  Joseph Myers  <joseph (a] codesourcery.com>
    944 
    945 	* config/darwin.opt (dylinker, headerpad_max_install_names,
    946 	keep_private_externs, nofixprebinding, nomultidefs, noprebind,
    947 	noseglinkedit, object, prebind, prebind_all_twolevel_modules,
    948 	preload, private_bundle, pthread, seglinkedit, twolevel_namespace,
    949 	twolevel_namespace_hints, whatsloaded, whyload, y, Mach, X): New
    950 	Driver options.
    951 	* config/darwin.h (LINK_SPEC): Remove '*' after
    952 	headerpad_max_install_names.
    953 
    954 2010-12-16  Sebastian Pop  <sebastian.pop (a] amd.com>
    955 
    956 	PR tree-optimization/46924
    957 	* graphite-sese-to-poly.c (detect_commutative_reduction): Do not
    958 	detect reductions outside the current SESE region.
    959 	* sese.h (stmt_in_sese_p): New.
    960 	(defined_in_sese_p): Call stmt_in_sese_p.
    961 
    962 2010-12-16  Jakub Jelinek  <jakub (a] redhat.com>
    963 
    964 	PR tree-optimization/46966
    965 	* graphite-sese-to-poly.c (build_scop_drs): Call free_gimple_bb for
    966 	for bbs that are removed from SCOP_BBS vector.
    967 
    968 2010-12-16  Eric Botcazou  <ebotcazou (a] adacore.com>
    969 
    970 	* tree-ssa-sccvn.c (vn_reference_lookup_3): Always punt if the call to
    971 	get_ref_base_and_extent returns -1 as the max size.
    972 
    973 2010-12-16  Konrad Eisele  <konrad (a] gaisler.com>
    974 	    Eric Botcazou  <ebotcazou (a] adacore.com>
    975 
    976 	Support for LEON processor
    977 	* config.gcc (sparc-*-elf*): Deal with sparc-leon specifically.
    978 	(sparc-*-linux*): Likewise.
    979 	(sparc-*-rtems*): Remove Solaris left-overs.
    980 	(sparc*-*-*): Remove obsolete sparc86x setting.
    981 	(sparc-leon*): Default to --with-cpu=v8 and --with-tune=leon.
    982 	* doc/invoke.texi (SPARC Options): Document -mcpu/-mtune=leon.
    983 	* config/sparc/sparc.h (TARGET_CPU_leon): Define.
    984 	(TARGET_CPU_sparc86x): Delete.
    985 	(TARGET_CPU_cypress): Define as alias to TARGET_CPU_v7.
    986 	(TARGET_CPU_f930): Define as alias to TARGET_CPU_sparclite.
    987 	(TARGET_CPU_f934): Likewise.
    988 	(TARGET_CPU_tsc701): Define as alias to TARGET_CPU_sparclet.
    989 	(CPP_CPU_SPEC): Add entry for -mcpu=leon.
    990 	(enum processor_type): Add PROCESSOR_LEON.  Reorganize.
    991 	* config/sparc/sparc.c (leon_costs): New cost array.
    992 	(sparc_option_override): Add entry for TARGET_CPU_leon and -mcpu=leon.
    993 	Initialize cost array to leon_costs if -mtune=leon.
    994 	* config/sparc/sparc.md (cpu attribute): Add leon.  Reorganize.
    995 	Include leon.md scheduling description.
    996 	* config/sparc/leon.md: New file.
    997 	* config/sparc/t-elf: Do not assemble Solaris startup files.
    998 	* config/sparc/t-leon: New file.
    999 	* config/sparc/t-leon3: Likewise.
   1000 
   1001 2010-12-16  Jakub Jelinek  <jakub (a] redhat.com>
   1002 
   1003 	PR tree-optimization/43655
   1004 	* tree-ssa-ter.c (is_replaceable_p): Don't use
   1005 	gimple_references_memory_p for -O0, instead check for load
   1006 	by looking at rhs.
   1007 
   1008 2010-12-16  Sebastian Pop  <sebastian.pop (a] amd.com>
   1009 
   1010 	PR tree-optimization/46404
   1011 	* graphite-clast-to-gimple.c (gloog): Call scev_reset.
   1012 
   1013 2010-12-16  Anatoly Sokolov  <aesok (a] post.ru>
   1014 
   1015 	* config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
   1016 	* config/sh/sh.c (sh_asm_output_addr_const_extra): New function.
   1017 	(TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
   1018 
   1019 2010-12-16  Ulrich Weigand  <Ulrich.Weigand (a] de.ibm.com>
   1020 
   1021 	* config/spu/t-spu-elf (LIB2_SIDITI_CONV_FUNC): Define.
   1022 	* config/spu/spu.h (MIN_UNITS_PER_WORD): Do not define.
   1023 	(LIBGCC2_UNITS_PER_WORD): Define if not already defined.
   1024 
   1025 2010-12-16  Jakub Jelinek  <jakub (a] redhat.com>
   1026 
   1027 	PR debug/46893
   1028 	* cfgexpand.c (expand_debug_expr): If GET_MODE (op0) is VOIDmode,
   1029 	use TYPE_MODE (TREE_TYPE (tem)) instead of mode1.
   1030 
   1031 2010-12-16  Chung-Lin Tang  <cltang (a] codesourcery.com>
   1032 
   1033 	PR target/46883
   1034 	* config/arm/arm.md
   1035 	(zero_extendhisi2 for register input splitter): Change
   1036 	"register_operand" to "s_register_operand".
   1037 	(zero_extendqisi2 for register input splitter): Same.
   1038 
   1039 2010-12-16  Jan Hubicka  <jh (a] suse.cz>
   1040 
   1041 	PR middle-end/46939
   1042 	* predic.c (predict_paths_leading_to_edge): New function.
   1043 	(apply_return_prediction): Use it.
   1044 	(predict_paths_for_bb): Do not special case abnormals.
   1045 
   1046 2010-12-16  Joseph Myers  <joseph (a] codesourcery.com>
   1047 
   1048 	* config.gcc (powerpc-*-lynxos*): Don't add lynx.opt to
   1049 	extra_options twice.
   1050 
   1051 2010-12-15  Joseph Myers  <joseph (a] codesourcery.com>
   1052 
   1053 	* doc/tm.texi.in (US_SOFTWARE_GOFAST): Don't document.
   1054 	* doc/tm.texi: Regenerate.
   1055 	* system.h (US_SOFTWARE_GOFAST): Poison.
   1056 	* config.gcc (enable_gofast): Don't handle.
   1057 	* config/gofast.h: Remove.
   1058 	* config/mips/t-gofast: Remove.
   1059 	* config/fp-bit.c (US_SOFTWARE_GOFAST): Don't handle.
   1060 	* config/fp-bit.h (US_SOFTWARE_GOFAST): Don't handle.
   1061 	* config/mips/elforion.h: Don't mention GOFAST in comment.
   1062 	* config/mips/mips.c: Don't include gofast.h.
   1063 	(mips_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
   1064 	* config/mips/t-sr71k (dp-bit.c, fp-bit.c): Don't define
   1065 	US_SOFTWARE_GOFAST.
   1066 	* config/sparc/sparc.c: Don't include gofast.h.
   1067 	(sparc_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
   1068 	* config/spu/t-spu-elf (dp-bit.c, fp-bit.c): Don't undefine
   1069 	US_SOFTWARE_GOFAST.
   1070 
   1071 2010-12-14  Jan Hubicka  <jh (a] suse.cz>
   1072 
   1073 	* config/darwin.opt (dylinker, headerpad_max_install_names,
   1074 	keep_private_externs, nofixprebinding, nomultidefs, noprebind,
   1075 	noseglinkedit, object, prebind, prebind_all_twolevel_modules,
   1076 	preload, private_bundle, pthread, seglinkedit, twolevel_namespace,
   1077 	twolevel_namespace_hints, whatsloaded, whyload, y, Mach, X): New
   1078 	Driver options.
   1079 	* config/darwin.h (LINK_SPEC): Remove '*' after
   1080 	headerpad_max_install_names.
   1081 
   1082 2010-12-14  Jan Hubicka  <jh (a] suse.cz>
   1083 
   1084 	* tree.c (get_file_function_name): Avoid using random seed on
   1085 	GLOBAL_sub_I and GLOBAL_sub_D.
   1086 
   1087 2010-12-15  Martin Jambor  <mjambor (a] suse.cz>
   1088 
   1089 	PR tree-optimization/46053
   1090 	PR middle-end/46287
   1091 	PR middle-end/46242
   1092 	* cgraph.h (cgraph_indirect_call_info): New field thunk_delta.
   1093 	* gimple.h (gimple_fold_obj_type_ref): Declaration removed.
   1094 	(gimple_fold_call): Declare.
   1095 	(gimple_adjust_this_by_delta): Likewise.
   1096 	* cgraph.c (cgraph_make_edge_direct): New parameter delta.  Updated
   1097 	all users.
   1098 	(cgraph_clone_edge): Create a copy of indirect_info also for direct
   1099 	edges.
   1100 	* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Adjust this
   1101 	parameters.
   1102 	* gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Renamed to
   1103 	gimple_get_virt_mehtod_for_binfo, new parameter delta.  Do not search
   1104 	through thunks, in fact bail out if we encounter one, check that
   1105 	BINFO_VIRTUALS is not NULL.
   1106 	(gimple_adjust_this_by_delta): New function.
   1107 	(gimple_fold_obj_type_ref): Removed.
   1108 	(gimple_fold_obj_type_ref_call): New function.
   1109 	(fold_gimple_call): Renamed to gimple_fold_call, made external.
   1110 	Updated users.  Call gimple_fold_obj_type_ref_call instead of
   1111 	gimple_fold_obj_type_ref.
   1112 	* ipa-cp.c (ipcp_process_devirtualization_opportunities): Process
   1113 	thunk deltas.
   1114 	(ipcp_discover_new_direct_edges): Likewise.
   1115 	* ipa-prop.c (ipa_make_edge_direct_to_target): New parameter delta.
   1116 	Updated callers.
   1117 	(ipa_write_indirect_edge_info): Stream thunk_delta.
   1118 	(ipa_read_indirect_edge_info): Likewise.
   1119 	* tree-ssa-ccp.c (ccp_fold_stmt): Use gimple_fold_call instead of
   1120 	gimple_fold_obj_type_ref.
   1121 
   1122 2010-12-15  Alexander Monakov  <amonakov (a] ispras.ru>
   1123 
   1124 	PR rtl-optimization/46649
   1125 	* sel-sched-ir.c (purge_empty_blocks): Unconditionally skip the first
   1126 	basic block in the region.
   1127 
   1128 2010-12-15  Joseph Myers  <joseph (a] codesourcery.com>
   1129 
   1130 	* config/stormy16/stormy16.h (LINK_SPEC, WCHAR_TYPE): Define.
   1131 	* config.gcc (xstormy16-*-elf): Don't use svr4.h.
   1132 
   1133 2010-12-15  Joseph Myers  <joseph (a] codesourcery.com>
   1134 
   1135 	* config/rx/rx.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
   1136 	* config.gcc (rx-*-elf*): Don't use svr4.h.
   1137 
   1138 2010-12-14  Sebastian Pop  <sebastian.pop (a] amd.com>
   1139 
   1140 	PR tree-optimization/46845
   1141 	* sese.c (scalar_evolution_in_region): Handle scop parameters
   1142 	before scev analysis.
   1143 
   1144 2010-12-14  Sebastian Pop  <sebastian.pop (a] amd.com>
   1145 
   1146 	PR tree-optimization/46928
   1147 	* tree-data-ref.c (analyze_overlapping_iterations): Handle A[p] == A[p]
   1148 	in data dependence analysis with p a parameter of the loop.
   1149 
   1150 2010-12-14  Sebastian Pop  <sebastian.pop (a] amd.com>
   1151 
   1152 	PR tree-optimization/45948
   1153 	* tree-loop-distribution.c (ssa_name_has_uses_outside_loop_p): New.
   1154 	(stmt_has_scalar_dependences_outside_loop): New.
   1155 	(stmt_generated_in_another_partition): New.
   1156 	(add_scalar_computations_to_partition): New.
   1157 	(rdg_build_partitions): Call add_scalar_computations_to_partition.
   1158 
   1159 2010-12-14  Joseph Myers  <joseph (a] codesourcery.com>
   1160 
   1161 	* config/arc/arc.h (LIB_SPEC): Define.
   1162 	* config.gcc (arc-*-elf*): Don't use svr4.h.
   1163 
   1164 2010-12-14  Joseph Myers  <joseph (a] codesourcery.com>
   1165 
   1166 	* config/sh/elf.h (LIB_SPEC): Define.
   1167 	* config.gcc (sh-*-elf* | sh[12346l]*-*-elf* | sh-*-symbianelf* |
   1168 	sh[12346l]*-*-symbianelf* | sh-*-linux* | sh[2346lbe]*-*-linux* |
   1169 	sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* |
   1170 	sh5l*-*-netbsd* | sh64-*-netbsd* | sh64l*-*-netbsd*, sh-*-rtems*,
   1171 	sh-wrs-vxworks): Don't use svr4.h.
   1172 
   1173 2010-12-14  Jan Hubicka  <jh (a] suse.cz>
   1174 
   1175 	PR lto/46940
   1176 	PR lto/44463
   1177 	* lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Construct nodes
   1178 	for aliases when they are used.
   1179 
   1180 2010-12-14  Joseph Myers  <joseph (a] codesourcery.com>
   1181 
   1182 	* config.gcc (sparc-*-elf*, sparc-*-rtems*, sparc-*-linux*,
   1183 	sparc-*-netbsdelf*, sparc*-*-solaris2*, sparc-wrs-vxworks,
   1184 	sparc64-*-elf*, sparc64-*-rtems*, sparc64-*-linux*,
   1185 	sparc64-*-netbsd*, sparc64-*-openbsd*): Don't use svr4.h.
   1186 
   1187 2010-12-14  Thomas Klein  <th.r.klein (a] web.de>
   1188 
   1189 	* config/arm/arm.c (arm_expand_prologue): Report the static stack
   1190 	size if -fstack-usage is used.
   1191 	(thumb1_expand_prologue): Likewise.
   1192 
   1193 2010-12-14  Jakub Jelinek  <jakub (a] redhat.com>
   1194 
   1195 	PR debug/46885
   1196 	* tree-ssa-loop-manip.c (canonicalize_loop_ivs): Use gsi_last_bb
   1197 	instead of gsi_last_nondebug_bb if bump_in_latch.
   1198 
   1199 	PR tree-optimization/46909
   1200 	* gimple-fold.c (and_var_with_comparison_1): Save partial
   1201 	result even in the is_and case, if both partial results
   1202 	are the same, return it.
   1203 	(or_var_with_comparison_1): Use is_or predicate instead of
   1204 	innercode == TRUTH_OR_EXPR test.  Save partial result
   1205 	even in the is_or case, if both partial results are the
   1206 	same, return it.  In the !is_or case when both partial
   1207 	results are the same, return the partial result instead
   1208 	of boolean_true_node.
   1209 
   1210 2010-12-14  Jan Hubicka  <jh (a] suse.cz>
   1211 
   1212 	PR middle-end/46667
   1213 	* varasm.c (assemble_start_function): Do not call
   1214 	resolve_unique_section.
   1215 	* cfgexpand.c (gimple_expand_cfg): Resolve it here.
   1216 
   1217 2010-12-14  Alexander Monakov  <amonakov (a] ispras.ru>
   1218 
   1219 	PR rtl-optimization/46875
   1220 	* sched-vis.c (print_pattern): Dump "sequence" for ADDR_VECs.
   1221 	* sel-sched-ir.c (bb_has_removable_jump_to_p): Forbid table jumps.
   1222 
   1223 2010-12-14  Kaushik Phatak <kaushik.phatak (a] kpitcummins.com>
   1224 
   1225 	* config/h8300/h8300.md (define_split) : Add condition for
   1226 	"and with single_zero" splitter to handle 16-bit const operands.
   1227 	* config/h8300/h8300.md (define_split) : Add condition for
   1228 	"ior with single_one" splitter to handle 16-bit const operands.
   1229 	* config/h8300/h8300.md (define_split) : Add condition for
   1230 	"xor with single_one" splitter to handle 16-bit const operands.
   1231 	* testsuite/gcc.dg/h8300-bit-insn-ice.c: New.
   1232 
   1233 2010-12-13  Jan Hubicka  <jh (a] suse.cz>
   1234 
   1235 	PR middle-end/45388
   1236 	* ipa.c (cgraph_build_static_cdtor_1): Break out from ...  Add FINAL
   1237 	parameter.
   1238 	(cgraph_build_static_cdtor): ... here.
   1239 	(build_cdtor): Use cgraph_build_static_cdtor_1.
   1240 
   1241 2010-12-13  Joseph Myers  <joseph (a] codesourcery.com>
   1242 
   1243 	* config/m32c/m32c.h (ENDFILE_SPEC, LINK_SPEC, SIZE_TYPE,
   1244 	PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
   1245 	* config.gcc (m32c-*-rtems*, m32c-*-elf*): Don't use svr4.h.
   1246 
   1247 2010-12-14  Bernd Schmidt  <bernds (a] codesourcery.com>
   1248 
   1249 	PR rtl-optimization/44374
   1250 	Reapply patch with fixes.
   1251 	* basic-block.h (enum bb_flags): Add BB_MODIFIED.
   1252 	* df-core.c (df_set_bb_dirty): Set it.
   1253 	* ifcvt.c (find_memory): Remove function.
   1254 	(dead_or_predicable): Use can_move_insns_across.
   1255 	* df.h (can_move_insns_across): Declare function.
   1256 	* cfgcleanup.c (block_was_dirty): New static variable.
   1257 	(flow_find_head_matching_sequence): Test for epilogue notes.
   1258 	(try_crossjump_bb, try_forward_edges): Test BB_MODIFIED flag rather
   1259 	than df_get_bb_dirty.
   1260 	(try_head_merge_bb): New static function.
   1261 	(try_optimize_cfg): Call it.  Call df_analyze if block_was_dirty
   1262 	is set.
   1263 	* df-problems.c: Include "target.h"
   1264 	(df_simulate_find_uses): New static function.
   1265 	(MEMREF_NORMAL, MEMREF_VOLATILE): New macros.
   1266 	(find_memory, find_memory_store): New static functions.
   1267 	(can_move_insns_across): New function.
   1268 	* Makefile.in (df-problems.o): Update dependencies.
   1269 
   1270 2010-12-13  Joseph Myers  <joseph (a] codesourcery.com>
   1271 
   1272 	* config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
   1273 	(DBX_REGISTER_NUMBER): Undefine.
   1274 	* config/xtensa/linux.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
   1275 	(DBX_REGISTER_NUMBER): Undefine.
   1276 	* config.gcc (xtensa*-*-elf*, xtensa*-*-linux*): Don't use svr4.h.
   1277 
   1278 2010-12-13  Jack Howarth <howarth (a] bromo.med.uc.edu>
   1279 	    Joseph Myers <joseph (a] codesourcery.com>
   1280 
   1281 	PR bootstrap/46650
   1282 	* system.h: Include cstring for cxx bootstrap.
   1283 
   1284 2010-12-13  Jakub Jelinek  <jakub (a] redhat.com>
   1285 
   1286 	PR lto/46879
   1287 	* lto-streamer-out.c (output_gimple_stmt): Never replace first
   1288 	GIMPLE_DEBUG argument with MEM_REF.
   1289 
   1290 	PR debug/46867
   1291 	* var-tracking.c (emitted_notes, string_pointer_flags): Removed.
   1292 	(emit_note_insn_var_location): Remove ENABLE_RTL_CHECKING verification.
   1293 	(vt_emit_notes): Don't initialize and destroy emitted_notes.
   1294 
   1295 2010-12-13  Nathan Froyd  <froydnj (a] codesourcery.com>
   1296 
   1297 	PR target/46040
   1298 	* config.gcc (arm*-*-linux-*eabi): Use bpabi-lib.h.
   1299 	(arm*-*-uclinux*eabi, arm*-*-eabi*): Likewise.
   1300 
   1301 2010-12-13  Joseph Myers  <joseph (a] codesourcery.com>
   1302 
   1303 	* config/v850/v850.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
   1304 	WCHAR_TYPE_SIZE): Define.
   1305 	* config.gcc (v850e1-*-*, v850e-*-*, v850-*-*): Don't use svr4.h.
   1306 
   1307 2010-12-13  Joseph Myers  <joseph (a] codesourcery.com>
   1308 
   1309 	* config.gcc (s390-*-linux*, s390x-*-linux*, s390x-ibm-tpf*):
   1310 	Don't use svr4.h.
   1311 
   1312 2010-12-13  Joseph Myers  <joseph (a] codesourcery.com>
   1313 
   1314 	* config/mn10300/linux.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
   1315 	WCHAR_TYPE_SIZE): Undefine.
   1316 	* config/mn10300/mn10300.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
   1317 	WCHAR_TYPE_SIZE): Define.
   1318 	* config.gcc (mn10300-*-*): Don't use svr4.h.
   1319 
   1320 2010-12-13  Joseph Myers  <joseph (a] codesourcery.com>
   1321 
   1322 	* config/m68k/linux.h (DBX_REGISTER_NUMBER): Undefine and redefine.
   1323 	(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
   1324 	* config.gcc (m68k-*-uclinux*, m68k-*-linux*): Don't use svr4.h.
   1325 
   1326 2010-12-13  Alexandre Oliva  <aoliva (a] redhat.com>
   1327 
   1328 	PR debug/46756
   1329 	* jump.c (mark_all_labels): Skip debug insns.
   1330 
   1331 2010-12-13  Alexandre Oliva  <aoliva (a] redhat.com>
   1332 
   1333 	PR debug/46782
   1334 	* cfgcleanup.c (try_forward_edges): Skip debug insns.
   1335 
   1336 2010-12-12  Jan Hubicka  <jh (a] suse.cz>
   1337 	    Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   1338 
   1339 	* varasm.c (default_function_section): Check flag_reorder_functions
   1340 	and targetm.have_named_sections.
   1341 	* config/darwin.c (darwin_function_section): Check
   1342 	flag_reorder_functions.
   1343 
   1344 2010-12-12  Finn Thain  <fthain (a] telegraphics.com.au>
   1345 
   1346 	PR target/46179
   1347 	* config/m68k/m68k.c (handle_move_double): Insert calls to
   1348 	m68k_final_prescan_insn to clean up @TLS operand syntax.
   1349 
   1350 2010-12-10  Sebastian Pop  <sebastian.pop (a] amd.com>
   1351 
   1352 	PR tree-optimization/43023
   1353 	* tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p):
   1354 	Removed.
   1355 	(stores_zero_from_loop): Call stmt_stores_zero.
   1356 	* tree-data-ref.h (stmt_stores_zero): New.
   1357 	* tree-loop-distribution.c (generate_memset_zero): Do not return a
   1358 	boolean.  Call gcc_assert on stride_of_unit_type_p.
   1359 	(generate_builtin): Call stmt_stores_zero.
   1360 	(rdg_flag_all_uses): Removed.
   1361 	(rdg_flag_similar_memory_accesses): Removed.
   1362 	(build_rdg_partition_for_component): Removed parameter
   1363 	other_stores.  Removed call to rdg_flag_similar_memory_accesses.
   1364 	(can_generate_builtin): New.
   1365 	(similar_memory_accesses): New.
   1366 	(fuse_partitions_with_similar_memory_accesses): New.
   1367 	(rdg_build_partitions): Call
   1368 	fuse_partitions_with_similar_memory_accesses.
   1369 
   1370 2010-12-10  Jakub Jelinek  <jakub (a] redhat.com>
   1371 
   1372 	PR rtl-optimization/46804
   1373 	* regmove.c (optimize_reg_copy_3): Look for REG_EQUAL note
   1374 	on the setter of src_reg rather than on insn.  If it is
   1375 	equal to the setter's original SET_SRC, replace it with its
   1376 	zero or sign extension instead of dropping it.
   1377 
   1378 2010-12-10  Richard Guenther  <rguenther (a] suse.de>
   1379 
   1380 	PR lto/46808
   1381 	* lto-symtab.c (lto_symtab_merge_decls_2): Avoid type warnings
   1382 	after errors.
   1383 	(lto_symtab_merge_decls_1): Adjust.
   1384 
   1385 2010-12-10  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   1386 
   1387 	PR middle-end/46674
   1388 	PR lto/43157
   1389 	* target.def (mangle_assembler_name): New target asm_out hook.
   1390 	* targhooks.c (default_mangle_assembler_name): Add default hook
   1391 	implementation.
   1392 	* targhooks.h (default_mangle_assembler_name): Add prototype.
   1393 	* lto-symtab.c (lto_symtab_register_decl): Use new hook when
   1394 	processing DECL_ASSEMBLER_NAMEs for lto symtabs.
   1395 	(lto_symtab_get_resolution): Likewise.
   1396 	(lto_cgraph_replace_node): Likewise.
   1397 	(lto_symtab_prevailing_decl): Likewise.
   1398 	* lto-streamer-out.c (write_symbol): Likewise.
   1399 	* doc/tm.texi.in (TARGET_MANGLE_ASSEMBLER_NAME): Add @hook directive.
   1400 	* doc/tm.texi: Regenerate.
   1401 	* config/i386/cygming.h (TARGET_MANGLE_ASSEMBLER_NAME): Define to
   1402 	point at i386_pe_mangle_assembler_name.
   1403 	* config/i386/winnt.c (i386_pe_mangle_assembler_name): New function.
   1404 	* config/i386/i386-protos.h (i386_pe_mangle_assembler_name): Add
   1405 	prototype.
   1406 
   1407 2010-12-10  Nathan Froyd  <froydnj (a] codesourcery.com>
   1408 
   1409 	* c-typeck.c (readonly_error): Delete.
   1410 
   1411 2010-12-10  Jakub Jelinek  <jakub (a] redhat.com>
   1412 
   1413 	PR rtl-optimization/46865
   1414 	* rtl.c (rtx_equal_p_cb, rtx_equal_p): For last operand of
   1415 	ASM_OPERANDS and ASM_INPUT if integers are different, call locator_eq.
   1416 	* jump.c (rtx_renumbered_equal_p): Likewise.
   1417 
   1418 	PR tree-optimization/46864
   1419 	* tree-ssa-loop-im.c (loop_suitable_for_sm): Return false even
   1420 	when there are EDGE_EH exit edges.
   1421 
   1422 2010-12-10  Tobias Burnus  <burnus (a] net-b.de>
   1423 
   1424 	PR fortran/46540
   1425 	* configure.ac: Handle --disable-libquadmath-support.
   1426 	* doc/install.texi: Document --disable-libquadmath and
   1427 	--disable-libquadmath-support
   1428 	* configure: Regenerate.
   1429 	* config.in: Regenerate.
   1430 
   1431 2010-12-10  Jack Howarth  <howarth (a] bromo.med.uc.edu>
   1432 	    Iain Sandoe  <iains (a] gcc.gnu.org>
   1433 
   1434 	PR 43751/target
   1435 	* config/darwin9.h (DSYMUTIL_SPEC): Add fortran source types.
   1436 
   1437 2010-12-10  Iain Sandoe <iains (a] gcc.gnu.org>
   1438 
   1439 	* config/rs6000/rs6000.c
   1440 	(rs6000_darwin64_record_arg_advance_recurse): Name register increment
   1441 	explicitly.  (rs6000_darwin64_record_arg_recurse): Make sure we split
   1442 	long doubles when we run out of regs.   Also flag that this requires
   1443 	stack and therefore cannot be returned by value.
   1444 	(rs6000_darwin64_record_arg): Update comment.
   1445 	(rs6000_function_value): Likewise.
   1446 
   1447 2010-12-10  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   1448 
   1449 	* c-parser.c (c_parser_objc_class_definition): Recognize
   1450 	Objective-C 2.0 class extensions.
   1451 
   1452 2010-12-10  Iain Sandoe <iains (a] gcc.gnu.org>
   1453 
   1454 	* config/darwin.c: Remove c-tree.h and c-lang.h
   1455 	* config/t-darwin: Remove dependencies on c-tree.h and c-lang.h.
   1456 
   1457 2010-12-10  Joern Rennecke  <amylaar (a] spamcop.net>
   1458 
   1459 	PR target/46881
   1460 	* doc/tm.texi: Regenerate.
   1461 	* target.def: Fix "preferred" spelling.  Refer to rclass by its
   1462 	exact name.
   1463 	* config/arm/arm.c (arm_preferred_rename_class): Rename parameter class
   1464 	to rclass.
   1465 
   1466 2010-12-09  Paul Koning  <ni1d (a] arrl.net>
   1467 
   1468 	* config/pdp11/pdp11-protos.h (output_move_double,
   1469 	output_move_quad): Delete.
   1470 	(output_move_multiple, pdp11_expand_operands): New functions.
   1471 	(pdp11_action, pdp11_partorder): New enums.
   1472 	* config/pdp11/pdp11.md (movdi, movsi, movdf, movsf): Use
   1473 	output_move_multiple.
   1474 	(adddi3, subdi3, negdi2): New patterns.
   1475 	(addsi3, subsi3, negsi2): Use pdp11_expand_operands.
   1476 	(abshi2): Delete.
   1477 	(neghi2, negqi2): Use PDPint iterator.
   1478 	* config/pdp11/pdp11.c (find_addr_reg, output_move_double,
   1479 	output_move_quad): Delete.
   1480 	(pdp11_expand_operands, output_move_multiple): New functions.
   1481 
   1482 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1483 
   1484 	* config/vax/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
   1485 	* config.gcc (vax-*-linux*): Don't use svr4.h.
   1486 
   1487 2010-12-09  Nathan Froyd  <froydnj (a] codesourcery.com>
   1488 
   1489 	* c-typeck.c (build_indirect_ref): Call invalid_indirection_error.
   1490 
   1491 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1492 
   1493 	* doc/extend.texi (Attribute Syntax): Correct description of
   1494 	attributes in pointer declarators.
   1495 
   1496 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1497 
   1498 	* config/mips/vxworks.h (DBX_REGISTER_NUMBER): Undefine.
   1499 	* config.gcc (mips64*-*-linux* | mipsisa64*-*-linux*,
   1500 	mips*-*-linux*, mips-wrs-vxworks): Don't use svr4.h.
   1501 
   1502 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1503 
   1504 	* config/mep/mep.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
   1505 	WCHAR_TYPE_SIZE): Define.
   1506 	* config.gcc (mep-*-*): Don't use svr4.h.
   1507 
   1508 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1509 
   1510 	* config/mcore/mcore.h (PTRDIFF_TYPE, WCHAR_TYPE,
   1511 	WCHAR_TYPE_SIZE): Define.
   1512 	* config/svr3.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
   1513 	WCHAR_TYPE_SIZE): Don't define.
   1514 	* config.gcc (mcore-*-elf): Don't use svr4.h.
   1515 
   1516 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1517 
   1518 	* config.gcc (m32r-*-elf*, m32rle-*-elf*, m32r-*-rtems*,
   1519 	m32r-*-linux*, m32rle-*-linux*): Don't use svr4.h.
   1520 
   1521 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1522 
   1523 	* config/iq2000/iq2000.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE,
   1524 	WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
   1525 	* config.gcc (iq2000*-*-elf*): Don't use svr4.h.
   1526 
   1527 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1528 
   1529 	* config.gcc (ia64*-*-linux*, ia64*-*-hpux*): Don't use svr4.h.
   1530 
   1531 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1532 
   1533 	* config/pa/pa32-linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
   1534 	* config.gcc (hppa*64*-*-linux*, hppa*-*-linux*): Don't use svr4.h.
   1535 
   1536 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1537 
   1538 	* config/moxie/moxie.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE,
   1539 	WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
   1540 	* config/moxie/rtems.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE,
   1541 	WCHAR_TYPE, WCHAR_TYPE_SIZE): Undefine.
   1542 	* config.gcc (moxie-*-elf, moxie-*-uclinux*): Don't use svr4.h.
   1543 
   1544 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1545 
   1546 	* config/frv/frv.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
   1547 	WCHAR_TYPE_SIZE): Define.
   1548 	* config.gcc (frv-*-elf, frv-*-*linux*): Don't use svr4.h.
   1549 
   1550 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1551 
   1552 	* config/fr30/fr30.h (LIB_SPEC, LINK_SPEC, SIZE_TYPE,
   1553 	PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
   1554 	* config.gcc (fr30-*-elf): Don't use svr4.h.
   1555 
   1556 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1557 
   1558 	* config/cris/linux.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
   1559 	* config.gcc (crisv32-*-linux* | cris-*-linux*): Don't use svr4.h.
   1560 
   1561 2010-12-09  Richard Guenther  <rguenther (a] suse.de>
   1562 
   1563 	PR middle-end/46844
   1564 	* gimple-fold.c (canonicalize_constructor_val): Canonicalize addresses.
   1565 
   1566 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1567 
   1568 	* config/i386/netware.h (TARGET_POSIX_IO): Define.
   1569 	* config/i386/nto.h (TARGET_POSIX_IO): Define.
   1570 	* config/ia64/hpux.h (TARGET_POSIX_IO): Define.
   1571 	* config/moxie/moxie.h (TARGET_POSIX_IO): Don't undefine.
   1572 	* config/openbsd.h (TARGET_POSIX_IO): Define.
   1573 	* config/rtems.h (TARGET_POSIX_IO): Define.
   1574 	* config/sh/embed-elf.h (TARGET_POSIX_IO): Don't undefine.
   1575 	* config/sol2.h (TARGET_POSIX_IO): Define.
   1576 	* config/svr4.h (TARGET_POSIX_IO): Don't define.
   1577 	* config/vxworksae.h (TARGET_POSIX_IO): Define.
   1578 
   1579 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1580 
   1581 	* config/i386/nto.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
   1582 	* config/ia64/hpux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
   1583 	* config/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
   1584 	undefine.
   1585 	* config/mips/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
   1586 	undefine.
   1587 	* config/mips/netbsd.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
   1588 	Don't undefine.
   1589 	* config/rs6000/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
   1590 	Don't undefine.
   1591 	* config/rs6000/linux64.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
   1592 	Don't undefine.
   1593 	* config/sol2.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
   1594 	* config/sparc/netbsd-elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
   1595 	Don't undefine.
   1596 	* config/sparc/openbsd64.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
   1597 	Don't undefine.
   1598 	* config/sparc/sp64-elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
   1599 	Don't undefine.
   1600 	* config/svr4.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't define.
   1601 	* config/xtensa/elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
   1602 	undefine.
   1603 
   1604 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1605 
   1606 	* config/ia64/hpux.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Define for
   1607 	non-GNU assembler.
   1608 	* config/m68k/netbsd-elf.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
   1609 	* config/m68k/openbsd.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
   1610 	* config/mips/openbsd.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
   1611 	* config/sol2.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Define for
   1612 	non-GNU assembler.
   1613 	* config/sparc/sparc.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
   1614 	* config/svr4.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
   1615 
   1616 2010-12-09  Martin Jambor  <mjambor (a] suse.cz>
   1617 
   1618 	* ipa-prop.c (compute_complex_ancestor_jump_func): Work also if the
   1619 	zero is the first phi parameter.
   1620 
   1621 2010-12-09  Martin Jambor  <mjambor (a] suse.cz>
   1622 
   1623 	* ipa-prop.h (struct ipa_parm_adjustment): New field alias_ptr_type.
   1624 	* ipa-prop.c (ipa_modify_call_arguments): Use it.
   1625 	* tree-sra.c (splice_param_accesses): Test that all accesses have the
   1626 	same alias reference type.
   1627 	(turn_representatives_into_adjustments): Set alias_ptr_type of the
   1628 	adjustment.
   1629 
   1630 2010-12-09  Martin Jambor  <mjambor (a] suse.cz>
   1631 
   1632 	PR middle-end/46734
   1633 	* tree-sra.c (splice_param_accesses): Check that there are not
   1634 	multiple ADDRESSABLE types.
   1635 
   1636 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1637 
   1638 	* config/arc/arc.h (ASM_SPEC): Remove %{v}.
   1639 	* config/bfin/bfin.h (ASM_SPEC): Remove %{v}.
   1640 	* config/cris/cris.h (ASM_SPEC): Remove %{v:-v}.
   1641 	* config/fr30/fr30.h (ASM_SPEC): Remove %{v}.
   1642 	* config/frv/frv.h (ASM_SPEC): Remove %{v}.
   1643 	* config/i386/linux.h (ASM_SPEC): Remove %{v}.
   1644 	* config/i386/linux64.h (ASM_SPEC): Remove %{v}.
   1645 	* config/i386/mingw-w64.h (ASM_SPEC): Remove %{v}.
   1646 	* config/i386/sol2-10.h (ASM_SPEC): Remove %{v}.
   1647 	* config/i386/vxworks.h (ASM_SPEC): Remove %{v}.
   1648 	* config/i386/x86-64.h (ASM_SPEC): Remove %{v}.
   1649 	* config/lm32/lm32.h (ASM_SPEC): Remove %{v}.
   1650 	* config/m32r/m32r.h (ASM_SPEC): Remove %{v}.
   1651 	* config/m68k/linux.h (ASM_SPEC): Remove %{v:-V}.
   1652 	* config/microblaze/microblaze.h (ASM_SPEC): Remove %{v}.
   1653 	* config/mips/mips.h (ASM_SPEC): Remove %{v}.
   1654 	* config/mips/vxworks.h (ASM_SPEC): Remove %{v}.
   1655 	* config/pa/pa-linux.h (ASM_SPEC): Remove %{v:-V}.
   1656 	* config/rs6000/freebsd.h (SVR4_ASM_SPEC): Remove %{v}.
   1657 	* config/rs6000/linux64.h (ASM_SPEC): Remove %{v:-V}.
   1658 	* config/rs6000/vxworks.h (ASM_SPEC): Remove %{v:-v}.
   1659 	* config/sparc/openbsd64.h (ASM_SPEC): Remove %{v:-V}.
   1660 	* config/svr4.h (SVR4_ASM_SPEC): Remove %{v:-V}.
   1661 	* config/xtensa/elf.h (ASM_SPEC): Remove %{v}.
   1662 	* config/xtensa/linux.h (ASM_SPEC): Remove %{v}.
   1663 
   1664 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1665 
   1666 	* config/i386/openbsdelf.h (LINK_SPEC): Use %{r:} not %{r*:}.
   1667 	* config/mips/openbsd.h (LINK_SPEC): Use %{r:} not %{r*:}.
   1668 	* config/netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): Use %{r:} not %{r*:}.
   1669 	* config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Use %{r:} not %{r*:}.
   1670 	* config/sparc/openbsd64.h (LINK_SPEC): Use %{r:} not %{r*:}.
   1671 	* config/vax/netbsd-elf.h (LINK_SPEC): Use %{r:} not %{r*:}.
   1672 
   1673 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1674 
   1675 	* config/alpha/freebsd.h (LINK_SPEC): Don't use %{!dynamic-linker:}.
   1676 	* config/alpha/linux-elf.h (LINK_SPEC): Likewise.
   1677 	* config/arm/freebsd.h (LINK_SPEC): Likewise.
   1678 	* config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Likewise.
   1679 	* config/bfin/linux.h (LINK_SPEC): Likewise.
   1680 	* config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Likewise.
   1681 	* config/frv/linux.h (LINK_SPEC): Likewise.
   1682 	* config/i386/freebsd.h (LINK_SPEC): Likewise.
   1683 	* config/i386/freebsd64.h (LINK_SPEC): Likewise.
   1684 	* config/i386/linux.h (LINK_SPEC): Likewise.
   1685 	* config/i386/linux64.h (LINK_SPEC): Likewise.
   1686 	* config/i386/openbsdelf.h (LINK_SPEC): Likewise.
   1687 	* config/ia64/freebsd.h (LINK_SPEC): Likewise.
   1688 	* config/ia64/linux.h (LINK_SPEC): Likewise.
   1689 	* config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
   1690 	* config/m32r/linux.h (LINK_SPEC): Likewise.
   1691 	* config/m68k/linux.h (LINK_SPEC): Likewise.
   1692 	* config/microblaze/linux.h (LINK_SPEC): Likewise.
   1693 	* config/mips/linux.h (LINK_SPEC): Likewise.
   1694 	* config/mips/linux64.h (LINK_SPEC): Likewise.
   1695 	* config/mips/openbsd.h (LINK_SPEC): Likewise.
   1696 	* config/mn10300/linux.h (LINK_SPEC): Likewise.
   1697 	* config/netbsd-elf.h (LINK_SPEC): Likewise.
   1698 	* config/pa/pa-linux.h (LINK_SPEC): Likewise.
   1699 	* config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32,
   1700 	LINK_OS_LINUX_SPEC64): Likewise.
   1701 	* config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC,
   1702 	LINK_OS_LINUX_SPEC, LINK_OS_GNU_SPEC, LINK_OS_NETBSD_SPEC): Likewise.
   1703 	* config/s390/linux.h (LINK_SPEC): Likewise.
   1704 	* config/sh/linux.h (SUBTARGET_LINK_SPEC): Likewise.
   1705 	* config/sparc/freebsd.h (LINK_SPEC): Likewise.
   1706 	* config/sparc/linux.h (LINK_SPEC): Likewise.
   1707 	* config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
   1708 	LINK_SPEC): Likewise.
   1709 	* config/sparc/openbsd64.h (LINK_SPEC): Likewise.
   1710 	* config/vax/linux.h (LINK_SPEC): Likewise.
   1711 	* config/xtensa/linux.h (LINK_SPEC): Likewise.
   1712 
   1713 2010-12-09  Joseph Myers  <joseph (a] codesourcery.com>
   1714 
   1715 	* config/bfin/bfin.h (ASM_SPEC): Remove %{n} and %{T}.
   1716 	* config/frv/frv.h (ASM_SPEC): Likewise.
   1717 	* config/i386/sol2-10.h (ASM_SPEC): Likewise.
   1718 	* config/i386/sol2.h (ASM_SPEC): Likewise.
   1719 	* config/m68k/linux.h (ASM_SPEC): Likewise.
   1720 	* config/pa/pa-linux.h (ASM_SPEC): Likewise.
   1721 	* config/rs6000/linux64.h (ASM_SPEC32): Likewise.
   1722 	* config/rs6000/vxworks.h (ASM_SPEC): Likewise.
   1723 	* config/sol2.h (ASM_SPEC): Likewise.
   1724 	* config/sparc/linux.h (ASM_SPEC): Likewise.
   1725 	* config/sparc/linux64.h (ASM_SPEC): Likewise.
   1726 	* config/sparc/sp-elf.h (ASM_SPEC): Likewise.
   1727 	* config/sparc/sysv4.h (ASM_SPEC): Likewise.
   1728 	* config/svr4.h (SVR4_ASM_SPEC): Likewise.
   1729 
   1730 2010-12-09  Richard Guenther  <rguenther (a] suse.de>
   1731 
   1732 	* reginfo.c (struct subregs_of_mode_node): Remove.
   1733 	(subregs_of_mode): Likewise.
   1734 	(som_hash): Likewise.
   1735 	(som_eq): Likewise.
   1736 	(invalid_mode_changes): New bitmap.
   1737 	(record_subregs_of_mode): Get subregs_of_mode argument.
   1738 	Fill in invalid_mode_changes bitmap.
   1739 	(find_subregs_of_mode): Get subregs_of_mode argument and pass
   1740 	it through.
   1741 	(init_subregs_of_mode): Adjust.
   1742 	(finish_subregs_of_mode): Likewise.
   1743 	(invalid_mode_change_p): Query invalid_mode_changes bitmap.
   1744 
   1745 2010-12-09  Richard Guenther  <rguenther (a] suse.de>
   1746 
   1747 	* ira.c (ira): Do not call finish_subregs_of_mode.
   1748 	* ira-costs.c (finish_costs): Call finish_subregs_of_mode.
   1749 
   1750 2010-12-09  Richard Guenther  <rguenther (a] suse.de>
   1751 
   1752 	* rtl.h (invalid_mode_change_p): Adjust prototype.
   1753 	* reginfo.c (invalid_mode_change_p): Remove from argument.
   1754 	* ira-costs.c (print_allocno_costs): Adjust callers.
   1755 	(find_costs_and_classes): Likewise.
   1756 
   1757 2010-12-09  Jakub Jelinek  <jakub (a] redhat.com>
   1758 
   1759 	* config/s390/s390.md (*mov<mode>cc): Change lgoc and stgoc to
   1760 	locg and stocg even in comment.
   1761 	(sync_old_<atomic><mode>): Give mode to UNSPEC_VOLATILE.
   1762 
   1763 	PR target/41082
   1764 	* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Use stvx
   1765 	instead of stve*x.
   1766 	(altivec_expand_stv_builtin): For op0 use mode of operand 1 instead
   1767 	of operand 0.
   1768 	* config/rs6000/altivec.md (VI_scalar): New mode attr.
   1769 	(altivec_stve<VI_char>x, *altivec_stvesfx): Use scalar instead of
   1770 	vector mode for operand 0, put operand 1 into UNSPEC.
   1771 
   1772 2010-12-09  Yao Qi  <yao (a] codesourcery.com>
   1773 
   1774 	* config/arm/arm.c (arm_preferred_rename_class): Implement targethook
   1775 	PREFERRED_RENAME_CLASS.
   1776 
   1777 2010-12-08  Ian Lance Taylor  <iant (a] google.com>
   1778 
   1779 	* doc/sourcebuild.texi (Front End): Remove reference to
   1780 	snapshot-README and snapshot-index.html.
   1781 
   1782 2010-12-08  Ian Lance Taylor  <iant (a] google.com>
   1783 
   1784 	* doc/sourcebuild.texi (Texinfo Manuals): Change update_web_docs
   1785 	to update_web_docs_svn.
   1786 	(Front End): Likewise.
   1787 
   1788 2010-12-08  Iain Sandoe <iains (a] gcc.gnu.org>
   1789 
   1790 	* gcc/config.gcc (with_cpu): Default i[34567]86-*-darwin* and
   1791 	x86_64-*-darwin* to with_cpu:-core2.
   1792 	* gcc/config/i386/mmx.md (*mov<mode>_internal_rex64): Replace movq
   1793 	with movd for darwin assembler.
   1794 	* gcc/config/i386/sse.md (*vec_concatv2di_rex64_sse4_1): Ditto.
   1795 	(*vec_concatv2di_rex64_sse): Ditto.
   1796 
   1797 2010-12-08  Richard Guenther  <rguenther (a] suse.de>
   1798 	    Sebastian Pop  <sebastian.pop (a] amd.com>
   1799 
   1800 	PR tree-optimization/45230
   1801 	PR tree-optimization/45231
   1802 	PR tree-optimization/45370
   1803 	* sese.c (rename_uses): Returns a bool.  Call
   1804 	recompute_tree_invariant_for_addr_expr only on the RHS of a
   1805 	GIMPLE_ASSIGN.
   1806 	(graphite_copy_stmts_from_block): Call fold_stmt_inplace when
   1807 	rename_uses returns true.
   1808 	* tree-ssa-copy.c (replace_exp): Add a comment about calling
   1809 	fold_stmt_inplace after replace_exp.
   1810 
   1811 2010-12-08  Mike Stump  <mikestump (a] comcast.net>
   1812 
   1813 	PR debug/46749
   1814 	* config/darwin.h (COLLECT_RUN_DSYMUTIL): Add.
   1815 	(DSYMUTIL_SPEC): Use `linker' flags instead to handle lto better.
   1816 	* config/darwin9.h (COLLECT_RUN_DSYMUTIL): Add.
   1817 	(DSYMUTIL_SPEC): Use `linker' flags instead to handle lto better.
   1818 	* collect2.c (post_ld_pass): Add.
   1819 	(process_args): Add.
   1820 	(maybe_run_lto_and_relink): Call post_ld_pass after ld.
   1821 	(main): Likewise.  Call process_args.
   1822 
   1823 2010-12-08  Jakub Jelinek  <jakub (a] redhat.com>
   1824 
   1825 	PR middle-end/46844
   1826 	* regrename.c (check_new_reg_p): Add ATTRIBUTE_UNUSED to reg parameter.
   1827 
   1828 2010-12-08  Richard Earnshaw  <rearnsha (a] arm.com>
   1829 
   1830 	PR target/46631
   1831 	* arm.c (thumb2_reorg): Also try to reduce <commutative_op> Rd, Rn, Rd
   1832 	into a 16-bit instruction.
   1833 
   1834 2010-12-08  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   1835 
   1836 	PR middle-end/42694
   1837 	* builtins.c (expand_builtin_pow_root): Don't optimize pow(x,y)
   1838 	where y is 0.25, 1./6., or 0.75 if the target does not have a sqrt
   1839 	instruction, but do optimize if y is 0.5 or 1./3. since that
   1840 	changes an expensive call into a cheaper one.
   1841 
   1842 2010-12-08  Richard Guenther  <rguenther (a] suse.de>
   1843 
   1844 	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use a shift
   1845 	instead of a division to divide by BITS_PER_UNIT.
   1846 
   1847 2010-12-08  Richard Guenther  <rguenther (a] suse.de>
   1848 
   1849 	* gimplify.c (gimple_tree_eq): Assert hashes are equal only
   1850 	when checking is enabled.
   1851 
   1852 2010-12-07  Andrey Belevantsev  <abel (a] ispras.ru>
   1853 
   1854 	PR target/43603
   1855 	* haifa-sched.c (sched_create_recovery_edges): Update
   1856 	dominator info.
   1857 	* sel-sched-ir.c (maybe_tidy_empty_bb): Update dominator info
   1858 	after deleting an empty block.
   1859 	(tidy_control_flow): Also verify dominators.
   1860 	(sel_remove_bb): Update dominator info after removing a block.
   1861 	(sel_redirect_edge_and_branch_force): Assert that no unreachable
   1862 	blocks will be created. Update dominator info.
   1863 	(sel_redirect_edge_and_branch): Update dominator info when
   1864 	basic blocks do not become unreachable.
   1865 	(sel_remove_loop_preheader): Update dominator info.
   1866 
   1867 2010-12-07  Richard Guenther  <rguenther (a] suse.de>
   1868 
   1869 	* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
   1870 	Reset alignment information.
   1871 	(bump_vector_ptr): Likewise.
   1872 
   1873 2010-12-07  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   1874 
   1875 	PR middle-end/46671
   1876 	PR target/46685
   1877 	* config/pa/pa.c (pa_function_section): New function.
   1878 	(TARGET_ASM_FUNCTION_SECTION): Define.
   1879 
   1880 2010-12-07  Ian Lance Taylor  <iant (a] google.com>
   1881 	    Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   1882 
   1883 	PR bootstrap/46810
   1884 	* configure.ac: Disable AC_MSG_ERROR while looking for the C++
   1885 	preprocessor.
   1886 	* configure: Rebuild.
   1887 
   1888 2010-12-07  Paul Koning  <ni1d (a] arrl.net>
   1889 
   1890 	* config/pdp11/pdp11.c (output_addr_const_pdp11): Output negative
   1891 	values with sign rather than as unsigned.
   1892 
   1893 2010-12-07  Paul Koning  <ni1d (a] arrl.net>
   1894 
   1895 	* config/pdp11/pdp11.c (TARGET_ASM_FUNCTION_SECTION): Define.
   1896 	(pdp11_function_section): New function.
   1897 
   1898 2010-12-07  Joseph Myers  <joseph (a] codesourcery.com>
   1899 
   1900 	* config/mcore/mcore.c Don't include assert.h.
   1901 	(layout_mcore_frame, handle_structs_in_regs): Use gcc_assert.
   1902 	* config/spu/spu.c: Don't include assert.h.
   1903 	(spu_sms_res_mii): Use gcc_assert.
   1904 
   1905 2010-12-07  Sebastian Pop  <sebastian.pop (a] amd.com>
   1906 
   1907 	PR tree-optimization/42327
   1908 	* tree-data-ref.c (omega_setup_subscript): Call build_int_cst
   1909 	instead of using integer_minus_one_node.
   1910 
   1911 2010-12-07  Nathan Froyd  <froydnj (a] codesourcery.com>
   1912 
   1913 	PR c++/45330
   1914 	* params.def (CXX_MAX_NAMESPACES_FOR_DIAGNOSTIC_HELP): New parameter.
   1915 	* doc/invoke.texi (cxx-max-namespaces-for-diagnostic-help): Document.
   1916 
   1917 2010-12-07  Richard Guenther  <rguenther (a] suse.de>
   1918 
   1919 	PR tree-optimization/46832
   1920 	* tree-ssa-math-opts.c (execute_optimize_widening_mul): Check
   1921 	that the call has a lhs.
   1922 
   1923 2010-12-07  Yao Qi  <yao (a] codesourcery.com>
   1924 
   1925 	* Makefile.in: Add $(TARGET_H) to the regrename.o rule.
   1926 	* regrename.c (struct du_head): Add new element length.
   1927 	(sort_du_head, get_element, merge, merge_sort_comparison):
   1928 	New functions of merge sort implementation to du_head list.
   1929 	(regrename_optimize): Sort du_head linked list by length.
   1930 	Iterate registers in a preferred-register-first order.
   1931 	Move some code to ...
   1932 	(check_new_reg_p): here.  New function.
   1933 	(create_new_chain):  Initialize length.
   1934 	(scan_rtx_reg): Increase length for non-debug insns.
   1935 	* target.def: New hook preferred_rename_class.
   1936 	* targhook.c (default_preferred_rename_class): New.
   1937 	* targhook.h: Declare it.
   1938 	* doc/tm.texi.in: New hook TARGET_PREFERRED_RENAME_CLASS.
   1939 	* doc/tm.texi: Regenerate.
   1940 
   1941 2010-12-07  Jakub Jelinek  <jakub (a] redhat.com>
   1942 
   1943 	PR debug/46799
   1944 	* tree-parloops.c (separate_decls_in_region): Use UNKNOWN_LOCATION
   1945 	instead of BUILTINS_LOCATION.
   1946 	(create_loop_fn): Add LOC argument, pass it to build_decl instead of
   1947 	BUILTINS_LOCATION.
   1948 	(create_parallel_loop): Add LOC argument, use it for OMP clauses
   1949 	and GIMPLE_*OMP* statements.
   1950 	(gen_parallel_loop): Determine locus for the parallel loop, pass it
   1951 	to create_loop_fn and create_parallel_loop.
   1952 	* cfgexpand.c (gimple_expand_cfg): For builtin functions, call
   1953 	set_curr_insn_source_location (UNKNOWN_LOCATION).
   1954 
   1955 2010-12-07  Joern Rennecke  <amylaar (a] spamcop.net>
   1956 	    Richard Guenther  <rguenther (a] suse.de>
   1957 
   1958 	PR target/46737
   1959 	* config/bfin/bfin.c (BB_AUX_INDEX): Cast to intptr_t.
   1960 	(bfin_reorder_loops): Change type of index to intptr_t.
   1961 
   1962 2010-12-07  Richard Guenther  <rguenther (a] suse.de>
   1963 
   1964 	PR tree-optimization/46726
   1965 	* tree-inline.c (estimate_num_insns): Special case pow (x, 2.0).
   1966 
   1967 2010-12-07  Richard Guenther  <rguenther (a] suse.de>
   1968 
   1969 	* tree-ssa-math-opts.c (execute_optimize_widening_mul): Unlink
   1970 	virtual operands.
   1971 
   1972 2010-12-07  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   1973 
   1974 	* c-parser.c (c_parser_typeof_specifier): Removed special
   1975 	treatment of objc_volatilized attribute for Objective-C.
   1976 
   1977 2010-12-06  Vladimir Makarov  <vmakarov (a] redhat.com>
   1978 
   1979 	* ira.c (update_equiv_regs): Prohibit move insns if
   1980 	pressure-sensitive scheduling was done.
   1981 
   1982 2010-12-06  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   1983 
   1984 	* c-parser.c (c_parser_for_statement): Use c_fully_fold() instead
   1985 	of c_process_expr_stmt() for the iterating and collection
   1986 	expressions of an Objective-C fast enumeration loop.
   1987 
   1988 2010-12-06  Jakub Jelinek  <jakub (a] redhat.com>
   1989 
   1990 	PR debug/45997
   1991 	* dwarf2out.c (modified_type_die): If both is_const_type and
   1992 	is_volatile_type is set, start with DW_TAG_const_type or
   1993 	DW_TAG_volatile_type depending on where we get qualified type
   1994 	in the recursive call.
   1995 
   1996 	PR target/43897
   1997 	* config/ia64/ia64.c (rtx_needs_barrier): Handle asm CLOBBER
   1998 	as a store into that register.
   1999 
   2000 	PR tree-optimization/46528
   2001 	PR debug/46338
   2002 	* profile.c (branch_prob): Make sure last is never set to a debug
   2003 	stmt.
   2004 
   2005 	PR debug/46771
   2006 	* reginfo.c (init_subregs_of_mode): Don't call find_subregs_of_mode
   2007 	on DEBUG_INSNs.
   2008 
   2009 	PR rtl-optimization/46777
   2010 	* cfglayout.c (duplicate_insn_chain): Avoid duplicating
   2011 	also barrier after tablejump.
   2012 
   2013 2010-12-06  Joern Rennecke  <amylaar (a] spamcop.net>
   2014 	    Richard Henderson  <rth (a] redhat.com>
   2015 
   2016 	PR target/46740
   2017 	* config/vax/vax.c (vax_output_int_move): Fold #if into if.
   2018 
   2019 2010-12-06  Eric Botcazou  <ebotcazou (a] adacore.com>
   2020 
   2021 	* config/sparc/sol2.h (PUSHSECTION_FORMAT): Redefine unconditionally.
   2022 	* config/sparc/sol2-gas.h (PUSHSECTION_FORMAT): Redefine.
   2023 
   2024 2010-12-06  Joern Rennecke  <amylaar (a] spamcop.net>
   2025 
   2026 	PR target/46735
   2027 	* config/frv/predicates.md (gpr_or_int12_operand): Use IN_RANGE.
   2028 	(gpr_fpr_or_int12_operand, gpr_or_int10_operand): Likewise.
   2029 	(int12_operand, int_2word_operand, uint16_operand): Likewise.
   2030 	(fpr_or_int6_operand, int6_operand, int5_operand): Likewise.
   2031 	(uint5_operand, uint4_operand): Likewise.
   2032 	* config/frv/frv.h (IN_RANGE_P): Delete.
   2033 	(GPR_P, FPR_P, CC_P, ICC_P, FCC_P, CR_P, ICR_P, FCR_P): Use IN_RANGE.
   2034 	(ACC_P, ACCG_P, SPR_P, CONST_OK_FOR_I, CONST_OK_FOR_J): Likewise.
   2035 	(CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
   2036 	(CONST_OK_FOR_P): Likewise.
   2037 	* config/frv/frv.md (*movqicc_internal2_int): Likewise.
   2038 	(*movqicc_internal2_float, *movhicc_internal2_int): Likewise.
   2039 	(*movhicc_internal2_float, *movsicc_internal2_int): Likewise.
   2040 	(*movsicc_internal2_float, casesi): Likewise.
   2041 	* config/frv/frv.c (frv_frame_offset_rtx): Likewise.
   2042 	(frv_asm_output_mi_thunk, frv_legitimate_address_p_1): Likewise.
   2043 	(frv_emit_movsi, output_move_single, frv_emit_cond_move): Likewise.
   2044 	(frv_split_cond_move, frv_rtx_costs): Likewise.
   2045 
   2046 	PR target/46739
   2047 	* config/mmix/mmix.c (mmix_intval): Split shift count.
   2048 
   2049 2010-12-06  H.J. Lu  <hongjiu.lu (a] intel.com>
   2050 
   2051 	* config/i386/i386.c (m_COREI7): New.
   2052 	(initial_ix86_tune_features): Turn on
   2053 	X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL and
   2054 	X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL for Core i7.
   2055 
   2056 2010-12-06  H.J. Lu  <hongjiu.lu (a] intel.com>
   2057 
   2058 	* config.gcc: Allow corei7-avx for --with-arch/--with-cpu.
   2059 
   2060 	* config/i386/driver-i386.c (host_detect_local_cpu): Support
   2061 	Sandy Bridge.
   2062 
   2063 	* config/i386/i386.c (override_options): Handle "corei7-avx".
   2064 
   2065 	* doc/invoke.texi: Document corei7-avx.
   2066 
   2067 2010-12-06  Richard Guenther  <rguenther (a] suse.de>
   2068 
   2069 	PR tree-optimization/46806
   2070 	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do not
   2071 	coalesce different types.
   2072 
   2073 2010-12-06  Richard Guenther  <rguenther (a] suse.de>
   2074 
   2075 	PR tree-optimization/46785
   2076 	* tree-vect-loop.c (vect_is_simple_reduction_1): Also allow
   2077 	call statements as operand definition.
   2078 
   2079 2010-12-06  Mingjie Xing  <mingjie.xing (a] gmail.com>
   2080 
   2081 	* doc/tm.texi.in: Fix typo.
   2082 	* doc/tm.texi: Regenerate.
   2083 
   2084 2010-12-05  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   2085 
   2086 	* config.gcc [hppa[12]*-*-hpux10*, hppa[12]*-*-hpux11*]: Fix typo in
   2087 	last change.
   2088 
   2089 2010-12-06  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   2090 
   2091 	* c-family/c-common.h: Removed the declarations of all the objc_
   2092 	callbacks, and moved them into c-objc.h.  Removed
   2093 	objc_ivar_visibility_kind and moved it into c-objc.h.
   2094 	* c-family/c-objc.h: New file.
   2095 	* c-family/c-common.c: Include c-objc.h.
   2096 	* c-family/c-format.c: Same change.
   2097 	* c-family/stub-objc.c: Same change.
   2098 	* c-decl.c: Include c-family/c-objc.h.
   2099 	* c-parser.c: Same change.
   2100 	* c-typeck.c: Same change.
   2101 	* c-config-lang.in (gtfiles): Added c-family/c-objc.h.
   2102 	* Makefile.in (c-decl.o): Depend on c-family/c-objc.h.
   2103 	(c-parser.o): same change.
   2104 	(c-typeck.o): Same change.
   2105 	(c-family/c-format.o): Same change.
   2106 	(c-family/stub-objc.o): Same change.
   2107 	(c-family/c-common.o): Same change.
   2108 	(PLUGIN_HEADERS): Added c-family/c-objc.h.
   2109 
   2110 2010-12-05  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   2111 
   2112 	* config.gcc [hppa[12]*-*-hpux10*, hppa[12]*-*-hpux11*]:  Ignore
   2113 	--with-dwarf2 option.
   2114 
   2115 2010-12-03  Jan Hubicka  <jh (a] suse.cz>
   2116 
   2117 	* lto-streamer-in.c (input_cfg): Fix pasto.
   2118 
   2119 2010-12-03  Jan Hubicka  <jh (a] suse.cz>
   2120 
   2121 	* ipa.c (cgraph_externally_visible_p): Do not localize builtins
   2122 	and functions with user asm defined names.
   2123 	(varpool_externally_visible_p): Do not localize vars with user
   2124 	asm defined names.
   2125 
   2126 2010-12-03  Jan Hubicka  <jh (a] suse.cz>
   2127 
   2128 	* dwarf2asm.c (dw2_output_indirect_constant_1): Set DECL_ASSEMBLER_NAME
   2129 	to prevent mangling with lto frontend.
   2130 
   2131 2010-12-03  Jan Hubicka  <jh (a] suse.cz>
   2132 
   2133 	* Makefile.in (LTO_STREAMER_H): Add GCOV_IO_H.
   2134 	* lto-cgraph.c (merge_profile_summaries): Fix thinko.
   2135 
   2136 2010-12-03  Jan Hubicka  <jh (a] suse.cz>
   2137 
   2138 	PR tree-optimization/46760
   2139 	* cgraph.c (cgraph_create_node): Initialize count_materialization_scale.
   2140 	* cgraph.h (struct cgraph_node): Add count_materialization_scale.
   2141 	* lto-cgraph.c (lto_output_edge): Fix assert.
   2142 	(lto_output_node): Output count_materialization_scale.
   2143 	(output_profile_summary): Output only runs and sum_max.
   2144 	(input_node): Input count_materialization_scale.
   2145 	(input_profile_summary): Read data into file specific gcov summary.
   2146 	(merge_profile_summaries): New function.
   2147 	(input_cgraph): Update call of input_profile_summary;
   2148 	call merge_profile_summaries.
   2149 	* lto-streamer-in.c (input_cfg): Add count_materialization_scale arg;
   2150 	rescale counts at read in.
   2151 	(intput_bb): Likewise.
   2152 	(input_function): Update call of input_bb.
   2153 	(lto_read_body): Update call of input_cfg.
   2154 	* lto-streamer.h: Inlclude gcov-io.h
   2155 	(lto_file_decl_data): Add gcov_ctr_summary.
   2156 
   2157 2010-12-03  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   2158 
   2159 	* doc/tm.texi.in (Cond. Exec. Macros): Rename node from this ...
   2160 	(Cond Exec Macros): ... to this.
   2161 	* doc/tm.texi: Regenerate.
   2162 
   2163 2010-12-03  Jason Merrill  <jason (a] redhat.com>
   2164 
   2165 	PR debug/46123
   2166 	* dwarf2out.c (gen_tagged_type_die): Don't put local types in
   2167 	a declaration DIE.
   2168 
   2169 2010-12-03  Nathan Froyd  <froydnj (a] codesourcery.com>
   2170 
   2171 	* config/arm/arm.c (arm_legitimate_index_p): Split
   2172 	VALID_NEON_QREG_MODE and VALID_NEON_DREG_MODE cases.  Permit
   2173 	slightly larger constants in the latter case.
   2174 	(thumb2_legitimate_index_p): Likewise.
   2175 
   2176 2010-12-03  Joseph Myers  <joseph (a] codesourcery.com>
   2177 
   2178 	* common.opt (N, Q, Qn, Qy, Z, n, r, s, t): New options.
   2179 	* gcc.c (cc1_options): Add %{Qy:}.
   2180 
   2181 2010-12-03  Joseph Myers  <joseph (a] codesourcery.com>
   2182 
   2183 	* gcc.c (LINK_COMMAND_SPEC): Don't handle -A, -d or -m.
   2184 	* config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
   2185 	* config/i386/djgpp.h (LINK_COMMAND_SPEC): Likewise.
   2186 
   2187 2010-12-03  Alexander Monakov  <amonakov (a] ispras.ru>
   2188 
   2189 	PR rtl-optimization/45354
   2190 	* sel-sched-ir.c (jump_leads_only_to_bb_p): Rename to ...
   2191 	(bb_has_removable_jump_to_p): This.  Update all callers. Make static.
   2192 	Allow BBs ending with a conditional jump.  Forbid EDGE_CROSSING jumps.
   2193 	* sel-sched-ir.h (jump_leads_only_to_bb_p): Delete prototype.
   2194 
   2195 2010-12-03  Laurynas Biveinis  <laurynas.biveinis (a] gmail.com>
   2196 
   2197 	* basic-block.h (struct edge_prediction): Remove forward declaration.
   2198 	* tree-flow.h (struct edge_prediction): Move from here...
   2199 	* predict.c (struct edge_prediction): ...to here.
   2200 	* cselib.h (struct elt_list): Move from here...
   2201 	* cselib.c (struct elt_list): ...to here.
   2202 
   2203 2010-12-02  Ian Lance Taylor  <iant (a] google.com>
   2204 
   2205 	* gcc.c (default_compilers): Add entry for ".go".
   2206 	* common.opt: Add -static-libgo as a driver option.
   2207 	* doc/install.texi (Configuration): Mention libgo as an option for
   2208 	--enable-shared.  Mention go as an option for --enable-languages.
   2209 	* doc/invoke.texi (Overall Options): Mention .go as a file name
   2210 	suffix.  Mention go as a -x option.
   2211 	* doc/frontends.texi (G++ and GCC): Mention Go as a supported language.
   2212 	* doc/sourcebuild.texi (Top Level): Mention libgo.
   2213 	* doc/standards.texi (Standards): Add section on Go language.
   2214 	Move references for other languages into their own section.
   2215 	* doc/contrib.texi (Contributors): Mention that I contributed the
   2216 	Go frontend.
   2217 
   2218 2010-12-03  Laurynas Biveinis  <laurynas.biveinis (a] gmail.com>
   2219 
   2220 	* tree.h (struct call_expr_arg_iterator_d): Remove GTY tag.
   2221 	(const_call_expr_arg_iterator_d): Likewise.
   2222 	(expanded_location): Likewise.
   2223 	* c-tree.h (struct c_arg_tag_d): Likewise.
   2224 	* dwarf2out.c (struct cfa_loc): Likewise.
   2225 	(struct skeleton_chain_struct): Likewise.
   2226 	* except.c (struct ttypes_filter): Likewise.
   2227 	* cselib.h (struct cselib_val_struct): Likewise.
   2228 	(elt_loc_list): Likewise.
   2229 	(elt_list): Likewise.
   2230 	* varasm.c (struct addr_const): Likewise.
   2231 	* tree-flow.h (struct edge_prediction): Likewise.
   2232 	(struct int_tree_map): Likewise.
   2233 	(struct _edge_var_map): Likewise.
   2234 
   2235 2010-12-02  H.J. Lu  <hongjiu.lu (a] intel.com>
   2236 
   2237 	PR target/46768
   2238 	* config/i386/i386.c (initial_ix86_tune_features): Turn on
   2239 	X86_TUNE_INTER_UNIT_MOVES for Core 2 and Core i7.
   2240 
   2241 2010-12-02  H.J. Lu  <hongjiu.lu (a] intel.com>
   2242 
   2243 	* config.gcc: Allow corei7 for --with-arch=/--with-cpu=.
   2244 
   2245 2010-12-02  Ian Lance Taylor  <iant (a] google.com>
   2246 
   2247 	* configure.ac: AC_DEFINE ENABLE_BUILD_WITH_CXX.  Check for C++
   2248 	header files unordered_map, tr1/unordered_map, and ext/hash_map.
   2249 	* configure, config.in: Rebuild.
   2250 
   2251 2010-12-02  Eric Botcazou  <ebotcazou (a] adacore.com>
   2252 
   2253 	PR target/46685
   2254 	* config/sparc/sparc.c (can_use_mov_pic_label_ref): New predicate.
   2255 	(sparc_expand_move): Call it to decide whether to emit the special
   2256 	mov{si,di}_pic_label_ref patterns.
   2257 	(sparc_legitimize_pic_address): Call it to decide whether to emit
   2258 	the regular PIC sequence for labels.  Fix long line.
   2259 	(sparc_file_end): Set is_thunk for the PIC helper.
   2260 
   2261 2010-12-02  Eric Botcazou  <ebotcazou (a] adacore.com>
   2262 
   2263 	* tree.c (build_range_type_1): Do not SET_TYPE_STRUCTURAL_EQUALITY
   2264 	for a non-shared type.
   2265 
   2266 2010-12-02  Sebastian Pop  <sebastian.pop (a] amd.com>
   2267 
   2268 	PR middle-end/45297
   2269 	* tree-scalar-evolution.c (interpret_rhs_expr): Handle ADDR_EXPR
   2270 	with MEM_REFs as POINTER_PLUS_EXPR.
   2271 
   2272 2010-12-02  Joseph Myers  <joseph (a] codesourcery.com>
   2273 
   2274 	* config/i386/linux.h, config/m32r/linux.h, config/m68k/linux.h,
   2275 	config/sparc/linux.h, config/sparc/linux64.h: Remove comments
   2276 	mentioning /lib/elf.
   2277 
   2278 2010-12-02  Joseph Myers  <joseph (a] codesourcery.com>
   2279 
   2280 	* config/bfin/bfin.h (LINK_SPEC): Remove %{b}.
   2281 	* config/frv/frv.h (LINK_SPEC): Remove %{b}.
   2282 	* config/i386/netware.h (LINK_SPEC): Remove %{b}.
   2283 	* config/i386/nto.h (LINK_SPEC): Remove %{b}.
   2284 	* config/lm32/uclinux-elf.h (LINK_SPEC): Remove %{b}.
   2285 	* config/sol2.h (LINK_SPEC): Remove %{b}.
   2286 	* config/svr4.h (LINK_SPEC): Remove %{b}.
   2287 
   2288 2010-12-02  Joseph Myers  <joseph (a] codesourcery.com>
   2289 
   2290 	* config/i386/freebsd.h (LINK_SPEC): Cut long comment.
   2291 	* config/i386/linux.h (LINK_SPEC): Cut long comment.
   2292 	* config/i386/netware.h (LINK_SPEC): Remove %{V}.
   2293 	* config/m32r/linux.h (LINK_SPEC): Cut long comment.
   2294 	* config/m68k/linux.h (LINK_SPEC): Cut long comment.
   2295 	* config/sparc/linux.h (LINK_SPEC): Cut long comment.
   2296 	(ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}.
   2297 	* config/sparc/linux64.h (LINK_SPEC): Cut long comment.
   2298 	(ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}.
   2299 	* config/sparc/netbsd-elf.h (ASM_SPEC): Remove %{V} and %{v:%{!V:-V}}.
   2300 
   2301 2010-12-02  Joseph Myers  <joseph (a] codesourcery.com>
   2302 
   2303 	* gcc.c (trad_capable_cpp, default_compilers): Don't handle
   2304 	-ftraditional.
   2305 
   2306 2010-12-02  Joseph Myers  <joseph (a] codesourcery.com>
   2307 
   2308 	* config/alpha/freebsd.h (LINK_SPEC): Don't handle -Wl,.
   2309 	* config/bfin/bfin.h (ASM_SPEC): Don't handle -Wa,.
   2310 	* config/frv/frv.h (ASM_SPEC): Don't handle -Wa,.
   2311 	* config/lm32/uclinux-elf.h (LINK_SPEC): Don't handle -Wl,.
   2312 	* config/microblaze/microblaze.h (LINK_SPEC): Don't handle -Wl,.
   2313 	* config/mn10300/linux.h (ASM_SPEC): Don't handle -Wa,.
   2314 	* config/pa/pa-linux.h (ASM_SPEC): Don't handle -Wa,.
   2315 	* config/rs6000/freebsd.h (SVR4_ASM_SPEC): Don't handle -Wa,.
   2316 	* config/rs6000/linux64.h (ASM_SPEC_COMMON): Don't handle -Wa,.
   2317 	* config/rs6000/sysv4.h (LINK_SPEC): Don't handle -Wl,.
   2318 	* config/rs6000/vxworks.h (ASM_SPEC): Don't handle -Wa,.
   2319 	* config/sol2.h (ASM_SPEC): Don't handle -Wa,.
   2320 	* config/sparc/linux.h (ASM_SPEC): Don't handle -Wa,.
   2321 	* config/sparc/linux64.h (ASM_SPEC): Don't handle -Wa,.
   2322 	* config/sparc/sp-elf.h (ASM_SPEC): Don't handle -Wa,.
   2323 	* config/sparc/sysv4.h (ASM_SPEC): Don't handle -Wa,.
   2324 	* config/svr4.h (SVR4_ASM_SPEC): Don't handle -Wa,.
   2325 	* config/vxworks.h (VXWORKS_LINK_SPEC): Don't handle -Wl,.
   2326 
   2327 2010-12-02  Paul Koning  <ni1d (a] arrl.net>
   2328 
   2329 	* config/pdp11/pdp11.c (output_jump): Map unsigned to signed
   2330 	opcodes if CC_NO_OVERFLOW is set.
   2331 	(notice_update_cc_on_set): Correct setting of CC0 as a side
   2332 	effect; set CC_NO_OVERFLOW for cases where C flag is not meaningful.
   2333 
   2334 2010-12-02  Ian Lance Taylor  <iant (a] google.com>
   2335 
   2336 	* doc/install.texi (Configuration): Update default for
   2337 	--with-boot-ldflags.
   2338 
   2339 2010-12-02  Nathan Froyd  <froydnj (a] codesourcery.com>
   2340 
   2341 	PR c/45062
   2342 	* c-decl.c (grokparms): Set arg_info->parms to NULL_TREE when
   2343 	!funcdef_flag.
   2344 
   2345 2010-12-02  Sebastian Pop  <sebastian.pop (a] amd.com>
   2346 
   2347 	PR tree-optimization/45199
   2348 	* tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p): New.
   2349 	(stores_zero_from_loop): Call
   2350 	mem_write_stride_of_same_size_as_unit_type_p.
   2351 	* tree-data-ref.h (stride_of_unit_type_p): New.
   2352 	* tree-loop-distribution.c (generate_memset_zero): Simplified.
   2353 	Call stride_of_unit_type_p.
   2354 	(build_rdg_partition_for_component): Do not call
   2355 	rdg_flag_similar_memory_accesses when
   2356 	flag_tree_loop_distribute_patterns is set.
   2357 
   2358 2010-12-02  Richard Guenther  <rguenther (a] suse.de>
   2359 
   2360 	* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Disregard
   2361 	sign-changing conversions for induction detection.
   2362 
   2363 2010-12-02  Richard Guenther  <rguenther (a] suse.de>
   2364 
   2365 	PR tree-optimization/46723
   2366 	* tree-vect-loop.c (get_initial_def_for_induction): Strip
   2367 	conversions from the induction evolution and apply it to
   2368 	the result instead.
   2369 	* tree-vect-stmts.c (vect_get_vec_def_for_operand): Handle
   2370 	assigns for induction defs.
   2371 
   2372 2010-12-02  Richard Guenther  <rguenther (a] suse.de>
   2373 
   2374 	* value-prof.c (gimple_ic): Use stmt_ends_bb_p to detect
   2375 	the case we need to split the edge and not the block.
   2376 
   2377 2010-12-02  Bernd Schmidt  <bernds (a] codesourcery.com>
   2378 
   2379 	DFA model for Core 2 and Core i7 scheduling.
   2380 
   2381 	* config/i386/core2.md: New DFA model for Core 2 and Core i7.
   2382 	* config/i386/i386.c (ix86_option_override_internal): Update entries
   2383 	for Core 2 and Core i7.
   2384 	(ix86_issue_rate): Set issue rate to 3 [be realistic].
   2385 	* config/i386/i386.md: Include "core2.md".
   2386 	(define_attr cpu): Add "corei7".
   2387 
   2388 2010-12-02  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   2389 
   2390 	Define tuning for Core 2 and Core i7.
   2391 
   2392 	* config/i386/i386-c.c (ix86_target_macros_internal): Update.
   2393 	* config/i386/i386.c (core2_cost): Delete, use generic costs instead.
   2394 	(m_CORE2): Replace with m_CORE2_{32,64}.
   2395 	(m_CORE2I7{,_32,_64}): New macros.
   2396 	(m_GENERIC32, m_GENERIC64): Update.
   2397 	(initial_ix86_tune_features, x86_accumulate_outgoing_args,)
   2398 	(x86_arch_always_fancy_math_387): Set m_CORE2I7_32 iff m_GENERIC32 and
   2399 	set m_CORE2I7_64 iff m_GENERIC64.
   2400 	(processor_target_table): Use generic costs for Core 2 and Core i7.
   2401 	(ix86_option_override_internal): Update entries for Core 2 and Core i7.
   2402 	(ix86_issue_rate): Remove entry for Core 2.
   2403 	(ia32_multipass_dfa_lookahead, ix86_sched_init_global): Update.
   2404 	* config/i386/i386.h (TARGET_CORE2_32, TARGET_CORE2_64): New macros.
   2405 	(TARGET_CORE2): Update.
   2406 	(PROCESSOR_CORE2_32, PROCESSOR_CORE2_64): New constants.
   2407 	(PROCESSOR_CORE2): Remove.
   2408 
   2409 2010-12-02  Richard Guenther  <rguenther (a] suse.de>
   2410 
   2411 	* lto-streamer.h (LTO_major_version): Bump to 2.
   2412 
   2413 2010-12-02  Richard Guenther  <rguenther (a] suse.de>
   2414 
   2415 	PR lto/44871
   2416 	* gimple.c (canonical_type_hash_cache): New hashtable.
   2417 	(gimple_type_hash): Make a wrapper around ...
   2418 	(gimple_type_hash_1): ... this.  Take gtc_mode argument.
   2419 	(gimple_canonical_type_hash): Likewise.
   2420 	(gtc_visit): Take a gtc_mode argument.
   2421 	(gimple_types_compatible_p_1): Likewise. Do not compare struct
   2422 	tag names or field names when computing canonical types.
   2423 	(gimple_types_compatible_p): Adjust.
   2424 	(visit): Take a gtc_mode argument.
   2425 	(iterative_hash_gimple_type): Likewise.  Do not hash struct tag
   2426 	names or field names when computing hashes of canonical types.
   2427 	(gimple_register_canonical_type): Use gimple_canonical_type_hash
   2428 	for the hash.
   2429 	(print_gimple_types_stats): Dump stats of canonical_type_hash_cache.
   2430 	(free_gimple_type_tables): Free canonical_type_hash_cache.
   2431 
   2432 2010-12-02  Richard Guenther  <rguenther (a] suse.de>
   2433 	    Ira Rosen  <irar (a] il.ibm.com>
   2434 
   2435 	PR tree-optimization/46663
   2436 	* tree-vect-patterns.c (vect_recog_pow_pattern): Check that
   2437 	FUNCTION_DECL exists and that it's a builtin.
   2438 
   2439 2010-12-02  Jie Zhang  <jie (a] codesourcery.com>
   2440 
   2441 	PR middle-end/46674
   2442 	* varasm.c (compute_visible_aliases): Handle user set assembler name.
   2443 
   2444 2010-12-01  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   2445 
   2446 	* config/rs6000/rs6000.c (rs6000_option_override_internal): Fix
   2447 	thinko regarding setting -mno-<xxx> debug switches.
   2448 	(rs6000_rtx_costs): Add FMA.  Delete old rtl based FMA costs.
   2449 
   2450 2010-12-01  Joseph Myers  <joseph (a] codesourcery.com>
   2451 
   2452 	* intl.c: Don't include tm.h.
   2453 	* Makefile.in (intl.o): Don't depend on $(TM_H).
   2454 
   2455 2010-12-01  Sebastian Pop  <sebastian.pop (a] amd.com>
   2456 
   2457 	* graphite-sese-to-poly.c (analyze_drs_in_stmts): Fix set but
   2458 	unused warning.
   2459 	(rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
   2460 
   2461 2010-12-01  Sebastian Pop  <sebastian.pop (a] amd.com>
   2462 
   2463 	* graphite-sese-to-poly.c (analyze_drs): Removed.
   2464 	(build_scop_drs): Do not call analyze_drs.
   2465 	(analyze_drs_in_stmts): New.
   2466 	(insert_stmts): New.
   2467 	(insert_out_of_ssa_copy): Call analyze_drs_in_stmts.
   2468 	(insert_out_of_ssa_copy_on_edge): Same.
   2469 	(rewrite_close_phi_out_of_ssa): Call insert_stmts.
   2470 	(rewrite_phi_out_of_ssa): Same.
   2471 	(rewrite_cross_bb_scalar_dependence): Same.
   2472 	(split_reduction_stmt): Move data references in the new basic blocks.
   2473 	(translate_scalar_reduction_to_array_for_stmt): Call insert_stmts.
   2474 
   2475 2010-12-01  Sebastian Pop  <sebastian.pop (a] amd.com>
   2476 
   2477 	* sese.c (rename_uses): Do not handle ADDR_EXPR in LHS of assignments.
   2478 
   2479 2010-12-01  Sebastian Pop  <sebastian.pop (a] amd.com>
   2480 
   2481 	PR middle-end/45297
   2482 	* graphite-poly.c (new_poly_bb): Returns a poly_bb_p.  Do not take
   2483 	the reduction bool in parameter.  Clear PBB_IS_REDUCTION.  Set GBB_PBB.
   2484 	* graphite-poly.h (new_poly_bb): Update declaration.
   2485 	(gbb_from_bb): Moved here...
   2486 	(pbb_from_bb): New.
   2487 	* graphite-sese-to-poly.c (var_used_in_not_loop_header_phi_node):
   2488 	Removed.
   2489 	(graphite_stmt_p): Removed.
   2490 	(try_generate_gimple_bb): Returns a gimple_bb_p.  Do not pass in
   2491 	sbitmap reductions.  Always build a gimple_bb_p.  Do not call
   2492 	new_poly_bb.
   2493 	(build_scop_bbs_1): Do not pass in sbitmap reductions.
   2494 	(build_scop_bbs): Same.
   2495 	(gbb_from_bb): ... from here.
   2496 	(add_conditions_to_constraints): Moved up.
   2497 	(analyze_drs): New.
   2498 	(build_scop_drs): Call analyze_drs.  Remove all the PBBs that do
   2499 	not contain data references.
   2500 	(new_pbb_from_pbb): New.
   2501 	(insert_out_of_ssa_copy_on_edge): Call new_pbb_from_pbb after a
   2502 	block is split.
   2503 	(rewrite_close_phi_out_of_ssa): Update call to
   2504 	insert_out_of_ssa_copy_on_edge.
   2505 	(rewrite_reductions_out_of_ssa): Now static.
   2506 	(rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
   2507 	(split_pbb): New.
   2508 	(split_reduction_stmt): Call split_pbb.
   2509 	(translate_scalar_reduction_to_array): Pass in the scop, do not
   2510 	pass in the sbitmap reductions.
   2511 	(rewrite_commutative_reductions_out_of_ssa_close_phi): Same.
   2512 	(rewrite_commutative_reductions_out_of_ssa_loop): Same.
   2513 	(rewrite_commutative_reductions_out_of_ssa): Same.
   2514 	(build_poly_scop): Call build_scop_bbs,
   2515 	rewrite_commutative_reductions_out_of_ssa,
   2516 	rewrite_reductions_out_of_ssa, and
   2517 	rewrite_cross_bb_scalar_deps_out_of_ssa.  Move build_scop_drs
   2518 	before scop_to_lst.
   2519 	* graphite-sese-to-poly.h (rewrite_commutative_reductions_out_of_ssa):
   2520 	Removed declaration.
   2521 	(rewrite_reductions_out_of_ssa): Same.
   2522 	(rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
   2523 	(build_scop_bbs): Same.
   2524 	* graphite.c (graphite_transform_loops): Do not initialize reductions.
   2525 	Do not call build_scop_bbs,
   2526 	rewrite_commutative_reductions_out_of_ssa,
   2527 	rewrite_reductions_out_of_ssa, and
   2528 	rewrite_cross_bb_scalar_deps_out_of_ssa.
   2529 	* sese.h (struct gimple_bb): Add field pbb.
   2530 	(GBB_PBB): New.
   2531 
   2532 2010-12-01  Sebastian Pop  <sebastian.pop (a] amd.com>
   2533 
   2534 	* graphite-sese-to-poly.c (handle_scalar_deps_crossing_scop_limits):
   2535 	New.
   2536 	(rewrite_cross_bb_scalar_deps): Pass in the scop.  Call
   2537 	handle_scalar_deps_crossing_scop_limits.
   2538 	(rewrite_cross_bb_scalar_deps_out_of_ssa): Create an empty BB
   2539 	after the scop.  Update call to rewrite_cross_bb_scalar_deps.
   2540 
   2541 2010-12-01  Sebastian Pop  <sebastian.pop (a] amd.com>
   2542 
   2543 	* sese.c (rename_uses): Call recompute_tree_invariant_for_addr_expr
   2544 	when replacing a constant in an ADDR_EXPR.
   2545 
   2546 2010-12-01  Sebastian Pop  <sebastian.pop (a] amd.com>
   2547 
   2548 	* graphite-blocking.c (lst_do_strip_mine_loop): Extra parameter
   2549 	for the stride.
   2550 	(lst_do_strip_mine): Same.
   2551 	(scop_do_strip_mine): Same.
   2552 	* graphite-poly.c (apply_poly_transforms): Update call to
   2553 	scop_do_strip_mine.
   2554 	* graphite-poly.h (scop_do_strip_mine): Update declaration.
   2555 
   2556 2010-12-01  Jan Hubicka  <jh (a] suse.cz>
   2557 
   2558 	* tree.c (build_common_builtin_nodes): Do not initialize
   2559 	BUILT_IN_PROFILE_FUNC_ENTER and BUILT_IN_PROFILE_FUNC_EXIT.
   2560 	* builtins.c (expand_builtin_profile_func): Remove.
   2561 	(expand_builtin): Do not handle BUILT_IN_PROFILE_FUNC_ENTER and
   2562 	BUILT_IN_PROFILE_FUNC_EXIT.
   2563 	* builtins.def (profile_func_enter, profile_func_exit): Remove stubs.
   2564 	(__cyg_profile_func_enter, __cyg_profile_func_exit): New.
   2565 	* gimplify.c (gimplify_function_tree): Reorganize code calling
   2566 	profiling functions.
   2567 
   2568 2010-12-01  Joseph Myers  <joseph (a] codesourcery.com>
   2569 
   2570 	* opts.c: Expand comment on tm.h include.
   2571 
   2572 2010-12-01  Yao Qi  <yao (a] codesourcery.com>
   2573 
   2574 	* config/arm/predicates.md ("vfp_register_operand"): Return true for
   2575 	VFP_D0_D7_REGS classes.
   2576 
   2577 2010-12-01  Joseph Myers  <joseph (a] codesourcery.com>
   2578 
   2579 	* common.opt (flag_stack_check): New Variable entry.
   2580 	(fcompare-debug-second): Use Var.
   2581 	* flags.h (flag_compare_debug, flag_stack_check): Remove.
   2582 	* opts.c (flag_compare_debug): Remove.
   2583 	(common_handle_option): Don't handle OPT_fcompare_debug_second.
   2584 	Set opts->x_flag_stack_check for OPT_fstack_check_.
   2585 	* toplev.c (flag_stack_check): Remove.
   2586 
   2587 2010-12-01  Joseph Myers  <joseph (a] codesourcery.com>
   2588 
   2589 	* common.opt (main_input_filename, main_input_basename,
   2590 	main_input_baselength): New Variable entries.  From toplev.c.
   2591 	* final.c (output_quoted_string): Move from toplev.c.
   2592 	* output.h (output_quoted_string): Move from toplev.h.
   2593 	* opts-global.c (read_cmdline_options): Use gcc_options pointer to
   2594 	access main_input_filename, main_input_baselength and
   2595 	main_input_basename.
   2596 	* targhooks.c: Include intl.h and opts.h.
   2597 	(option_affects_pch_p, default_get_pch_validity): Move from toplev.c.
   2598 	* targhooks.h (option_affects_pch_p, default_get_pch_validity):
   2599 	Move from toplev.h.
   2600 	* toplev.c (main_input_filename, main_input_basename,
   2601 	main_input_baselength): Move to common.opt.
   2602 	(output_quoted_string): Move to final.c.
   2603 	(warn_deprecated_use): Move to tree.c.
   2604 	(option_affects_pch_p, default_get_pch_validity,
   2605 	pch_option_mismatch, default_pch_valid_p): Move to targhooks.c.
   2606 	* toplev.h (skip_leading_substring): Move to tree-dump.c.
   2607 	(warn_deprecated_use): Move to tree.h.
   2608 	(output_quoted_string): Move to output.h.
   2609 	(main_input_filename, main_input_basename, main_input_baselength):
   2610 	Move to common.opt.
   2611 	(default_get_pch_validity, default_pch_valid_p): Move to targhooks.c.
   2612 	* tree-dump.c (skip_leading_substring): Move from toplev.h.
   2613 	* tree.c (warn_deprecated_use): Move from toplev.c.
   2614 	* tree.h (warn_deprecated_use): Move from toplev.h.
   2615 	* c-typeck.c, config/alpha/alpha.c, config/arc/arc.c,
   2616 	config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
   2617 	config/cris/cris.c, config/crx/crx.c, config/fr30/fr30.c,
   2618 	config/frv/frv.c, config/h8300/h8300.c, config/ia64/ia64.c,
   2619 	config/iq2000/iq2000.c, config/lm32/lm32.c, config/m32c/m32c.c,
   2620 	config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/m68k.c,
   2621 	config/mcore/mcore.c, config/mep/mep.c,
   2622 	config/microblaze/microblaze.c, config/mips/mips.c,
   2623 	config/mmix/mmix.c, config/mn10300/mn10300.c,
   2624 	config/moxie/moxie.c, config/pa/pa.c, config/pdp11/pdp11.c,
   2625 	config/picochip/picochip.c, config/s390/s390.c,
   2626 	config/score/score.c, config/sh/sh.c, config/sparc/sparc.c,
   2627 	config/spu/spu.c, config/stormy16/stormy16.c, config/v850/v850.c,
   2628 	config/vax/vax.c, config/xtensa/xtensa.c, gimple-low.c,
   2629 	graphite-sese-to-poly.c, plugin.c, tree-cfg.c, tree-inline.c,
   2630 	varasm.c, xcoffout.c: Don't include toplev.h.
   2631 	* Makefile.in (c-typeck.o, tree-inline.o, tree-cfg.o,
   2632 	gimple-low.o, graphite-sese-to-poly.o, targhooks.o, plugin.o,
   2633 	varasm.o, xcoffout.o): Update dependencies.
   2634 	* config/arm/t-arm (arm.o): Update dependencies.
   2635 	* config/spu/t-spu-elf (spu.o): Update dependencies.
   2636 
   2637 2010-12-01  Richard Guenther  <rguenther (a] suse.de>
   2638 
   2639 	PR tree-optimization/46730
   2640 	* value-prof.c (gimple_ic): Always generate a separate merge BB.
   2641 
   2642 2010-11-30  Ian Lance Taylor  <iant (a] google.com>
   2643 
   2644 	* config/i386/linux.h (ASM_SPEC): Pass -v as -v, not -V.  Remove
   2645 	all of %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}.
   2646 	* config/i386/linux64.h (ASM_SPEC): Likewise.
   2647 	* config/i386/mingw-w64.h (ASM_SPEC): Likewise.
   2648 	* config/i386/sol2-10.h (ASM_SPEC) [USE_GAS]: Likewise.
   2649 	* config/i386/vxworks.h (ASM_SPEC): Likewise.
   2650 	* config/i386/x86-64.h (ASM_SPEC): Likewise.
   2651 	* config/i386/sol2.h (ASM_SPEC): Remove %{Wa,*:%*}.
   2652 	* config/i386/sol2-10.h (ASM_SPEC) [!USE_GAS]: Likewise.
   2653 
   2654 2010-11-30  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   2655 
   2656 	* c-decl.c (finish_function): Call objc_finish_function in
   2657 	Objective-C.
   2658 	* c-typeck.c (convert_for_assignment): Do not call
   2659 	objc_type_quals_match().
   2660 
   2661 2010-11-30  Richard Guenther  <rguenther (a] suse.de>
   2662 
   2663 	PR tree-optimization/46722
   2664 	* tree-ssa-math-opts.c (convert_mult_to_fma): Get multiplication
   2665 	operands as arguments.
   2666 	(execute_optimize_widening_mul): Also handle power of two as
   2667 	multiplication.
   2668 
   2669 2010-11-30  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   2670 
   2671 	PR middle-end/46709
   2672 	* cgraphunit.c (process_function_and_variable_attributes): Fix
   2673 	cut'n'pasteo.
   2674 
   2675 2010-11-30  Joseph Myers  <joseph (a] codesourcery.com>
   2676 
   2677 	* hwint.c:  New.  Extracted from toplev.c.
   2678 	* hwint.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
   2679 	Move from toplev.h.
   2680 	* toplev.c (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
   2681 	Move to hwint.c.
   2682 	* toplev.h (clz_hwi, ctz_hwi, ffs_hwi, exact_log2, floor_log2):
   2683 	Move to hwint.h.
   2684 	* builtins.c, combine.c, config/i386/winnt.c, double-int.c,
   2685 	explow.c, expmed.c, fold-const.c, ggc-page.c, ggc-zone.c, ifcvt.c,
   2686 	ipa-struct-reorg.c, ira-color.c, matrix-reorg.c, omp-low.c,
   2687 	real.c, recog.c, reload.c, rtlanal.c, simplify-rtx.c,
   2688 	stor-layout.c, tree-dfa.c, tree-ssa-alias.c,
   2689 	tree-ssa-loop-niter.c, tree-vect-data-refs.c,
   2690 	tree-vect-loop-manip.c, tree-vect-loop.c, tree-vect-stmts.c,
   2691 	tree-vrp.c: Don't include toplev.h.
   2692 	* genattrtab.c, genconditions.c, genemit.c, genextract.c,
   2693 	genoutput.c, genpeep.c, genpreds.c, genrecog.c: Don't include
   2694 	toplev.h in generated output.
   2695 	* Makefile.in (OBJS-common): Add hwint.o.
   2696 	Dependencies for above files changed to remove toplev.h.
   2697 	(hwint.o): New.
   2698 	(insn-attrtab.o, insn-emit.o, insn-extract.o, insn-output.o,
   2699 	insn-peep.o, insn-preds.o, insn-recog.o): Don't depend on toplev.h.
   2700 	* config/i386/t-cygming (winnt.o): Don't depend on toplev.h.
   2701 	* config/i386/t-interix (winnt.o): Don't depend on toplev.h.
   2702 
   2703 2010-11-30  Richard Guenther  <rguenther (a] suse.de>
   2704 
   2705 	PR tree-optimization/46717
   2706 	* value-prof.c (gimple_ic): Preserve EH edges of the indirect
   2707 	call.  Manually create EH edges for the direct call and update
   2708 	target PHI nodes.
   2709 
   2710 2010-11-30  Joseph Myers  <joseph (a] codesourcery.com>
   2711 
   2712 	* diagnostic-core.h: Include bversion.h.
   2713 	* toplev.h: Don't include input.h or bversion.h.
   2714 	(parse_optimize_options): Don't declare here.
   2715 	* alias.c, auto-inc-dec.c, c-aux-info.c, c-convert.c, c-parser.c,
   2716 	caller-save.c, cfg.c, cfganal.c, cfgbuild.c, cfgcleanup.c,
   2717 	combine-stack-adj.c, config/arm/pe.c, config/darwin-c.c,
   2718 	config/host-darwin.c, config/i386/host-cygwin.c,
   2719 	config/i386/host-mingw32.c, config/i386/msformat-c.c,
   2720 	config/i386/netware.c, config/i386/nwld.c,
   2721 	config/i386/winnt-cxx.c, config/i386/winnt-stubs.c,
   2722 	config/ia64/ia64-c.c, config/m32c/m32c-pragma.c,
   2723 	config/mep/mep-pragma.c, config/microblaze/microblaze-c.c,
   2724 	config/rs6000/host-darwin.c, config/rs6000/rs6000-c.c,
   2725 	config/score/score3.c, config/score/score7.c,
   2726 	config/sh/symbian-base.c, config/sh/symbian-c.c,
   2727 	config/sh/symbian-cxx.c, config/sol2-c.c, config/sol2.c,
   2728 	config/v850/v850-c.c, config/vxworks.c, convert.c, cppbuiltin.c,
   2729 	cselib.c, dbgcnt.c, ddg.c, dfp.c, dominance.c, emit-rtl.c,
   2730 	fixed-value.c, fwprop.c, ggc-common.c, gimple.c, gimplify.c,
   2731 	graphite-blocking.c, graphite-clast-to-gimple.c,
   2732 	graphite-dependences.c, graphite-flattening.c,
   2733 	graphite-interchange.c, graphite-poly.c,
   2734 	graphite-scop-detection.c, graphite.c, haifa-sched.c,
   2735 	implicit-zee.c, integrate.c, ipa-pure-const.c, ipa-reference.c,
   2736 	ira-build.c, ira-conflicts.c, ira-costs.c, ira-lives.c, jump.c,
   2737 	lists.c, loop-doloop.c, loop-iv.c, lto-cgraph.c, lto-compress.c,
   2738 	lto-opts.c, lto-section-in.c, lto-section-out.c,
   2739 	lto-streamer-out.c, lto-symtab.c, modulo-sched.c, optabs.c,
   2740 	params.c, postreload-gcse.c, postreload.c, predict.c, profile.c,
   2741 	regcprop.c, reginfo.c, regmove.c, reorg.c, resource.c,
   2742 	sched-deps.c, sched-ebb.c, sched-rgn.c, sdbout.c,
   2743 	sel-sched-dump.c, sel-sched-ir.c, sese.c, stmt.c, targhooks.c,
   2744 	tree-cfgcleanup.c, tree-mudflap.c, tree-nomudflap.c,
   2745 	tree-object-size.c, tree-outof-ssa.c, tree-phinodes.c,
   2746 	tree-profile.c, tree-sra.c, tree-ssa-ccp.c, tree-ssa-coalesce.c,
   2747 	tree-ssa-live.c, tree-ssa-loop-prefetch.c, tree-ssa-loop.c,
   2748 	tree-ssa-operands.c, tree-ssa-structalias.c, tree-ssa-uninit.c,
   2749 	tree-vect-patterns.c, value-prof.c, var-tracking.c, web.c: Don't
   2750 	include toplev.h.
   2751 	* Makefile.in (TOPLEV_H): Remove.  All uses changed to use
   2752 	toplev.h.  Dependencies for above files and c-family files changed
   2753 	to remove $(TOPLEV_H) or toplev.h.
   2754 	(C_TREE_H): Don't include $(TOPLEV_H).
   2755 	(DIAGNOSTIC_CORE_H): Use $(INPUT_H) instead of input.h.  Add
   2756 	bversion.h.
   2757 	* config/arm/t-pe, config/arm/t-wince-pe, config/i386/t-cygming,
   2758 	config/ia64/t-ia64, config/mep/t-mep, config/score/t-score-elf,
   2759 	config/t-darwin, config/t-sol2,
   2760 	config/t-vxworks, config/v850/t-v850, config/v850/t-v850e:
   2761 	Dependencies for above files changed to remove $(TOPLEV_H) or
   2762 	toplev.h.
   2763 
   2764 2010-11-30  Richard Guenther  <rguenther (a] suse.de>
   2765 
   2766 	PR lto/44986
   2767 	* gcc.c (main): Use the first input with a compiler as infile
   2768 	for link spec processing.
   2769 
   2770 2010-11-30  Richard Guenther  <rguenther (a] suse.de>
   2771 
   2772 	PR lto/45949
   2773 	* cgraphunit.c (ipa_passes): Stop after errors from small IPA passes.
   2774 
   2775 2010-11-30  Mingjie Xing  <mingjie.xing (a] gmail.com>
   2776 
   2777 	* gcc-plugin.h: Include coretypes.h.
   2778 	* Makefile.in (FUNCTION_H): Add hard-reg-set.h.
   2779 
   2780 2010-11-30  Laurynas Biveinis  <laurynas.biveinis (a] gmail.com>
   2781 
   2782 	* ggc-zone.c (ggc_pch_read): Fix conditional compilation.
   2783 	* ggc-none.c (ggc_internal_alloc_zone_stat)
   2784 	(ggc_internal_cleared_alloc_zone_stat): New.
   2785 
   2786 2010-11-29  Joakim Tjernlund  <Joakim.Tjernlund (a] transmode.se>
   2787 
   2788 	* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Check
   2789 	TARGET_SINGLE_PIC_BASE for RS6000_PIC_OFFSET_TABLE_REGNUM.
   2790 	(rs6000_emit_prologue): Don't set PIC register if
   2791 	TARGET_SINGLE_PIC_BASE.
   2792 	* config/rs6000/rs6000.opt (msingle-pic-base): New option.
   2793 	* doc/invoke.texi (msingle-pic-base): Document.
   2794 
   2795 2010-11-29  H.J. Lu  <hongjiu.lu (a] intel.com>
   2796 
   2797 	PR driver/46712
   2798 	* exec-tool.in (id): New.
   2799 	Check and export LT_RCU_$id instead of LT_RCU.
   2800 
   2801 2010-11-29  Zdenek Dvorak  <rakdver (a] kam.uniff.cz>
   2802 
   2803 	PR tree-optimization/46675
   2804 	* tree-ssa-loop-niter.c (split_to_var_and_offset): Avoid overflow
   2805 	in offset calculation.
   2806 
   2807 2010-11-29  Jan Hubicka  <jh (a] suse.cz>
   2808 
   2809 	* collect2.c (main): Do not imply verbose output with
   2810 	LTO and linker plugin.
   2811 
   2812 2010-11-29  Dodji Seketeli  <dodji (a] redhat.com>
   2813 
   2814 	* dwarf2out.c (print_die): Print the address of the current DIE or
   2815 	of any DIE referenced by the current one.
   2816 
   2817 2010-11-29  Dodji Seketeli  <dodji (a] redhat.com>
   2818 
   2819 	PR debug/46101
   2820 	* dwarf2out.c (lookup_type_die_strip_naming_typedef): New function.
   2821 	(scope_die_for, gen_type_die_for_member): Replace uses of
   2822 	lookup_type_die with use of lookup_type_die_strip_naming_typedef.
   2823 
   2824 2010-11-29  Iain Sandoe  <iains (a] gcc.gnu.org>
   2825 
   2826 	* config/darwin.c (darwin_mergeable_string_section): Remove blank line.
   2827 	(darwin_asm_declare_object_name): Correct spelling.
   2828 	(darwin_output_aligned_bss): Likewise.
   2829 
   2830 2010-11-29  Iain Sandoe  <iains (a] gcc.gnu.org>
   2831 	    Mike Stump  <mrs (a] gcc.gnu.org>
   2832 
   2833 	PR target/26427
   2834 	PR target/33120
   2835 	PR testsuite/35710
   2836 	* config/i386/darwin.h (ASM_OUTPUT_COMMON): Remove
   2837 	(ASM_OUTPUT_LOCAL): Likewise.
   2838 	* config/darwin-protos.h (darwin_asm_declare_object_name): New.
   2839 	(darwin_output_aligned_bss): Likewise.
   2840 	(darwin_asm_output_aligned_decl_local): Likewise.
   2841 	(darwin_asm_output_aligned_decl_common): Likewise.
   2842 	(darwin_use_anchors_for_symbol_p): Likewise.
   2843 	* config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Remove.
   2844 	(TARGET_ASM_OUTPUT_ANCHOR): Define.
   2845 	(TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define.
   2846 	(DARWIN_SECTION_ANCHORS): Set to 1.
   2847 	* config/darwin.c (emit_aligned_common): New var.
   2848 	(darwin_init_sections): Check that the Darwin private zero-size section
   2849 	marker is in range.
   2850 	(darwin_text_section): Check for zero-sized objects.
   2851 	(darwin_mergeable_string_section): Likewise.
   2852 	(darwin_mergeable_constant_section): Likewise.
   2853 	(machopic_select_section): Adjust to check for zero-sized objects.
   2854 	Assert that OBJC meta data are non-zero sized.
   2855 	(darwin_asm_declare_object_name): New.
   2856 	(darwin_asm_declare_constant_name): Adjust for zero-sized
   2857 	object sections.
   2858 	(BYTES_ZFILL): Define.
   2859 	(darwin_emit_weak_or_comdat): New.
   2860 	(darwin_emit_local_bss): New.
   2861 	(darwin_emit_common): New.
   2862 	(darwin_output_aligned_bss): New.
   2863 	(darwin_asm_output_aligned_decl_common): New.
   2864 	(darwin_asm_output_aligned_decl_local): New.
   2865 	(darwin_file_end): Disable subsections_via_symbols when section
   2866 	anchoring is active.
   2867 	(darwin_asm_output_anchor): Re-enable.
   2868 	(darwin_use_anchors_for_symbol_p): New.
   2869 	(darwin_override_options): Check for versions that can emit
   2870 	aligned common.  Update usage of flags to current.
   2871 	* config/darwin-sections.def: Update comments and flags for
   2872 	non-anchor sections.  zobj_const_section, zobj_data_section,
   2873 	zobj_bss_section, zobj_const_data_section: New.
   2874 	* config/darwin.h (ASM_DECLARE_OBJECT_NAME): Redefine.
   2875 	(ASM_OUTPUT_ALIGN): Make whitespace output consistent.
   2876 	(L2_MAX_OFILE_ALIGNMENT): Define.
   2877 	(ASM_OUTPUT_ALIGNED_BSS): Define.
   2878 	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
   2879 	(ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
   2880 	(SECTION_NO_ANCHOR): Define.
   2881 	(TARGET_ASM_OUTPUT_ANCHOR) Define with a default of NULL.
   2882 	(DARWIN_SECTION_ANCHORS): Define with a default of 0.
   2883 
   2884 2010-11-29  Joseph Myers  <joseph (a] codesourcery.com>
   2885 
   2886 	* system.h: Include "safe-ctype.h" instead of <safe-ctype.h>.
   2887 	Include <signal.h>, <sys/mman.h>, <sys/resource.h> and <sys/times.h>.
   2888 	(O_BINARY, SIGCHLD, MAP_FAILED, MAP_ANONYMOUS, kill):
   2889 	Conditionally define.
   2890 	(GET_ENVIRONMENT): Poison.
   2891 	* configure.ac: Don't test for mincore.
   2892 	* configure: Regenerate.
   2893 	* config.in: Regenerate.
   2894 	* collect2-aix.c: Don't include <sys/mman.h>.
   2895 	* collect2.c: Don't include <signal.h>.
   2896 	(SIGCHLD): Don't define.
   2897 	(prefix_from_env): Use getenv instead of GET_ENVIRONMENT.
   2898 	* config/alpha/alpha.c: Include "splay-tree.h" instead of
   2899 	<splay-tree.h>.
   2900 	* config/arm/arm.c (arm_target_help): Use getenv instead of
   2901 	GET_ENVIRONMENT.
   2902 	* config/avr/driver-avr.c: Don't include <stdlib.h>.
   2903 	* config/frv/frv.c: Don't include <ctype.h>.
   2904 	* config/host-darwin.c: Don't include <sys/mman.h>.
   2905 	* config/host-hpux.c: Don't include <sys/mman.h> or <unistd.h>.
   2906 	(MAP_FAILED): Don't define.
   2907 	* config/host-linux.c: Don't include <sys/mman.h> or <limits.h>.
   2908 	* config/host-solaris.c: Don't include <sys/mman.h>.
   2909 	* config/i386/cygming.h: Don't include <stdio.h>.
   2910 	* config/i386/driver-i386.c: Don't include <stdlib.h>.
   2911 	* config/i386/host-cygwin.c: Don't include <sys/mman.h>.
   2912 	* config/iq2000/iq2000.c: Don't include <signal.h>.
   2913 	* config/m32c/m32c-pragma.c: Don't include <stdio.h>.
   2914 	* config/m68hc11/m68hc11.c: Don't include <stdio.h>.
   2915 	* config/mep/mep-pragma.c: Don't include <stdio.h>.
   2916 	* config/microblaze/microblaze.c: Don't include <signal.h>.
   2917 	* config/mips/mips.c: Don't include <signal.h>.
   2918 	* config/rs6000/host-darwin.c: Don't include <signal.h>.
   2919 	* cppdefault.c (cpp_relocated): Use getenv instead of GET_ENVIRONMENT.
   2920 	* defaults.h (GET_ENVIRONMENT): Don't define.
   2921 	* et-forest.h: Don't include <ansidecl.h> or <stddef.h>.
   2922 	* gcc.c: Don't include <signal.h>, <sys/mman.h> or <sys/types.h>.
   2923 	(SIGCHLD, MAP_FAILED, kill): Don't define.
   2924 	(process_command): Use getenv instead of GET_ENVIRONMENT.
   2925 	* genhooks.c: Don't include <string.h>.
   2926 	* ggc-common.c: Don't include <sys/resource.h>, <sys/mman.h> or
   2927 	<sys/types.h>.
   2928 	(MAP_FAILED): Don't define.
   2929 	* ggc-page.c Don't include <sys/mman.h>.
   2930 	(MAP_ANONYMOUS, MAP_FAILED): Don't define.
   2931 	* ggc-zone.c: Don't include <sys/mman.h>.
   2932 	(MAP_ANONYMOUS, MAP_FAILED): Don't define.
   2933 	* graph.c: Include "config.h" instead of <config.h>.
   2934 	* incpath.c (add_env_var_paths): Use getenv instead of GET_ENVIRONMENT.
   2935 	* lto-wrapper.c: Don't include <errno.h>, <signal.h> or "libiberty.h".
   2936 	(SIGCHLD, kill): Don't define.
   2937 	* mips-tfile.c: Don't include <signal.h>.
   2938 	* opts.c: Don't include <signal.h> or <sys/resource.h>.
   2939 	(print_specific_help): Use getenv instead of GET_ENVIRONMENT.
   2940 	* passes.c: Don't include <signal.h>, <sys/resource.h> or
   2941 	<sys/times.h>.
   2942 	* sparseset.h: Don't include <assert.h>.
   2943 	* timevar.c: Don't include <sys/times.h> or <sys/resource.h>.
   2944 	* tlink.c: Don't include "libiberty.h".
   2945 	* toplev.c: Don't include <signal.h> or <sys/times.h>.
   2946 	* tree-mudflap.c: Include "demangle.h" instead of <demangle.h>.
   2947 	* tree-switch-conversion.c: Don't include <signal.h>.
   2948 	* vmsdbgout.c: Don't include <errno.h> or <string.h>.
   2949 
   2950 2010-11-29  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   2951 
   2952 	* c-parser.c (c_parser_objc_try_catch_statement): Renamed to
   2953 	c_parser_objc_try_catch_finally_statement for consistency with the
   2954 	C++ parser.  Parse @catch(...) and pass NULL_TREE to
   2955 	objc_begin_catch_clause() in that case.  Improved error recovery.
   2956 	Reorganized code to be almost identical to
   2957 	cp_parser_objc_try_catch_finally_statement.
   2958 
   2959 2010-11-29  Joern Rennecke  <amylaar (a] spamcop.net>
   2960 
   2961 	PR tree-optimization/46621
   2962 	* gimple.h: Don't include tm.h or hard-reg-set.h .
   2963 	* Makefile.in (GIMPLE_H): Remove $(TM_H).
   2964 
   2965 	PR bootstrap/44756
   2966 	* cppbuiltin.c: Include target.h .
   2967 	(define_builtin_macros_for_type_sizes):
   2968 	Use targetm.float_words_big_endian.
   2969 
   2970 2010-11-27  Jan Hubicka  <jh (a] suse.cz>
   2971 
   2972 	* dwarf2out.c (dwarf2out_begin_function): Set cold_text_section
   2973 	and output cold_text_section_label.
   2974 	(dwarf2out_init): Don't do that there.
   2975 	(dwarf2out_finish): Handle cold section end label only if cold
   2976 	section was used.
   2977 
   2978 2010-11-27  Eric Botcazou  <ebotcazou (a] adacore.com>
   2979 
   2980 	* tree-nested.c (remap_vla_decls): Fully expand value expressions of
   2981 	VLA variables.
   2982 
   2983 2010-11-27  Richard Guenther  <rguenther (a] suse.de>
   2984 
   2985 	* gimple.c (gimple_assign_copy_p): Use gimple_assign_single_p.
   2986 	(gimple_assign_ssa_name_copy_p): Likewise.
   2987 	(gimple_assign_unary_nop_p): Use is_gimple_assign.
   2988 	(is_gimple_cast): Remove.
   2989 	(gimple_assign_single_p): Move ...
   2990 	* gimple.h (gimple_assign_single_p): ... here.
   2991 	(is_gimple_cast): Remove.
   2992 	(gimple_assign_rhs_code): Simplify.
   2993 	* gimple-fold.c (gimple_fold_builtin): Use CONVERT_EXPR_P
   2994 	instead of is_gimple_cast.
   2995 	* ipa-type-escape.c (look_for_casts): Likewise.
   2996 
   2997 2010-11-26  Joseph Myers  <joseph (a] codesourcery.com>
   2998 
   2999 	* doc/options.texi (Enum, EnumValue): Document new record types.
   3000 	(Enum): Document new option flag.
   3001 	* opt-functions.awk
   3002 	* optc-gen.awk: Handle enumerated option arguments.
   3003 	* opth-gen.awk: Handle enumerated option arguments.
   3004 	* opts-common.c (enum_arg_ok_for_language, enum_arg_to_value,
   3005 	enum_value_to_arg): New.
   3006 	(decode_cmdline_option): Handle enumerated arguments.
   3007 	(read_cmdline_option): Handle CL_ERR_ENUM_ARG.
   3008 	(set_option, option_enabled, get_option_state): Handle CLVC_ENUM.
   3009 	* opts.c (print_filtered_help, print_specific_help): Take
   3010 	lang_mask arguments.
   3011 	(print_filtered_help): Handle printing values of enumerated
   3012 	options.  Print possible arguments for enumerated options.
   3013 	(print_specific_help): Update call to print_filtered_help.
   3014 	(common_handle_option): Update calls to print_specific_help.  Use
   3015 	value rather than arg for OPT_fdiagnostics_show_location_.  Don't
   3016 	handle OPT_ffp_contract_, OPT_fexcess_precision_,
   3017 	OPT_fvisibility_, OPT_ftls_model_, OPT_fira_algorithm_ or
   3018 	OPT_fira_region_ here.
   3019 	* opts.h (enum cl_var_type): Add CLVC_ENUM.
   3020 	(struct cl_option): Add var_enum.
   3021 	(CL_ENUM_CANONICAL, CL_ENUM_DRIVER_ONLY, struct cl_enum_arg,
   3022 	struct cl_enum, cl_enums, cl_enums_count): New.
   3023 	(CL_ERR_ENUM_ARG): Define.
   3024 	(CL_ERR_NEGATIVE): Update value.
   3025 	(enum_value_to_arg): Declare.
   3026 	* common.opt (flag_ira_algorithm, flag_ira_region,
   3027 	flag_fp_contract_mode, flag_excess_precision_cmdline,
   3028 	default_visibility, flag_tls_default): Remove Variable entries.
   3029 	(help_enum_printed): New Variable.
   3030 	(fdiagnostics-show-location=): Use Enum.  Add associated
   3031 	SourceInclude, Enum and EnumValue entries.
   3032 	(fexcess-precision=, ffp-contract=, fira-algorithm=, fira-region=,
   3033 	ftls-model=, fvisibility=): Use Enum, Var and Init.  Add
   3034 	associated Enum and EnumValue entries.
   3035 
   3036 2010-11-26  Joern Rennecke  <amylaar (a] spamcop.net>
   3037 
   3038 	PR target/46623
   3039 	* config/microblaze/microblaze.c (microblaze_block_move_straight):
   3040 	Use XALLOCAVEC.
   3041 	(microblaze_option_override): Don't use C++ style comments.
   3042 	(save_restore_insns): Remove unused variable base_offset.
   3043 	(microblaze_expand_prologue): Remove unused variable insn.
   3044 	(microblaze_secondary_reload): Adjust type to match target.h .
   3045 	(microblaze_elf_in_small_data_p): Move declarations to start of block.
   3046 	(microblaze_expand_move): Likewise.
   3047 	* config/microblaze/microblaze.h (LARGE_INT):
   3048 	Avoid signed / unsigned comparisons.
   3049 	(ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
   3050 	(ASM_FORMAT_PRIVATE_NAME): Make format specifier match printed data.
   3051 	(ASM_FINISH_DECLARE_OBJECT): Likewise.  Constify name.
   3052 
   3053 2010-11-26  Michael Matz  <matz (a] suse.de>
   3054 
   3055 	* tree-ssa-copy.c (fini_copy_prop): Don't DCE when we have loops.
   3056 
   3057 	* passes.c (init_optimization_passes): Remove superfluous
   3058 	copy-prop pass.
   3059 
   3060 2010-11-26  Richard Guenther  <rguenther (a] suse.de>
   3061 
   3062 	PR lto/46648
   3063 	* gimple.c (gtc_visit): Do not return true for members of an
   3064 	SCC still being processed but the current lattice value of
   3065 	the member.  Treat SCC members comparison state as lattice,
   3066 	starting at equal, eventually dropping to unequal.
   3067 	(gimple_types_compatible_p_1): Likewise.
   3068 
   3069 2010-11-26  Richard Guenther  <rguenther (a] suse.de>
   3070 
   3071 	PR middle-end/46559
   3072 	* dwarf2out.c (dwarf2out_finish): Use comp_unit_die as root
   3073 	for location list processing.
   3074 
   3075 2010-11-26  Richard Guenther  <rguenther (a] suse.de>
   3076 
   3077 	PR lto/46560
   3078 	* cgraph.c (cgraph_clone_edge): Clone call_stmt dependent
   3079 	flags manually.
   3080 
   3081 2010-11-26  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   3082 
   3083 	* config/s390/s390.c (print_operand_address): Replace assert with
   3084 	error message.
   3085 	(print_operand): Replace assertions, gcc_unreachable and
   3086 	fatal_insn with error messages.
   3087 
   3088 2010-11-26  Richard Guenther  <rguenther (a] suse.de>
   3089 
   3090 	PR tree-optimization/46665
   3091 	* tree-ssa-structalias.c (pt_solution_set_var): Use DECL_PT_UID.
   3092 
   3093 2010-11-26  Ian Bolton  <ian.bolton (a] arm.com>
   3094 
   3095 	* config/arm/arm.c (arm_option_override): enable loop array
   3096 	prefetching at -O3 for suitable targets, and configure params.
   3097 	* config/arm/arm-protos.h (struct tune_params): Add fields for
   3098 	configuring loop array prefetching.
   3099 
   3100 2010-11-26  Christian Borntraeger  <borntraeger (a] de.ibm.com>
   3101 
   3102 	* config/s390/2817.md (z196_crack): Add z196_g3 as possible slot.
   3103 
   3104 2010-11-26  Richard Guenther  <rguenther (a] suse.de>
   3105 
   3106 	PR tree-optimization/46664
   3107 	* tree-affine.c (aff_combination_to_tree): Add rest last.
   3108 
   3109 2010-11-26  Michael Haubenwallner  <michael.haubenwallner (a] salomon.at>
   3110 
   3111 	PR target/33637
   3112 	* configure.ac: Accept extra arguments for AS_FOR_TARGET,
   3113 	LD_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET.
   3114 	* configure: Regenerated.
   3115 	* exec-tool.in: Not quoting command, may have extra arguments.
   3116 
   3117 2010-11-26  Richard Guenther  <rguenther (a] suse.de>
   3118 
   3119 	PR tree-optimization/46528
   3120 	PR debug/46338
   3121 	* profile.c (branch_prob): Do not split blocks based on locations
   3122 	from debug statements.
   3123 
   3124 2010-11-26  Jakub Jelinek  <jakub (a] redhat.com>
   3125 
   3126 	PR middle-end/46647
   3127 	* builtins.c (fold_builtin_memset): Check c is INTEGER_CST instead
   3128 	of host_integerp check.  Use TREE_INT_CST_LOW instead of tree_low_cst.
   3129 
   3130 	PR bootstrap/45700
   3131 	* tree.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
   3132 	build4_stat_loc, build5_stat_loc, build6_stat_loc): New inlines.
   3133 	(build1_loc, build2_loc, build3_loc, build4_loc, build5_loc,
   3134 	build6_loc): Define.
   3135 	* fold-const.c (protected_set_expr_location_unshare): New inline.
   3136 	(fold_convert_loc, pedantic_non_lvalue_loc): Use it.
   3137 	(negate_expr, associate_trees, non_lvalue_loc, omit_one_operand_loc,
   3138 	pedantic_omit_one_operand_loc, omit_two_operands_loc,
   3139 	fold_truth_not_expr, invert_truthvalue_loc, make_bit_field_ref,
   3140 	optimize_bit_field_compare, make_range, fold_range_test, fold_truthop,
   3141 	build_fold_addr_expr_with_type_loc, fold_unary_loc, fold_binary_loc,
   3142 	fold_indirect_ref_1, build_fold_indirect_ref_loc): Use builN_loc
   3143 	instead of buildN followed by SET_EXPR_LOCATION or
   3144 	protected_set_expr_location.
   3145 	(fold_build1_stat_loc, fold_build2_stat_loc, fold_build3_stat_loc):
   3146 	Use buildN_stat_loc instead of buildN_stat followed by
   3147 	SET_EXPR_LOCATION.
   3148 
   3149 2010-11-26  Basile Starynkevitch  <basile (a] starynkevitch.net>
   3150 
   3151 	* Makefile.in (s-tm-texi): Remove spurous tab.
   3152 
   3153 2010-11-26  Alexandre Oliva  <aoliva (a] redhat.com>
   3154 
   3155 	PR debug/46258
   3156 	* tree-cfg.c (replace_uses_by): Don't mark BBs as altered on
   3157 	debug stmts.
   3158 
   3159 2010-11-26  Alexandre Oliva  <aoliva (a] redhat.com>
   3160 
   3161 	* toplev.c (finalize): Add no_backend parameter.  Don't finish
   3162 	passes when preprocessing only.  Adjust...
   3163 	(do_compile): ... caller.
   3164 
   3165 2010-11-25  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   3166 
   3167 	* config/pa/pa.md (negdf2): Condition on !flag_signed_zeros instead of
   3168 	flag_unsafe_math_optimizations.
   3169 	(negsf2): Likewise.
   3170 	Move fnegabs related patterns together.  Only use fmpynfadd instruction
   3171 	to negate a multiply if !flag_signed_zeros is true.
   3172 
   3173 2010-11-25  Uros Bizjak  <ubizjak (a] gmail.com>
   3174 
   3175 	* gengtype-state.c (read_state_structures): Initialize "previous".
   3176 
   3177 2010-11-25  Basile Starynkevitch  <basile (a] starynkevitch.net>
   3178 	    Jeremie Salvucci  <jeremie.salvucci (a] free.fr>
   3179 
   3180 	* gengtype-state.c: Add new file.
   3181 
   3182 	* gengtype.c (type count): New variable.
   3183 	(new_structure, find_param_structure, create_pointer)
   3184 	(create_array): Use it to set state_number in types.
   3185 	(dump_everything): Improve comment.
   3186 	(main): Call read_state and write_state. Print type_count.
   3187 
   3188 	* gengtype.h (type_lineloc): New function.
   3189 	(read_state, write_state): New declarations.
   3190 
   3191 	* Makefile.in (GENGTYPE_FLAGS): New variable.
   3192 	(s-gtype): Run gengtype twice and generate gtype.state.
   3193 	(build/gengtype-state.o): New rule.
   3194 	(build/gengtype$(build_exeext)): Link gengtype-state.o.
   3195 	(mostlyclean): Update comment.  Remove gtype.state.
   3196 
   3197 2010-11-25  Jakub Jelinek  <jakub (a] redhat.com>
   3198 
   3199 	PR middle-end/46637
   3200 	* combine.c (try_combine): When substing i2dest for i2src, pass
   3201 	1 as last argument even if
   3202 	i0_feeds_i1_n && i1_feeds_i2_n && i0dest_in_i0src.
   3203 
   3204 2010-11-25  H.J. Lu  <hongjiu.lu (a] intel.com>
   3205 
   3206 	PR middle-end/46647
   3207 	* builtins.c (target_char_cast): Check INTEGER_CST instead of
   3208 	host_integerp.  Replace tree_low_cst with TREE_INT_CST_LOW.
   3209 
   3210 2010-11-25  Joseph Myers  <joseph (a] codesourcery.com>
   3211 
   3212 	* target.def (supports_split_stack, except_unwind_info): Take
   3213 	gcc_options parameters.
   3214 	* targhooks.c (default_except_unwind_info,
   3215 	dwarf2_except_unwind_info, sjlj_except_unwind_info): Take
   3216 	gcc_options parameters.
   3217 	* targhooks.h (default_except_unwind_info,
   3218 	dwarf2_except_unwind_info, sjlj_except_unwind_info): Update
   3219 	prototypes.
   3220 	* doc/tm.texi.in (TARGET_IRA_COVER_CLASSES,
   3221 	TARGET_HAVE_NAMED_SECTIONS, TARGET_UNWIND_TABLES_DEFAULT):
   3222 	Document that hooks must not be modified.
   3223 	(TARGET_EXCEPT_UNWIND_INFO): Refer to opts argument.
   3224 	* doc/tm.texi: Regenerate.
   3225 	* defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Pass
   3226 	&global_options to targetm.except_unwind_info.
   3227 	* dwarf2out.c (dwarf2out_do_frame, dwarf2out_do_cfi_asm,
   3228 	dwarf2out_begin_prologue, dwarf2out_frame_init,
   3229 	dwarf2out_frame_finish, dwarf2out_assembly_start): Pass
   3230 	&global_options to targetm.except_unwind_info.
   3231 	* except.c (init_eh, finish_eh_generation,
   3232 	gate_convert_to_eh_region_ranges,
   3233 	output_one_function_exception_table): Pass &global_options to
   3234 	targetm.except_unwind_info.
   3235 	* expr.c (build_personality_function): Pass &global_options to
   3236 	targetm.except_unwind_info.
   3237 	* function.c (expand_function_end): Pass &global_options to
   3238 	targetm.except_unwind_info.
   3239 	* hooks.c (hook_bool_bool_gcc_optionsp_false): New.
   3240 	* hooks.h (hook_bool_bool_gcc_optionsp_false): Declare.
   3241 	* opts.c (finish_options): Pass opts to targetm.except_unwind_info
   3242 	and targetm.supports_split_stack.  Remove assertions about opts
   3243 	and opts_set.
   3244 	(common_handle_option): Remove assertions about opts, opts_set and dc.
   3245 	* tree-tailcall.c (suitable_for_tail_call_opt_p): Pass
   3246 	&global_options to targetm.except_unwind_info.
   3247 	* tree.c (build_common_builtin_nodes: Pass &global_options to
   3248 	targetm.except_unwind_info.
   3249 	* config/arm/arm.c (arm_except_unwind_info): Add gcc_options parameter.
   3250 	(arm_compute_func_type, arm_expand_prologue, thumb_pushpop,
   3251 	thumb1_expand_prologue, thumb1_output_function_prologue,
   3252 	arm_unwind_emit, arm_output_fn_unwind): Update calls to
   3253 	arm_except_unwind_info.
   3254 	* config/i386/i386.c (ix86_supports_split_stack): Add gcc_options
   3255 	parameter.
   3256 	* config/ia64/ia64.c (ia64_except_unwind_info): Add gcc_options
   3257 	parameter.
   3258 	(ia64_output_function_prologue, ia64_add_bundle_selector_before,
   3259 	ia64_reorg, ia64_asm_unwind_emit): Update calls to
   3260 	ia64_except_unwind_info.
   3261 	* config/pa/pa.c (pa_option_override): Pass &global_options to
   3262 	targetm.except_unwind_info.
   3263 	* config/picochip/picochip-protos.h (picochip_except_unwind_info):
   3264 	Remove prototype.
   3265 
   3266 2010-11-25  Kai Tietz  <kai.tietz (a] onevision.com>
   3267 
   3268 	* cgraphunit.c (process_function_and_variable_attributes):
   3269 	Mark dllexport-ed function/variables as needed.
   3270 	* ipa.c (cgraph_externally_visible_p): Make dllexport-ed
   3271 	as externally visible.
   3272 
   3273 2010-11-25  Alexander Monakov  <amonakov (a] ispras.ru>
   3274 
   3275 	PR rtl-optimization/46585
   3276 	* sel-sched-ir.c (return_regset_to_pool): Verify that RS is not NULL.
   3277 	(vinsn_init): Skip computation of dependencies for local NOPs.
   3278 	(vinsn_delete): Don't try to free regsets for local NOPs.
   3279 	(setup_nop_and_exit_insns): Change definition of nop_pattern.
   3280 
   3281 2010-11-25  Alexander Monakov  <amonakov (a] ispras.ru>
   3282 
   3283 	PR rtl-optimization/46602
   3284 	* sel-sched-ir.c (maybe_tidy_empty_bb): Move checking ...
   3285 	(tidy_control_flow): Here.
   3286 
   3287 2010-11-25  Joern Rennecke  <amylaar (a] spamcop.net>
   3288 	    Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   3289 
   3290 	PR bootstrap/45888
   3291 	* Makefile.in (s-tm-texi): Remove \r occurences from tmp-tm.texi.
   3292 	Fix target.def pathname in timestamp comparison.
   3293 
   3294 2010-11-24  Richard Henderson  <rth (a] redhat.com>
   3295 
   3296 	* config/ia64/predicates.md (pmpyshr_operand): New.
   3297 	* config/ia64/ia64.c (ia64_expand_unpack): New.
   3298 	(ia64_expand_widen_mul_v4hi): New.
   3299 	(ia64_expand_widen_sum): Update for pattern renames.
   3300 	(ia64_expand_dot_prod_v8qi): Likewise.
   3301 	* config/ia64/ia64-protos.h: Update.
   3302 	* config/ia64/vect.md (vecwider): New mode attribute.
   3303 	(vec_widen_umult_lo_v8qi, vec_widen_umult_hi_v8qi): New.
   3304 	(vec_widen_smult_lo_v8qi, vec_widen_smult_hi_v8qi): New.
   3305 	(pmpyshr2, pmpyshr2_u): New.
   3306 	(vec_widen_smult_lo_v4hi, vec_widen_smult_hi_v4hi): New.
   3307 	(vec_widen_umult_lo_v4hi, vec_widen_umult_hi_v4hi): New.
   3308 	(mulv2si3): New.
   3309 	(vec_pack_ssat_v4hi): Rename from pack2_sss.
   3310 	(vec_pack_usat_v4hi): Rename from *pack2_uss.
   3311 	(vec_pack_ssat_v2si): Rename from pack4_sss.
   3312 	(vec_interleave_lowv8qi): Rename from unpack1_l, use the correct
   3313 	vec_select operation.
   3314 	(vec_interleave_highv8qi): Similarly.
   3315 	(mux1_alt): Rename from *mux1_alt.
   3316 	(vec_extract_evenv8qi, vec_extract_oddv8qi): New.
   3317 	(vec_interleave_lowv4hi): Rename from unpack2_l.
   3318 	(vec_interleave_highv4hi): Rename from unpack2_h.
   3319 	(mix2_r): Rename from *mix2_r.
   3320 	(mix2_l): Similarly.
   3321 	(vec_extract_evenodd_helper): New.
   3322 	(vec_extract_evenv4hi, vec_extract_oddv4hi): New.
   3323 	(vec_interleave_lowv2si): Rename from *unpack4_l.
   3324 	(vec_interleave_highv2si): Rename from *unpack4_h.
   3325 	(vec_extract_evenv2si, vec_extract_oddv2si): New.
   3326 	(vec_interleave_lowv2sf): Rename from fmix_r.
   3327 	(vec_interleave_highv2sf): Rename from *fmix_l.
   3328 	(vec_extract_evenv2sf, vec_extract_oddv2sf): New.
   3329 	(vec_unpacku_lo_<VECINT12>, vec_unpacku_hi_<VECINT12>): New.
   3330 	(vec_unpacks_lo_<VECINT12>, vec_unpacks_hi_<VECINT12>): New.
   3331 	(vec_pack_trunc_v4hi, vec_pack_trunc_v2si): New.
   3332 
   3333 2010-11-24  Nathan Froyd  <froydnj (a] codesourcery.com>
   3334 
   3335 	* targhooks.c (default_except_unwind_info): Remove
   3336 	MUST_USE_SJLJ_EXCEPTIONS case.
   3337 	* config/h8300/h8300.h (MUST_USE_SJLJ_EXCEPTIONS): Delete.
   3338 	* config/h8300/h8300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
   3339 	* doc/tm.texi.in (MUST_USE_SJLJ_EXCEPTIONS): Delete.
   3340 	* doc/tm.texi: Regenerate.
   3341 	* system.h (MUST_USE_SJLJ_EXCEPTIONS): Poison.
   3342 
   3343 2010-11-24  Nathan Froyd  <froydnj (a] codesourcery.com>
   3344 
   3345 	* cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
   3346 	__FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
   3347 	* config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
   3348 	* doc/cpp.texi (__FLOAT_WORD_ORDER__): Document.
   3349 	* system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison.
   3350 
   3351 2010-11-24  H.J. Lu  <hongjiu.lu (a] intel.com>
   3352 
   3353 	PR target/46519
   3354 	* config/i386/i386.c (ix86_expand_call): Don't check
   3355 	TREE_THIS_VOLATILE.
   3356 
   3357 2010-11-24  H.J. Lu  <hongjiu.lu (a] intel.com>
   3358 
   3359 	PR target/46519
   3360 	* config/i386/i386.c (upper_128bits_state): New.
   3361 	(block_info_def): Remove upper_128bits_set and done.  Add state,
   3362 	referenced, count, processed and rescanned.
   3363 	(check_avx256_stores): Updated.
   3364 	(move_or_delete_vzeroupper_2): Updated. Handle deleted BB_END.
   3365 	Call note_stores only if needed.  Set referenced and count.
   3366 	(move_or_delete_vzeroupper_1): Updated.  Set rescan_vzeroupper_p.
   3367 	(rescan_move_or_delete_vzeroupper): New.
   3368 	(move_or_delete_vzeroupper):  Process and rescan all all basic
   3369 	blocks instead of predecessor blocks of all exit points.
   3370 	(ix86_option_override_internal): Enable vzeroupper optimization
   3371 	only for -fexpensive-optimizations and not optimizing for size.
   3372 	(use_avx256_p): Removed.
   3373 	(init_cumulative_args): Don't set use_avx256_p.
   3374 	(ix86_function_arg): Likewise.
   3375 	(ix86_expand_move): Likewise.
   3376 	(ix86_expand_vector_move_misalign): Likewise.
   3377 	(ix86_local_alignment): Likewise.
   3378 	(ix86_minimum_alignment): Likewise.
   3379 	(ix86_expand_epilogue): Don't check use_avx256_p when generating
   3380 	vzeroupper.
   3381 	(ix86_expand_call): Likewise.
   3382 
   3383 	* config/i386/i386.h (machine_function): Remove use_vzeroupper_p
   3384 	and use_avx256_p.  Add rescan_vzeroupper_p.
   3385 
   3386 2010-11-24  Joseph Myers  <joseph (a] codesourcery.com>
   3387 
   3388 	* toplev.c: Include <signal.h>.
   3389 
   3390 2010-11-24  Richard Guenther  <rguenther (a] suse.de>
   3391 
   3392 	PR lto/43218
   3393 	* lto-symtab.c (lto_cgraph_replace_node): Mark edges with
   3394 	conflicting function signatures as non-inlineable.
   3395 
   3396 2010-11-24  Jakub Jelinek  <jakub (a] redhat.com>
   3397 
   3398 	PR rtl-optimization/46614
   3399 	* sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP_P): Define.
   3400 	 (deps_analyze_insn): Mark JUMP_INSNs in
   3401 	last_pending_memory_flush that weren't added through
   3402 	flush_pending_lists with NON_FLUSH_JUMP_KIND.
   3403 	(sched_analyze_2, sched_analyze_insn): Check NON_FLUSH_JUMP_P
   3404 	on INSN_LIST instead of JUMP_P check on its operand.
   3405 	* sched-rgn.c (concat_INSN_LIST): Copy over REG_NOTE_KIND.
   3406 
   3407 2010-11-24  Richard Guenther  <rguenther (a] suse.de>
   3408 
   3409 	* lto-streamer-in.c (input_gimple_stmt): Use types_compatible_p.
   3410 
   3411 2010-11-24  Richard Guenther  <rguenther (a] suse.de>
   3412 
   3413 	PR lto/46606
   3414 	* lto-streamer-in.c (input_gimple_stmt): When we cannot find
   3415 	a FIELD_DECL that is type correct issue a warning and fixup
   3416 	with a VIEW_CONVERT_EXPR.
   3417 
   3418 2010-11-24  Basile Starynkevitch  <basile (a] starynkevitch.net>
   3419 
   3420 	* doc/invoke.texi (Options for Debugging Your Program or GCC):
   3421 	Explain static numbering of dump files.
   3422 
   3423 2010-11-24  Joseph Myers  <joseph (a] codesourcery.com>
   3424 
   3425 	* common.opt (user_vect_verbosity_level): New Variable entry.
   3426 	(ftree-vectorizer-verbose=): Mark as UInteger.
   3427 	* flag-types.h (enum vect_verbosity_levels): Move from enum
   3428 	verbosity_levels in tree-vectorizer.h.
   3429 	* opts.c: Don't include tree.h.
   3430 	(vect_set_verbosity_level): Move from tree-vectorizer.c.  Use
   3431 	gcc_options parameter; take integer option argument.
   3432 	(common_handle_option): Update call to vect_set_verbosity_level.
   3433 	* tree-vectorizer.c (user_vect_verbosity_level): Remove.
   3434 	(vect_set_verbosity_level): Move to opts.c.
   3435 	(vect_verbosity_level, vect_print_dump_info): Update for change of
   3436 	enum name.
   3437 	* tree-vectorizer.h (enum verbosity_levels): Move to flag-types.h.
   3438 	(vect_print_dump_info): Update for change of enum name.
   3439 	* tree.h (vect_set_verbosity_level): Remove.
   3440 	* Makefile.in (opts.o): Update dependencies.
   3441 
   3442 2010-11-24  Jakub Jelinek  <jakub (a] redhat.com>
   3443 
   3444 	PR middle-end/46629
   3445 	* cfgexpand.c (maybe_cleanup_end_of_block): Test NEXT_INSN (insn)
   3446 	instead of insn with any_condjump_p.
   3447 
   3448 2010-11-24  Mingjie Xing  <mingjie.xing (a] gmail.com>
   3449 
   3450 	* config/mips/loongson.md: Change the description comment of the file
   3451 	and update the copyright years.
   3452 	(define_insn "<u>div<mode>3): Add loongson3a support.
   3453 	(define_insn "<u>mod<mode>3"): Likewise.
   3454 	* config/mips/mips.md: Rename mul<mode>3_mul3_ls2ef to
   3455 	mul<mode>3_mul3_loongson.
   3456 	(define_expand "mul<mode>3"): Add TARGET_LOONGSON_3A.
   3457 	(define_insn "mul<mode>3_mul3_loongson"): Add loongson3a support.
   3458 
   3459 2010-11-23  Joseph Myers  <joseph (a] codesourcery.com>
   3460 
   3461 	* common.opt (initial_max_fld_align, flag_debug_asm,
   3462 	flag_dump_rtl_in_asm, flag_dump_all_passed, rtl_dump_and_exit,
   3463 	flag_print_asm_name, graph_dump_format, help_printed,
   3464 	help_columns, flag_opts_finished): New Variable entries.
   3465 	(fdbg-cnt-list, fdbg-cnt=, fdebug-prefix-map=, frandom-seed,
   3466 	frandom-seed=): Mark deferred.
   3467 	(fsched-verbose=): Use UInteger and Var.
   3468 	* flags.h (set_struct_debug_option, flag_print_asm_name,
   3469 	rtl_dump_and_exit, flag_debug_asm, flag_dump_rtl_in_asm,
   3470 	graph_dump_format): Don't declare here.
   3471 	* haifa-sched.c (sched_verbose_param, fix_sched_param): Remove.
   3472 	* opts-global.c: Include dbgcnt.h and debug.h.
   3473 	(decode_options): Pass location to finish_options.
   3474 	(handle_common_deferred_options): Check flag_dump_all_passed.
   3475 	Handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list, OPT_fdebug_prefix_map_,
   3476 	OPT_frandom_seed and OPT_frandom_seed_.  Don't assert on
   3477 	OPT_fstack_limit.
   3478 	* opts.c: Don't include toplev.h, dbgcnt.h or debug.h.
   3479 	(set_struct_debug_option): Add location_t parameter.  Update
   3480 	recursive call.  Use error_at.
   3481 	(default_options_optimization): Use error_at.
   3482 	(finish_options): Add location_t parameter.  Use
   3483 	opts->x_flag_opts_finished instead of first_time_p.  Use
   3484 	opts->x_optimize instead of optimize.  Use error_at.  Pass
   3485 	location to inform.
   3486 	(print_filtered_help): Use opts->x_help_printed to track what
   3487 	options have been printed.
   3488 	(print_specific_help): Use opts->x_help_columns to track number of
   3489 	columns.
   3490 	(common_handle_option): Pass locations and gcc_options pointers to
   3491 	more functions.  Use warning_at instead of fnotice and warning.
   3492 	Don't handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list or
   3493 	OPT_fdebug_prefix_map_.  Use error_at.  Set
   3494 	opts->x_initial_max_fld_align; don't set maximum_field_alignment.
   3495 	Don't handle OPT_frandom_seed or OPT_frandom_seed_.  Don't handle
   3496 	OPT_fsched_verbose_.
   3497 	(handle_param): Add location_r parameter.  Use error_at.
   3498 	(set_debug_level): Add location_r parameter.  Use error_at and
   3499 	warning_at.
   3500 	(setup_core_dumping): Add diagnostic_context parameter.
   3501 	(decode_d_option): Add gcc_options, location_t and
   3502 	diagnostic_context parameters and use them instead of global
   3503 	state.  Use warning_at.
   3504 	(enable_warning_as_error): Use error_at.
   3505 	* opts.h (finish_options): Update prototype.
   3506 	(set_struct_debug_option): Declare here.
   3507 	* rtl.h (fix_sched_param): Remove.
   3508 	* stor-layout.c (initial_max_fld_align): Remove.
   3509 	* toplev.c (rtl_dump_and_exit, flag_print_asm_name,
   3510 	graph_dump_format, flag_debug_asm, flag_dump_rtl_in_asm): Remove.
   3511 	(process_options): Set maximum_field_alignment.
   3512 	* tree.h (initial_max_fld_align) Don't declare here.
   3513 	* Makefile.in (opts.o, opts-global.o): Update dependencies.
   3514 
   3515 2010-11-23  Joseph Myers  <joseph (a] codesourcery.com>
   3516 
   3517 	* flag-types.h (struct visibility_flags): Don't declare here.
   3518 	* flags.h (strip_off_ending, fast_math_flags_set_p,
   3519 	fast_math_flags_struct_set_p): Declare here.
   3520 	(visibility_options): Don't declare here.
   3521 	* opts-common.c (option_enabled, get_option_state): Move from
   3522 	opts.c.
   3523 	* opts-global.c: Include diagnostic.h instead of
   3524 	diagnostic-core.h.  Include tree.h, langhooks.h, lto-streamer.h
   3525 	and toplev.h.
   3526 	(const_char_p, ignored_options, in_fnames, num_in_fnames,
   3527 	write_langs, complain_wrong_lang, postpone_unknown_option_warning,
   3528 	print_ignored_options, unknown_option_callback,
   3529 	post_handling_callback, lang_handle_option, add_input_filename,
   3530 	read_cmdline_options, initial_lang_mask, init_options_once,
   3531 	decode_cmdline_options_to_array_default_mask,
   3532 	set_default_handlers, decode_options): Move from opts.c.
   3533 	(print_ignored_options): Use warning_at instead of saving and
   3534 	restoring input_location.
   3535 	* opts.c: Include <signal.h> and <sys/resource.h>.  Include rtl.h
   3536 	instead of expr.h.  Don't include langhooks.h, except.h or
   3537 	lto-streamer.h.  Add more comments on includes.
   3538 	(strip_off_ending, setup_core_dumping, decode_d_option): Move from
   3539 	toplev.c.
   3540 	(visibility_options): Move to c-family/c-common.c.
   3541 	(const_char_p, ignored_options, in_fnames, num_in_fnames,
   3542 	write_langs, complain_wrong_lang, postpone_unknown_option_warning,
   3543 	print_ignored_options, unknown_option_callback,
   3544 	post_handling_callback, lang_handle_option, add_input_filename,
   3545 	read_cmdline_options, initial_lang_mask, init_options_once,
   3546 	decode_cmdline_options_to_array_default_mask,
   3547 	set_default_handlers, decode_options): Move to opts-global.c.
   3548 	(target_handle_option, default_options_optimization,
   3549 	finish_options, common_handle_option): Remove static.
   3550 	(option_enabled, get_option_state): Move to opts-common.c.
   3551 	* opts.h (common_handle_option, target_handle_option,
   3552 	finish_options, default_options_optimization): Declare.
   3553 	* toplev.c: Don't include <signal.h> or <sys/resource.h>.
   3554 	(setup_core_dumping, strip_off_ending, decode_d_option): Move to
   3555 	opts.c.
   3556 	* toplev.h (strip_off_ending, decode_d_option,
   3557 	fast_math_flags_set_p, fast_math_flags_struct_set_p): Don't
   3558 	declare here.
   3559 	* Makefile.in (opts.o, opts-global.o): Update dependencies.
   3560 
   3561 2010-11-23  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   3562 
   3563 	PR driver/42690
   3564 	* gcc.c (LINK_COMMAND_SPEC): Remove hard-coded pass-through plugin
   3565 	options, replace by call of pass-through-libs spec function to process
   3566 	link_gcc_c_sequence spec.
   3567 	(lto_libgcc_spec): Delete variable.
   3568 	(static_specs[]): Remove related entry.
   3569 	(static_spec_functions[]): Add new entry for pass-through-libs.
   3570 	(main): Don't generate deleted lto_libgcc_spec.
   3571 	(pass_through_libs_spec_func): New function to implement the new
   3572 	pass-through-libs spec function.
   3573 	* doc/invoke.texi (pass-through-libs): Document new spec function.
   3574 
   3575 2010-11-23  Joseph Myers  <joseph (a] codesourcery.com>
   3576 
   3577 	* doc/options.texi (Warning, Optimization): Document.
   3578 
   3579 2010-11-23  Jan Hubicka  <jh (a] suse.cz>
   3580 
   3581 	* tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): New macro.
   3582 	(tree_decl_with_vis): Add implicit_section_name_p.
   3583 	* targhooks.h (default_function_section): Declare.
   3584 	* target.def (function_section): New hook.
   3585 	* defaults.h (HOT_TEXT_SECTION_NAME,
   3586 	UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
   3587 	* predict.c (choose_function_section): Remove.
   3588 	(estimate_bb_frequencies): Do not use choose_function_section.
   3589 	* coretypes.h (enum node_frequency): Move here from cgraph.h
   3590 	* cgraph.h (enum node_frequency): Remove.
   3591 	* varasm.c (initialize_cold_section_name, unlikely_text_section,
   3592 	unlikely_text_section_p): Remove.
   3593 	(named_subsection_entry): New structure.
   3594 	(get_text_section): New function.
   3595 	(default_function_section): New function.
   3596 	(function_section_1): Break out from ...; handle profile info.
   3597 	(function_section): ... here.
   3598 	(unlikely_text_section): Remove.
   3599 	(unlikely_text_section_p): Use function_section_1.
   3600 	(assemble_start_function): Do not initialize cold section.
   3601 	(default_section_type_flags): Do not special case cold subsection.
   3602 	(switch_to_section): Likewise.
   3603 	* output.h (get_text_section): Define.
   3604 	* config/i386/winnt.c: Do not special case cold section.
   3605 	* config/darwin-protos.h (darwin_function_section): Declare.
   3606 	* config/microblaze/microblaze.h (HOT_TEXT_SECTION_NAME,
   3607 	UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
   3608 	* config/ia64/hpux.h (HOT_TEXT_SECTION_NAME,
   3609 	UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
   3610 	(TARGET_ASM_FUNCTION_SECTION): Define to ia64_hpux_function_section.
   3611 	* config/ia64/ia64.c (ia64_hpux_function_section): New function.
   3612 	* config/darwin.c (machopic_select_section): Use
   3613 	darwin_function_section.
   3614 	(darwin_function_section): New function.
   3615 	* config/darwin.h (HOT_TEXT_SECTION_NAME,
   3616 	UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
   3617 	(TARGET_ASM_FUNCTION_SECTION): Define.
   3618 	* system.h (HOT_TEXT_SECTION_NAME,
   3619 	UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Poison.
   3620 
   3621 2010-11-23  Iain Sandoe  <iains (a] gcc.gnu.org>
   3622 
   3623 	* config/darwin.h (LINK_COMMAND_SPEC_A): Use %(link_gcc_c_sequence).
   3624 	LINK_GCC_C_SEQUENCE_SPEC: Define new macro.
   3625 
   3626 2010-11-23  Jakub Jelinek  <jakub (a] redhat.com>
   3627 
   3628 	PR middle-end/46499
   3629 	* cfgexpand.c (maybe_cleanup_end_of_block): Remove also BARRIERs
   3630 	following unconditional jumps.
   3631 
   3632 2010-11-23  Richard Guenther  <rguenther (a] suse.de>
   3633 
   3634 	* doc/md.texi (386 constraints): Clarify A constraint documentation.
   3635 
   3636 2010-11-23  Basile Starynkevitch  <basile (a] starynkevitch.net>
   3637 	    Jeremie Salvucci  <jeremie.salvucci (a] free.fr>
   3638 
   3639 	* gengtype.c (enum typekind, struct options)
   3640 	(struct nested_ptr_data, struct pair, NUM_PARAM)
   3641 	(enum gc_used_num, struct type, UNION_P, UNION_OR_STRUCT_P):
   3642 	Move to gengtype.h.
   3643 	(string_type, scalar_nonchar, scalar_nonchar, scalar_char):
   3644 	Remove static, add zero state_number.
   3645 	(typedefs, structures, param_structs, variables): Remove static.
   3646 	(create_option): Remove.
   3647 	(create_string_option, create_type_option, create_nested_option):
   3648 	New functions.
   3649 	(create_nested_ptr_option): Use create_nested_option.
   3650 	(note_variable, adjust_field_rtx_def, adjust_field_type): Call the
   3651 	new create*option functions.
   3652 	(process_gc_options): Adjust for discriminated option.
   3653 	(output_mangled_typename): Handle TYPE_NONE.
   3654 	(walk_type): Test option kinds.
   3655 	(write_types_process_field): Handle TYPE_NONE and TYPE_ARRAY.
   3656 	(write_func_for_structure, write_type, write_local, write_root)
   3657 	(write_roots, note_def_vec, dump_options): Adjust for
   3658 	discriminated option.
   3659 
   3660 	* gengtype.h (typedefs, structures, param_structs, variables
   3661 	enum typekind): Move from gengtype.c
   3662 	(enum option_kind): New discriminating enumeration.
   3663 	(struct options): Becomes discriminated.
   3664 	(struct nested_ptr_data): Nove from gengtype.c
   3665 	(create_string_option, create_type_option, create_nested_option)
   3666 	(create_nested_ptr_option): New functions
   3667 	(struct pair, enum_gc_used_enum, NUM_PARAM, struct type, UNION_P)
   3668 	(UNION_OR_STRUCT_P): Move from gengtype.c
   3669 
   3670 	* gengtype-parse.c (str_optvalue_opt, type_optvalue, option): Make
   3671 	discriminated options.
   3672 
   3673 2010-11-23  Richard Guenther  <rguenther (a] suse.de>
   3674 
   3675 	* tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid doing work
   3676 	twice.  Avoid re-allocating the ops vector all the time.
   3677 
   3678 2010-11-23  Richard Guenther  <rguenther (a] suse.de>
   3679 
   3680 	* tree-ssa-alias.c (refs_may_alias_p_1): Avoid calls to
   3681 	is_gimple_min_invariant, group tree code checks to allow
   3682 	combining them.
   3683 	(stmt_may_clobber_ref_p_1): Check for SSA_NAME instead
   3684 	of is_gimple_reg.
   3685 
   3686 2010-11-23  Eric Botcazou  <ebotcazou (a] adacore.com>
   3687 
   3688 	* config.gcc (sparc*-*-*): Reorder.
   3689 
   3690 2010-11-23  Basile Starynkevitch  <basile (a] starynkevitch.net>
   3691 
   3692 	* gengtype.c (header_dot_h_frul, source_dot_c_frul):
   3693 	Remove ENABLE_CHECKING around DBGPRINTF.
   3694 
   3695 2010-11-22  Joseph Myers  <joseph (a] codesourcery.com>
   3696 
   3697 	* common.opt (exit_after_options, write_symbols, debug_info_level,
   3698 	use_gnu_debug_info_extensions): New Variable entries.
   3699 	(fprofile-dir=): Use Var.
   3700 	* flag-types.h (enum debug_info_level): Rename to enum
   3701 	debug_info_levels.
   3702 	* flags.h (write_symbols, debug_info_level,
   3703 	use_gnu_debug_info_extensions): Remove declarations.
   3704 	* opts.c (exit_after_options, write_symbols, debug_info_level): Remove.
   3705 	(set_struct_debug_option): Make static variables const.
   3706 	(use_gnu_debug_info_extensions): Remove.
   3707 	(set_debug_level, print_filtered_help, print_specific_help,
   3708 	fast_math_flags_set_p): Take gcc_options parameters and use them
   3709 	in place of global variables.
   3710 	(print_filtered_help): Make new_help non-static.
   3711 	(print_specific_help): Update call to print_filtered_help.
   3712 	(common_handle_option): Update calls to print_specific_help.  Use
   3713 	gcc_options structure for more settings.  Make --help table
   3714 	const.  Don't handle OPT_fprofile_dir_ here.  Update calls to
   3715 	set_debug_level.
   3716 	* toplev.c (profile_data_prefix): Remove.
   3717 	* toplev.h (profile_data_prefix, exit_after_options): Remove
   3718 	declarations.
   3719 	(fast_math_flags_set_p): Update prototype.
   3720 	* cppbuiltin.c (define_builtin_macros_for_compilation_flags):
   3721 	Update call to fast_math_flags_set_p.
   3722 
   3723 2010-11-22  Richard Henderson  <rth (a] redhat.com>
   3724 
   3725 	PR target/46434
   3726 	* config/crx/crx.c (crx_addr_reg): Rename from crx_addr_reg_p;
   3727 	return the address register extracted.
   3728 	(crx_decompose_address): Update the extracted address register.
   3729 
   3730 2010-11-22  Dmitry Gorbachev  <d.g.gorbachev (a] gmail.com>
   3731 
   3732 	PR driver/43335
   3733 	* gcc.c (main): Don't crash when lto-wrapper program is not found.
   3734 
   3735 2010-11-22  Joern Rennecke  <amylaar (a] spamcop.net>
   3736 
   3737 	PR target/46608
   3738 	* config/picochip/picochip.c (picochip_secondary_reload): Make static.
   3739 	* config/picochip/picochip-protos.h: Don't include "target.h" .
   3740 	(picochip_secondary_reload): Don't declare.
   3741 
   3742 	PR target/46613
   3743 	* config/m32c/m32c-protos.h (m32c_conditional_register_usage): Declare.
   3744 	* config/m32c/m32c.c (m32c_conditional_register_usage): No longer
   3745 	static.
   3746 
   3747 2010-11-22  H.J. Lu  <hongjiu.lu (a] intel.com>
   3748 
   3749 	PR bootstrap/46609
   3750 	* gengtype.c (header_dot_h_frul): Check ENABLE_CHECKING.
   3751 	(source_dot_c_frul): Likewise.
   3752 
   3753 2010-11-22  Basile Starynkevitch  <basile (a] starynkevitch.net>
   3754 
   3755 	* gimple-pretty-print.c (dump_bb_header): Add check for cfun.
   3756 
   3757 2010-11-22  Paolo Bonzini  <bonzini (a] gnu.org>
   3758 
   3759 	PR bootstrap/44970
   3760 	* Makefile.in (fwprop.o) Add sparseset.h.
   3761 	* fwprop.c: Include sparseset.h
   3762 	(struct find_occurrence_data, find_occurrence_callback,
   3763 	find_occurrence): Remove.
   3764 	(active_defs, active_defs_check, register_active_defs,
   3765 	update_df_init, update_uses): New.
   3766 	(update_df): Rewrite.
   3767 	(try_fwprop_subst, forward_propagate_asm): Add calls to
   3768 	update_df_init and update_df.
   3769 	(fwprop_init): Allocate active_defs and active_defs_check.
   3770 	(fwprop_done): Free them.
   3771 	(fwprop, fwprop_addr): Adjust comments.
   3772 	* df.h (df_uses_create): Declare.
   3773 	* df-scan.c (df_install_ref_incremental): Break out of df_ref_create.
   3774 	(df_ref_create): Return result of df_ref_create_structure directly.
   3775 	(df_ref_create_structure): Call df_install_ref_incremental when
   3776 	no collection_rec is passed.
   3777 	(df_ref_record): Do not create multiword hard reg info when no
   3778 	collection_rec is passed.
   3779 	(df_uses_create): New.
   3780 
   3781 2010-11-21  Uros Bizjak  <ubizjak (a] gmail.com>
   3782 
   3783 	PR middle-end/43057
   3784 	* fold-const.c (pedantic_non_lvalue_loc): Unshare x before
   3785 	setting location.
   3786 
   3787 2010-11-22  Richard Guenther  <rguenther (a] suse.de>
   3788 
   3789 	* gimple-fold.c (maybe_fold_reference): When canonicalizing
   3790 	MEM_REFs, preserve volatileness.
   3791 	* cgraphbuild.c (mark_address): Properly check for FUNCTION_DECL
   3792 	addresses.
   3793 
   3794 2010-11-22  Richard Guenther  <rguenther (a] suse.de>
   3795 
   3796 	* tree-ssa-ccp.c (get_base_constructor): Remove superfluous breaks.
   3797 
   3798 2010-11-22  Alexander Monakov  <amonakov (a] ispras.ru>
   3799 
   3800 	PR rtl-optimization/45652
   3801 	* alias.c (get_reg_base_value): New.
   3802 	* rtl.h (get_reg_base_value): Add prototype.
   3803 	* sel-sched.c (init_regs_for_mode): Use it.  Don't use registers with
   3804 	non-null REG_BASE_VALUE for renaming.
   3805 
   3806 2010-11-22  Jeremie Salvucci  <jeremie.salvucci (a] free.fr>
   3807 	    Basile Starynkevitch  <basile (a] starynkevitch.net>
   3808 
   3809 	* gengtype.c: Include xregex.h and obstack.h
   3810 	Added comments about role of get_output_file_with_visibility and
   3811 	our regexpr machinery.
   3812 	(frul_actionrout_t, struct file_rule_st): New.
   3813 	(hader_dot_h_frul, source_dot_c_frul): New functions.
   3814 	(NULL_REGEX,  NULL_FRULACT): New.
   3815 	(files_rules): New.
   3816 	(matching_file_name_substitute): New function.
   3817 	(get_output_file_with_visibility): Updated comments and rewritten
   3818 	to use the new files_rules machinery.
   3819 
   3820 	* Makefile.in (XREGEX_H): Added variable.
   3821 	(build/gengtype.o): Added dependencies for xregex.h and obstack.h
   3822 
   3823 2010-11-21  Nathan Froyd  <froydnj (a] codesourcery.com>
   3824 
   3825 	* system.h (FUNCTION_ARG_BOUNDARY): Really poison.
   3826 
   3827 2010-11-21  Nathan Froyd  <froydnj (a] codesourcery.com>
   3828 
   3829 	* target.def (conditional_register_usage): Define.
   3830 	* reginfo.c (init_reg_sets_1): Call
   3831 	targetm.conditional_register_usage.
   3832 	* system.h (CONDITIONAL_REGISTER_USAGE): Poison.
   3833 	* doc/tm.texi.in (CONDITIONAL_REGISTER_USAGE): Adjust language
   3834 	for making it a hook.
   3835 	* doc/tm.texi: Regenerate.
   3836 	* config/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Move logic...
   3837 	* config/alpha/alpha.c (alpha_conditional_register_usage): ...here.
   3838 	New function.
   3839 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3840 	* config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): Move logic...
   3841 	* config/arc/arc.c (arc_conditional_register_usage): ...here.
   3842 	New function.
   3843 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3844 	* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move logic...
   3845 	* config/arm/arm.c (arm_conditional_register_usage): ...here.
   3846 	New function.
   3847 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3848 	* config/bfin/bfin.h (CONDITIONAL_REGISTER_USAGE): Delete.
   3849 	* config/bfin/bfin-protos.h (conditional_register_usage): Delete.
   3850 	* config/bfin/bfin.c (conditional_register_usage): Move code into...
   3851 	(bfin_conditional_register_usage): ...here.  New function.
   3852 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3853 	* config/cris/cris.h (CONDITIONAL_REGISTER_USAGE): Delete.
   3854 	* config/cris/cris-protos.h (cris_conditional_register_usage): Delete.
   3855 	* config/cris/cris.c (cris_conditional_register_usage): Make static.
   3856 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3857 	* config/fr30/fr30.h (FIXED_REGISTERS): Adjust comment.
   3858 	* config/frv/frv.h (CONDITIONAL_REGISTER_USAGE): Delete.
   3859 	* config/frv/frv-protos.h (frv_conditional_register_usage): Delete.
   3860 	* config/frv/frv.c (frv_conditional_register_usage): Make static.
   3861 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3862 	* config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Move logic...
   3863 	* config/h8300/h8300.c (h8300_conditional_register_usage): ...here.
   3864 	New function.
   3865 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3866 	* config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Delete.
   3867 	* config/i386/i386-protos.h (ix86_conditional_register_usage): Delete.
   3868 	* config/i386/i386.c (ix86_conditional_register_usage): Make static.
   3869 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3870 	* config/m32c/m32c.h (CONDITIONAL_REGISTER_USAGE): Delete.
   3871 	* config/m32c/m32c-protos.h (m32c_conditional_register_usage): Delete.
   3872 	* config/m32c/m32c.c (m32c_conditional_register_usage): Make static.
   3873 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3874 	* config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Move logic...
   3875 	* config/m32r/m32r.c (m32r_conditional_register_usage): ...here.
   3876 	New function.
   3877 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3878 	* config/m68hc11/m68hc11.h (CONDITIONAL_REGISTER_USAGE): Delete.
   3879 	* config/m68hc11/m68hc11-protos.h (m68hc11_conditional_register_usage):
   3880 	Delete.
   3881 	* config/m68hc11/m68hc11.c (m68hc11_conditional_register_usage): Make
   3882 	static.
   3883 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3884 	* config/mep/mep.h (CONDITIONAL_REGISTER_USAGE): Delete.
   3885 	* config/mep/mep-protos.h (mep_conditional_register_usage): Delete.
   3886 	* config/mep/mep.c (mep_conditional_register_usage): Make static.
   3887 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3888 	* config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Delete.
   3889 	* config/mips/mips-protos.h (mips_conditional_register_usage): Delete.
   3890 	* config/mips/mips.c (mips_conditional_register_usage): Make static.
   3891 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3892 	* config/mmix/mmix.h (CONDITIONAL_REGISTER_USAGE): Delete.
   3893 	* config/mmix/mmix-protos.h (mmix_conditional_register_usage): Delete.
   3894 	* config/mmix/mmix.c (mmix_conditional_register_usage): Make static.
   3895 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3896 	* config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Move logic...
   3897 	* config/mn10300/mn10300.c (mn10300_conditional_register_usage):
   3898 	...here.  New function.
   3899 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3900 	* config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Move logic...
   3901 	* config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): ...with this...
   3902 	* config/pa/pa.c (pa_conditional_register_usage): ...here.
   3903 	New function.
   3904 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3905 	* config/pdp11/pdp11.h (CONDITIONAL_REGISTER_USAGE): Move logic...
   3906 	* config/pdp11/pdp11.c (pdp11_conditional_register_usage): ...here.
   3907 	New function.
   3908 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3909 	* config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Delete.
   3910 	* config/rs6000/rs6000-protos.h (rs6000_conditional_register_usage):
   3911 	Delete.
   3912 	* config/rs6000/rs6000.c (rs6000_conditional_register_usage): Make
   3913 	static.
   3914 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3915 	* config/rx/rx.h (CONDITIONAL_REGISTER_USAGE): Delete.
   3916 	* config/rx/rx-protos.h (rx_conditional_register_usage): Delete.
   3917 	* config/rx/rx.c (rx_conditional_register_usage): Make static.
   3918 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3919 	* config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Delete.
   3920 	* config/s390/s390-protos.h (s390_conditional_register_usage): Delete.
   3921 	* config/s390/s390.c (s390_conditional_register_usage): Make static.
   3922 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3923 	* config/score/score.h (CONDITIONAL_REGISTER_USAGE): Move logic...
   3924 	* config/score/score.c (score_conditional_register_usage): ...here.
   3925 	New function.
   3926 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3927 	* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Move logic...
   3928 	* config/sh/sh.c (sh_conditional_register_usage): ...here.
   3929 	New function.
   3930 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3931 	* config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Move logic...
   3932 	* config/sparc/sparc.c (sparc_conditional_register_usage): ...here.
   3933 	New function.
   3934 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3935 	* config/spu/spu.h (CONDITIONAL_REGISTER_USAGE): Delete.
   3936 	* config/spu/spu-protos.h (spu_conditional_register_usage): Delete.
   3937 	* config/spu/spu.c (spu_conditional_register_usage): Make static.
   3938 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3939 	* config/v850/v850.h (CONDITIONAL_REGISTER_USAGE): Move logic...
   3940 	* config/v850/v850.c (v850_conditional_register_usage): ...here.
   3941 	New function.
   3942 	(TARGET_CONDITIONAL_REGISTER_USAGE): Define.
   3943 
   3944 2010-11-21  Jan Hubicka  <jh (a] suse.cz>
   3945 	    Dominique d'Humieres <dominiq (a] lps.ens.ft>
   3946 
   3947 	PR target/46510
   3948 	* tree-emutls.c (get_emutls_init_templ_addr, new_emutls_decl): Do not
   3949 	finalize external decls.
   3950 
   3951 2010-11-21  Joseph Myers  <joseph (a] codesourcery.com>
   3952 
   3953 	* system.h (strerror): Poison.
   3954 
   3955 2010-11-21  Richard Henderson  <rth (a] redhat.com>
   3956 
   3957 	* config/ia64/ia64.c (ia64_expand_builtin): Use the correct mode
   3958 	for infq/huge_valq.
   3959 
   3960 2010-11-21  Richard Henderson  <rth (a] redhat.com>
   3961 
   3962 	PR rtl-optimization/46571
   3963 	* gcse.c (hash_scan_set): Use next_nonnote_nondebug_insn.
   3964 	(compute_hash_table_work): Use NONDEBUG_INSN_P.
   3965 
   3966 2010-11-21  Paul Koning  <ni1d (a] arrl.net>
   3967 
   3968 	* config/mips/pdp11.md (negsi2): Fix wrong code.
   3969 
   3970 2010-11-21  Paul Koning  <ni1d (a] arrl.net>
   3971 
   3972 	* config/mips/pdp11.c (pdp11_legitimate_address_p): New function.
   3973 	* config/mips/pdp11.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
   3974 
   3975 2010-11-21  Eric Botcazou  <ebotcazou (a] adacore.com>
   3976 
   3977 	* config/mips/mips.c (machine_function): Rename load_label_length to
   3978 	load_label_num_insns.
   3979 	(mips_load_label_length): Rename to...
   3980 	(mips_load_label_num_insns): ...this.  Adjust to first renaming.
   3981 	(mips_adjust_insn_length): Adjust to second renaming.  Fix thinko.
   3982 
   3983 2010-11-21  Uros Bizjak  <ubizjak (a] gmail.com>
   3984 
   3985 	PR target/46533
   3986 	* config/alpha/predicates.md (direct_call_operand): Return false
   3987 	for !TARGET_SMALL_TEXT targets.
   3988 
   3989 2010-11-20  Joseph Myers  <joseph (a] codesourcery.com>
   3990 
   3991 	* doc/tm.texi.in (HANDLE_SYSV_PRAGMA,
   3992 	HANDLE_PRAGMA_PACK_PUSH_POP): Remove.
   3993 	(HANDLE_PRAGMA_PACK_WITH_EXPANSION): Don't refer to HANDLE_SYSV_PRAGMA.
   3994 	* doc/tm.texi: Regenerate.
   3995 	* system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGMA,
   3996 	HANDLE_PRAGMA_WEAK): Poison.
   3997 	* config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
   3998 	* config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   3999 	* config/alpha/osf5.h (HANDLE_SYSV_PRAGMA): Don't define.
   4000 	* config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Don't define.
   4001 	* config/arm/arm.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   4002 	* config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
   4003 	* config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   4004 	* config/darwin.h (HANDLE_SYSV_PRAGMA): Don't define.
   4005 	(HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   4006 	* config/elfos.h (HANDLE_SYSV_PRAGMA): Don't define.
   4007 	* config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   4008 	* config/frv/frv.h (HANDLE_SYSV_PRAGMA): Don't define.
   4009 	* config/i386/cygming.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   4010 	* config/i386/djgpp.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   4011 	* config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Don't define.
   4012 	(HANDLE_PRAGMA_WEAK): Don't undefine.
   4013 	* config/i386/netware.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   4014 	* config/i386/vxworks.h (HANDLE_SYSV_PRAGMA): Don't define.
   4015 	* config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   4016 	* config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Don't define.
   4017 	* config/interix.h (HANDLE_SYSV_PRAGMA): Don't define.
   4018 	(HANDLE_PRAGMA_WEAK): Don't undefine.
   4019 	* config/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   4020 	* config/m32r/linux.h (HANDLE_SYSV_PRAGMA): Don't define.
   4021 	(HANDLE_PRAGMA_PACK): Don't undefine.
   4022 	* config/m32r/m32r.h (HANDLE_SYSV_PRAGMA): Don't undefine.
   4023 	* config/mep/mep.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   4024 	* config/mips/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   4025 	* config/mips/sde.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   4026 	* config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Don't define.
   4027 	* config/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
   4028 	(HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   4029 	* config/openbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
   4030 	* config/pa/pa-hpux.h (HANDLE_SYSV_PRAGMA): Don't define.
   4031 	(HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   4032 	* config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Don't define.
   4033 	* config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   4034 	* config/rx/rx.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   4035 	* config/score/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
   4036 	* config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   4037 	* config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Don't define.
   4038 	* config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
   4039 
   4040 2010-11-20  Eric Botcazou  <ebotcazou (a] adacore.com>
   4041 
   4042 	PR target/31100
   4043 	* config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP): Move to...
   4044 	* config/sparc/sol2.h (ASM_OUTPUT_ALIGN_WITH_NOP): ...here.
   4045 	* config/sparc/sol2-gas.h (ASM_OUTPUT_ALIGN_WITH_NOP): Undefine.
   4046 
   4047 2010-11-20  Jan Hubicka  <jh (a] suse.cz>
   4048 
   4049 	* cgraph.c (ld_plugin_symbol_resolution_names): New.
   4050 	(dump_cgraph_node): Dump resolution.
   4051 	* cgraph.h (ld_plugin_symbol_resolution_names): Declare.
   4052 	(cgraph_comdat_can_be_unshared_p): Dclare.
   4053 	* lto-streamer-out.c (produce_symtab): Use
   4054 	cgraph_comdat_can_be_unshared_p.
   4055 	* ipa.c (cgraph_address_taken_from_non_vtable_p): New function.
   4056 	(cgraph_comdat_can_be_unshared_p): New function based on logic
   4057 	in cgraph_externally_visible_p.
   4058 	(cgraph_externally_visible_p): Use it.
   4059 	(varpool_externally_visible_p): Virtual tables can be unshared.
   4060 	* varpool.c (dump_varpool_node): Dump resolution.
   4061 
   4062 2010-11-20  Jan Hubicka  <jh (a] suse.cz>
   4063 
   4064 	* stmt.c (lshift_cheap_p): Support properly optimize_insn_for_speed_p.
   4065 
   4066 2010-11-20  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   4067 
   4068 	PR other/46202
   4069 	* Makefile.in (install_sh, INSTALL_STRIP_PROGRAM): New variables.
   4070 	(AR_FOR_TARGET, RANLIB_FOR_TARGET, STRIP_FOR_TARGET): Fix
   4071 	shell quoting.
   4072 	(STRIP_FOR_TARGET): Look for in-tree strip under name strip-new.
   4073 	(install-strip): New target.
   4074 	(STRIPPROG): New variable, exported if STRIP is set.
   4075 	* doc/install.texi (Final install): Minor markup and code style
   4076 	fixes.  Document install-strip target.
   4077 
   4078 2010-11-20  Paul Koning  <ni1d (a] arrl.net>
   4079 
   4080 	* config/pdp11/pdp11-protos.h (pdp11_initial_elimination_offset,
   4081 	pdp11_regno_reg_class): New functions.
   4082 	* config/pdp11/pdp11.md (define_constants): Add register numbers.
   4083 	* config/pdp11/pdp11.c (pdp11_regno_reg_class,
   4084 	pdp11_sp_frame_offset, pdp11_initial_elimination_offset): New
   4085 	functions.
   4086 	* config/pdp11/pdp11.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Add
   4087 	frame pointer and argument pointer pseudo-registers.
   4088 	(ARG_POINTER_REGNUM): Define.
   4089 	(REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add frame pointer and
   4090 	argument pointer.
   4091 	(FIRST_PARM_OFFSET): Update for argument pointer.
   4092 	(INITIAL_FRAME_POINTER_OFFSET): Delete.
   4093 	(ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): New macros.
   4094 	(REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P, REGISTER_NAMES): Add
   4095 	frame pointer and argument pointer.
   4096 
   4097 2010-11-20  Jakub Jelinek  <jakub (a] redhat.com>
   4098 
   4099 	PR debug/46561
   4100 	* tree-parloops.c (try_create_redunction_list): Ignore debug stmts
   4101 	when looking for immediate uses.
   4102 
   4103 	PR tree-optimization/45830
   4104 	* stmt.c (expand_switch_using_bit_tests_p): New function.
   4105 	(expand_case): Use it.
   4106 	* tree.h (expand_switch_using_bit_tests_p): New prototype.
   4107 	* tree-switch-conversion.c (struct switch_conv_info): Add
   4108 	bit_test_uniq, bit_test_count and bit_test_bb fields.
   4109 	(check_range): Fix a comment.
   4110 	(check_process_case): Compute bit_test_uniq and bit_test_count.
   4111 	(create_temp_arrays): Use XCNEWVEC, merge 3 arrays into one
   4112 	allocation.
   4113 	(free_temp_arrays): Use XDELETEVEC, adjust for the 3 arrays merging.
   4114 	(constructor_contains_same_values_p): Use FOR_EACH_VEC_ELT.
   4115 	(array_value_type): New function.
   4116 	(build_one_array): Use it, if it returned different type,
   4117 	fold_convert all constructor fields and convert back to the
   4118 	wider type in the generated code.
   4119 	(process_switch): Initialize bit_test_uniq, bit_test_count and
   4120 	bit_test_bb fields.  Don't optimize if expand_switch_using_bit_tests_p
   4121 	returned true.
   4122 
   4123 2010-11-19  Michael Matz  <matz (a] suse.de>
   4124 
   4125 	PR tree-optimization/46077
   4126 	* tree-chrec.c (eq_evolutions_p): Accept some expressions.
   4127 
   4128 2010-11-19  Anatoly Sokolov  <aesok (a] post.ru>
   4129 
   4130 	* config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
   4131 	* config/mn10300/mn10300.c (mn10300_asm_output_addr_const_extra): New
   4132 	function.
   4133 	(TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
   4134 
   4135 2010-11-19  Uros Bizjak  <ubizjak (a] gmail.com>
   4136 
   4137 	* mode-switching.c (optimize_mode_switching): Use
   4138 	FOR_BB_INSNS instead of open-coded loop.
   4139 	* cfgrtl.c (redirect_branch_edge): Ditto.
   4140 
   4141 2010-11-19  Joern Rennecke  <amylaar (a] spamcop.net>
   4142 
   4143 	PR target/46436
   4144 	* config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Split shift count
   4145 	to accomodate 32 bit HOST_WIDE_INT.
   4146 	(m68hc11_emit_logical): Remove unused variable insn.
   4147 	(m68hc11_check_z_replacement) <CLOBBER>: Set this_insn_uses_ix and
   4148 	this_insn_uses_iy before use.
   4149 
   4150 	PR target/46434
   4151 	* config/crx/crx.c (crx_expand_epilogue): Remove unused variable.
   4152 
   4153 2010-11-19  Joseph Myers  <joseph (a] codesourcery.com>
   4154 
   4155 	PR c/46547
   4156 	* c-tree.h (in_late_binary_op): Move to c-family/c-common.h.
   4157 	* c-typeck.c (in_late_binary_op): Move to c-family/c-common.c.
   4158 
   4159 2010-11-19  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   4160 
   4161 	* doc/extend.texi (Function attributes): Document PowerPC target
   4162 	attributes that are supported.
   4163 	(Pragmas): Document that PowerPC now supports target pragmas.
   4164 
   4165 	* doc/options.texi (TargetVariable): Document TargetVariable,
   4166 	HeaderInclude, and SourceInclude.
   4167 
   4168 	* doc/invoke.texi (-mfused-madd): Document that -mfused-madd is
   4169 	mapped to -ffp-contract=fast, and -mno-fused-madd is mapped to
   4170 	-ffp-contract=off.
   4171 
   4172 	* optc-gen.awk: Add support for TargetVariable, HeaderInclude, and
   4173 	SourceInclude directives.  Fix a cut+paste error with target save
   4174 	enum variables.  Sort enums in the structures after ints and
   4175 	before shorts.
   4176 	* opth-gen.awk: Ditto.
   4177 
   4178 	* configure.ac: Add support for HeaderInclude and SourceInclude option
   4179 	directives to add the appropriate files to the dependency lists.
   4180 	* configure: Regenerate.
   4181 	* Makefile.in (OPTIONS_H_EXTRA): New variable for HeaderInclude.
   4182 	(OPTIONS_C_EXTRA): New variable for SourceInclude.
   4183 	(OPTIONS_H): Add $(OPTIONS_H_EXTRA).
   4184 	(options.o): Add $(OPTIONS_C_EXTRA) dependency.
   4185 	(gcc-options.o): Ditto.
   4186 	* opt-include.awk: New awk script to handle HeaderInclude and
   4187 	TargetInclude.
   4188 
   4189 	* config/rs6000/aix.opt (-mxl-compat): Mark option as Save so it
   4190 	gets saved in the target options.
   4191 	* config/rs6000/linux64.opt (-mprofile-kernel): Ditto.
   4192 	* config/rs6000/sysv4.opt (-mbit-align): Ditto.
   4193 	(-mprototype): Ditto.
   4194 	(-mbit-word): ditto.
   4195 	(-mregnames): Ditto.
   4196 	(-msecure-plt): Ditto.
   4197 	(-mbss-plt): Ditto.
   4198 	* config/rs6000/rs6000.opt (-mpowerpc-gpopt): Ditto.
   4199 	(-mpowerpc-gfxopt): Ditto.
   4200 	(-mmfcrf): Ditto.
   4201 	(-mpopcntb): Ditto.
   4202 	(-mfprnd): Ditto.
   4203 	(-mcmpb): Ditto.
   4204 	(-mmmfpgpr): Ditto.
   4205 	(-maltivec): Ditto.
   4206 	(-mhard-dfp): Ditto.
   4207 	(-mmulhw): Ditto.
   4208 	(-mdlmzb): Ditto.
   4209 	(-mmultiple): Ditto.
   4210 	(-mstring): Ditto.
   4211 	(-mpopcntd): Ditto.
   4212 	(-mfriz): Ditto.
   4213 	(-mvsx): Ditto.
   4214 	(-mno-update): Ditto.
   4215 	(-mavoid-indexed-addresses): Ditto.
   4216 	(-mtls-markers): Ditto.
   4217 	(-msched-epilog): Ditto.
   4218 	(-msched-prolog): Ditto.
   4219 	(-maix-struct-return): Ditto.
   4220 	(-msvr4-struct-return): Ditto.
   4221 	(-mxl-compat): Ditto.
   4222 	(-mrecip-precision): Ditto.
   4223 	(-mfp-in-toc): Ditto.
   4224 	(-msum-in-toc): Ditto.
   4225 	(-mvrsave): Ditto.
   4226 	(-mblock-move-inline-limit=): Ditto.
   4227 	(-misel): Ditto.
   4228 	(-mpaired): Ditto.
   4229 	(-mlongcall): Ditto.
   4230 	(-mgen-cell-microcode): Ditto.
   4231 	(-mwarn-cell-microcode): Ditto.
   4232 	(-mwarn-altivec-long): Ditto.
   4233 	(-mprioritize-restricted-insns=): Ditto.
   4234 	(-msingle-float): Ditto.
   4235 	(-mdouble-float): Ditto.
   4236 	(-msimple-fpu): Ditto.
   4237 	(-mxilinx-fpu): Ditto.
   4238 	* config/rs6000/aix64.opt (-mpe): Ditto.
   4239 
   4240 	* config/rs6000/rs6000.opt (HeaderInclude): Include rs6000-opts.h.
   4241 	(rs6000_cpu): Move variable to be a target variable.  Rename
   4242 	cmodel to rs6000_current_cmodel because of macro conflict.  Merge
   4243 	-mdebug=<xxx> variables into a single int.
   4244 	(rs6000_always_hint): Ditto.
   4245 	(rs6000_sched_groups): Ditto.
   4246 	(rs6000_align_branch_targets): Ditto.
   4247 	(rs6000_sched_costly_dep): Ditto.
   4248 	(rs6000_sched_insert_nops): Ditto.
   4249 	(rs6000_long_double_type_size): Ditto.
   4250 	(rs6000_ieeequad): Ditto.
   4251 	(rs6000_altivec_abi): Ditto.
   4252 	(rs6000_spe): Ditto.
   4253 	(rs6000_spe_abi): Ditto.
   4254 	(rs6000_float_gprs): Ditto.
   4255 	(rs6000_darwin64_abi): Ditto.
   4256 	(can_override_loop_align): Ditto.
   4257 	(rs6000_sdata): Ditto.
   4258 	(rs6000_tls_size): Ditto.
   4259 	(rs6000_current_abi): Ditto.
   4260 	(rs6000_traceback): Ditto.
   4261 	(rs6000_alignment_flags): Ditto.
   4262 	(rs6000_current_cmodel): Ditto.
   4263 	(rs6000_recip_control): Ditto.
   4264 	(rs6000_cpu_index): Ditto.
   4265 	(rs6000_tune_index): Ditto.
   4266 	(rs6000_debug): Ditto.
   4267 	(rs6000_target_flags_explict): Ditto.
   4268 
   4269 	* config/rs6000/rs6000-protos.h (rs6000_pragma_target_parse): Add
   4270 	declaration.
   4271 
   4272 	* config/rs6000/linux64.h (rs6000_current_cmode): Rename from
   4273 	cmodel.  Change all uses.
   4274 
   4275 	* config/rs6000/rs6000.c (rs6000_always_hint): Move to
   4276 	rs6000.opt.  Combine -mdebug=<xxx> variables into a single int.
   4277 	Rename cmodel to rs6000_current_cmodel.
   4278 	(rs6000_sched_groups): Ditto.
   4279 	(rs6000_align_branch_targets): Ditto.
   4280 	(rs6000_sched_costly_dep): Ditto.
   4281 	(rs6000_sched_insert_nops): Ditto.
   4282 	(rs6000_long_double_type_size): Ditto.
   4283 	(rs6000_ieeequad): Ditto.
   4284 	(rs6000_altivec_abi): Ditto.
   4285 	(rs6000_spe): Ditto.
   4286 	(rs6000_spe_abi): Ditto.
   4287 	(rs6000_float_gprs): Ditto.
   4288 	(rs6000_darwin64_abi): Ditto.
   4289 	(can_override_loop_align): Ditto.
   4290 	(rs6000_sdata): Ditto.
   4291 	(rs6000_tls_size): Ditto.
   4292 	(rs6000_current_abi): Ditto.
   4293 	(rs6000_traceback): Ditto.
   4294 	(rs6000_alignment_flags): Ditto.
   4295 	(rs6000_current_cmodel): Ditto.
   4296 	(rs6000_recip_control): Ditto.
   4297 	(rs6000_cpu_index): Ditto.
   4298 	(rs6000_tune_index): Ditto.
   4299 	(rs6000_debug): Ditto.
   4300 	(rs6000_target_flags_explict): Ditto.
   4301 	(rs6000_sched_insert_nops_str): Make static.
   4302 	(rs6000_sched_costly_dep_str): Ditto.
   4303 	(rs6000_recip_name): Ditto.
   4304 	(rs6000_abi_name): Ditto.
   4305 	(rs6000_sdata_name): Ditto.
   4306 	(enum rs6000_traceback_name): Move to rs6000-opts.h.
   4307 	(rs6000_parse_tls_size_option): Delete.
   4308 	(rs6000_valid_attribute_p): New function for target attributes and
   4309 	pragmas.
   4310 	(rs6000_function_specific_save): Ditto.
   4311 	(rs6000_function_specific_restore): Ditto.
   4312 	(rs6000_function_specific_print): Ditto.
   4313 	(rs6000_can_inline_p): Ditto.
   4314 	(rs6000_set_current_function): Ditto.
   4315 	(rs6000_inner_target_options): Ditto.
   4316 	(rs6000_debug_target_options): Ditto.
   4317 	(rs6000_pragma_target_parse): Ditto.
   4318 	(TARGET_OPTION_VALID_ATTRIBUTE_P): Define target hooks for target
   4319 	attributes and pragmas.
   4320 	(TARGET_OPTION_SAVE): Ditto.
   4321 	(TARGET_OPTION_RESTORE): Ditto.
   4322 	(TARGET_OPTION_PRINT): Ditto.
   4323 	(TARGET_CAN_INLINE_P): Ditto.
   4324 	(TARGET_SET_CURRENT_FUNCTION): Ditto.
   4325 	(POWER_MASKS): Move to file level scope from the
   4326 	rs6000_option_override_internal function.
   4327 	(POWERPC_MASKS): Ditto.
   4328 	(ISA_*_MASKS): Ditto.
   4329 	(struct rs6000_ptt): Ditto.
   4330 	(processor_target_table): Ditto.
   4331 	(rs6000_cpu_name_lookup): Map cpu name to an index in
   4332 	processor_target_table.
   4333 	(rs6000_debug_reg_global): Print more information on processor
   4334 	options for -mdebug=reg.
   4335 	(rs6000_init_hard_regno_mode_ok): Add support for target
   4336 	attributes and pragmas.  Merge all -mdebug=<xxx> fields into one.
   4337 	Allow -mdebug=val1,val2.  Rename cmodel variable.
   4338 	(rs6000_option_override_internal): Ditto.
   4339 	(rs6000_option_override): Ditto.
   4340 	(rs6000_handle_option): Ditto.
   4341 	(rs6000_conditional_register_usage): Add debug trace message.
   4342 	(struct rs6000_opt_mask): New for target attribute/pragma support.
   4343 	(rs6000_opt_masks): Ditto.
   4344 	(struct rs6000_opt_var): Ditto.
   4345 	(rs6000_opt_vars): Ditto.
   4346 	(rs6000_previous_function): Ditto.
   4347 
   4348 	* config/rs6000/rs6000.h (top level): Include rs6000-opts.h if it
   4349 	wasn't already included.
   4350 	(enum rs6000_cmodel): Move to rs6000-opts.h or rs6000.opt.
   4351 	(enum processor_type): Ditto.
   4352 	(rs6000_cpu): Ditto.
   4353 	(enum fpu_type_t): Ditto.
   4354 	(fpu_type): Ditto.
   4355 	(enum rs6000_dependence_cost): Ditto.
   4356 	(enum rs6000_nop_insertion): Ditto.
   4357 	(enum group_termination): Ditto.
   4358 	(rs6000_long_double_type_size): Ditto.
   4359 	(rs6000_ieeequad): Ditto.
   4360 	(rs6000_altivec_abi): Ditto.
   4361 	(rs6000_spe_abi): Ditto.
   4362 	(rs6000_spe): Ditto.
   4363 	(rs6000_float_gprs): Ditto.
   4364 	(rs6000_alignment_flags): Ditto.
   4365 	(rs6000_sched_insert_nops): Ditto.
   4366 	(enum rs6000_vector): Ditto.
   4367 	(enum rs6000_abi): Ditto.
   4368 	(rs6000_current_opt): Ditto.
   4369 	(rs6000_debug_*): Delete.
   4370 	(MASK_DEBUG*): Combine -mdebug=xxxx into one int.
   4371 	(TARGET_DEBUG*): Ditto.
   4372 
   4373 	* config/rs6000/rs6000-opts.h: New header file to define the enums
   4374 	that are used in target variables that are now defined in rs6000.opt.
   4375 
   4376 	* config/rs6000/sysv4.h (enum rs6000_sdata_type): Move to
   4377 	rs6000-opts.h.
   4378 	(rs6000_sdata): Ditto.
   4379 	(rs6000_abi_name): Delete.
   4380 	(rs6000_sdata_name): Ditto.
   4381 	(rs6000_tls_size_string): Ditto.
   4382 
   4383 2010-11-19  Joseph Myers  <joseph (a] codesourcery.com>
   4384 
   4385 	* common.opt (debug_struct_ordinary, debug_struct_generic): New
   4386 	Variable entries.
   4387 	* dwarf2out.c (matches_main_base, dump_struct_debug, DUMP_GSTRUCT,
   4388 	should_emit_struct_debug): Move from opts.c.
   4389 	* flag-types.h (enum debug_struct_file): Move from opts.c.
   4390 	* flags.h (should_emit_struct_debug): Remove.
   4391 	(base_of_path): Declare.
   4392 	(set_struct_debug_option): Add gcc_options parameter.
   4393 	* optc-gen.awk, opth-gen.awk: Handle array variables.
   4394 	* opts.c (enum debug_struct_file, debug_struct_ordinary,
   4395 	debug_struct_generic): Remove.
   4396 	(set_struct_debug_option): Add gcc_options parameter.
   4397 	(base_of_path): Remove static.
   4398 	(main_input_basename, main_input_baselength, matches_main_base,
   4399 	dump_struct_debug, DUMP_GSTRUCT, should_emit_struct_debug):
   4400 	Remove.
   4401 	* toplev.c (main_input_basename, main_input_baselength): Define
   4402 	here.
   4403 	* toplev.h (main_input_basename, main_input_baselength): Declare
   4404 	here.
   4405 
   4406 2010-11-19  Joseph Myers  <joseph (a] codesourcery.com>
   4407 
   4408 	* common.opt (flag_instrument_functions_exclude_functions,
   4409 	flag_instrument_functions_exclude_files): New Variable definitions.
   4410 	* flags.h (flag_instrument_functions_exclude_p): Don't declare.
   4411 	* gimplify.c (char_p): Declare type and vectors.
   4412 	(flag_instrument_functions_exclude_p): Moved from opts.c.  Make static.
   4413 	* opts.c (flag_instrument_functions_exclude_functions,
   4414 	flag_instrument_functions_exclude_files): Remove.
   4415 	(add_comma_separated_to_vector): Take void **.
   4416 	(flag_instrument_functions_exclude_p): Move to gimplify.c.
   4417 	(common_handle_option): Use options structure for
   4418 	-finstrument-functions-exclude- options.
   4419 
   4420 2010-11-19  Joseph Myers  <joseph (a] codesourcery.com>
   4421 
   4422 	* doc/options.texi (Var): Document effects of Defer.
   4423 	(Defer): Document.
   4424 	* opt-functions.awk (var_type, var_set): Handle deferred options.
   4425 	* opts-common.c (set_option): Handle CLVC_DEFER.
   4426 	* common.opt (fcall-saved-, fcall-used-, fdump-, ffixed-,
   4427 	fplugin=, fplugin-arg-, fstack-limit, fstack-limit-register=,
   4428 	fstack-limit-symbol=): Mark as deferred.
   4429 	* opts.c: Don't include rtl.h, ggc.h, output.h, tree-pass.h or
   4430 	plugin.h.
   4431 	(print_filtered_help): Don't report state of CLVC_DEFER options.
   4432 	(common_handle_option): Move code for OPT_fcall_used_,
   4433 	OPT_fcall_saved_, OPT_fdump_, OPT_ffixed_, OPT_fplugin_,
   4434 	OPT_fplugin_arg_, OPT_fstack_limit, OPT_fstack_limit_register_ and
   4435 	OPT_fstack_limit_symbol_ to opts-global.c.
   4436 	(option_enabled, get_option_state): Handle CLVC_DEFER.
   4437 	* opts.h: Include vec.h.
   4438 	(enum cl_var_type): Add CLVC_DEFER.
   4439 	(cl_deferred_option): Define type and vectors.
   4440 	(handle_common_deferred_options): Declare.
   4441 	* opts-global.c: New.
   4442 	* toplev.c (toplev_main): Call handle_common_deferred_options
   4443 	* Makefile.in (OPTS_H): Include $(VEC_H).
   4444 	(OBJS-common): Include opts-global.o.
   4445 	(opts.o): Update dependencies.
   4446 	(opts-global.o): Add dependencies.
   4447 
   4448 2010-11-19  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   4449 
   4450 	* c-parser.c (c_parser_objc_protocol_definition): Pass attributes
   4451 	to objc_declare_protocols.
   4452 
   4453 2010-11-19  Richard Guenther  <rguenther (a] suse.de>
   4454 
   4455 	PR lto/45789
   4456 	* lto-streamer-out.c (lto_output_ts_common_tree_pointers): For
   4457 	IDENTIFIERs do not stream TREE_TYPE.
   4458 	* lto-streamer-in.c (lto_input_ts_common_tree_pointers): Likewise.
   4459 
   4460 2010-11-19  Christian Borntraeger  <borntraeger (a] de.ibm.com>
   4461 
   4462 	* config/s390/s390.c (s390_function_arg_integer): Handle NULLPTR_TYPE.
   4463 
   4464 2010-11-19  Jakub Jelinek  <jakub (a] redhat.com>
   4465 
   4466 	PR target/45870
   4467 	* dwarf2out.c (const_ok_for_output_1): Don't complain about
   4468 	non-delegitimized TLS UNSPECs.
   4469 
   4470 2010-11-18  Jack Howarth  <howarth (a] bromo.med.uc.edu>
   4471 	    Ian Lance Taylor  <iant (a] google.com>
   4472 
   4473 	* config/darwin-c.c (darwin_additional_format_types): Export.
   4474 
   4475 2010-11-18  Paul Koning  <ni1d (a] arrl.net>
   4476 
   4477 	* config/pdp11/pdp11.h (FIRST_PARM_OFFSET): Fix case of no frame
   4478 	pointer.
   4479 
   4480 2010-11-18  Paul Koning  <ni1d (a] arrl.net>
   4481 
   4482 	* config/pdp11/pdp11.md (abshi2): Delete TARGET_ABSHI_BUILTIN.
   4483 	* config/pdp11/pdp11.c (TARGET_DEFAULT_TARGET_FLAGS): Ditto.
   4484 	* config/pdp11/pdp11.opt (-mabshi): Delete.
   4485 
   4486 2010-11-19  Mingjie Xing  <mingjie.xing (a] gmail.com>
   4487 
   4488 	* resource.h (struct resources): Fix typo in the comment.
   4489 
   4490 2010-11-19  Uros Bizjak  <ubizjak (a] gmail.com>
   4491 
   4492 	PR target/46546
   4493 	* config/i386/i386.c (ix86_reorg): Call compute_bb_for_insn.
   4494 
   4495 2010-11-18  Richard Henderson  <rth (a] redhat.com>
   4496 
   4497 	PR middle-end/46515
   4498 	* function.c (maybe_copy_prologue_epilogue_insn): Rename from
   4499 	maybe_copy_epilogue_insn; handle prologue insns as well.
   4500 	* rtl.h, cfglayout.c: Update for rename.
   4501 	* recog.c (peep2_attempt): Copy prologue/epilogue data for
   4502 	RTX_FRAME_RELATED_P insns.
   4503 
   4504 2010-11-18  Jakub Jelinek  <jakub (a] redhat.com>
   4505 
   4506 	PR middle-end/46534
   4507 	* builtins.c (fold_builtin_printf): Don't copy and modify string
   4508 	before build_string_literal, instead modify what
   4509 	build_string_literal returned.
   4510 
   4511 2010-11-18  Nathan Froyd  <froydnj (a] codesourcery.com>
   4512 
   4513 	PR c/33193
   4514 	* c-typeck.c (build_unary_op): Call build_real_imag_expr for
   4515 	REALPART_EXPR and IMAGPART_EXPR.
   4516 
   4517 2010-11-18  Richard Guenther  <rguenther (a] suse.de>
   4518 
   4519 	PR tree-optimization/46172
   4520 	* tree-vect-loop-manip.c (remove_dead_stmts_from_loop): New
   4521 	function.
   4522 	(slpeel_tree_peel_loop_to_edge): Call it.
   4523 
   4524 2010-11-18  Jeff Law  <law (a] redhat.com>
   4525 
   4526 	PR middle-end-optimization/46297
   4527 	* postreload.c (reload_combine_note_store): Deal with embedded
   4528 	side effects in MEM expressions.
   4529 
   4530 2010-11-18  Richard Guenther  <rguenther (a] suse.de>
   4531 
   4532 	PR lto/45089
   4533 	* dwarf2out.c (add_AT_die_ref): Work around LTO losing types
   4534 	when checking is not enabled.
   4535 
   4536 2010-11-18  Richard Guenther  <rguenther (a] suse.de>
   4537 
   4538 	PR lto/46525
   4539 	* gimple.c (gimple_register_type): Update TYPE_MAIN_VARIANT of
   4540 	type leaders.
   4541 	(gimple_register_canonical_type): Also cache the canoncial type
   4542 	for non type leaders.
   4543 
   4544 2010-11-18  Richard Guenther  <rguenther (a] suse.de>
   4545 
   4546 	* lto-wrapper.c (run_gcc): Fix -flto=N parsing.
   4547 
   4548 2010-11-18  Alexander Monakov  <amonakov (a] ispras.ru>
   4549 
   4550 	PR middle-end/46518
   4551 	* sel-sched-ir.c (init_expr): Use the correct type for
   4552 	target_available.
   4553 	* sel-sched.c (fill_vec_av_set): Use explicitly signed char type.
   4554 
   4555 2010-11-17  Joakim Tjernlund  <Joakim.Tjernlund (a] transmode.se>
   4556 
   4557 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Support -fpic
   4558 	as well as -mrelocatable at the same time.
   4559 
   4560 2010-11-17  Quentin Neill  <quentin.neill.gnu (a] gmail.com>
   4561 
   4562 	PR target/46422
   4563 	* config/i386/bmiintrin.h (__lzcnt_u16, __lzcnt_u32, __lzcnt_u64):
   4564 	Call the clz builtin.
   4565 
   4566 2010-11-17  Dinar Temirbulatov <dtemirbulatov (a] gmail.com>
   4567 	    Steve Ellcey  <sje (a] cup.hp.com>
   4568 
   4569 	PR middle-end/31490
   4570 	* varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
   4571 	if section attribute used.
   4572 
   4573 2010-11-17  Jan Hubicka  <jh (a] suse.cz>
   4574 
   4575 	* builtins.c (expand_builtin_mathfn_2, expand_builtin_mathfn): Do not
   4576 	expand errno setting variant when optimizing for size.
   4577 
   4578 2010-11-17  Eric Botcazou  <ebotcazou (a] adacore.com>
   4579 
   4580 	* postreload.c (reload_combine): Call control_flow_insn_p only once.
   4581 	Reverse backward loop.  Fix formatting issues.
   4582 
   4583 2010-11-17  Paolo Bonzini  <bonzini (a] gnu.org>
   4584 
   4585 	* c-parser.c (c_token_is_qualifier,
   4586 	c_parser_next_token_is_qualifier): New.
   4587 	(c_parser_declaration_or_fndef, c_parser_struct_declaration):
   4588 	Improve error message on specs->tagdef_seen_p.
   4589 	(c_parser_struct_or_union_specifier): Improve error recovery.
   4590 	(c_parser_declspecs): Move exit condition on C_ID_ID early.
   4591 	Reorganize exit condition for C_ID_TYPENAME/C_ID_CLASSNAME
   4592 	using c_parser_next_token_is_qualifier; extend it to cover
   4593 	a ctsk_tagdef typespec and !typespec_ok in general.
   4594 
   4595 2010-11-17  Richard Guenther  <rguenther (a] suse.de>
   4596 
   4597 	* value-prof.c (gimple_divmod_fixed_value_transform): Update the stmt.
   4598 	(gimple_mod_pow2_value_transform): Likewise.
   4599 	(gimple_mod_subtract_transform): Likewise.
   4600 
   4601 2010-11-17  Richard Guenther  <rguenther (a] suse.de>
   4602 
   4603 	PR lto/46504
   4604 	* gimple.c (gimple_register_canonical_type): Make sure to only
   4605 	make type leaders canonical types.
   4606 
   4607 2010-11-17  Michael Matz  <matz (a] suse.de>
   4608 
   4609 	* timevar.def (TV_IPA_OPT, TV_EARLY_LOCAL, TV_OPTIMIZE,
   4610 	TV_POSTRELOAD, TV_REMOVE_UNUSED, TV_ADDRESS_TAKEN, TV_TODO,
   4611 	TV_VERIFY_LOOP_CLOSED, TV_VERIFY_RTL_SHARING,
   4612 	TV_REBUILD_FREQUENCIES, TV_REPAIR_LOOPS): New.
   4613 	* tree-into-ssa.c (rewrite_into_ssa): Don't push/pop timevar here ...
   4614 	(pass_build_ssa): ... but here.
   4615 	* cgraphbuild.c (pass_rebuild_cgraph): Use timevar.
   4616 	* tree-ssa-loop-manip.c (verify_loop_closed_ssa): Use timevar.
   4617 	* tree-emutls.c (pass_ipa_lower_emutls): Ditto.
   4618 	* df-core.c (pass_df_initialize_opt, pass_df_initialize_no_opt): Ditto.
   4619 	* predict.c (rebuild_frequencies): Ditto.
   4620 	* tree-vectorizer.c (pass_ipa_increase_alignment): Ditto.
   4621 	* emit-rtl.c (verify_rtl_sharing): Ditto.
   4622 	* tree-cfgcleanup.c (repair_loop_structures): Ditto.
   4623 	* tree-ssa-live.c (remove_unused_locals): Ditto.
   4624 	* cfglayout.c (pass_into_cfg_layout, pass_outof_cfg_layout): Ditto.
   4625 	* tree-ssa.c (pass_early_warn_uninitialized,
   4626 	execute_update_addresses_taken, pass_update_address_taken): Ditto.
   4627 	* tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
   4628 	pass_cleanup_cfg_post_optimizing, tree_rest_of_compilation): Ditto.
   4629 	* passes.c (pass_postreload, execute_todo): Ditto.
   4630 	* tree-ssanames.c (pass_release_ssa_names): Ditto.
   4631 
   4632 2010-11-17  Joseph Myers  <joseph (a] codesourcery.com>
   4633 
   4634 	* doc/invoke.texi (-dy): Remove.
   4635 	* langhooks-def.h (lhd_do_nothing_i): Don't declare.
   4636 	(LANG_HOOKS_PARSE_FILE): Define to lhd_do_nothing.
   4637 	* langhooks.c (lhd_do_nothing_i): Remove.
   4638 	* langhooks.h (lang_hooks.parse_file): Take no arguments.
   4639 	* toplev.c (set_yydebug): Remove.
   4640 	(compile_file): Update call to lang_hooks.parse_file.
   4641 	(decode_d_option): Don't handle -dy.
   4642 
   4643 2010-11-17  Jakub Jelinek  <jakub (a] redhat.com>
   4644 
   4645 	PR rtl-optimization/46440
   4646 	* combine.c (update_cfg_for_uncondjump): When changing
   4647 	an indirect jump into unconditional jump, remove BARRIERs
   4648 	from bb's footer.
   4649 
   4650 2010-11-17  Joseph Myers  <joseph (a] codesourcery.com>
   4651 
   4652 	* opts.c (target_handle_option): Do not assert that loc ==
   4653 	UNKNOWN_LOCATION.
   4654 
   4655 2010-11-17  Jakub Jelinek  <jakub (a] redhat.com>
   4656 	    Richard Guenther  <rguenther (a] suse.de>
   4657 
   4658 	PR middle-end/45838
   4659 	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
   4660 	call_may_clobber_ref_p_1): Return true for __sync_* and some
   4661 	OpenMP builtins that act as threading barriers.
   4662 
   4663 2010-11-17  Richard Guenther  <rguenther (a] suse.de>
   4664 
   4665 	PR tree-optimization/46498
   4666 	* tree-ssa-dce.c (perform_tree_ssa_dce): Compute dominator info.
   4667 
   4668 2010-11-16  Nathan Froyd  <froydnj (a] codesourcery.com>
   4669 
   4670 	* config/xtensa/xtensa.c (function_arg_boundary): Really rename to...
   4671 	(xtensa_function_arg_boundary): ...this.
   4672 	* config/picochip/pichochip.c (picochip_function_arg_boundary): Fix
   4673 	thinko in declaration.
   4674 	(picochip_function_arg, picochip_arg_partial_bytes): Pass proper
   4675 	number of parameters to picochip_function_arg_boundary.
   4676 	(picochip_arg_advance): Likewise.
   4677 
   4678 2010-11-16  Nathan Froyd  <froydnj (a] codesourcery.com>
   4679 
   4680 	PR target/46512
   4681 	* config/pa/pa.c (pa_function_arg_boundary): Move TYPE_SIZE accesses
   4682 	under check for type.
   4683 
   4684 2010-11-16  Eric Botcazou  <ebotcazou (a] adacore.com>
   4685 
   4686 	* ifcvt.c (dead_or_predicable): Fix typo.
   4687 
   4688 2010-11-16  Richard Henderson  <rth (a] redhat.com>
   4689 
   4690 	* config.gcc [s390*-*] (extra_options): Add fused-madd.opt.
   4691 	* config/s390/s390.opt (mfused-madd): Remove.
   4692 	* config/s390/s390.c (s390_rtx_costs): Handle FMA.
   4693 	(TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
   4694 	* config/s390/s390.md (fma<DSF>4): Rename from *fmadd<DSF>; use FMA.
   4695 	(fms<DSF>4): Rename from *fmsub<DSF>; use FMA.
   4696 
   4697 2010-11-16  Richard Henderson  <rth (a] redhat.com>
   4698 
   4699 	* config.gcc [powerpc*, rs6000*] (extra_options): Add fused-madd.opt.
   4700 	* config/rs6000/rs6000.opt (mfused-madd): Remove.
   4701 	* config/rs6000/altivec.md (altivec_vmaddfp): Remove.
   4702 	(*altivec_vmaddfp_1): Remove.
   4703 	(*altivec_fmav4sf4): Rename from altivec_vmaddfp_2; use FMA.
   4704 	(altivec_mulv4sf3): Expand to FMA directly.
   4705 	(*altivec_vnmsubfp): Rename from altivec_vnmsubfp.
   4706 	(*altivec_vnmsubfp_1, *altivec_vnmsubfp_2): Remove.
   4707 	* config/rs6000/paired.md (paired_madds0): Use FMA.
   4708 	(paired_madds1): Likewise.
   4709 	(*paired_madd): Rename from paired_madd; use FMA.
   4710 	(*paired_msub, *paired_nmadd, *paired_nmsub): Similarly.
   4711 	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
   4712 	consider TARGET_FUSED_MADD wrt rs6000_recip_control.
   4713 	(bdesc_3arg): Update CODE_FOR_* for pattern renames.
   4714 	(rs6000_emit_madd): Use fma_optab.
   4715 	(rs6000_emit_msub): Use fms_optab.
   4716 	(rs6000_emit_nmsub): Expand the FMA pattern directly.
   4717 	* config/rs6000/rs6000.md (FMA_F): New mode iterator.
   4718 	(*fmasf4_fpr): Rename from fmasf4_fpr.
   4719 	(*nfmasf4_fpr): Rename from *fnmasf4_fpr.
   4720 	(*nfmssf4_fpr): Rename from *fnmssf4_fpr.
   4721 	(*fmaddsf4_powerpc, *fmaddsf4_power, *fmsubsf4_powerpc): Remove.
   4722 	(*fmsubsf4_power, *fnmaddsf4_powerpc_1, *fnmaddsf4_powerpc_2): Remove.
   4723 	(*fnmaddsf4_power_1, *fnmaddsf4_power_2, *fnmsubsf4_powerpc_1): Remove.
   4724 	(*fnmsubsf4_powerpc_2, *fnmsubsf4_power_1, *fnmsubsf4_power_2): Remove.
   4725 	(*fmadf4_fpr): Rename from fmadf4_fpr.
   4726 	(*nfmadf4_fpr): Rename from *fnmadf4_fpr.
   4727 	(*nfmsdf4_fpr): Rename from *fnmsdf4_fpr.
   4728 	(*fmadddf4_fpr, *fmsubdf4_fpr, *fnmadddf4_fpr_1): Remove.
   4729 	(*fnmadddf4_fpr_2, *fnmsubdf4_fpr_1, *fnmsubdf4_fpr_2): Remove.
   4730 	(fmasf4, fmadf4): Macroize into...
   4731 	(fma<FMA_F>4): ... here.
   4732 	(fms<FMA_F>4, fnma<FMA_F>4, fnms<FMA_F>4): New.
   4733 	(nfma<FMA_F>4, nfms<FMA_F>4): New.
   4734 	* config/rs6000/vector.md (mul<VEC_F>3): Do not depend on
   4735 	TARGET_FUSED_MADD.
   4736 	* config/rs6000/vsx.md (vsx_fmadd<VSX_B>4): Remove.
   4737 	(*vsx_fmadd<mode>4_1): Remove.
   4738 	(vsx_fmsub<mode>4, *vsx_fmsub<mode>4_1): Remove.
   4739 	(vsx_fnmadd<mode>4_1, vsx_fnmadd<mode>4_2): Remove.
   4740 	(vsx_fnmsub<mode>4_1, vsx_fnmsub<mode>4_2): Remove.
   4741 	(*vsx_fma<mode>4): Rename from vsx_fmadd<mode>4_2.
   4742 	(*vsx_fms<mode>4): Rename from vsx_fmsub<mode>4_2.
   4743 	(*vsx_nfma<mode>4): Rename from vsx_fnmadd<mode>4.
   4744 	(*vsx_nfms<mode>4): Rename from vsx_fnmsub<mode>4.
   4745 
   4746 2010-11-16  Richard Henderson  <rth (a] redhat.com>
   4747 
   4748 	* config/pa/pa.md (fmadf4): Rename from unnamed; use FMA.
   4749 	(fmasf4, fnmadf4, fnmasf4): Likewise.
   4750 	(unnamed plus+mult insns and splitters): Delete.
   4751 
   4752 2010-11-16  Richard Henderson  <rth (a] redhat.com>
   4753 
   4754 	* config/spu/spu.md (fma<VSF>4): Rename from fma_<VSF>.
   4755 	(fnma<VSF>4): Rename from fnms_<VSF>.
   4756 	(fms<VSF>4): Rename from fms_<VSF>.
   4757 	(fma<VDF>4): Rename from fma_<VDF>.
   4758 	(fms<VDF>4): Rename from fms_<VDF>.
   4759 	(nfma<VDF>4): Rename from fnma_<VDF>.
   4760 	(nfms<VDF>4): Rename from fnms_<VDF>.
   4761 	(fnma<VDF>4, fnms<VDF>4): New expanders.
   4762 	(floatunsdisf2): Update for the renames.
   4763 	(*div<VSF>3_fast, *div<VSF>3_adjusted): Likewise.
   4764 	* config/spu/spu-builtins.def: Update CODE_FOR_* for the renames.
   4765 
   4766 2010-11-16  Eric Botcazou  <ebotcazou (a] adacore.com>
   4767 
   4768 	PR rtl-optimization/46490
   4769 	* combine.c (expand_compound_operation): Fix thinko.
   4770 
   4771 2010-11-16  Richard Henderson  <rth (a] redhat.com>
   4772 
   4773 	PR target/46470
   4774 	* recog.c (peep2_attempt): Convert frame-related info when possible.
   4775 	(peep2_fill_buffer): Allow frame-related insns into the buffer.
   4776 	(peephole2_optimize): Allow peep2_attempt to fail.
   4777 
   4778 2010-11-16  Eric Botcazou  <ebotcazou (a] adacore.com>
   4779 
   4780 	PR rtl-optimization/46315
   4781 	* rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare.
   4782 	* rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function
   4783 	extracted from...
   4784 	* dce.c (delete_corresponding_reg_eq_notes): ...here.  Rename into...
   4785 	(remove_reg_equal_equiv_notes_for_defs): ...this.
   4786 	(delete_unmarked_insns): Adjust to above renaming.
   4787 	* ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes
   4788 	referring to registers set in the insns being moved, if any.
   4789 
   4790 	* df-core.c (df_ref_dump): New function extracted from...
   4791 	(df_refs_chain_dump): ...here.  Call it.
   4792 	(df_regs_chain_dump): Likewise.
   4793 	* df-problems.c (df_chain_dump): Print 'e' for uses in notes.
   4794 	* df-scan.c (df_scan_start_dump): Likewise.  Fix long line.
   4795 
   4796 2010-11-16  Andreas Schwab  <schwab (a] linux-m68k.org>
   4797 
   4798 	PR rtl-optimization/46395
   4799 	* postreload.c (reload_combine): Invalidate register use
   4800 	information on all control flow insns.
   4801 
   4802 	* config/m68k/m68k.c (m68k_delegitimize_address): Also expect
   4803 	LABEL_REF in UNSPEC operand.
   4804 
   4805 2010-11-16  Jan Hubicka  <jh (a] suse.cz>
   4806 
   4807 	* cgraph.h (+varpool_can_remove_if_no_refs): Move here from ...;
   4808 	when !flag_toplevel_reorder do not remove unless variable is
   4809 	COMDAT or ARTIFICIAL.
   4810 	* ipa.c (varpool_can_remove_if_no_refs): ... here.
   4811 	(cgraph_remove_unreachable_nodes): Only analyzed nodes needs to stay.
   4812 	* cgraphunit.c (cgraph_analyze_functions): Dump varpool, too.
   4813 	* varpool.c (decide_is_variable_needed): Do not handle visibility
   4814 	issues.
   4815 	(varpool_finalize_decl): Likewise.
   4816 	(varpool_remove_unreferenced_decls): Use varpool_mark_needed_node;
   4817 	update outdated comment on DECL_RTL_SET_P check.
   4818 
   4819 2010-11-16  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   4820 
   4821 	* config/sol2.h (NM_FLAGS): Define.
   4822 	* doc/tm.texi.in (Macros for Initialization, NM_FLAGS): Document.
   4823 	* doc/tm.texi: Update.
   4824 
   4825 2010-11-16  Nick Clifton  <nickc (a] redhat.com>
   4826 
   4827 	* config/v850/v850.md (maddsf4): Rename to fmasf4 and use fma rtx_code.
   4828 	(msubsf4): Rename to fmssf4, and use fma.
   4829 	(nmaddsf4): Rename to fnmasf4 and use fma.
   4830 	(nmsubsf4): Rename to fnmssf4 and use fma.
   4831 
   4832 2010-11-16  Joern Rennecke  <amylaar (a] spamcop.net>
   4833 
   4834 	PR target/44762
   4835 	* config/score/score3.c (score3_return_in_memory): Constify arguments.
   4836 	(score3_in_small_data_p, score3_function_value): Likewise.
   4837 	(score3_trampoline_init): Use LCT_NORMAL.
   4838 	(score3_print_operand): Initialize code as UNKNOWN.
   4839 	* config/score/predicates.md (score_load_multiple_operation):
   4840 	Remove unused variable.
   4841 	(score_store_multiple_operation): Likewise.
   4842 	* config/score/score7.c (score7_return_in_memory): Constify arguments.
   4843 	(score7_in_small_data_p, score7_function_value): Likewise.
   4844 	(score7_trampoline_init): Use LCT_NORMAL.
   4845 	(score7_print_operand): Initialize code as UNKNOWN.
   4846 	* config/score/score3.h (score3_return_in_memory): Update prototype.
   4847 	(score3_in_small_data_p, score3_function_value): Likewise.
   4848 	* config/score/score-protos.h (score_function_value): Likewise.
   4849 	* config/score/score7.h (score7_return_in_memory): Update prototype.
   4850 	(score7_in_small_data_p, score7_function_value): Likewise.
   4851 	* config/score/score.c (TARGET_PROMOTE_PROTOTYPES): Constify.
   4852 	(score_return_in_memory, score_pass_by_reference): Constify arguments.
   4853 	(score_output_mi_thunk, score_function_prologue): Don't return a value.
   4854 	(score_function_epilogue, score_in_small_data_p): Likewise.
   4855 	(score_option_override, score_asm_trampoline_template): Likewise.
   4856 	(score_trampoline_init, score_print_operand): Likewise.
   4857 	(score_print_operand_address, score_prologue): Likewise.
   4858 	(score_epilogue, score_call, score_call_value): Likewise.
   4859 	(score_movsicc, score_movdi, score_zero_extract_andi): Likewise.
   4860 	(score_function_arg_advance): Likewise. Make static.
   4861 	(score_asm_file_end): Mark parameter value with ATTRIBUTE_UNUSED.
   4862 	(score_function_arg, score_legitimate_address_p): Make static.
   4863 	(score_function_value): Mark parameter func with ATTRIBUTE_UNUSED.
   4864 	* config/score/score.h (REGNO_REG_CLASS): Cast value to enum reg_class.
   4865 	* config/score/score-conv.h (UIMM_IN_RANGE, SIMM_IN_RANGE):
   4866 	Allow (W) == HOST_BITS_PER_WIDE_INT.
   4867 
   4868 	PR java/46386
   4869 	* config/pdp11/t-pdp11 (java/constants.o-warn): Remove.
   4870 	* config/t-pnt16-warn (java/constants.o-warn): Likewise.
   4871 
   4872 2010-11-16  Nathan Froyd  <froydnj (a] codesourcery.com>
   4873 
   4874 	* config/arc/arc.c: Delete pasto.
   4875 	* config/pa/pa.c (pa_function_arg_boundary): Add missing comparison.
   4876 
   4877 2010-11-16  Anatoly Sokolov  <aesok (a] post.ru>
   4878 
   4879 	* config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS,
   4880 	PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
   4881 	* config/mn10300/mn10300.c (TARGET_PREFERRED_RELOAD_CLASS,
   4882 	TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
   4883 	(mn10300_preferred_reload_class,
   4884 	mn10300_preferred_output_reload_class): New functions.
   4885 
   4886 2010-11-16  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   4887 
   4888 	* gensupport.c (MNEMONIC_ATTR_NAME, MNEMONIC_HTAB_SIZE): New macros.
   4889 	(htab_eq_string, add_mnemonic_string, gen_mnemonic_setattr)
   4890 	(mnemonic_htab_callback, gen_mnemonic_attr): New functions.
   4891 	(init_rtx_reader_args_cb): Invoke gen_mnemonic_attr.
   4892 
   4893 2010-11-16  Nathan Froyd  <froydnj (a] codesourcery.com>
   4894 
   4895 	* builtins.c (std_gimplify_va_arg_expr): Use
   4896 	targetm.calls.function_arg_boundary.
   4897 	* function.c (assign_parms, locate_and_pad_parm): Likewise.
   4898 	* calls.c (struct arg_data): Update comment.
   4899 	* defaults.h (FUNCTION_ARG_BOUNDARY): Delete.
   4900 	* target.def (function_arg_boundary): Define.
   4901 	* targhooks.h (default_function_arg_boundary): Declare.
   4902 	* targhooks.c (default_function_arg_boundary): Define.
   4903 	* doc/tm.texi.in (FUNCTION_ARG_PADDING): Use
   4904 	TARGET_FUNCTION_ARG_BOUNDARY.
   4905 	(FUNCTION_ARG_BOUNDARY): Delete.
   4906 	(TARGET_FUNCTION_ARG_BOUNDARY): New.
   4907 	* doc/tm.texi: Regenerate.
   4908 	* system.h (FUNCTION_ARG_BOUNDARY): Poison.
   4909 	* config/arc/arc.h (FUNCTION_ARG_BOUNDARY): Delete.
   4910 	* config/arc/arc.c (arc_function_arg_boundary): Define.
   4911 	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
   4912 	* config/arm/arm.h (FUNCTION_ARG_BOUNDARY): Delete.
   4913 	* config/arm/arm-protos.h (arm_needs_doubleword_align): Delete.
   4914 	* config/arm/arm.c (arm_needs_doubleword_align): Make static.
   4915 	(arm_function_arg_boundary): Define.
   4916 	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
   4917 	* config/frv/frv.h (FUNCTION_ARG_BOUNDARY): Delete.
   4918 	* config/frv/frv-protos.h (frv_function_arg_boundary): Delete.
   4919 	* config/frv/frv.c (frv_function_arg_boundary): Make static.
   4920 	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
   4921 	* config/i386/i386.h (FUNCTION_ARG_BOUNDARY): Delete.
   4922 	* config/i386/i386-protos.h (ix86_function_arg_boundary): Delete.
   4923 	* config/i386/i386.c (ix86_function_arg_boundary): Make static.
   4924 	(ix86_compat_function_arg_boundary): Take and return unsigned int.
   4925 	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
   4926 	* config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Delete.
   4927 	* config/ia64/ia64-protos.h (ia64_function_arg_boundary): Delete.
   4928 	* config/ia64/ia64.c (ia64_function_arg_boundary): Make static.
   4929 	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
   4930 	* config/m32c/m32c.h (FUNCTION_ARG_BOUNDARY): Delete.
   4931 	* config/m32c/m32c.c (m32c_function_arg_boundary): Define.
   4932 	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
   4933 	* config/m32r/m32r.h (FUNCTION_ARG_BOUNDARY): Delete.
   4934 	* config/mcore/mcore.h (FUNCTION_ARG_BOUNDARY): Delete.
   4935 	* config/mcore/mcore.c (mcore_function_arg_boundary): Define.
   4936 	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
   4937 	* config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Delete.
   4938 	* config/mips/mips-protos.h (mips_function_arg_boundary): Delete.
   4939 	* config/mips/mips.c (mips_function_arg_boundary): Make static.
   4940 	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
   4941 	* config/pa/pa.h (FUNCTION_ARG_BOUNDARY): Delete.
   4942 	* config/pa/pa.c (pa_function_arg_boundary): Define.
   4943 	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
   4944 	* config/picochip/picochip.h (FUNCTION_ARG_BOUNDARY): Delete.
   4945 	* config/picochip/picochip-protos.h
   4946 	(picochip_get_function_arg_boundary): Delete.
   4947 	* config/picochip/picochip.c (picochip_get_function_arg_boundary):
   4948 	Rename to...
   4949 	(picochip_function_arg_boundary): ...this.  Make static.
   4950 	(picochip_function_arg, picochip_arg_partial_bytes): Adjust.
   4951 	(picochip_arg_advance): Adjust.
   4952 	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
   4953 	* config/rs6000/rs6000.h (FUNCTION_ARG_BOUNDARY): Delete.
   4954 	* config/rs6000/rs6000-protos.h (function_arg_boundary): Delete.
   4955 	* config/rs6000/rs6000.c (function_arg_boundary): Rename to...
   4956 	(rs6000_function_arg_boundary): ...this.  Make static.
   4957 	(rs6000_parm_start, rs6000_gimplify_va_arg): Adjust.
   4958 	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
   4959 	* config/rx/rx.h (FUNCTION_ARG_BOUNDARY): Delete.
   4960 	* config/rx/rx.c (rx_function_arg_boundary): Define.
   4961 	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
   4962 	* config/sparc/sparc.h (FUNCTION_ARG_BOUNDARY): Delete.
   4963 	* config/sparc/sparc.c (sparc_function_arg_boundary): Define.
   4964 	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
   4965 	* config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Delete.
   4966 	* config/xtensa/xtensa-protos.h (function_arg_boundary): Delete.
   4967 	* config/xtensa/xtensa.c (function_arg_boundary): Rename to...
   4968 	(xtensa_function_arg_boundary): ...this.  Make static.
   4969 	(TARGET_FUNCTION_ARG_BOUNDARY): Define.
   4970 
   4971 2010-11-16  Nathan Froyd  <froydnj (a] codesourcery.com>
   4972 
   4973 	* expr.c (alignment_for_piecewise_move): New function.
   4974 	(widest_int_mode_for_size): New function.
   4975 	(move_by_pieces, move_by_pieces_ninsns): Call them.
   4976 	(can_store_by_pieces, store_by_pieces_1): Likewise.
   4977 
   4978 2010-11-16  Nathan Froyd  <froydnj (a] codesourcery.com>
   4979 
   4980 	* gcc.c (char_p): Define.  Define a VEC of it.
   4981 	(n_linker_options, n_assembler_options, n_preprocessor_options):
   4982 	Delete.
   4983 	(linker_options, assembler_options, preprocessor_options): Convert
   4984 	to a VEC.
   4985 	(add_preprocessor_option): Adjust.
   4986 	(add_assembler_option): Adjust.
   4987 	(add_linker_option): Adjust.
   4988 	(do_specs_vec): New function.
   4989 	(do_spec_1): Call it.  Adjust for new types.
   4990 
   4991 2010-11-16  Nathan Froyd  <froydnj (a] codesourcery.com>
   4992 
   4993 	* Makefile.in (bitmap.o, ebitmap.o, et-forest.o): Update dependencies.
   4994 	(sreal.o, statistics.o, stringpool.o): Likewise.
   4995 
   4996 2010-11-16  Richard Guenther  <rguenther (a] suse.de>
   4997 
   4998 	PR tree-optimization/44545
   4999 	* tree-ssa-reassoc.c (linearize_expr_tree): Possibly throwing
   5000 	statements are not reassociatable.
   5001 	(reassociate_bb): Likewise.
   5002 
   5003 2010-11-16  Nathan Froyd  <froydnj (a] codesourcery.com>
   5004 
   5005 	* bitmap.c: Delete unnecessary includes.
   5006 	* ebitmap.c: Likewise.
   5007 	* et-forest.c: Likewise.
   5008 	* sreal.c: Likewise.
   5009 	* statistics.c: Likewise.
   5010 	* stringpool.c: Likewise.
   5011 	* double-int.c: Add comment for inclusion of tm.h.
   5012 
   5013 2010-11-16  Richard Guenther  <rguenther (a] suse.de>
   5014 
   5015 	* tree-ssa-sccvn.c (visit_unary_op): Rename to ...
   5016 	(visit_nary_op): ... this.
   5017 	(visit_binary_op): Remove.
   5018 	(visit_use): Adjust and handle GIMPLE_TERNARY_RHS.
   5019 
   5020 2010-11-16  Richard Guenther  <rguenther (a] suse.de>
   5021 
   5022 	PR middle-end/45172
   5023 	* tree-eh.c (cleanup_empty_eh_unsplit): Avoid creating duplicate edges.
   5024 
   5025 2010-11-16  Nick Clifton  <nickc (a] redhat.com>
   5026 
   5027 	* config/rx/rx.c (rx_is_ms_bitfield_layout): Return false if the
   5028 	record is packed.
   5029 
   5030 2010-11-15  Richard Henderson  <rth (a] redhat.com>
   5031 
   5032 	* fold-const.c (operand_equal_for_comparison_p): Handle FMA_EXPR,
   5033 	WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR, VEC_COND_EXPR and
   5034 	DOT_PROD_EXPR.
   5035 
   5036 2010-11-15  Richard Henderson  <rth (a] redhat.com>
   5037 
   5038 	* config/mn10300/mn10300.md (fmasf4, fmssf4, fnmasf4, fnmssf4): Rename
   5039 	from fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4 respectively.  Use
   5040 	fma rtx_code.
   5041 
   5042 2010-11-15  Richard Henderson  <rth (a] redhat.com>
   5043 
   5044 	* config/frv/frv.md (fmasf4, fmssf4): Rename from *muladdsf4
   5045 	and *mulsubsf4 respectively.  Use fma rtx_code.
   5046 
   5047 2010-11-15  Joseph Myers  <joseph (a] codesourcery.com>
   5048 
   5049 	* gcc.c: Include "vec.h".
   5050 	(argbuf): Make into a VEC.
   5051 	(argbuf_length, argbuf_index): Remove.
   5052 	(alloc_args, clear_args, store_arg, execute, insert_wrapper,
   5053 	do_spec, do_self_spec, do_spec_1, eval_spec_function, main,
   5054 	compare_debug_dump_opt_spec_function: Use VEC interfaces on argbuf.
   5055 	* Makefile.in (GCC_OBJS): Add vec.o and ggc-none.o.
   5056 	(gcc.o): Depend on $(VEC_H).
   5057 
   5058 2010-11-15  Richard Henderson  <rth (a] redhat.com>
   5059 
   5060 	* loop-unroll.c (analyze_insn_to_expand_var): Accept accumulation
   5061 	via FMA if unsafe math.
   5062 	(insert_var_expansion_initialization): Handle FMA.
   5063 	(combine_var_copies_in_loop_exit): Likewise.
   5064 
   5065 2010-11-15  Richard Henderson  <rth (a] redhat.com>
   5066 
   5067 	* config.gcc [ia64-*] (extra_options): Add fused-madd.opt.
   5068 	* config/ia64/ia64.opt: Remove mfused-madd.
   5069 	* config/ia64/ia64.c (ia64_rtx_costs): Handle FP MULT, PLUS, FMA.
   5070 	* config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_FUSED_MADD.
   5071 	* config/ia64/vms64.h (TARGET_DEFAULT): Likewise.
   5072 	* config/ia64/ia64.h (TARGET_DEFAULT): Likewise.
   5073 	* config/ia64/hpux.h (TARGET_DEFAULT): Likewise.
   5074 	* config/ia64/vect.md (addv2sf3, subv2sf3): Generate FMA.
   5075 	(*addv2sf3_1, *addv2sf3_2, *subv2sf3_1, *subv2sf3_2): Remove.
   5076 	(fmav2sf4): Rename from fpma; use FMA code.
   5077 	(fmsv2sf4): Rename from fpms; use FMA code.
   5078 	(fnmav2sf4): Rename from *fpnma; use FMA code.
   5079 	* config/ia64/ia64.md (MODE_SDF): New iterator.
   5080 	(suffix): New mode attribute.
   5081 	(*maddsf4, *msubsf4, *nmaddsf4): Remove.
   5082 	(fmssf4): Rename from *fmssf4.
   5083 	(fnmasf4): Rename from *nfmasf4.
   5084 	(*madddf4, *madddf4_trunc, *msubdf4, *msubdf4_trunc): Remove.
   5085 	(*nmadddf4, *nmadddf4_truncsf): Remove.
   5086 	(fmsdf4): Rename from *fmsdf4.
   5087 	(fnmadf4): Rename from *nfmadf4.
   5088 	(*fmadf_trunc_sf, *fmsdf_trunc_sf, *fnmadf_trunc_sf): New.
   5089 	(*maddxf4, *maddxf4_truncsf, *maddxf4_truncdf): Remove.
   5090 	(*msubxf4, *msubxf4_truncsf, *msubxf4_truncdf): Remove.
   5091 	(*nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf): Remove.
   5092 	(fmsxf4): Rename from *fmsxf4.
   5093 	(fnmaxf4): Rename from *nfmaxf4.
   5094 	(*fmaxf_trunc_<MODE_SDF>, *fmsxf_trunc_<MODE_SDF>): New.
   5095 	(*fnmaxf_trunc_<MODE_SDF>): New.
   5096 
   5097 2010-11-15  Jakub Jelinek  <jakub (a] redhat.com>
   5098 
   5099 	PR tree-optimization/46461
   5100 	* tree-ssa-forwprop.c (simplify_builtin_call): Ensure ptr1 is
   5101 	a gimple val.
   5102 
   5103 2010-11-15  Ian Lance Taylor  <iant (a] google.com>
   5104 
   5105 	* godump.c: New file.
   5106 	* common.opt (fdump-go-spec=): New option.
   5107 	* tree.h: Add comments for TYPE_SYMTAB_ADDRESS and friends.
   5108 	(TYPE_SYMTAB_IS_ADDRESS, TYPE_SYMTAB_IS_POINTER): Define.
   5109 	(TYPE_SYMTAB_IS_DIE): Define.
   5110 	(struct tree_type): Change GTY for symtab field to use
   5111 	TYPE_SYMTAB_IS_ADDRESS and friends and to use a debug_hooks field
   5112 	to pick the union field.
   5113 	* debug.h (struct gcc_debug_hooks): Add tree_type_symtab_field.
   5114 	(dump_go_spec_init): Declare.
   5115 	* toplev.c (process_options): Handle flag_dump_go_spec.
   5116 	* debug.c: Include "tree.h".
   5117 	(do_nothing_debug_hooks): Set tree_type_symtab_field.
   5118 	* dwarf2out.c (dwarf2_debug_hooks): Likewise.
   5119 	* dbxout.c (dbx_debug_hooks): Likewise.
   5120 	(xcoff_debug_hooks): Likewise.
   5121 	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
   5122 	* sdbout.c (sdb_debug_hooks): Likewise.  Do not define if
   5123 	SDB_DEBUGGING_INFO is not defined.
   5124 	* doc/invoke.texi (Option Summary): Mention -fdump-go-spec.
   5125 	(Overall Options): Document -fdump-go-spec.
   5126 	* Makefile.in (OBJS-common): Add godump.o.
   5127 	(debug.o): Add dependency on $(TREE_H).
   5128 	(godump.o): New target.
   5129 	(GTFILES): Add $(srcdir)/godump.c.
   5130 
   5131 2010-11-15  Jakub Jelinek  <jakub (a] redhat.com>
   5132 
   5133 	PR debug/46095
   5134 	* config/i386/i386.c (pro_epilogue_adjust_stack): Instead of
   5135 	marking r11 set RTX_FRAME_RELATED_P if offset is too large for
   5136 	style < 0, add REG_FRAME_RELATED_EXPR.
   5137 
   5138 	PR debug/46387
   5139 	* rtl.h (vt_equate_reg_base_value): New prototype.
   5140 	* alias.c (vt_equate_reg_base_value): New function.
   5141 	* var-tracking.c (vt_init_cfa_base): Use it.
   5142 
   5143 2010-11-15  Jan Hubicka  <jh (a] suse.cz>
   5144 	    Diego Novillo  <dnovillo (a] google.com>
   5145 
   5146 	PR lto/41528
   5147 	* doc/lto.texi: Add.
   5148 	* doc/gccint.texi: Add reference to lto.texi.
   5149 	* doc/invoke.texi: Update user documentation for LTO.
   5150 	Move internal flags to lto.texi
   5151 
   5152 2010-11-15  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   5153 
   5154 	* c-typeck.c (build_unary_op): Use
   5155 	objc_build_incr_expr_for_property_ref to build the pre/post
   5156 	increment/decrement of an Objective-C property ref, and skip the
   5157 	lvalue_or_else check in that case.
   5158 
   5159 2010-11-15  Martin Jambor  <mjambor (a] suse.cz>
   5160 
   5161 	PR tree-optimization/46349
   5162 	* tree-sra.c (contains_bitfld_comp_ref_p): New function.
   5163 	(contains_vce_or_bfcref_p): Likewise.
   5164 	(sra_modify_assign): Use them.
   5165 
   5166 2010-11-15  Richard Guenther  <rguenther (a] suse.de>
   5167 
   5168 	PR tree-optimization/46467
   5169 	* tree-ssa-structalias.c (do_structure_copy): Properly treat
   5170 	variables without subvars.
   5171 
   5172 2010-11-15  Hariharan Sandanagobalane  <hariharan (a] picochip.com>
   5173 
   5174 	* config/picochip/picochip.c (file header): Picochip name change.
   5175 	* config/picochip/picochip.md (file header): Likewise.
   5176 	* config/picochip/predicates.md (file header): Likewise.
   5177 	* config/picochip/dfa_space.md (file header): Likewise.
   5178 	* config/picochip/dfa_speed.md (file header): Likewise.
   5179 	* config/picochip/picochip.h(file header): Likewise.
   5180 	* config/picochip/constraints.md (file header): Likewise.
   5181 	* config/picochip/picochip-protos.h (file header): Likewise.
   5182 	* config/picochip/libgccExtras/setjmp.asm (file header): Likewise.
   5183 	* config/picochip/libgccExtras/divmodsi4.asm (file header): Likewise.
   5184 	* config/picochip/libgccExtras/ashlsi3.asm (file header): Likewise.
   5185 	* config/picochip/libgccExtras/longjmp.asm (file header): Likewise.
   5186 	* config/picochip/libgccExtras/ashlsi3.c (file header): Likewise.
   5187 	* config/picochip/libgccExtras/popcounthi2.asm (file header): Likewise.
   5188 	* config/picochip/libgccExtras/parityhi2.asm (file header): Likewise.
   5189 	* config/picochip/libgccExtras/udivmodhi4.asm (file header): Likewise.
   5190 	* config/picochip/libgccExtras/ashrsi3.asm (file header): Likewise.
   5191 	* config/picochip/libgccExtras/ashrsi3.c (file header): Likewise.
   5192 	* config/picochip/libgccExtras/ucmpsi2.asm (file header): Likewise.
   5193 	* config/picochip/libgccExtras/divmodhi4.asm (file header): Likewise.
   5194 	* config/picochip/libgccExtras/lshrsi3.asm (file header): Likewise.
   5195 	* config/picochip/libgccExtras/subdi3.asm (file header): Likewise.
   5196 
   5197 2010-11-15  Richard Guenther  <rguenther (a] suse.de>
   5198 
   5199 	PR bootstrap/46474
   5200 	* tree-ssa-math-opts.c (convert_mult_to_fma): Disregard debug stmts.
   5201 
   5202 2010-11-15  Nick Clifton  <nickc (a] redhat.com>
   5203 
   5204 	* config/stormy16/stormy16.c (direct_return): Do not generate a
   5205 	direct return for interrupt handlers.
   5206 
   5207 2010-11-15  Joern Rennecke  <amylaar (a] spamcop.net>
   5208 
   5209 	* Makefile.in (tm.texi): Replace with rule for:
   5210 	($(srcdir)/doc/tm.texi).
   5211 	(s-tm-texi): Depend on $(srcdir)/doc/../doc/tm.texi instead of on
   5212 	$(srcdir)/doc/tm.texi .
   5213 	(TEXI_GCCINT_FILES): Depend on $(srcdir)/doc/tm.texi instead of on
   5214 	tm.texi .
   5215 
   5216 	PR target/46427
   5217 	* config/m32r/m32r.c: Remove unused variables frame_size and insn.
   5218 
   5219 	PR bootstrap/45444
   5220 	* config/arm/arm.c (locate_neon_builtin_icode): Initialize key.
   5221 	(arm_output_asm_insn) Add ATTRIBUTE_PRINTF_4.
   5222 
   5223 	PR target/46432
   5224 	* config/v850/v850.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
   5225 
   5226 2010-11-15  Richard Guenther  <rguenther (a] suse.de>
   5227 
   5228 	PR lto/44150
   5229 	* lto-opts.c (lto_write_options): Write -fexceptions even if
   5230 	not set by the user.
   5231 
   5232 2010-11-13  Paolo Bonzini  <bonzini (a] gnu.org>
   5233 
   5234 	PR c/46462
   5235 	* c-decl.c (declspecs_add_type): Make variables with error types
   5236 	integers.
   5237 	* c-parser.c (c_parser_next_tokens_start_declaration): Two IDs
   5238 	do not start a declaration before an Objective-C foreach.
   5239 	(c_parser_declaration_or_fndef): Improve recovery after unknown
   5240 	type name.
   5241 	(c_parser_for_statement): Hoist entrance of "foreach context"
   5242 	before ifs, add corresponding reset where it was missing.  Do
   5243 	not set objc_could_be_foreach_context for C.
   5244 
   5245 2010-11-14  Eric Botcazou  <ebotcazou (a] adacore.com>
   5246 
   5247 	PR tree-optimization/45722
   5248 	* tree-sra.c (build_ref_for_model): Always build a COMPONENT_REF if
   5249 	this is a reference to a component.
   5250 	* ipa-prop.c (ipa_get_member_ptr_load_param): Accept COMPONENT_REF.
   5251 	(ipa_note_param_call): Adjust comment.
   5252 
   5253 2010-11-14  Richard Sandiford  <rdsandiford (a] googlemail.com>
   5254 
   5255 	* config/mips/mips.c (machine_function): Remove
   5256 	initialized_mips16_gp_pseudo_p.
   5257 	(mips16_gp_pseudo_reg): Use cfun->machine->mips16_gp_pseudo_rtx to
   5258 	detect whether a pseudo has already been created.  Unconditionally
   5259 	create a new one if not.
   5260 	(mips_pic_base_register): Only call mips16_gp_pseudo_reg when
   5261 	expanding to rtl.  Create a new pseudo otherwise, if allowed.
   5262 
   5263 2010-11-13  Richard Earnshaw  <rearnsha (a] arm.com>
   5264 
   5265 	PR target/43440
   5266 	* tm.texi.in (OVERLAPPING_REGISTER_NAMES): Document new macro.
   5267 	* tm.texi: Regenerated.
   5268 	* output.h (decode_reg_name_and_count): Declare.
   5269 	* varasm.c (decode_reg_name_and_count): New function.
   5270 	(decode_reg_name): Reimplement using decode_reg_name_and_count.
   5271 	* reginfo.c (fix_register): Use decode_reg_name_and_count and
   5272 	iterate over all regs used.
   5273 	* stmt.c (expand_asm_operands): Likewise.
   5274 	* arm/aout.h (OVERLAPPING_REGISTER_NAMES): Define.
   5275 	(ADDITIONAL_REGISTER_NAMES): Remove aliases that overlap
   5276 	multiple machine registers.
   5277 
   5278 2010-11-13  Eric Botcazou  <ebotcazou (a] adacore.com>
   5279 
   5280 	* stor-layout.c (place_union_field): Do not put location information
   5281 	on offset expressions.
   5282 	(place_field): Likewise.
   5283 	(finalize_record_size): Likewise on size expressions.
   5284 	(finalize_type_size): Likewise.
   5285 	(layout_type): Likewise.
   5286 
   5287 2010-11-13  Alexandre Oliva  <aoliva (a] redhat.com>
   5288 
   5289 	PR debug/42889
   5290 	* df-scan.c (df_insn_rescan): Don't mark BBs upon debug insns.
   5291 	* df-core.c (df_set_bb_dirty_nonrl): Remove.
   5292 	* df.h (df_set_bb_dirty_nonlr): Likewise.
   5293 
   5294 2010-11-13  Uros Bizjak  <ubizjak (a] gmail.com>
   5295 
   5296 	* config/mips/mips.md (call_internal): Pass curr_insn to
   5297 	mips_split_call.
   5298 	(call_internal_direct): Ditto.
   5299 	(call_value_internal): Ditto.
   5300 	(call_value_internal_direct): Ditto.
   5301 	(call_value_multiple_internal): Ditto.
   5302 	* config/mips/mips.c (mips_split_call): Do not copy
   5303 	CALL_INSN_FUNCTION_USAGE here.
   5304 
   5305 2010-11-13  Mingming Sun  <mingm.sun (a] gmail.com>
   5306 
   5307 	* doc/invoke.texi (MIPS Options): Add loongson3a processor.
   5308 	* config/mips/mips.md (define_attr "cpu"): Add loongson_3a.
   5309 	(define_insn "prefetch"): Add TARGET_LOONGSON_3A.
   5310 	* config/mips/mips.h (TARGET_LOONGSON_3A): Define.
   5311 	(TUNE_LOONGSON_3A): Define.
   5312 	(TARGET_LOONGSON_VECTORS): Add TARGET_LOONGSON_3A.
   5313 	(MIPS_ISA_LEVEL_SPEC): Add loongson3a.
   5314 	* config/mips/mips.c (mips_cpu_info_table): Add loongson3a.
   5315 	(mips_issue_rate): Add PROCESSOR_LOONGSON_3A.
   5316 	(mips_rtx_cost_data): Add Loongson-3A.
   5317 
   5318 2010-11-13  Iain Sandoe  <iains (a] gcc.gnu.org>
   5319 
   5320 	* config/darwin.h (LINK_COMMAND_SPEC_A): Update for changes to lto
   5321 	switches.
   5322 
   5323 2010-11-13  Iain Sandoe  <iains (a] gcc.gnu.org>
   5324 
   5325 	* dwarf2out.c (macinfo_entry): New struct.
   5326 	(output_comp_unit): Emit the section start label here and flag that we
   5327 	will emit an info section.
   5328 	(dwarf2out_start_source_file): Save data in a macinfo entry rather than
   5329 	emitting directly.
   5330 	(dwarf2out_end_source_file): Likewise.
   5331 	(dwarf2out_define): Likewise.
   5332 	(dwarf2out_undef): Likewise.
   5333 	(output_macinfo): New.
   5334 	(dwarf2out_init): Do not emit debug section switches here, allocate a
   5335 	vec for macinfo, when required.
   5336 	(dwarf2out_finish): First switch to debug_abbrev_section here.
   5337 	debug_line_section,  debug_macinfo_section, Likewise.
   5338 	Check that the pubtypes table has at least one unpruned entry before
   5339 	trying to emit it.
   5340 
   5341 2010-11-13  Paolo Bonzini  <bonzini (a] gnu.org>
   5342 
   5343 	PR c/20385
   5344 	* c-parser.c (c_parser_next_token_starts_declaration): Rename to...
   5345 	(c_parser_next_tokens_start_declaration): ... this.  Handle 2nd
   5346 	token lookahead.
   5347 	(c_parser_compound_statement_nostart, c_parser_label,
   5348 	c_parser_for_statement, c_parser_omp_for_loop): Adjust calls.
   5349 	(c_parser_declaration_or_fndef): Detect the case now matched by
   5350 	c_parser_next_tokens_start_declaration, give error and correct it.
   5351 
   5352 2010-11-13  Paolo Bonzini  <bonzini (a] gnu.org>
   5353 
   5354 	* c-tree.h (enum c_typespec_kind): Add ctsk_none.
   5355 	(struct c_declspecs): Replace tagdef_seen_p and type_seen_p
   5356 	with typespec_kind.
   5357 	* c-decl.c (build_null_declspecs): Initialize typespec_kind.
   5358 	(shadow_tag_warned, check_compound_literal_type): Adjust
   5359 	uses of tag_defined_p.
   5360 	(declspecs_add_type): Set typespec_kind.
   5361 	* c-parser.c (c_parser_declaration_or_fndef,
   5362 	c_parser_declspecs, c_parser_struct_declaration,
   5363 	c_parser_parameter_declaration, c_parser_type_name,
   5364 	c_parser_objc_diagnose_bad_element_prefix): Adjust uses
   5365 	of type_seen_p.
   5366 	* c-typeck.c (c_cast_expr): Use typespec_kind instead of
   5367 	tag_defined_p, pass ctsk_firstref through.
   5368 
   5369 2010-11-13  Paolo Bonzini  <bonzini (a] gnu.org>
   5370 
   5371 	* c-format.c (enum format_specifier_kind, kind_descriptions): New.
   5372 	(struct format_wanted_type): Replace field "name" with "kind", add
   5373 	"format_start" and "format_length".
   5374 	(check_format_info_main): Fill in new fields.  Fill in
   5375 	FORMAT_WANTED_TYPES even for missing arguments.  Move checks
   5376 	after the final NUL outside the while loop.  Do not include
   5377 	width and precision modifiers in the format_start/format_length
   5378 	of the main format.
   5379 	(check_format_types): Remove FORMAT_START and FORMAT_LENGTH
   5380 	arguments.  Compute WANTED_TYPE first so that format_type_warning
   5381 	can be called for missing arguments.  Adjust calls to
   5382 	format_type_warning.
   5383 	(format_type_warning): Fetch as much information as possible
   5384 	from format_wanted_type.  Adjust printing now that every
   5385 	warning has a "descr", as well as for missing argument warnings
   5386 	and to include % sign for format specifiers.
   5387 
   5388 2010-11-12  Alexander Monakov  <amonakov (a] ispras.ru>
   5389 
   5390 	PR rtl-optimization/46204
   5391 	* sel-sched-ir.c (maybe_tidy_empty_bb): Remove second argument.
   5392 	Update all callers.  Do not recompute topological order.  Adjust
   5393 	fallthrough edges following a degenerate conditional jump.
   5394 
   5395 2010-11-12  Joseph Myers  <joseph (a] codesourcery.com>
   5396 
   5397 	* opts-common.c (control_warning_option): New.
   5398 	* opts.c (set_default_handlers): New.
   5399 	(decode_options): Use set_default_handlers and
   5400 	control_warning_option.
   5401 	(common_handle_option): Update call to enable_warning_as_error.
   5402 	(enable_warning_as_error): Take gcc_options parameters.  Use
   5403 	control_warning_option.
   5404 	* opts.h (set_default_handlers, control_warning_option): Declare.
   5405 
   5406 2010-11-12  Joseph Myers  <joseph (a] codesourcery.com>
   5407 
   5408 	* Makefile.in (OPTS_H): Define.
   5409 	(c-decl.o, c-family/c-common.o, c-family/c-opts.o,
   5410 	c-family/c-pch.o, c-family/c-pragma.o, gcc.o, gccspec.o,
   5411 	cppspec.o, options.o, gcc-options.o, lto-opts.o, opts.o,
   5412 	opts-common.o, toplev.o, passes.o, matrix-reorg.o,
   5413 	ipa-struct-reorg.o, PLUGIN_HEADERS): Use $(OPTS_H).
   5414 	* gcc.c (driver_handle_option): Take location_t parameter.
   5415 	(process_command, do_self_spec): Update calls to
   5416 	read_cmdline_option.
   5417 	* langhooks-def.h (lhd_handle_option): Take location_t parameter.
   5418 	* langhooks.c (lhd_handle_option): Take location_t parameter.
   5419 	* langhooks.h (handle_option): Take location_t parameter.
   5420 	* lto-opts.c (lto_reissue_options): Update call to set_option.
   5421 	* opts-common.c (handle_option): Make static.  Take location_t
   5422 	parameter and pass it to other functions.
   5423 	(handle_generated_option): Take location_t parameter and pass it
   5424 	to other functions.
   5425 	(read_cmdline_option): Take location_t parameter and pass it to
   5426 	other functions.  Use warning_at and error_at.
   5427 	(set_option): Take location_t parameter and pass it to other
   5428 	functions.
   5429 	* opts.c (common_handle_option): Take location_t parameter and
   5430 	pass it to other functions.
   5431 	(enable_warning_as_error): Make static.  Take location_t parameter
   5432 	and pass it to other functions.
   5433 	(lang_handle_option): Take location_t parameter and pass it to
   5434 	other functions.
   5435 	(target_handle_option): Take location_t parameter.
   5436 	(read_cmdline_options, maybe_default_option,
   5437 	maybe_default_options, default_options_optimization,
   5438 	decode_options): Take location_t parameter and pass it to other
   5439 	functions.
   5440 	* opts.h: Include input.h.
   5441 	(struct cl_option_handler_func, decode_options, set_option,
   5442 	handle_generated_option, read_cmdline_option): Take location_t
   5443 	parameters.
   5444 	(handle_option, enable_warning_as_error): Remove.
   5445 	* toplev.c (toplev_main): Update call to decode_options.
   5446 
   5447 2010-11-12  Tobias Grosser  <grosser (a] fim.uni-passau.de>
   5448 
   5449 	* graphite-cloog-util.c (oppose_constraint,
   5450 	cloog_matrix_to_ppl_constraint,
   5451 	new_Constraint_System_from_Cloog_Matrix): Explicitly cast to int as
   5452 	CLooG isl uses unsigned integers.  This triggered a warning.
   5453 
   5454 2010-11-12  Joern Rennecke  <amylaar (a] spamcop.net>
   5455 
   5456 	PR target/46438
   5457 	* config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use LCT_NORMAL.
   5458 	(xtensa_setup_frame_addresses, xtensa_trampoline_init): Likewise.
   5459 	(xtensa_function_arg_1): De-constify cum.
   5460 	(xtensa_expand_prologue): Use add_reg_note.
   5461 
   5462 	PR target/46435
   5463 	* config/cris/cris.c (saved_regs_mentioned): Delete.
   5464 	(cris_reload_address_legitimized): Cast itype to enum reload_type.
   5465 	Remove unused variable op0p.
   5466 	(cris_rtx_costs): Cast argument 2 to rtx_cost to enum rtx_code.
   5467 	(cris_emit_movem_store): Use add_reg_note.
   5468 
   5469 	PR bootstrap/46456
   5470 	* cppbuiltin.c (define_builtin_macros_for_type_sizes): Split assert.
   5471 
   5472 2010-11-12  Eric Botcazou  <ebotcazou (a] adacore.com>
   5473 
   5474 	* function.c (expand_function_end): Set the locator of the prologue on
   5475 	the stack checking insns.
   5476 
   5477 2010-11-12  Richard Henderson  <rth (a] redhat.com>
   5478 
   5479 	* config.gcc [xtensa] (extra_options): Add fused-madd.opt.
   5480 	* config/xtensa/xtensa.opt (mfused-madd): Remove.
   5481 	* config/xtensa/xtensa.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
   5482 	MASK_FUSED_MADD.
   5483 	* config/xtensa/xtensa.md (fmasf4): Rename from muladdsf3; use fma.
   5484 	(fnmasf4): Rename from mulsubsf3; use fma.
   5485 
   5486 2010-11-12  Joern Rennecke  <amylaar (a] spamcop.net>
   5487 	    Richard Henderson  <rth (a] redhat.com>
   5488 
   5489 	PR target/46428
   5490 	* config/moxie/moxie.c (moxie_expand_prologue): Remove unused variables.
   5491 	* config/moxie/moxie.h (HARD_REGNO_OK_FOR_BASE_P): Use unsigned
   5492 	comparison.
   5493 
   5494 2010-11-12  Pat Haugen  <pthaugen (a] us.ibm.com>
   5495 
   5496 	* opts-common.c (decode_cmdline_option): Initialize separate_args.
   5497 
   5498 2010-11-12  Jan Hubicka  <jh (a] suse.cz>
   5499 
   5500 	* doc/invoke.texi (early-inlining-insns): Update default.
   5501 	* params.def (early-inlining-insns): Default to 10.
   5502 
   5503 2010-11-12  Olivier Hainque  <hainque (a] adacore.com>
   5504 
   5505 	* config/rs6000/aix.h: #undef TARGET_AIX_OS before #define.
   5506 
   5507 2010-11-12  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   5508 
   5509 	* config/mips/iris6.h [!IRIX_USING_GNU_LD]
   5510 	(SUPPORTS_INIT_PRIORITY): Define.
   5511 
   5512 2010-11-12  Joern Rennecke  <amylaar (a] spamcop.net>
   5513 
   5514 	PR target/46430
   5515 	* config/avr/avr-protos.h (avr_return_addr_rtx): Update prototype.
   5516 	* config/avr/driver-avr.c (avr_device_to_arch): Always return value.
   5517 	(avr_device_to_data_start, avr_device_to_startfiles): Likewise.
   5518 	(avr_device_to_devicelib): Likewise.
   5519 	* config/avr/avr.md (zero_extendqihi2): Put variable declarations
   5520 	into block.
   5521 	(zero_extendqisi2, zero_extendhisi2, zero_extendqidi2): Likewise.
   5522 	(zero_extendhidi2, zero_extendsidi2): Likewise.
   5523 	* config/avr/avr.c (avr_num_arg_regs): Constify type.
   5524 	(avr_return_addr_rtx): De-constify tem.
   5525 	(avr_rotate_bytes): Move declarations to start of block.
   5526 	Don't use variable length array.  Put nested if/else into block.
   5527 
   5528 	PR rtl-optimization/46433
   5529 	* var-tracking.c: Include tm_p.h .
   5530 
   5531 	PR bootstrap/44756
   5532 	PR build/44767
   5533 	* doc/tm.texi.in (LOCAL_ALIGNMENT): State that the type, if any,
   5534 	should be unsigned.
   5535 	(STACK_SLOT_ALIGNMENT, LOCAL_DECL_ALIGNMENT, PUSH_ROUNDING): Likewise.
   5536 	* doc/tm.texi: Regenerate.
   5537 
   5538 	PR target/46412
   5539 	* config/bfin/bfin-protos.h (bfin_local_alignment): Update prototype.
   5540 	* config/bfin/bfin.c: Include sel-sched.h .
   5541 	(bfin_cpus): Use BFIN_CPU_UNKNOWN for last initializer element.
   5542 	(expand_interrupt_handler_prologue): Remove unused variable insn.
   5543 	(bfin_load_pic_reg): Likewise.
   5544 	(bfin_rtx_costs): Make code / outer_code variables of type
   5545 	enum rtx_code, copied from re-named parameters.
   5546 	(bfin_local_alignment): Change align argument and return type
   5547 	to unsigned.
   5548 	(bfin_adjust_cost): Remove unused variable insn_type.
   5549 	Declare variables at start of block.
   5550 	(struct loop_info): Rename to...
   5551 	(struct loop_info_d).
   5552 	(workaround_rts_anomaly): Change type of icode to int.
   5553 	(harmless_null_pointer_p): Cast REGNO (..) to int before comparison
   5554 	with int-typed variable.
   5555 	(note_np_check_stores): Likewise.
   5556 	(trapping_loads_p): Remove unused variable pat.
   5557 	(bfin_expand_binop_builtin): Use expand_normal.
   5558 	(bfin_expand_unop_builtin): Likewise.
   5559 	(bfin_expand_builtin): Likewise.  Set tmode before use.
   5560 
   5561 	PR middle-end/44769
   5562 	* final.c (split_double): Don't use BITS_PER_WORD directly in
   5563 	shift count.
   5564 
   5565 	PR target/46431
   5566 	* config/fr30/fr30.md (*movsf_constant_store): Remove duplicated
   5567 	assignment.
   5568 
   5569 	PR target/46450
   5570 	* config/stormy16/stormy16.c (xstormy16_expand_prologue):
   5571 	Use add_reg_note.
   5572 	(xstormy16_function_arg): Dereference cum.
   5573 	(xstormy16_expand_builtin): Use expand_normal.
   5574 	Change type of omode to enum machine_mode.
   5575 	(combine_bnp): Rename and to and_insn.
   5576 
   5577 	PR target/46437
   5578 	* config/mcore/mcore.c (layout_mcore_frame): Remove unused variable
   5579 	localreg.
   5580 
   5581 2010-11-12  Eric Botcazou  <ebotcazou (a] adacore.com>
   5582 
   5583 	PR debug/46375
   5584 	* emit-rtl.c (remove_insn): Do not mark BBs upon debug insns.
   5585 
   5586 2010-11-11  Rodrigo Rivas Costa  <rodrigorivascosta (a] gmail.com>
   5587 
   5588 	PR lto/46376
   5589 	* lto-symtab.c (lto_symtab_resolve_replaceable_p): Use DECL_ONE_ONLY.
   5590 
   5591 2010-11-11  Nathan Froyd  <froydnj (a] codesourcery.com>
   5592 
   5593 	PR c/44782
   5594 	* common.opt (fmax-errors=): New option.
   5595 	* opts.c (common_handle_option) [OPT_fmax_errors_]: Handle it.
   5596 	* diagnostic.h (struct diagnostic_context): Add max_errors field.
   5597 	* diagnostic.c (diagnostic_initialize): Initialize it.
   5598 	(diagnostic_action_after_output): Exit if more than max_errors
   5599 	have been output.
   5600 	* doc/invoke.texi (Warning Options): Add -fmax-errors.
   5601 	(-fmax-errors): Document.
   5602 
   5603 2010-11-11  Richard Henderson  <rth (a] redhat.com>
   5604 
   5605 	* optabs.c (init_optabs): Init {fma,fms,fnma,fnms}_optab properly.
   5606 
   5607 2010-11-11  Richard Henderson  <rth (a] redhat.com>
   5608 
   5609 	* config/fused-madd.opt: New file.
   5610 	* config.gcc [i386-*, x86_64-*] (extra_options): Use it.
   5611 	* config/i386/i386.c (ix86_extra_costs): Handle FMA.
   5612 	(TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
   5613 	* config/i386/i386.opt (mfused-madd): Remove.
   5614 	* config/i386/sse.md (split_fma): Remove.
   5615 	(split_fms, split_fnma, split_fnms): Remove.
   5616 
   5617 2010-11-12  Jakub Jelinek  <jakub (a] redhat.com>
   5618 
   5619 	PR target/46088
   5620 	* config/i386/i386.md (*ashl<mode>3_cconly,
   5621 	*<shiftrt_insn><mode>3_cconly): Don't use ix86_binary_operator_ok,
   5622 	change nonimmediate_operand predicate to register_operand.
   5623 
   5624 2010-11-11  Paolo Bonzini  <bonzini (a] gnu.org>
   5625 
   5626 	* Makefile.in (gengtype-lex.c): Include bconfig.h first.
   5627 
   5628 2010-11-11  Jan Hubicka  <jh (a] suse.cz>
   5629 
   5630 	* opts.c (finish_options): Do not error on -flto-partition alone.
   5631 
   5632 	* doc/invoke.texi (-fwhopr): Merge into -flto section.
   5633 	(-flto-partition): Document none.
   5634 	* gcc.c (LINK_COMMAND_SPEC): Remove -fwhopr.
   5635 	* lto-wrapper.c: Update comment.
   5636 	(run_gcc): Update LTO option parsing.
   5637 	* opts.c (finish_options): add support -flto-partition=none
   5638 	(common_handle_option): Remove fwhopr.
   5639 	* common.opt: Turn fwhopr into flto.
   5640 	* collect2.c (main): Update option handling.
   5641 	* cgraphunit.c (cgraph_decide_is_function_needed): Remove flag_whopr.
   5642 	* ipa-split.c (execute_split_functions): Remove flag_whopr.
   5643 	* ipa.c (function_and_variable_visibility): Remove flag_whopr.
   5644 	* ipa-prop.c (ipa_compute_jump_functions): Remove flag_whopr.
   5645 	* varpool.c (decide_is_variable_needed): Remove flag_whopr.
   5646 
   5647 2010-11-11  Jan Hubicka  <jh (a] suse.cz>
   5648 
   5649 	PR tree-optimize/40436
   5650 	* ipa-inline.c (likely_eliminated_by_inlining_p): Rename to ...
   5651 	(eliminated_by_inlining_prob): ... this one; return 50% probability
   5652 	for SRA.
   5653 	(estimate_function_body_sizes): Update use of
   5654 	eliminated_by_inlining_prob; estimate static function size
   5655 	for 2 instructions.
   5656 
   5657 2010-11-11  Joern Rennecke  <amylaar (a] spamcop.net>
   5658 
   5659 	PR target/44749
   5660 	* config/mep/mep-protos.h (mep_legitimize_reload_address): Always
   5661 	declare.  Change type of argument four to type int.
   5662 	(mep_secondary_input_reload_class): Returns enum reg_class.
   5663 	(mep_secondary_output_reload_class): Likewise.
   5664 	(mep_function_value): Change types of arguments to cont_tree.
   5665 	* config/mep/mep.c (mep_legitimize_reload_address): Change type of
   5666 	argument four to type int.
   5667 	(mep_secondary_input_reload_class): Returns enum reg_class.
   5668 	(mep_secondary_output_reload_class): Likewise.
   5669 	(mep_function_value): Change types of arguments to cont_tree.
   5670 	* config/mep/mep.h (REGNO_REG_CLASS): Cast return value of
   5671 	mep_regno_reg_class to enum reg_class.
   5672 
   5673 2010-11-11  Richard Henderson  <rth (a] redhat.com>
   5674 
   5675 	* tree-ssa-math-opts.c (convert_mult_to_fma): Do not verify
   5676 	that the target has the exact fma operation that we matched.
   5677 
   5678 2010-11-11  Joseph Myers  <joseph (a] codesourcery.com>
   5679 
   5680 	* reginfo.c (fix_register): Avoid inserting English word in
   5681 	diagnostic sentence.  Use %qs for quoting and %'.
   5682 
   5683 2010-11-11  H.J. Lu  <hongjiu.lu (a] intel.com>
   5684 
   5685 	* config/i386/driver-i386.c (host_detect_local_cpu): Support
   5686 	Intel processor family 6, model 0x2c.
   5687 
   5688 2010-11-11  Joseph Myers  <joseph (a] codesourcery.com>
   5689 
   5690 	* opts.c (warning_as_error_callback,
   5691 	register_warning_as_error_callback): Remove.
   5692 	(enable_warning_as_error): Don't use warning_as_error_callback.
   5693 	* opts.h (register_warning_as_error_callback): Remove.
   5694 
   5695 2010-11-11  Richard Henderson  <rth (a] redhat.com>
   5696 
   5697 	* tree-ssa-math-opts.c (convert_mult_to_fma): Handle a NEGATE_EXPR
   5698 	in between the MULT and the PLUS/MINUS.
   5699 
   5700 2010-11-11  Jakub Jelinek  <jakub (a] redhat.com>
   5701 
   5702 	PR middle-end/46388
   5703 	* expr.c (expand_assignment): If to_rtx is a VOIDmode MEM, use
   5704 	BLKmode mode for it.
   5705 	(expand_expr_real_1): Similarly for op0.
   5706 
   5707 2010-11-11  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   5708 
   5709 	* doc/sourcebuild.texi (LTO Testing, dg-suppress-ld-options):
   5710 	Document optional target selector.
   5711 
   5712 2010-11-11  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   5713 
   5714 	* lto-streamer-out.c (write_symbol): Use int_size_in_bytes rather than
   5715 	assembling high and low parts of size if not using 32-bit HWINT; else
   5716 	use DECL_SIZE_UNITS, not DECL_SIZE.
   5717 
   5718 2010-11-11  Martin Jambor  <mjambor (a] suse.cz>
   5719 
   5720 	PR tree-optimization/46383
   5721 	* ipa-prop.c (compute_complex_assign_jump_func): Ignore negative
   5722 	offsets.
   5723 	(compute_complex_ancestor_jump_func): Likewise.
   5724 	* tree.c (get_binfo_at_offset): Return NULL_TREE if offset is negative.
   5725 
   5726 2010-11-11  Jakub Jelinek  <jakub (a] redhat.com>
   5727 
   5728 	PR debug/46150
   5729 	* tree-ssa-loop-ivopts.c (htab_inv_expr_eq): Don't return
   5730 	true if expr1->hash != expr2->hash.
   5731 
   5732 2010-11-10  Joseph Myers  <joseph (a] codesourcery.com>
   5733 
   5734 	* cfgloop.c (verify_loop_structure): Use %' in diagnostics.  Start
   5735 	diagnostics with lowercase letters.
   5736 	* cgraphunit.c (verify_cgraph_node): Start diagnostics with
   5737 	lowercase letters.
   5738 	* collect2.c (maybe_run_lto_and_relink): Remove trailing '.' from
   5739 	diagnostic.
   5740 	* config/alpha/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
   5741 	* config/arm/arm.c (arm_get_pcs_model): Start diagnostics with
   5742 	lowercase letters.
   5743 	* config/arm/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
   5744 	Remove trailing ' ' from diagnostic.
   5745 	* config/avr/avr.c (print_operand_address): Start diagnostic with
   5746 	a lowercase letter and remove trailing '.'.
   5747 	* config/avr/avr.opt (mpmem-wrap-around): Fix typo in help text.
   5748 	* config/bfin/bfin.c (bfin_option_override): Start diagnostics
   5749 	with lowercase letters.  Use %' in diagnostics.  Remove trailing
   5750 	'.' from diagnostics.
   5751 	(bfin_handle_longcall_attribute): Use %' in diagnostic.
   5752 	* config/cris/cris.c (cris_split_movdx,
   5753 	cris_expand_pic_call_address): Start diagnostics with lowercase
   5754 	letters.
   5755 	(cris_asm_output_label_ref): Use %' in diagnostic.
   5756 	* config/cris/cris.h (ASM_SPEC): Start diagnostic with a lowercase
   5757 	letter.
   5758 	* config/crx/crx.h (FUNCTION_PROFILER): Start diagnostic with a
   5759 	lowercase letter.
   5760 	* config/darwin-c.c (version_as_macro): Start diagnostic with a
   5761 	lowercase letter.
   5762 	* config/darwin-driver.c (darwin_default_min_version): Use %' in
   5763 	diagnostic.
   5764 	* config/host-darwin.c (darwin_gt_pch_use_address): Use %' in
   5765 	diagnostic.
   5766 	* config/i386/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
   5767 	* config/i386/host-cygwin.c (cygwin_gt_pch_get_address): Use %' in
   5768 	diagnostics.
   5769 	* config/i386/i386.c (ix86_option_override_internal): Write
   5770 	diagnostic as a single sentence without trailing '.'.  Use %' in
   5771 	diagnostics.
   5772 	(ix86_function_sseregparm, classify_argument): Start diagnostics
   5773 	with lowercase letters.
   5774 	(ix86_expand_prologue): Use %' in diagnostic.
   5775 	* config/i386/i386.h (CC1_CPU_SPEC_1): Remove trailing '.' from
   5776 	diagnostic.
   5777 	* config/i386/nwld.h (LINK_SPEC): Start diagnostic with a
   5778 	lowercase letter.
   5779 	* config/i386/winnt.c (i386_pe_determine_dllimport_p): Use %' in
   5780 	diagnostic.
   5781 	* config/ia64/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
   5782 	* config/ia64/ia64.opt (msched-max-memory-insns-hard-limit): Avoid
   5783 	'`' in help text.
   5784 	* config/lm32/lm32.c (lm32_print_operand): Start diagnostic with a
   5785 	lowercase letter.
   5786 	* config/mep/mep.c (mep_validate_vliw): Start diagnostics with
   5787 	lowercase letters.
   5788 	* config/microblaze/microblaze.c (microblaze_handle_option):
   5789 	Remove trailing '.' from diagnostic.
   5790 	(print_operand): Start diagnostic with a lowercase letter.
   5791 	* config/pa/pa-hpux10.h (LINK_SPEC): Start diagnostics with
   5792 	lowercase letters.  Avoid '`' in diagnostics.
   5793 	* config/pa/pa-hpux11.h (LINK_SPEC): Start diagnostics with
   5794 	lowercase letters.  Avoid '`' in diagnostics.
   5795 	* config/pa/pa64-hpux.h (LINK_SPEC): Start diagnostics with
   5796 	lowercase letters.  Avoid '`' in diagnostics.
   5797 	* config/picochip/picochip.c (picochip_option_override,
   5798 	picochip_emit_save_register, picochip_function_arg,
   5799 	picochip_output_label, picochip_output_internal_label,
   5800 	picochip_asm_output_opcode, picochip_output_cbranch,
   5801 	picochip_output_compare, picochip_output_branch,
   5802 	picochip_get_vliw_alu_id): Remove trailing '.' and '\n' from
   5803 	diagnostics. Start diagnostics with lowercase letters.  Use %' in
   5804 	diagnostics.
   5805 	* config/rs6000/rs6000.c (rs6000_option_override_internal): Use
   5806 	"SPE" capitalization.  Start diagnostic with a lowercase letter.
   5807 	(rs6000_handle_option): Start diagnostics with lowercase letters.
   5808 	(def_builtin): Remove trailing '.' from diagnostic.
   5809 	(rs6000_savres_routine_name): Start diagnostic with a lowercase
   5810 	letter.
   5811 	* config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Avoid '`' in
   5812 	diagnostic.
   5813 	* config/rx/rx.c (rx_handle_option): Start diagnostic with a
   5814 	lowercase letter.
   5815 	* config/s390/s390.c (s390_option_override) Start diagnostics with
   5816 	lowercase letters.  Use %' in diagnostic.
   5817 	* config/sh/sh.c (sh_output_mi_thunk): Start diagnostics with
   5818 	lowercase letters.
   5819 	* config/sh/symbian-base.c (sh_symbian_mark_dllimport): Use %' in
   5820 	diagnostic.
   5821 	* config/sh/symbian-c.c (sh_symbian_is_dllimported): Use %' in
   5822 	diagnostic.
   5823 	* config/sh/symbian-cxx.c (sh_symbian_is_dllimported): Use %' in
   5824 	diagnostic.
   5825 	* config/sparc/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
   5826 	* config/spu/spu.c (spu_option_override): Start diagnostics with
   5827 	lowercase letters.  Use %qs for quoting in diagnostics.
   5828 	(spu_check_builtin_parm): Remove trailing '.' from diagnostics.
   5829 	Use %wd instead of HOST_WIDE_INT_PRINT_DEC in diagnostic .
   5830 	* config/v850/v850.c (construct_save_jarl): Remove trailing '\n'
   5831 	from diagnostic.
   5832 	* convert.c (convert_to_integer, convert_to_vector): Use %' in
   5833 	diagnostics.
   5834 	* dbgcnt.c (dbg_cnt_process_opt): Start diagnostic with lowercase
   5835 	letter and use "cannot" spelling.
   5836 	* expmed.c (extract_fixed_bit_field): Start diagnostic with
   5837 	lowercase letter and format as a single sentence without '.'.
   5838 	* ggc-common.c (write_pch_globals, gt_pch_save, gt_pch_restore):
   5839 	Use %' in diagnostics.
   5840 	* ggc-page.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
   5841 	Use %' in diagnostics.
   5842 	* ggc-zone.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
   5843 	Use %' in diagnostics.
   5844 	* graph.c (clean_graph_dump_file): Use %' in diagnostic.
   5845 	* graphite-poly.c (graphite_read_scop_file): Start diagnostics
   5846 	with lowercase letters and remove tailing '.' and '\n'.
   5847 	* lto-cgraph.c (input_profile_summary): Start diagnostic with
   5848 	lowercase letter and remove trailing '.'.
   5849 	(input_cgraph): Start diagnostics with lowercase letters and
   5850 	remove trailing '\n'.
   5851 	* opts.c (finish_options, common_handle_option): Start diagnostics
   5852 	with lowercase letters and remove trailing '.'.  Fix typo in
   5853 	diagnostic.
   5854 	* passes.c (position_pass): Start diagnostic with lowercase letter.
   5855 	* plugin.c (add_new_plugin, parse_plugin_arg_opt,
   5856 	register_callback, try_init_one_plugin): Start diagnostics with
   5857 	lowercase letters.
   5858 	* reload1.c (spill_failure): Use %' in diagnostic.
   5859 	(gen_reload): Start diagnostic with a lowercase letter.
   5860 	* stor-layout.c (place_field): Start diagnostic with a lowercase
   5861 	letter.
   5862 	* toplev.c (open_auxiliary_file): Use %' in diagnostic.
   5863 	* tree-cfg.c (verify_expr, verify_types_in_gimple_reference,
   5864 	verify_gimple_call, verify_gimple_phi, verify_eh_throw_stmt_node):
   5865 	Start diagnostics with lowercase letters, remove trailing '.' and
   5866 	use %' in diagnostics.
   5867 	* tree-ssa.c (verify_def): Remove trailing '.' from diagnostic.
   5868 	(verify_ssa): Don't split diagnostic across two error calls.
   5869 	Spell out "number" and use %' in diagnostic.
   5870 	* value-prof.c (visit_hist, check_counter): Start diagnostics with
   5871 	lowercase letters.
   5872 
   5873 2010-11-10  Uros Bizjak  <ubizjak (a] gmail.com>
   5874 
   5875 	PR middle-end/46419
   5876 	* config/i386/xmmintrin.h (_mm_cvtpi16_ps): Swap __hisi and __losi.
   5877 	(_mm_cvtpu16_ps): Ditto.
   5878 
   5879 2010-11-10  Joseph Myers  <joseph (a] codesourcery.com>
   5880 
   5881 	* common.opt (flag_excess_precision_cmdline, flag_generate_lto,
   5882 	warn_larger_than, larger_than_size, warn_frame_larger_than,
   5883 	frame_larger_than_size, flag_gen_aux_info, flag_shlib,
   5884 	default_visibility, flag_tls_default): New Variable declarations.
   5885 	(aux-info, auxbase, dumpbase, dumpdir, falign-functions=,
   5886 	falign-jumps=, falign-labels=, falign-loops=, o, v): Use Var.
   5887 	(v): Declare as Common and document here.
   5888 	* flags.h (default_visibility, flag_generate_lto,
   5889 	warn_larger_than, larger_than_size, warn_frame_larger_than,
   5890 	frame_larger_than_size, flag_gen_aux_info, flag_pedantic_errors,
   5891 	flag_shlib, flag_excess_precision_cmdline): Remove.
   5892 	(set_Wstrict_aliasing): Update prototype.
   5893 	* gcc.c (verbose_flag): Remove.
   5894 	(driver_handle_option): Add diagnostic_context parameter.  Don't
   5895 	handle OPT_v explicitly here.  Set verbose_flag to 1 rather than
   5896 	incrementing it.
   5897 	* opts-common.c (handle_option): Pass dc to handler.
   5898 	* opts.c (warn_larger_than, larger_than_size,
   5899 	warn_frame_larger_than, frame_larger_than_size,
   5900 	default_visibility): Remove.
   5901 	(common_handle_option): Add diagnostic_context parameter.
   5902 	(set_fast_math_flags, set_unsafe_math_optimizations_flags): Add
   5903 	gcc_options parameters.
   5904 	(lang_handle_option, target_handle_option, read_cmdline_options,
   5905 	decode_options): Add diagnostic_context parameters.
   5906 	(finish_options): Access option state through opts pointer where
   5907 	possible.
   5908 	(common_handle_option): Access option state through opts pointer
   5909 	where possible.  Do not set local static variable verbose.  Do not
   5910 	explicitly handle OPT_v, OPT_Wstrict_aliasing_,
   5911 	OPT_Wstrict_overflow_, OPT_Wunused, OPT_auxbase, OPT_dumpbase,
   5912 	OPT_dumpdir, OPT_falign_functions_, OPT_falign_jumps_,
   5913 	OPT_falign_labels_, OPT_falign_loops_, OPT_fira_verbose_, OPT_o or
   5914 	OPT_fwhopr_.  Do not explicitly set .opt file variables for
   5915 	OPT_aux_info or OPT_pedantic_errors.  Use dc for diagnostic context.
   5916 	(set_Wstrict_aliasing): Add gcc_options parameter.
   5917 	* opts.h (struct cl_option_handler_func): Add diagnostic_context
   5918 	parameter to handler.
   5919 	(decode_options): Add diagnostic_context parameter.
   5920 	* toplev.c (dump_base_name, dump_dir_name, aux_base_name,
   5921 	asm_file_name, flag_generate_lto, flag_gen_aux_info,
   5922 	aux_info_file_name, flag_shlib, flag_tls_default,
   5923 	flag_excess_precision_cmdline, flag_pedantic_errors): Remove.
   5924 	(toplev_main): Pass global_dc to decode_options.
   5925 	* toplev.h (dump_base_name, dump_dir_name, aux_base_name,
   5926 	aux_info_file_name, asm_file_name): Remove.
   5927 	* tree.h (flag_tls_default): Remove.
   5928 
   5929 2010-11-10  Eric Botcazou  <ebotcazou (a] adacore.com>
   5930 
   5931 	PR target/45986
   5932 	* config/sparc/sparc.c (sparc_delegitimize_address): New function.
   5933 	(TARGET_DELEGITIMIZE_ADDRESS): Define to above.
   5934 
   5935 2010-11-10  Quentin Neill  <quentin.neill.gnu (a] gmail.com>
   5936 
   5937 	* config.gcc (i[34567]86-*-*): Include tbmintrin.h.
   5938 	(x86_64-*-*): Likewise.
   5939 	* config/i386/cpuid.h: Define TBM bit.
   5940 	* config/i386/driver-i386.c (host_detect_local_cpu): Define
   5941 	and set has_tbm.
   5942 	* config/i386/i386-c.c (ix86_target_macros_internal): Check
   5943 	isa_flag for TBM.
   5944 	* config/i386/i386.c (OPTION_MASK_ISA_TBM_SET): New.
   5945 	(OPTION_MASK_ISA_TBM_UNSET): New.
   5946 	(ix86_handle_option): Handle -mtbm.
   5947 	(isa_opts): Add -mtbm.
   5948 	(enum pta_flags): Add PTA_TBM.
   5949 	(ix86_option_override_internal): Add TBM support.
   5950 	(ix86_valid_target_attribute_inner_p): Handle -mtbm.
   5951 	(IX86_BUILTIN_BEXTRI32): New for TBM intrinsic.
   5952 	(IX86_BUILTIN_BEXTRI64): Likewise.
   5953 	(bdesc_args): Add TBM intrinsics.
   5954 	(ix86_expand_builtin): Add TBM specific case.
   5955 	* config/i386/i386.h (TARGET_TBM): New for TBM.
   5956 	* config/i386/i386.md (UNSPEC_BEXTRI): New for TBM.
   5957 	(tbm_bextri_<mode>): Likewise.
   5958 	(*tbm_blcfill_<mode>): Likewise.
   5959 	(*tbm_blci_<mode>): Likewise.
   5960 	(*tbm_blcic_<mode>): Likewise.
   5961 	(*tbm_blcmsk_<mode>): Likewise.
   5962 	(*tbm_blcs_<mode>): Likewise.
   5963 	(*tbm_blsfill_<mode>): Likewise.
   5964 	(*tbm_blsic_<mode>): Likewise.
   5965 	(*tbm_t1mskc_<mode>): Likewise.
   5966 	(*tbm_tzmsk_<mode>): Likewise.
   5967 	* config/i386/i386.opt: Add -mtbm.
   5968 	* config/i386/tbmintrin.h (__bextri_u32): New.
   5969 	(__blcfill_u32): Likewise.
   5970 	(__blci_u32): Likewise.
   5971 	(__blcic_u32): Likewise.
   5972 	(__blcmsk_u32): Likewise.
   5973 	(__blcs_u32): Likewise.
   5974 	(__blsfill_u32): Likewise.
   5975 	(__blsic_u32): Likewise.
   5976 	(__t1mskc_u32): Likewise.
   5977 	(__tzmsk_u32): Likewise.
   5978 	(__bextri_u64): Likewise.
   5979 	(__blcfill_u64): Likewise.
   5980 	(__blci_u64): Likewise.
   5981 	(__blcic_u64): Likewise.
   5982 	(__blcmsk_u64): Likewise.
   5983 	(__blcs_u64): Likewise.
   5984 	(__blsfill_u64): Likewise.
   5985 	(__blsic_u64): Likewise.
   5986 	(__t1mskc_u64): Likewise.
   5987 	(__tzmsk_u64): Likewise.
   5988 	* config/i386/x86intrin.h: Add TBM check and tbmintrin.h.
   5989 	* doc/invoke.texi: Document -mtbm.
   5990 	* doc/extend.texi: Document TBM built-in functions.
   5991 
   5992 2010-11-10  Quentin Neill  <quentin.neill.gnu (a] gmail.com>
   5993 
   5994 	* config.gcc (i[34567]86-*-*): Include bmiintrin.h.
   5995 	(x86_64-*-*): Likewise.
   5996 	* config/i386/cpuid.h: Define BMI bit.
   5997 	* config/i386/driver-i386.c (host_detect_local_cpu): Define
   5998 	and set has_bmi.
   5999 	* config/i386/i386-c.c (ix86_target_macros_internal): Check
   6000 	isa_flag for BMI.
   6001 	* config/i386/i386.c (OPTION_MASK_ISA_BMI_SET): New.
   6002 	(OPTION_MASK_ISA_BMI_UNSET): New.
   6003 	(ix86_handle_option): Handle -mbmi.
   6004 	(isa_opts): Add -mbmi.
   6005 	(enum pta_flags): Add PTA_BMI.
   6006 	(ix86_option_override_internal): Add BMI support.
   6007 	(ix86_valid_target_attribute_inner_p): Handle -mbmi.
   6008 	(IX86_BUILTIN_BEXTR32): New for BMI intrinsic.
   6009 	(IX86_BUILTIN_BEXTR64): Likewise.
   6010 	(IX86_BUILTIN_CTZS): Likewise.
   6011 	(bdesc_args): Add BMI intrinsics.
   6012 	(ix86_expand_args_builtin): Add BMI specific cases.
   6013 	* config/i386/i386.h (TARGET_BMI): New for BMI.
   6014 	(CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
   6015 	(CLZ_DEFINED_VALUE_AT_ZERO): Likewise.
   6016 	* config/i386/i386.md (UNSPEC_BEXTR): New for BMI.
   6017 	(UNSPEC_TZCNT): Likewise.
   6018 	(ctz<mode>2): Add tzcnt, and handle 16 bit operands.
   6019 	(bmi_andn_<mode>): New for BMI.
   6020 	(bmi_bextr_<mode>): Likewise.
   6021 	(bmi_blsi_<mode>): Likewise.
   6022 	(bmi_blsmsk_<mode>): Likewise.
   6023 	(bmi_blsr_<mode>): Likewise.
   6024 	* config/i386/i386.opt: Add -mbmi.
   6025 	* config/i386/x86intrin.h: Add BMI check and bmiintrin.h.
   6026 	* config/i386/bmiintrin.h (__lzcnt_u16): New.
   6027 	(__tzcnt_u16): Likewise.
   6028 	(__andn_u32): Likewise.
   6029 	(__bextr_u32): Likewise.
   6030 	(__blsi_u32): Likewise.
   6031 	(__blsmsk_u32): Likewise.
   6032 	(__blsr_u32): Likewise.
   6033 	(__lzcnt_u32): Likewise.
   6034 	(__tzcnt_u32): Likewise.
   6035 	(__andn_u64): Likewise.
   6036 	(__bextr_u64): Likewise.
   6037 	(__blsi_u64): Likewise.
   6038 	(__blsmsk_u64): Likewise.
   6039 	(__blsr_u64): Likewise.
   6040 	(__lzcnt_u64): Likewise.
   6041 	(__tzcnt_u64): Likewise.
   6042 	* doc/invoke.texi: Document -mbmi and -mno-bmi.
   6043 	* doc/extend.texi: Document BMI built-in functions.
   6044 
   6045 2010-11-10  Jan Hubicka  <jh (a] suse.cz>
   6046 
   6047 	PR tree-optimize/46228
   6048 	* doc/invoke.texi (comdat-sharing-probability): Document.
   6049 	* ipa-inline.c (cgraph_estimate_growth): Handle COMDATs
   6050 	* params.def (PARAM_COMDAT_SHARING_PROBABILITY): New param.
   6051 
   6052 2010-11-10  Jan Hubicka  <jh (a] suse.cz>
   6053 
   6054 	PR tree-optimize/46228
   6055 	* cgraph.c (cgraph_propagate_frequency): Fix typo.
   6056 
   6057 2010-11-10  H.J. Lu  <hongjiu.lu (a] intel.com>
   6058 
   6059 	PR tree-optimization/46414
   6060 	* tree-inline.c (estimate_move_cost): Check preferred vector
   6061 	mode for vector type.
   6062 
   6063 2010-11-10  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   6064 
   6065 	* config/alpha/osf5.h (ASM_SPEC): Remove -nocpp.
   6066 
   6067 2010-11-10  Sebastian Pop  <sebastian.pop (a] amd.com>
   6068 
   6069 	PR tree-optimization/45971
   6070 	* tree-if-conv.c (predicate_scalar_phi): Do not generate a COND_EXPR
   6071 	for phi nodes analyzable by scev.
   6072 
   6073 2010-11-10  Richard Guenther  <rguenther (a] suse.de>
   6074 
   6075 	PR tree-optimization/44964
   6076 	* ipa-inline.c (cgraph_flatten): Check that SSA form matches.
   6077 
   6078 2010-11-10  Martin Jambor  <mjambor (a] suse.cz>
   6079 
   6080 	PR tree-optimization/46351
   6081 	PR tree-optimization/46377
   6082 	* tree-sra.c (type_internals_preclude_sra_p): Disqualify types with
   6083 	aggregate bit-fields.
   6084 
   6085 2010-11-10  Joseph Myers  <joseph (a] codesourcery.com>
   6086 
   6087 	* doc/tm.texi.in (TARGET_OPTION_TRANSLATE_TABLE): Remove.
   6088 	* doc/tm.texi: Regenerate.
   6089 	* opts-common.c (tm.h): Don't include.
   6090 	(target_option_translations): Remove.
   6091 	(decode_cmdline_options_to_array): Don't handle translating options.
   6092 	* system.h (TARGET_OPTION_TRANSLATE_TABLE): Poison.
   6093 	* config/darwin-driver.c: Don't condition includes on
   6094 	CROSS_DIRECTORY_STRUCTURE.
   6095 	(darwin_default_min_version): Make static.
   6096 	(darwin_driver_init): New.  Call darwin_default_min_version if not
   6097 	CROSS_DIRECTORY_STRUCTURE.
   6098 	* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
   6099 	(DRIVER_SELF_SPECS, DARWIN_CC1_SPEC): Define.
   6100 	(ASM_SPEC): Add %{static}.
   6101 	(darwin_default_min_version): Don't declare.
   6102 	(darwin_driver_init): Declare.
   6103 	(GCC_DRIVER_HOST_INITIALIZATION): Define to call
   6104 	darwin_driver_init, independent of CROSS_DIRECTORY_STRUCTURE.
   6105 	* config/darwin.opt (all_load, allowable_client,
   6106 	arch_errors_fatal, bind_at_load, bundle, bundle_loader,
   6107 	dead_strip, dependency-file, dylib_file, dynamic, dynamiclib,
   6108 	exported_symbols_list, filelist, findirect-virtual-calls,
   6109 	flat_namespace, force_cpusubtype_ALL, force_flat_namespace,
   6110 	framework, fterminated-vtables, gfull, gused, image_base, init,
   6111 	install_name, multi_module, multiply_defined,
   6112 	multiply_defined_unused, no_dead_strip_inits_and_terms,
   6113 	seg_addr_table, seg_addr_table_filename, segaddr,
   6114 	segs_read_only_addr, segs_read_write_addr, single_module,
   6115 	umbrella, unexported_symbols_list, weak_reference_mismatches,
   6116 	Zall_load, Zarch_errors_fatal, Zbind_at_load, Zbundle,
   6117 	Zdead_strip, Zdynamic, Zdynamiclib, Zflat_namespace,
   6118 	Zforce_cpusubtype_ALL, Zforce_flat_namespace, Zmulti_module,
   6119 	Zno_dead_strip_inits_and_terms, Zsingle_module): New.
   6120 	* config/i386/darwin.h (CC1_SPEC): Add DARWIN_CC1_SPEC.
   6121 	(ASM_SPEC): Add %{static}.
   6122 	(SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
   6123 	* config/mep/mep.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
   6124 	(DRIVER_SELF_SPECS): Handle options formerly in
   6125 	TARGET_OPTION_TRANSLATE_TABLE.
   6126 	* config/mep/mep.opt (mfar): New.
   6127 	* config/picochip/picochip.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
   6128 	(DRIVER_SELF_SPECS): Define.  Handle options formerly in
   6129 	TARGET_OPTION_TRANSLATE_TABLE.
   6130 	* config/rs6000/darwin.h (CC1_SPEC): Handle -faltivec and -fno-altivec.
   6131 	(SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
   6132 	* config/rs6000/darwin.opt (Waltivec-long-deprecated, faltivec,
   6133 	ffix-and-continue, findirect-data): New.
   6134 	* config/rx/rx.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
   6135 	* config/rx/rx.opt (nofpu): Make into alias of mnofpu.
   6136 	(mnofpu): Define mask and use Report here.
   6137 
   6138 2010-11-10  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   6139 
   6140 	* config/s390/s390.c (s390_emit_prologue): Report the stack
   6141 	size if -fstack-usage is used.
   6142 
   6143 2010-11-10  Richard Guenther  <rguenther (a] suse.de>
   6144 
   6145 	PR tree-optimization/46398
   6146 	* tree-ssa-sccvn.c (process_scc): Iterate for all PHIs.
   6147 
   6148 2010-11-10  Joern Rennecke  <amylaar (a] spamcop.net>
   6149 
   6150 	PR target/44760
   6151 	* config/iq2000/iq2000.h (REGISTER_NAMES): Remove trailing semicolon.
   6152 	(REGNO_MODE_OK_FOR_BASE_P): Cast REGNO to int before passing it to
   6153 	GP_REG_OR_PSEUDO_STRICT_P.
   6154 	* config/iq2000/iq2000.md (andsi3+1): Add gcc_unreachable for
   6155 	unexpected alternative.
   6156 	(*movsf_internal): Likewise.
   6157 	(indirect_jump): Replace call to non-existant function with call to
   6158 	internal_error.
   6159 	(tablejump): Likewise.
   6160 	* config/iq2000/iq2000.c: Include df.h .
   6161 	(iq2000_function_arg_advance): Use CONST_CAST2.
   6162 	(compute_frame_size, iq2000_expand_prologue): Remove unused variables.
   6163 	(iq2000_can_eliminate): Call leaf_function_p instead of testing for
   6164 	a non-zero function address.
   6165 	(iq2000_initial_elimination_offset): Add gcc_unreachable for
   6166 	unexpected value of FROM.
   6167 	(symbolic_expression_p): Delete.
   6168 	(iq2000_function_value): Constify func.
   6169 	(expand_one_builtin): Use expand_normal.
   6170 	(iq2000_print_operand): Don't print VALUE if calculating it failed.
   6171 
   6172 	PR rtl-optimization/44764
   6173 	* addresses.h (ok_for_base_p_1): Mark regno with ATTRIBUTE_UNUSED.
   6174 
   6175 	PR target/46407
   6176 	* config/rx/rx.h (REGISTER_NAMES): Remove trailing semicolon.
   6177 	* config/rx/rx.c (rx_promote_function_mode): Mark punsignedp
   6178 	with ATTRIBUTE_UNUSED.
   6179 	(valid_psw_flag): Constify parameter which.
   6180 	(rx_memory_move_cost): Change type of parameter regclass to reg_class_t.
   6181 
   6182 	PR target/46415
   6183 	* config/mmix/mmix-protos.h (mmix_local_alignment): Update prototype.
   6184 	(mmix_dbx_register_number): Likewise.
   6185 	* config/mmix/mmix.c: Include df.h .
   6186 	(mmix_local_alignment): Change argument basic_align and return type
   6187 	to unsigned.
   6188 	(mmix_dbx_register_number): Change argument and return type to
   6189 	unsigned.
   6190 	(mmix_expand_prologue): Use add_reg_note.
   6191 
   6192 	PR target/46417
   6193 	* config/spu/spu.c (spu_expand_insv): Remove unused variables.
   6194 	(spu_split_store): Use aform.
   6195 	(spu_function_profiler): Mark parameter labelno with ATTRIBUTE_UNUSED.
   6196 
   6197 2010-11-10  Laurynas Biveinis  <laurynas.biveinis (a] gmail.com>
   6198 
   6199 	PR/46268
   6200 	* doc/gty.texi (GTY Options): Clarify that variable_size produces
   6201 	allocators taking size in bytes, compare with length option.  Add
   6202 	size calculation example.
   6203 	(Invoking the garbage collector): Ensure that sentences are
   6204 	followed by two spaces.  Describe that pointer fields must be
   6205 	initialized at ggc_collect call.
   6206 	(Troubleshooting): New section.
   6207 
   6208 2010-11-09  Jan Hubicka  <jh (a] suse.cz>
   6209 
   6210 	PR tree-optimization/40436
   6211 	* ipa-inline.c (leaf_node_p): Implement using is_inexpensive_builtin.
   6212 	* tree-inline.c (estimate_num_insns): Inexpensive builtins are like
   6213 	normal instructions; be sure bultin is not implemented in this file;
   6214 	compute non-zero return cost.
   6215 	(init_inline_once): Reduce builtin_call_cost to 1; set return cost.
   6216 	* tree-inline.h (eni_weights_d): Add return cost.
   6217 
   6218 2010-11-09  Joseph Myers  <joseph (a] codesourcery.com>
   6219 
   6220 	* c-parser.c (c_parser_struct_declaration): Handle declaration
   6221 	specifiers followed by CPP_CLOSE_BRACE.
   6222 
   6223 2010-11-09  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   6224 
   6225 	* config/rs6000/rs6000.md (floatsi<mode>2_lfiwax): Rewrite so
   6226 	split occurs before reload, and we allocate memory at the time of
   6227 	the split, not during expansion.  Add attributes.
   6228 	(floatsi<mode>2_lfiwax_mem): Ditto.
   6229 	(floatunssi<mode>2_lfiwzx): Ditto.
   6230 	(floatunssi<mode>2_lfiwzx_mem): Ditto.
   6231 	(floatsidf2): Ditto.
   6232 	(floatunssisf2): Ditto.
   6233 	(floatunssidf2): Ditto.
   6234 	(fix_trunc<mode>si2): Ditto.
   6235 	(fix_trunc<mode>si2_stfiwx): Ditto.
   6236 	(fix_trunc<mode>si2_internal): Ditto.
   6237 	(fix_trunc<mode>si2): Ditto.
   6238 	(fix_trunc<mode>di2): Ditto.
   6239 	(fixuns_trunc<mode>si2_stfiwx): Ditto.
   6240 	(floatsisf2): Ditto.
   6241 	(floatdidf2_mem): Ditto.
   6242 	(floatunsdidf2_mem): Ditto.
   6243 	(floatunsdidf2): Ditto.
   6244 	(floatdisf2_internal1): Ditto.
   6245 	(floatdisf2_mem): Ditto.
   6246 	(floatunsdisf2_mem): Ditto.
   6247 	(floatsi<mode>2_lfiwax_mem2): Delete.
   6248 	(floatunssi<mode>2_lfiwzx_mem2): Ditto.
   6249 	(fix_trunc<mode>si2_mem): Ditto.
   6250 	(fixuns_trunc<mode>si2_mem): Ditto.
   6251 	(round32<mode>2_fprs): New combiner insn to combine (double)(int)
   6252 	type operations to reduce copying the values to multiple memory slots.
   6253 	(roundu32<mode>2_fprs): Ditto.
   6254 
   6255 	* config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Handle
   6256 	PRE_INC, PRE_DEC, PRE_MODIFY.
   6257 	(rs6000_expand_convert_si_to_sfdf): Delete, no longer used.
   6258 
   6259 	* config/rs6000/rs6000-protos.h (rs6000_expand_convert_si_to_sfdf):
   6260 	Delete prototype.
   6261 
   6262 2010-11-09  Jakub Jelinek  <jakub (a] redhat.com>
   6263 
   6264 	PR target/43808
   6265 	* cfgexpand.c (partition_stack_vars): Call
   6266 	update_alias_info_with_stack_vars unconditionally.
   6267 	(update_alias_info_with_stack_vars): Allow unused
   6268 	unreferenced vars when not optimizing.
   6269 
   6270 2010-11-09  Sebastian Pop  <sebastian.pop (a] amd.com>
   6271 
   6272 	PR tree-optimization/46036
   6273 	* tree-if-conv.c (predicate_bbs): Call unshare_expr before
   6274 	add_to_dst_predicate_list.
   6275 
   6276 2010-11-09  Jakub Jelinek  <jakub (a] redhat.com>
   6277 
   6278 	PR debug/46171
   6279 	* df-problems.c (struct dead_debug_use, struct dead_debug): Move
   6280 	earlier.
   6281 	(df_set_unused_notes_for_mw, df_create_unused_note): Add DEBUG
   6282 	argument, call dead_debug_reset when adding REG_UNUSED note.
   6283 	(dead_debug_reset): New function.
   6284 	(df_note_bb_compute): Adjust df_set_unused_notes_for_mw and
   6285 	df_create_unused_note callers.
   6286 
   6287 2010-11-09  Anatoly Sokolov  <aesok (a] post.ru>
   6288 
   6289 	* config/fr30/fr30.c: Include "df.h".
   6290 
   6291 2010-11-09  Richard Guenther  <rguenther (a] suse.de>
   6292 
   6293 	PR tree-optimization/46355
   6294 	* tree-loop-distribution.c (tree_loop_distribution): Do not
   6295 	distribute loops without a single exit.
   6296 
   6297 2010-11-09  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   6298 
   6299 	PR rtl-optimization/46237
   6300 	* ira-conflicts.c (ira_build_conflicts): Record conflicts for call
   6301 	saved hard regs if they might get partially clobbered.
   6302 
   6303 2010-11-09  Paul Koning  <ni1d (a] arrl.net>
   6304 
   6305 	* config/pdp11/pdp11.md (lshrsi3, lshrhi3): Use add for decrement.
   6306 
   6307 2010-11-09  Richard Guenther  <rguenther (a] suse.de>
   6308 
   6309 	PR tree-optimization/46177
   6310 	* tree-loop-distribution.c (prop_phis): Remove.
   6311 	(generate_builtin): Re-use the old loop exit edge to avoid
   6312 	needing to update PHI nodes.
   6313 
   6314 2010-11-09  Joern Rennecke  <amylaar (a] spamcop.net>
   6315 
   6316 	* config/i386/i386.c (ix86_expand_split_stack_prologue): Change
   6317 	type of args_size to unsigned HOST_WIDE_INT.
   6318 
   6319 	PR target/44755
   6320 	* config.gcc (picochip-*): Add t-pnt16-warn to tmake_file.
   6321 	* config/t-pnt16-warn: New file.
   6322 	* config/picochip/picochip.c (picochip_emit_stack_allocate):
   6323 	Use add_reg_note.
   6324 	(picochip_emit_save_register): Likewise.
   6325 	(picochip_emit_restore_register): Remove variable insn.
   6326 	(picochip_legitimize_address): Don't use C++ style comments.
   6327 	(picochip_legitimize_reload_address): Likewise.
   6328 	(reorder_var_tracking_notes): Remove variable vliw_start.
   6329 	(picochip_reorg): Cast first arguemnt to emit_note_after to
   6330 	enum insn_note.
   6331 	(picochip_expand_builtin_2op): Use EXPAND_NORMAL.
   6332 	(picochip_expand_builtin_3op): Likewise.
   6333 	(picochip_expand_builtin_2opvoid): Likewise.
   6334 	(picochip_expand_array_get, picochip_expand_array_put): Likewise.
   6335 	(picochip_expand_array_testport): Likewise.
   6336 	(picochip_init_builtins): Remove unused variables.
   6337 	* config/picochip/picochip.h (ASM_FORMAT_PRIVATE_NAME): Cast LABELNO
   6338 	to unsigned long, and output it as such.
   6339 	(ASM_OUTPUT_SKIP): Use HOST_WIDE_INT_PRINT_UNSIGNED.
   6340 	* config/picochip/picochip.md (movhicc): Remove nonsense statement.
   6341 	(schedType): Cast result of picochip_schedule_type to
   6342 	enum attr_schedType.
   6343 
   6344 	PR target/44759
   6345 	* config/mn10300/mn10300.c (SIZE_FMOV_LIMIT): Promote all arms of
   6346 	conditional to type of S.
   6347 	(mn10300_function_arg): Remove unused variable align.
   6348 	(mn10300_arg_partial_bytes): Likewise.
   6349 	* config/mn10300/mn10300.md (attribute cpu): Cast value to
   6350 	enum attr_cpu.
   6351 
   6352 2010-11-09  H.J. Lu  <hongjiu.lu (a] intel.com>
   6353 
   6354 	PR bootstrap/46392
   6355 	* gengtype-parse.c (type): Call get_input_file_name to get file name.
   6356 
   6357 2010-11-09  Eric Botcazou  <ebotcazou (a] adacore.com>
   6358 
   6359 	* tree.h (contains_placeholder_p): Fix comment.
   6360 	(type_contains_placeholder_p): Adjust comment.
   6361 	* tree.c (contains_placeholder_p): Fix comment.
   6362 	(type_contains_placeholder_1): Do not recurse on pointed-to types and
   6363 	adjust comment.
   6364 	(type_contains_placeholder_p): Add comment.
   6365 
   6366 2010-11-09  Paul Koning  <ni1d (a] arrl.net>
   6367 
   6368 	* config/pdp11/pdp11.c (pdp11_assemble_integer): Clean up fix for
   6369 	output of byte values.
   6370 
   6371 2010-11-09  Jakub Jelinek  <jakub (a] redhat.com>
   6372 
   6373 	PR middle-end/46360
   6374 	* tree-ssa-propagate.c (update_call_from_tree): Fix for use
   6375 	not in SSA mode.
   6376 
   6377 2010-11-09  Richard Guenther  <rguenther (a] suse.de>
   6378 
   6379 	PR middle-end/46221
   6380 	* varasm.c (compute_visible_aliases): New function.
   6381 	(remove_unreachable_alias_pairs): Aliases make a target available
   6382 	even though we reclaimed the cgraph node.
   6383 	(finish_aliases_1): Likewise.
   6384 	* Makefile.in (varasm.o): Add pointer-set.h dependency.
   6385 
   6386 2010-11-09  Nick Clifton  <nickc (a] redhat.com>
   6387 
   6388 	* config/mn10300/mn10300-modes.def: New file.
   6389 
   6390 2010-11-09  Basile Starynkevitch  <basile (a] starynkevitch.net>
   6391 	    Jeremie Salvucci  <jeremie.salvucci (a] free.fr>
   6392 
   6393 	* gengtype.c (get_output_file_name): Declaration moved to gengtype.h.
   6394 	(plugin_files, get_file_basename, get_file_realbasename)
   6395 	(get_file_langdir, error_at_line, gt_files, this_file)
   6396 	(system_h_file, read_input_list, create_field_all)
   6397 	(get_file_srcdir_relative_path, get_file_basename)
   6398 	(get_file_langdir, get_file_gtfilename)
   6399 	(get_output_file_with_visibility, get_output_file_name)
   6400 	(struct flist, put_mangled_filename, walk_type)
   6401 	(put_mangled_filename, finish_root_table, write_roots): Use
   6402 	input_file-s.
   6403 	(lang_dir_names, num_lang_dirs): Remove static.
   6404 	(get_lang_bitmap, set_lang_bitmap): Moved to gengtype.h.
   6405 	(main): Use input_file-s.
   6406 
   6407 	* gengtype.h: (struct input_file_st, input_file): New type.
   6408 	(struct fileloc): Use it.
   6409 	(gt_files, num_gt_files, this_file, system_h_file)
   6410 	(input_file_by_name, get_file_srcdir_relative_path): Use input_file.
   6411 	(get_input_file_name): New function.
   6412 	(get_lang_bitmap, set_lang_bitmap): Moved from gengtype.c and
   6413 	use input_file.
   6414 	(lang_dir_names, num_lang_dirs, get_output_file_with_visibility)
   6415 	(get_output_file_name): Ditto.
   6416 
   6417 	* gengtype-lex.l (yybegin): Use input_file.
   6418 
   6419 	* gengtype-parse.c (parse_error): Use input_file.
   6420 
   6421 2010-11-08  Xinliang David Li  <davidxl (a] google.com>
   6422 
   6423 	PR tree-optimization/46316
   6424 	* tree-vrp.c (adjust_range_with_scev): Check double_int overflow.
   6425 	* double-int.h (double_int_mul_with_sign): New function.
   6426 	* double-int.c (double_int_mul_with_sign): New function.
   6427 
   6428 2010-11-08  Paul Koning  <ni1d (a] arrl.net>
   6429 
   6430 	* config/pdp11/pdp11.md (lshrsi3, lshrhi3): Fix wrong code.
   6431 
   6432 2010-11-08  Paul Koning  <ni1d (a] arrl.net>
   6433 
   6434 	* config/pdp11/pdp11.md (negsi2): Fix wrong code.
   6435 
   6436 2010-11-08  Paul Koning  <ni1d (a] arrl.net>
   6437 
   6438 	* config/pdp11/pdp11.c (pdp11_assemble_integer): Mask byte values
   6439 	to 8 bits.
   6440 
   6441 2010-11-08  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   6442 
   6443 	PR target/46378
   6444 	* config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
   6445 	turn on ISA 2.04 rounding instructions for power5.
   6446 
   6447 	* config/rs6000/rs6000.md (friz): Friz is an ISA 2.04 instruciton,
   6448 	not ISA 2.02.
   6449 
   6450 	PR target/45585
   6451 	* config/rs6000/darwin.md (movdi_low): Allow DImode values to be
   6452 	in FPR registers.
   6453 	(movdi_low_st): Ditto.
   6454 
   6455 2010-11-08  Joern Rennecke  <amylaar (a] spamcop.net>
   6456 	    Richard Henderson  <rth (a] redhat.com>
   6457 
   6458 	PR target/44758
   6459 	* config/frv/frv.md (attribute cpu): Cast value to enum attr_cpu.
   6460 	(attribute acc_group): Cast value to enum attr_acc_group.
   6461 	(*movdi_nodouble+6): Use gen_int_mode.
   6462 	* config/frv/frv-protos.h (frv_trampoline_size): Declare no matter
   6463 	if RTX_CODE is defined or not.
   6464 	* config/frv/frv.c (enum frv_io_type): New enum, broken out of
   6465 	struct frv_io.
   6466 	(frv_handle_option): Mark parameter value with ATTRIBUTE_UNUSED.
   6467 	(frv_frame_access, frv_expand_prologue): Remove unused variables.
   6468 	(frv_expand_block_clear): Likewise.
   6469 	(frv_trampoline_init): Use LCT_NORMAL.
   6470 	(struct frv_packet_group): New struct, broken out of type of
   6471 	frv_packet.
   6472 	(frv_start_packet, frv_reorder_packet): Initialize group to GROUP_I,
   6473 	use cast in loop counter increment.
   6474 	(frv_extract_membar): Cast HOST_WIDE_INT to enum frv_io_type before
   6475 	assigning to io->type.
   6476 	(bdesc_set): Use rtx_code UNKNOWN in initializer.
   6477 	(bdesc_1arg, bdesc_2arg, bdesc_int_void2arg): Likewise.
   6478 	(bdesc_prefetches, bdesc_cut, bdesc_2argimm, bdesc_void2arg): Likewise.
   6479 	(bdesc_void3arg, bdesc_voidacc, bdesc_loads, bdesc_stores): Likewise.
   6480 	(frv_read_argument): Use expand_normal.
   6481 
   6482 	PR target/44757
   6483 	* config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Call
   6484 	lm32_legitimate_constant_p.
   6485 	* config/lm32/lm32.md (ashlsi3): Remove unused variable.
   6486 	* config/lm32/lm32.c (gen_int_relational): Make new block for
   6487 	LE / LT / LEU / LTU case.  Declare variables at start of block.
   6488 	(lm32_block_move_inline): Use XALLOCAVEC.
   6489 
   6490 2010-11-08  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   6491 
   6492 	* config/i386/i386.c (ix86_function_arg_boundary): Fix warning message.
   6493 
   6494 2010-11-08  Basile Starynkevitch  <basile (a] starynkevitch.net>
   6495 
   6496 	* gengtype (get_output_file_for_structure): Ensure type is union
   6497 	or struct.
   6498 	(write_splay_tree_allocator_def): Use
   6499 	get_output_file_with_visibility.
   6500 
   6501 2010-11-08  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   6502 
   6503 	* config/s390/s390.c (s390_handle_arch_option): Set type and flags
   6504 	to defined values in case of an error.
   6505 	(s390_option_override): Skip further processing if the -march
   6506 	parameter wasn't recognized.
   6507 
   6508 2010-11-08  Joern Rennecke  <amylaar (a] spamcop.net>
   6509 
   6510 	* caller-save.c (reg_save_code): After HARD_REGNO_MODE_OK check fails,
   6511 	assert that REG is a hard register number before using it as an index.
   6512 
   6513 	PR bootstrap/46358
   6514 	* config/i386/i386.c (ix86_expand_split_stack_prologue):
   6515 	Avoid warnings when HOST_WIDE_INT is 32 bit.
   6516 
   6517 2010-11-08  Eric Botcazou  <ebotcazou (a] adacore.com>
   6518 
   6519 	PR target/46208
   6520 	* config/sparc/sparc.c (TARGET_PROMOTE_PROTOTYPES): Delete.
   6521 	(sparc_promote_prototypes): Likewise.
   6522 	(sparc_promote_function_mode): Promote in 32-bit mode as well.
   6523 	(sparc_return_in_memory): Remove superfluous parentheses.
   6524 	(sparc_struct_value_rtx): Fix long lines.
   6525 	(sparc_function_value_1): Promote in 32-bit mode as well.
   6526 
   6527 2010-11-08  Andrey Belevantsev  <abel (a] ispras.ru>
   6528 
   6529 	PR rtl-optimization/45352
   6530 	* sel-sched.c (find_best_expr): Do not set pneed_stall when
   6531 	the variable_issue hook is not implemented.
   6532 	(fill_insns): Remove dead variable stall_iterations.
   6533 	(init_seqno_1): Force EBB start for resetting sched cycles on any
   6534 	successor blocks of the rescheduled region.
   6535 	(sel_sched_region_1): Use bitmap_bit_p instead of bitmap_clear_bit.
   6536 	(reset_sched_cycles_in_current_ebb): Add debug printing.
   6537 	New variable issued_insns.  Advance state when we have issued
   6538 	issue_rate insns.
   6539 
   6540 2010-11-08  Basile Starynkevitch  <basile (a] starynkevitch.net>
   6541 
   6542 	* gengtype (main): Get here's position using POS_HERE macro for
   6543 	do*typedef calls.
   6544 
   6545 2010-11-07  Ian Lance Taylor  <iant (a] google.com>
   6546 
   6547 	PR target/46089
   6548 	* config/i386/i386.c (split_stack_fn_large): New static variable.
   6549 	(ix86_expand_split_stack_prologue): Handle large model.
   6550 
   6551 2010-11-07  Andreas Schwab  <schwab (a] linux-m68k.org>
   6552 
   6553 	* config/m68k/m68k.c (m68k_delegitimize_address): Update to handle
   6554 	all possible addressing modes.
   6555 
   6556 2010-11-07  Uros Bizjak  <ubizjak (a] gmail.com>
   6557 
   6558 	PR tree-optimization/46346
   6559 	* tree-ssa-forwprop.c (rhs_to_tree): Handle GIMPLE_TERNARY_RHS.
   6560 
   6561 2010-11-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
   6562 
   6563 	* config/mips/mips.c: Revert previous patch.
   6564 	* config/mips/mips.md: Likewise.
   6565 
   6566 2010-11-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
   6567 
   6568 	* config/mips/mips.c (mips_rtx_costs): Handle FMA.
   6569 	* config/mips/mips.md (*madd4<mode>, *madd3<mode>, *msub4<mode>)
   6570 	(*msub3<mode>, *nmadd4<mode>_fastmath, *nmadd3<mode>_fastmath)
   6571 	(*nmsub4<mode>_fastmath, *nmsub3<mode>_fastmath): Delete.
   6572 	(*nmadd4<mode>, *nmadd3<mode>. *nmsub4<mode>, *nmsub3<mode>): Redefine
   6573 	to use FMA.
   6574 	(fma<mode>4, *fma<mode>4_madd3, *fma<mode>4_madd4): New patterns.
   6575 	(fms<mode>4, *fms<mode>4_msub3, *fms<mode>4_msub4): Likewise.
   6576 	(fnms<mode>4, *fnms<mode>4_nmadd3, *fnms<mode>4_nmadd4): Likewise.
   6577 	(fnma<mode>4, *fnma<mode>4_nmsub3, *fnma<mode>4_nmsub4): Likewise.
   6578 
   6579 2010-11-06  Simon Martin  <simartin (a] users.sourceforge.net>
   6580 
   6581 	PR c/43384
   6582 	* c-decl.c (lookup_label): Labels can only be referenced in a
   6583 	function's scope.
   6584 	(store_parm_decls_oldstyle): Skip erroneous parameters.
   6585 
   6586 2010-11-06  Anatoly Sokolov  <aesok (a] post.ru>
   6587 
   6588 	* config/fr30/fr30.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
   6589 	LIBCALL_VALUE): Remove macros.
   6590 	* config/fr30/fr30.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
   6591 	TARGET_FUNCTION_VALUE_REGNO_P): Define.
   6592 	(fr30_function_value_regno_p, fr30_function_value,
   6593 	fr30_libcall_value): New functions.
   6594 
   6595 2010-11-06  Joern Rennecke  <amylaar (a] spamcop.net>
   6596 
   6597 	PR middle-end/46314
   6598 	* target.def (generate_internal_label): New asm_out hook.
   6599 	* output.h (default_generate_internal_label): Declare.
   6600 	* varasm.c (default_generate_internal_label): Define.
   6601 
   6602 2010-11-06  Iain Sandoe  <iains (a] gcc.gnu.org>
   6603 
   6604 	PR target/44981
   6605 	* doc/extend.tex (format): Document NSString extension.
   6606 	(format_arg): Likewise.
   6607 	(Darwin Format Checks): New section.
   6608 	* doc/tm.texi: Document string object hooks (generated).
   6609 	* doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Rename.
   6610 	(TARGET_STRING_OBJECT_REF_TYPE_P): New.
   6611 	(TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
   6612 	* target.def (objc_construct_string_object): Rename, amend
   6613 	documentation.
   6614 	(string_object_ref_type_p): New hook.
   6615 	(check_string_object_format_arg): New hook.
   6616 	* c-parser.c (c_parser_attributes): Allow objective-c class names as
   6617 	attribute identifiers.
   6618 	* config/darwin-c.c (darwin_cfstring_ref_p): New.
   6619 	(darwin_check_cfstring_format_arg): New.
   6620 	(darwin_additional_format_types): New.
   6621 	* config/darwin-protos.h (darwin_cfstring_ref_p) New.
   6622 	(darwin_check_cfstring_format_arg): New.
   6623 	* config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT) Renamed.
   6624 	(TARGET_STRING_OBJECT_REF_TYPE_P): New.
   6625 	(TARGET_N_FORMAT_TYPES): New.
   6626 	(TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): New.
   6627 
   6628 2010-11-06  Eric Botcazou  <ebotcazou (a] adacore.com>
   6629 	    Pascal Obry  <obry (a] adacore.com>
   6630 
   6631 	* config/i386/cygming.h (DWARF_FRAME_REGISTERS): Redefine.  Use 33
   6632 	in 64-bit mode and 17 otherwise.
   6633 
   6634 2010-11-06  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   6635 
   6636 	PR debug/45939
   6637 	* var-tracking.c (emit_note_insn_var_location): Make sure that
   6638 	call related var location notes come before the normal ones.
   6639 
   6640 2010-11-05  H.J. Lu  <hongjiu.lu (a] intel.com>
   6641 
   6642 	PR target/46326
   6643 	* config/i386/i386.c (ix86_delegitimize_address): Fix a typo
   6644 	in the last change.
   6645 
   6646 2010-11-05  Ian Lance Taylor  <iant (a] google.com>
   6647 
   6648 	* explow.c (allocate_dynamic_stack_space): Check MALLOC_ABI_ALIGNMENT.
   6649 
   6650 2010-11-05  Jakub Jelinek  <jakub (a] redhat.com>
   6651 
   6652 	PR c/44772
   6653 	* c-decl.c (warn_cxx_compat_finish_struct): Don't call
   6654 	pointer_set_contains if DECL_NAME is NULL.
   6655 
   6656 2010-11-05  Ian Lance Taylor  <iant (a] google.com>
   6657 
   6658 	PR target/46084
   6659 	* explow.c (allocate_dynamic_stack_space): If flag_split_stack,
   6660 	request enough additional space for alignment, and force alignment.
   6661 
   6662 2010-11-05  Kai Tietz  <kai.tietz (a] onevision.com>
   6663 
   6664 	* config/i386/i386.c (legitimate_pic_address_disp_p):
   6665 	Handle UNSPEC_PCREL.
   6666 	(ix86_legitimate_address_p): Likewise.
   6667 	(legitimize_pic_address): Likewise.
   6668 	(output_pic_addr_const): Likewise.
   6669 	(ix86_delegitimize_address): Likewise.
   6670 	(ix86_find_base_term): Likewise.
   6671 	(memory_address_length): Likewise.
   6672 	(x86_output_mi_thunk): Handle special case x64
   6673 	for non local binding.
   6674 	* config/i386/i386.md (UNSPEC_PCREL): New.
   6675 	* config/i386/winnt.c (i386_pe_binds_local_p):
   6676 	Allow weak symbol for x64 windows with non-local binding.
   6677 
   6678 2010-11-05  Jakub Jelinek  <jakub (a] redhat.com>
   6679 
   6680 	PR target/45670
   6681 	* expr.c (expand_expr_real_1) <case MEM_REF>: Use EXPAND_SUM
   6682 	instead of EXPAND_NORMAL for base expansion.
   6683 
   6684 2010-11-05  Uros Bizjak  <ubizjak (a] gmail.com>
   6685 
   6686 	* config.gcc: Support --with-fpmath=avx for x86.
   6687 	* config/i386/avxmath.h: New.
   6688 	* doc/install.texi (--with-fpmath=): Document --with-fpmath=avx.
   6689 
   6690 2010-11-05  Ian Lance Taylor  <iant (a] google.com>
   6691 
   6692 	* tree.h (struct tree_type): Don't use descbits in GTY annotation.
   6693 	* gengtype.c (walk_type): Don't recognize descbits option.
   6694 
   6695 2010-11-05  Joseph Myers  <joseph (a] codesourcery.com>
   6696 
   6697 	* defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG,
   6698 	WORD_SWITCH_TAKES_ARG): Remove.
   6699 	* doc/options.texi (Args): Document.
   6700 	* doc/tm.texi.in (WORD_SWITCH_TAKES_ARG): Remove.
   6701 	* doc/tm.texi: Regenerate.
   6702 	* opt-functions.awk (switch_flags): Handle Args.
   6703 	* opts-common.c: Update comment on tm.h include.
   6704 	(decode_cmdline_option): Handle options with multiple arguments.
   6705 	Don't check WORD_SWITCH_TAKES_ARG for unknown options.
   6706 	* opts.h (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK): Define.
   6707 	(CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
   6708 	CL_COMMON): Update values.
   6709 	* system.h (WORD_SWITCH_TAKES_ARG): Poison.
   6710 	* config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove.
   6711 	* config/darwin.opt (Zsegaddr, sectalign, sectcreate,
   6712 	sectobjectsymbols, sectorder, segcreate, segprot): New.
   6713 
   6714 2010-11-05  H.J. Lu  <hongjiu.lu (a] intel.com>
   6715 	    Uros Bizjak  <ubizjak (a] gmail.com>
   6716 
   6717 	* config/i386/i386.c (ix86_expand_move): Set use_avx256_p if
   6718 	256bit AVX register is used.
   6719 	(ix86_expand_vector_move_misalign): Likewise.
   6720 	(ix86_expand_vector_move): Replace use_avx256_p with
   6721 	VALID_AVX256_REG_MODE.
   6722 
   6723 2010-11-05  Joern Rennecke  <amylaar (a] spamcop.net>
   6724 
   6725 	 PR target/44750
   6726 	* config/pdp11/t-pdp11 (dwarf2out.o, java/constants.o): Undo last
   6727 	change.  Set $@-warn.o to -Wno-error.
   6728 
   6729 	PR bootstrap/44756
   6730 	* expr.c (emit_push_insn): Cast value of PUSH_ROUNDING before
   6731 	comparing it to a signed value.
   6732 
   6733 	PR middle-end/44766
   6734 	* expr.c (can_store_by_pieces): Add ATTRIBUTE_UNUSED to cst.
   6735 	PR bootstrap/44770
   6736 	* haifa-sched.c (initiate_bb_reg_pressure_info): Add ATTRIBUTE_UNUSED
   6737 	to i.
   6738 
   6739 	PR target/44754
   6740 	* config/m32c/m32c.c (m32_function_arg): Rename declaration to...
   6741 	(m32c_function_arg).  Add comma between arguments two and three.
   6742 	(m32c_promote_prototypes): Remove declaration.
   6743 	(current_function_special_page_vector): Likewise.
   6744 	(m32c_regno_reg_class): Change return type to enum reg_class.
   6745 	(m32c_pushm_popm): Use add_reg_note.
   6746 	(m32c_push_rounding): Change return type to unsigned int.
   6747 	(m32c_legitimize_reload_address): Cast argument 11 to push_reload to
   6748 	enum reload_type.
   6749 	(m32c_insert_attributes): Constify variable name.
   6750 	(m32c_output_aligned_common): Add ATTRIBUTE_UNUSED to argument decl.
   6751 	(m32c_prepare_shift): Remove variable lref.
   6752 	(m32c_expand_movcc): Remove variable cmp.
   6753 	(m32c_expand_insv): Fix check of op0 rtx_code to use GET_CODE.
   6754 	(m32c_compare_redundant): Remove variable op2.
   6755 	* config/m32c/m32c-pragma.c ("c-family/c-common.h"): Include.
   6756 	(m32c_pragma_memregs): Assign the number to target_memregs.
   6757 	(m32c_pragma_address): Remove variable var_str.
   6758 	* config/m32c/m32c.h (REG_CLASS_FROM_CONSTRAINT): Case value to
   6759 	enum reg_class.
   6760 	(LIMIT_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
   6761 	* config/m32c/bitops.md (andsi3): Add default case to switch.
   6762 	(iorsi3, xorsi3): Likewise.
   6763 	* config/m32c/addsub.md (addsi3_1, subsi3_1): Likewise.
   6764 	* config/m32c/jump.md (call, call_value): Likewise.
   6765 	* config/m32c/m32c-protos.h (m32c_push_rounding): Update prototype.
   6766 	(m32c_regno_reg_class): Likewise.
   6767 	(current_function_special_page_vector): Declare.
   6768 
   6769 2010-11-05  Jakub Jelinek  <jakub (a] redhat.com>
   6770 
   6771 	* cfgexpand.c (expand_debug_expr): Handle MEM_REF with non-zero offset.
   6772 
   6773 	PR tree-optimization/46099
   6774 	* tree-parloops.c (take_address_of): Add GSI argument.  Return NULL
   6775 	if it is NULL and uid wasn't found in the hash table.  Just fold the
   6776 	result if it is NULL otherwise.  Insert other potentially needed
   6777 	stmts right before current stmt instead of on the entry edge.
   6778 	(struct elv_data): Add gsi and reset fields.
   6779 	(eliminate_local_variables_1): Adjust caller.  If take_address_of
   6780 	failed for debug stmt, set dta->reset and return.
   6781 	(eliminate_local_variables_stmt): Change STMT argument for GSI,
   6782 	pass GSI through to the callback, handle resetting of debug stmts.
   6783 	(eliminate_local_variables): Adjust caller.  Process debug stmts
   6784 	in second phase.
   6785 
   6786 	PR middle-end/43690
   6787 	* gimplify.c (gimplify_asm_expr): If a "m" input is a
   6788 	{pre,post}{in,de}crement, fail.
   6789 
   6790 	PR debug/46307
   6791 	* tree-ssa-operands.c (get_expr_operands): Handle FMA_EXPR.
   6792 	* tree-pretty-print.c (dump_generic_node): Likewise.
   6793 	(op_code_prio): Likewise.
   6794 	* cfgexpand.c (expand_debug_expr): Likewise.
   6795 
   6796 2010-11-04  Paul Koning  <ni1d (a] arrl.net>
   6797 
   6798 	* doc/md.texi (Machine Constraints): Correct formatting in PDP-11
   6799 	constraints.
   6800 
   6801 2010-11-04  Chao-ying Fu  <fu (a] mips.com>
   6802 
   6803 	* configure.ac: Test assembler support for DSP Rev1 mult.
   6804 	* configure: Regenerate.
   6805 	* config.in: Regenerate.
   6806 	* config/mips/mips.h (ISA_HAS_DSP_MULT): New define.
   6807 	* config/mips/mips.c (CODE_FOR_mips_mult): New define.
   6808 	(CODE_FOR_mips_multu): New define.
   6809 	(mips_builtins): Move madd, maddu, msub, msubu, mult, multu from
   6810 	dspr2_32 to dsp_32.
   6811 	(mips_mulsidi3_gen_fn): Test (TARGET_FIX_R4000 && !ISA_HAS_DSP).
   6812 	Delete returns when ISA_HAS_DSPR2 because the old patterns are deleted.
   6813 	* config/mips/mips-dsp.md (mips_madd<u>, mips_msub<u>):
   6814 	New define_expand patterns.
   6815 	* config/mips/constraints.md (ka): Update the constraint to test
   6816 	ISA_HAS_DSP_MULT instead of ISA_HAS_DSPR2.
   6817 	* config/mips/mips-dspr2.md (mips_madd<u>, mips_msub<u>, mips_mult,
   6818 	mips_multu): Delete.
   6819 	* config/mips/mips.md (<u>mulsidi3_32bit): Add comments.
   6820 	Change target constraint to "ka".
   6821 	Use (!TARGET_FIX_R4000 || ISA_HAS_DSP), instead of
   6822 	(!TARGET_FIX_R4000 && !ISA_HAS_DSPR2).
   6823 	Emit the accumulator destination when ISA_HAS_DSP_MULT.
   6824 	(<u>msubsidi4): Add comments.  Test ISA_HAS_DSP.
   6825 	Emit the accumulator destination when ISA_HAS_DSP_MULT.
   6826 	(<u>maddsidi4): Likewise.
   6827 	* doc/extend.texi (MIPS DSP Built-in Functions): Move madd, maddu,
   6828 	msub, msubu, mult, multu built-in functions from DSP r2 to DSP r1.
   6829 
   6830 2010-11-04  Paul Koning  <ni1d (a] arrl.net>
   6831 
   6832 	* doc/md.texi (Machine Constraints): Add PDP-11 constraints.
   6833 
   6834 2010-11-04  Paul Koning  <ni1d (a] arrl.net>
   6835 
   6836 	* doc/invoke.texi (PDP-11 Options): Delete -msplit, -mno-split.
   6837 
   6838 2010-11-04  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   6839 
   6840 	Fixed using the Objective-C 2.0 dot-syntax with class names.
   6841 	* c-parser.c (c_parser_next_token_starts_declspecs): In
   6842 	Objective-C, detect Objective-C 2.0 dot-syntax with a class name.
   6843 	(c_parser_next_token_starts_declaration): Same.
   6844 	(c_parser_postfix_expression): Parse the Objective-C 2.0
   6845 	dot-syntax with a class name.
   6846 
   6847 2010-11-04  Pat Haugen  <pthaugen (a] us.ibm.com>
   6848 
   6849 	* final.c (compute_alignments): Compute/free loop info all the time.
   6850 	* config/rs6000/rs6000.h (LOOP_ALIGN): Define.
   6851 	* config/rs6000/rs6000-protos.h (rs6000_loop_align): Declare.
   6852 	* config/rs6000/t-rs6000 (rs6000.o): Add cfgloop.h.
   6853 	* config/rs6000/rs6000.c (cfgloop.h): Include.
   6854 	(can_override_loop_align): New.
   6855 	(rs6000_option_override_internal): Set it.
   6856 	(TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define target hook.
   6857 	(rs6000_loop_align): New function.
   6858 	(rs6000_loop_align_max_skip): Likewise.
   6859 
   6860 2010-11-04  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   6861 
   6862 	PR driver/45703
   6863 	* collect2.c (main): Print --help output to stdout.  Do not
   6864 	exit right away, so ld --help is appended.  Add empty lines
   6865 	to separate output suitably.
   6866 
   6867 2010-11-04  Jakub Jelinek  <jakub (a] redhat.com>
   6868 
   6869 	PR tree-optimization/46233
   6870 	* ipa-pure-const.c (local_pure_const): Do noreturn discovery
   6871 	after calling analyze_function, not before.
   6872 
   6873 	PR target/46234
   6874 	* config/rs6000/rs6000.c (rs6000_va_start): Use build_simple_mem_ref
   6875 	instead of build_va_arg_indirect_ref.
   6876 	* config/spu/spu.c (spu_va_start): Likewise.
   6877 	* config/s390/s390.c (s390_va_start): Likewise.
   6878 
   6879 2010-11-03  Uros Bizjak  <ubizjak (a] gmail.com>
   6880 
   6881 	PR middle-end/46292
   6882 	* lower-subreg.c (simplify_subreg_concatn): For VOIDmode elements,
   6883 	if the innermode is not vector mode, determine the mode of a subreg
   6884 	by using mode_for_size of inner_size.
   6885 
   6886 2010-11-04  Richard Guenther  <rguenther (a] suse.de>
   6887 
   6888 	PR rtl-optimization/46183
   6889 	* gcse.c (execute_rtl_cprop): Cleanup the CFG if something changed.
   6890 	(execute_rtl_pre): Likewise.
   6891 	(execute_rtl_hoist): Likewise.
   6892 
   6893 2010-11-04  Richard Guenther  <rguenther (a] suse.de>
   6894 
   6895 	PR tree-optimization/46068
   6896 	* ipa-split.c (consider_split): Remove gcc_unreachable.
   6897 
   6898 2010-11-04  Richard Guenther  <rguenther (a] suse.de>
   6899 
   6900 	* tree-nested.c (build_addr): Use build_fold_addr_expr.
   6901 
   6902 2010-11-04  Richard Guenther  <rguenther (a] suse.de>
   6903 
   6904 	PR tree-optimization/45991
   6905 	* gimplify.c (force_gimple_operand_1): Use the provded test
   6906 	function in the initial test.
   6907 
   6908 2010-11-04  Jeff Law  <law (a] redhat.com>
   6909 
   6910 	* ira.c (validate_equiv_mem): Remove code to avoid invalidation
   6911 	of readonly memory equivalances for const/pure calls.
   6912 
   6913 2010-11-04  Richard Guenther  <rguenther (a] suse.de>
   6914 
   6915 	PR tree-optimization/45733
   6916 	* tree-vect-stmts.c (reverse_vec_elements): Honor the
   6917 	permute builtins function return type.
   6918 
   6919 2010-11-04  Joern Rennecke  <amylaar (a] spamcop.net>
   6920 
   6921 	PR middle-end/44765
   6922 	* emit-rtl.c (gen_rtx_REG): Before using PIC_OFFSET_TABLE_REGNUM
   6923 	as an index, check it is not INVALID_REGNUM.
   6924 
   6925 	PR bootstrap/44756
   6926 	* ifcvt.c (noce_emit_cmove): Add ATTRIBUTE_UNUSED to target and
   6927 	unsignedp.
   6928 	* reload1.c (set_reload_reg): Add ATTRIBUTE_UNUSED to regno.
   6929 
   6930 	PR bootstrap/44756
   6931 	* function.c (thread_prologue_and_epilogue_insns): Add
   6932 	ATTRIBUTE_UNUSED to seq, epilogue_end and entry_edge.
   6933 
   6934 	PR bootstrap/44756
   6935 	* varasm.c (asm_output_bss): Add ATTRIBUTE_UNUSED to function.
   6936 
   6937 	PR target/44750
   6938 	* config/pdp11/pdp11.c: (pdp11_secondary_reload): Now static.
   6939 	(pdp11_preferred_reload_class): Rename class to rclass.
   6940 	(pdp11_preferred_output_reload_class): Likewise.
   6941 	* config/pdp11/t-pdp11 (dwarf2out.o): Add -Wno-error=type-limits to
   6942 	ALL_COMPILERFLAGS .
   6943 	(java/constants.o): Add -Wno-error to ALL_COMPILERFLAGS.
   6944 
   6945 	PR bootstrap/44756
   6946 	* genopinit.c (main) [FIXUNS_TRUNC_LIKE_FIX_TRUNC]: Cast
   6947 	iteration variables to enum machine_mode.
   6948 
   6949 	PR target/44751
   6950 	* config/h8300/h8300.c: Include df.h.
   6951 	(push, pop): Use add_reg_note.
   6952 	(compute_plussi_cc, compute_logical_op_cc): Return enum attr_c.
   6953 	(compute_a_shift_cc): Likewise.
   6954 	(expand_a_shift): Argument code has type enum rtx_code.
   6955 	(struct shift_insn): Member cc_valid has type enum attr_cc.
   6956 	(struct shift_info) <cc_inline, cc_special>: Likewise.
   6957 	enum attr_cc.
   6958 	* config/h8300/h8300-protos.h (compute_plussi_cc): Update prototype.
   6959 	(compute_a_shift_cc, compute_logical_op_cc, expand_a_shift): Likewise.
   6960 
   6961 2010-11-04  Ira Rosen  <irar (a] il.ibm.com>
   6962 
   6963 	PR tree-optimization/46213
   6964 	* tree-vect-loop.c (vect_is_simple_reduction_1): Handle
   6965 	MINUS_EXPR only if the first operand is reduction operand.
   6966 
   6967 2010-11-04  Richard Guenther  <rguenther (a] suse.de>
   6968 	    Richard Henderson  <rth (a] redhat.com>
   6969 
   6970 	* tree.def (FMA_EXPR): New tree code.
   6971 	* expr.c (expand_expr_real_2): Add FMA_EXPR expansion code.
   6972 	* gimple.c (gimple_rhs_class_table): FMA_EXPR is a GIMPLE_TERNARY_RHS.
   6973 	* tree-cfg.c (verify_gimple_assign_ternary): Verify FMA_EXPR types.
   6974 	* tree-inline.c (estimate_operator_cost): Handle FMA_EXPR.
   6975 	* gimple-pretty-print.c (dump_ternary_rhs): Likewise.
   6976 	* tree-ssa-math-opts.c (convert_mult_to_fma): New function.
   6977 	(execute_optimize_widening_mul): Call it.  Reorganize to allow
   6978 	dead stmt removal.  Move TODO flags ...
   6979 	(pass_optimize_widening_mul): ... here.
   6980 	* flag-types.h (enum fp_contract_mode): New enum.
   6981 	* common.opt (flag_fp_contract_mode): New variable.
   6982 	(-ffp-contract): New option.
   6983 	* opts.c (common_handle_option): Handle it.
   6984 	* doc/invoke.texi (-ffp-contract): Document.
   6985 	* tree.h (fold_fma): Declare.
   6986 	* builtins.c (fold_fma): New function.
   6987 	(fold_builtin_fma): Likewise.
   6988 	(fold_builtin_3): Call it for fma.
   6989 	* fold-const.c (fold_ternary_loc): Fold FMA_EXPR.
   6990 	* optabs.c (optab_for_tree_code): Handle FMA_EXPR.
   6991 	* config/i386/sse.md (fms<mode>4, fnma<mode>, fnms<mode>4):
   6992 	New expanders.
   6993 	* doc/md.texi (fms<mode>4, fnma<mode>, fnms<mode>4): Document new
   6994 	named patterns.
   6995 	* genopinit.c (optabs): Initialize fms_optab, fnma_optab and fnms_optab.
   6996 	* optabs.h (enum optab_index): Add OTI_fms, OTI_fnma and OTI_fnms.
   6997 	(fms_optab, fnma_optab, fnms_optab): New defines.
   6998 	* gimplify.c (gimplify_expr): Handle binary truth expressions
   6999 	explicitly.  Handle FMA_EXPR.
   7000 	* tree-vect-stmts.c (vectorizable_operation): Handle ternary
   7001 	operations.
   7002 
   7003 2010-11-04  Artjoms Sinkarovs  <artyom.shinakroff (a] gmail.com>
   7004 	    Richard Guenther  <rguenther (a] suse.de>
   7005 
   7006 	* passes.c (init_optimization_passes): Move veclower after SSA.
   7007 	* tree-vect-generic.c (uniform_vector_p): New function.
   7008 	(expand_vector_operations_1): Handle conversion.
   7009 	(pass_lower_vector): Update SSA form.
   7010 
   7011 2010-11-04  Iain Sandoe  <iains (a] gcc.gnu.org>
   7012 
   7013 	* configure.ac: Filter -mdynamic-no-pic from CFLAGS when testing for
   7014 	plugin capabilities.
   7015 	* configure: Regenerate.
   7016 
   7017 2010-11-03  Xinliang David Li  <davidxl (a] google.com>
   7018 
   7019 	PR target/46200
   7020 	* tree-ssa-loop-ivopts.c (get_computation_cost_at):
   7021 	Adjust cbase if the use stmt is after iv update.
   7022 
   7023 2010-11-03  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   7024 
   7025 	* config.gcc (sh64*) <tm_file>: Add newlib-stdint.h for newlib targets.
   7026 
   7027 2010-11-03  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   7028 
   7029 	* config/sh/sh.c (sh_expand_prologue): Remove unnecessary
   7030 	comment.  Pass true to the last argument of output_stack_adjust.
   7031 
   7032 2010-11-03  H.J. Lu  <hongjiu.lu (a] intel.com>
   7033 
   7034 	PR target/46295
   7035 	* config/i386/i386.c (ix86_expand_vector_move): Set use_avx256_p
   7036 	if 256bit AVX register is used.
   7037 
   7038 2010-11-03  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   7039 
   7040 	* config/rs6000/rs6000.c (rs6000_emit_minmax): Add support to use
   7041 	xsmindp/xsmaxdp on VSX for single precision min/max.
   7042 	* config/rs6000/vsx.md (vsx_smaxsf3): Ditto.
   7043 	(vsx_sminsf3): Ditto.
   7044 
   7045 2010-11-03  Eric Botcazou  <ebotcazou (a] adacore.com>
   7046 
   7047 	* combine.c (try_combine): Fix formatting issues, improve comments and
   7048 	fix a pasto.
   7049 
   7050 2010-11-03  Eric Botcazou  <ebotcazou (a] adacore.com>
   7051 
   7052 	* tree-tailcall.c (find_tail_calls): Convert the operands to the type
   7053 	of the result before building binary expressions.
   7054 
   7055 2010-11-03  H.J. Lu  <hongjiu.lu (a] intel.com>
   7056 
   7057 	PR rtl-optimization/45865
   7058 	* Makefile.in (df-problems.o): Revert revision 164552.
   7059 	* basic-block.h (enum bb_flags): Likewise.
   7060 	* cfgcleanup.c (block_was_dirty): Likewise.
   7061 	(try_forward_edges): Likewise.
   7062 	(try_crossjump_bb): Likewise.
   7063 	(try_head_merge_bb): Likewise.
   7064 	(try_optimize_cfg): Likewise.
   7065 	(cleanup_cfg): Likewise.
   7066 	* df-core.c (df_set_bb_dirty): Likewise.
   7067 	* df-problems.c: Likewise.
   7068 	(df_simulate_find_uses): Likewise.
   7069 	(MEMREF_NORMAL, MEMREF_VOLATILE): Likewise.
   7070 	(find_memory, find_memory_store): Likewise.
   7071 	(can_move_insns_across): Likewise.
   7072 	* df.h (can_move_insns_across): Likewise.
   7073 	* ifcvt.c (find_memory): Likewise.
   7074 	(dead_or_predicable): Likewise.
   7075 
   7076 2010-11-03  Richard Guenther  <rguenther (a] suse.de>
   7077 
   7078 	PR middle-end/46288
   7079 	* predict.c (strip_predict_hints): Simply DCE builtin expect if
   7080 	the result is unused.
   7081 
   7082 2010-11-03  Jakub Jelinek  <jakub (a] redhat.com>
   7083 
   7084 	PR tree-optimization/46009
   7085 	* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Call
   7086 	cond_if_else_store_replacement if bb1 and bb2 have the same
   7087 	single successor.
   7088 	(cond_store_replacement): Use gimple_assign_single_p, don't
   7089 	check if rhs is SSA_NAME or invariant.  Call release_defs for
   7090 	assign.
   7091 	(cond_if_else_store_replacement): New function.
   7092 
   7093 2010-11-03  Richard Guenther  <rguenther (a] suse.de>
   7094 
   7095 	* opts.c (finish_options): Properly check for all WHOPR
   7096 	flags before complaining about -flto-partition.
   7097 
   7098 2010-11-04  Alan Modra  <amodra (a] gmail.com>
   7099 
   7100 	* config/rs6000/rs6000.c (rs6000_pic_labelno): Make static.
   7101 	(rs6000_emit_load_toc_table): Don't use rs6000_pic_labelno when
   7102 	TARGET_SECURE_PLT.
   7103 	* config/rs6000/sysv4.h (rs6000_pic_labelno): Don't declare.
   7104 	* config/rs6000/rs6000.md (load_toc_v4_PIC_3b): Use "b" constraint
   7105 	on input, "r" on output.
   7106 
   7107 2010-11-03  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   7108 
   7109 	Implemented -fobjc-std=objc1 flag.
   7110 	* doc/invoke.texi (Option Summary): Document -fobjc-std=objc1
   7111 	option.
   7112 	* doc/standards.texi (Standards): Updated the section on
   7113 	Objective-C; mention support for Objective-C 2.0 features and the
   7114 	new -fstd-objc=objc1 flag to disable them.
   7115 
   7116 2010-11-03  Richard Guenther  <rguenther (a] suse.de>
   7117 
   7118 	PR middle-end/46241
   7119 	* dwarf2out.c (scope_die_for): Properly detect global scope.
   7120 
   7121 2010-11-03  Richard Guenther  <rguenther (a] suse.de>
   7122 
   7123 	PR tree-optimization/46190
   7124 	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
   7125 	Properly compute peel iterations.
   7126 
   7127 2010-11-03  Richard Guenther  <rguenther (a] suse.de>
   7128 
   7129 	PR tree-optimization/46286
   7130 	* tree-ssa-structalias.c (get_constraint_for_1): Avoid referencing
   7131 	re-allocated vector data.
   7132 
   7133 2010-11-03  H.J. Lu  <hongjiu.lu (a] intel.com>
   7134 
   7135 	PR target/46285
   7136 	* config/i386/i386.c (ix86_expand_call): Conditionally decorate
   7137 	calls with UNSPEC_CALL_NEEDS_VZEROUPPER unspec before reload
   7138 	is completed.
   7139 
   7140 2010-11-03  Richard Guenther  <rguenther (a] suse.de>
   7141 
   7142 	PR tree-optimization/46217
   7143 	* tree-ssa.c (non_rewritable_mem_ref_base): Check if volatile
   7144 	flag matches.
   7145 	(execute_update_addresses_taken): Likewise.
   7146 
   7147 2010-11-03  Joern Rennecke  <joern.rennecke (a] embecosm.com>
   7148 
   7149 	PR bootstrap/44335
   7150 	* targhooks.c (targhook_words_big_endian): New function.
   7151 	(targhook_float_words_big_endian): Likewise.
   7152 	* targhooks.h (targhook_words_big_endian): Declare.
   7153 	(targhook_float_words_big_endian): Likewise.
   7154 	* target.def (words_big_endian, float_words_big_endian): New hooks.
   7155 
   7156 2010-11-03  Jakub Jelinek  <jakub (a] redhat.com>
   7157 
   7158 	PR tree-optimization/46165
   7159 	* tree-ssa-pre.c (eliminate): Return TODO_cleanup_cfg if changing
   7160 	a normal call into noreturn call.
   7161 
   7162 2010-11-03  Richard Guenther  <rguenther (a] suse.de>
   7163 
   7164 	PR middle-end/46251
   7165 	* builtins.c (expand_builtin_sincos): Properly build MEM_REFs,
   7166 	not INDIRECT_REFs.
   7167 
   7168 2010-11-03  Jakub Jelinek  <jakub (a] redhat.com>
   7169 
   7170 	PR tree-optimization/46107
   7171 	* cfgloopmanip.c (loop_version): Set irred_flag back into entry->flags
   7172 	if cfg_hook_duplicate_loop_to_header_edge failed.
   7173 
   7174 2010-11-03  Ian Lance Taylor  <iant (a] google.com>
   7175 
   7176 	PR lto/46273
   7177 	* config.gcc: Don't set lto_binary_reader.
   7178 	* doc/install.texi (Prerequisites): Remove libelf paragraphs.
   7179 	(Configuration): Mention --disable-lto.  Remove --with-libelf
   7180 	paragraph.
   7181 
   7182 2010-11-03  Jakub Jelinek  <jakub (a] redhat.com>
   7183 
   7184 	PR debug/46252
   7185 	* reload1.c (delete_dead_insn): Use prev_active_insn instead of
   7186 	prev_real_insn.
   7187 	* gcse.c (insert_insn_end_basic_block): Likewise.
   7188 
   7189 	PR rtl-optimization/46034
   7190 	PR rtl-optimization/46212
   7191 	PR rtl-optimization/46248
   7192 	* combine.c (try_combine): If added_sets_2 where i0dest_in_i0src
   7193 	and i0 feeds i1 and i1 feeds i2 or i0 feeds i2, make a copy of i1src
   7194 	before i0dest -> i0src substitution and pass 1 instead of 0 as last
   7195 	argument to subst on i2pat.
   7196 
   7197 2010-11-02  Ian Lance Taylor  <iant (a] google.com>
   7198 
   7199 	* configure.ac: Use AC_SYS_LARGEFILE.
   7200 	* configure: Rebuild.
   7201 	* config.in: Rebuild.
   7202 
   7203 2010-11-02  Nathan Froyd  <froydnj (a] codesourcery.com>
   7204 
   7205 	* builtins.c (fold_builtin_signbit): Use build_zero_cst instead of
   7206 	fold_convert.
   7207 	* c-typeck.c (build_function_call_vec): Likewise.
   7208 	* cfgexpand.c (expand_debug_expr): Likewise.
   7209 	* cgraphunit.c (assemble_thunk): Likewise.
   7210 	* config/sparc/sparc.c (sparc_fold_builtin): Likewise.
   7211 	* fold-const.c (fold_unary_loc, fold_mult_zconjz): Likewise.
   7212 	(fold_binary_loc, fold_ternary_loc): Likewise.
   7213 	* gimple-fold.c (get_symbol_constant_value): Likewise.
   7214 	* gimple-low.c (lower_builtin_setjmp): Likewise.
   7215 	* gimple.c (gimple_cond_get_ops_from_tree): Likewise.
   7216 	* gimplify.c (gimplify_init_constructor): Likewise.
   7217 	* lambda.h (build_linear_expr): Likewise.
   7218 	* omp-low.c (omp_reduction_init): Likewise.
   7219 	* tree-inline.c (remap_ssa_name): Likewise.
   7220 	* tree-object-size.c (compute_object_sizes): Likewise.
   7221 	* tree-sra.c (init_subtree_with_zero): Likewise.
   7222 	(sra_ipa_modify_assign): Likewise.
   7223 	* tree-ssa-copy.c (propagate_tree_value_into_stmt): Likewise.
   7224 	* tree-ssa-reassoc.c (eliminate_duplicate_pair): Likewise.
   7225 	(eliminate_plus_minus_pair, eliminate_not_pairs): Likewise.
   7226 	(undistribute_ops_list): Likewise.
   7227 	* tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
   7228 	* tree-vect-stmts.c (vectorizable_call): Likewise.
   7229 	* tree.c (build_vector_from_ctor, build_one_cst): Likewise.
   7230 	(build_zero_cst): Handle more cases directly.  Update comment.
   7231 
   7232 2010-11-02  H.J. Lu  <hongjiu.lu (a] intel.com>
   7233 
   7234 	* config/i386/i386-protos.h (ix86_split_call_pop_vzeroupper): Removed.
   7235 	* config/i386/i386.c (ix86_split_call_pop_vzeroupper): Likewise.
   7236 
   7237 	* config/i386/i386.md (*call_pop_0_vzeroupper): Use parallel
   7238 	and call ix86_split_call_vzeroupper instead of
   7239 	ix86_split_call_pop_vzeroupper.
   7240 	(*call_pop_1_vzeroupper): Likewise.
   7241 	(*sibcall_pop_1_vzeroupper): Likewise.
   7242 	(*call_value_pop_0_vzeroupper): Likewise.
   7243 	(*call_value_pop_1_vzeroupper): Likewise.
   7244 	(*sibcall_value_pop_1_vzeroupper): Likewise.
   7245 
   7246 2010-11-02  H.J. Lu  <hongjiu.lu (a] intel.com>
   7247 
   7248 	* config/i386/i386.md (*sibcall_1_rex64_vzeroupper): Fix a typo.
   7249 
   7250 2010-11-02  Eric Botcazou  <ebotcazou (a] adacore.com>
   7251 
   7252 	* basic-block.h (insert_insn_end_bb_new): Delete.
   7253 	* cfgrtl.c (insert_insn_end_bb_new): Likewise.
   7254 
   7255 2010-11-02  Uros Bizjak  <ubizjak (a] gmail.com>
   7256 	    H.J. Lu  <hongjiu.lu (a] intel.com>
   7257 
   7258 	* config/i386/i386-protos.h (ix86_split_call_vzeroupper): New.
   7259 	(ix86_split_call_pop_vzeroupper): Likewise.
   7260 
   7261 	* config/i386/i386.c (move_or_delete_vzeroupper_2): Rewrite the loop.
   7262 	(ix86_expand_call): Conditionally decorate calls with
   7263 	UNSPEC_CALL_NEEDS_VZEROUPPER unspec.
   7264 	(ix86_split_call_vzeroupper): New.
   7265 	(ix86_split_call_pop_vzeroupper): Likewise.
   7266 
   7267 	* config/i386/i386.md (UNSPEC_CALL_NEEDS_VZEROUPPER): New.
   7268 	(*call_pop_0_vzeroupper): New insn_and_split pattern.
   7269 	(*call_pop_1_vzeroupper): Likewise.
   7270 	(*sibcall_pop_1_vzeroupper): Likewise.
   7271 	(*call_0_vzeroupper): Likewise.
   7272 	(*call_1_vzeroupper): Likewise.
   7273 	(*sibcall_1_vzeroupper): Likewise.
   7274 	(*call_1_rex64_vzeroupper): Likewise.
   7275 	(*call_1_rex64_ms_sysv_vzeroupper): Likewise.
   7276 	(*call_1_rex64_large_vzeroupper): Likewise.
   7277 	(*sibcall_1_rex64_vzeroupper): Likewise.
   7278 	(*call_value_pop_0_vzeroupper): Likewise.
   7279 	(*call_value_pop_1_vzeroupper): Likewise.
   7280 	(*sibcall_value_pop_1_vzeroupper): Likewise.
   7281 	(*call_value_0_vzeroupper): Likewise.
   7282 	(*call_value_0_rex64_vzeroupper): Likewise.
   7283 	(*call_value_0_rex64_ms_sysv_vzeroupper): Likewise.
   7284 	(*call_value_1_vzeroupper): Likewise.
   7285 	(*sibcall_value_1_vzeroupper): Likewise.
   7286 	(*call_value_1_rex64_vzeroupper): Likewise.
   7287 	(*call_value_1_rex64_ms_sysv_vzeroupper): Likewise.
   7288 	(*call_value_1_rex64_large_vzeroupper): Likewise.
   7289 	(*sibcall_value_1_rex64_vzeroupper): Likewise.
   7290 
   7291 2010-11-02  Ian Lance Taylor  <iant (a] google.com>
   7292 
   7293 	PR lto/46273
   7294 	* config.gcc: Revert last patch: set lto_binary_reader.
   7295 
   7296 2010-11-02  Richard Guenther  <rguenther (a] suse.de>
   7297 
   7298 	PR tree-optimization/46149
   7299 	* tree-ssa-structalias.c (get_constraint_fop_1): Properly handle
   7300 	non-indirect MEM_REF variants.
   7301 
   7302 2010-11-02  Richard Guenther  <rguenther (a] suse.de>
   7303 
   7304 	PR tree-optimization/46216
   7305 	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
   7306 	Check if we can propagate from a POINTER_PLUS_EXPR before doing so.
   7307 
   7308 2010-11-02  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   7309 
   7310 	* configure.ac (*-*-irix6*): Disable set_have_as_tls.
   7311 	(*-*-osf*): Likewise.
   7312 	* configure: Regenerate.
   7313 
   7314 2010-11-02  H.J. Lu  <hongjiu.lu (a] intel.com>
   7315 
   7316 	* config/i386/driver-i386.c (host_detect_local_cpu): Updated
   7317 	for Intel Core 2 and Core i7.
   7318 
   7319 2010-11-02  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   7320 
   7321 	Model decoder of Core 2/i7 for multipass scheduling.
   7322 
   7323 	* config/i386/i386-protos.h (struct ix86_first_cycle_multipass_data_):
   7324 	New type to hold target-specific data for multipass scheduling.
   7325 	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
   7326 	* config/i386/i386.c (ia32_multipass_dfa_lookahead): Update for
   7327 	Core 2/i7.
   7328 	(core2i7_secondary_decoder_max_insn_size,)
   7329 	(core2i7_secondary_ifetch_block_size, core2i7_ifetch_block_max_insns):
   7330 	New static variables.
   7331 	([const_]ix86_first_cycle_multipass_data_t): New typedefs.
   7332 	([_]ix86_first_cycle_multipass_data): New static variable.
   7333 	(core2i7_first_cycle_multipass_init, core2i7_dfa_poast_advance_cycle):
   7334 	Implement targetm.sched hooks.
   7335 	(core2i7_first_cycle_multipass_filter_ready_try): New static subroutine
   7336 	of ...
   7337 	(core2i7_first_cycle_multipass_{begin, issue, backtrack, end, fini}):
   7338 	Implement new targetm.sched hooks.
   7339 	(ix86_sched_init_global, TARGET_SCHED_INIT_GLOBAL): Define
   7340 	targetm.sched hook to install multipass scheduling hooks on demand.
   7341 
   7342 	* doc/tm.texi.in: Document new targetm.sched hooks.
   7343 	* doc/tm.texi: Regenerate.
   7344 
   7345 	* haifa-sched.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
   7346 	(first_cycle_multipass_data_t): New typedef.
   7347 	(struct choice_entry: target_data): New field.
   7348 	(max_issue): Add first_cycle_insn_p parameter.  Call new target hooks
   7349 	to allow target model restrictions not represented in DFA.
   7350 	(choose_ready, schedule_block): Update.
   7351 	(sched_extend_ready_list, sched_finish_ready_list): Call new target
   7352 	hooks to initialize target-specific data for multipass scheduling.
   7353 	* sched-int.h (max_issue): Update declaration.
   7354 	* sel-sched.c (choose_best_insn): Update.
   7355 	* target.def (first_cycle_multipass_{begin, issue, backtrack},)
   7356 	(first_cycle_multipass_{init, fini}): Define and document new
   7357 	targetm.sched hooks.
   7358 
   7359 2010-11-02  Richard Guenther  <rguenther (a] suse.de>
   7360 
   7361 	PR tree-optimization/46184
   7362 	* tree-vect-loop.c (vectorizable_reduction): Try to obtain the
   7363 	input vector type from the reduction operand as well.
   7364 
   7365 2010-11-02  Richard Guenther  <rguenther (a] suse.de>
   7366 
   7367 	PR tree-optimization/46177
   7368 	* tree-loop-distribution.c (prop_phis): Use
   7369 	mark_virtual_phi_result_for_renaming.
   7370 
   7371 2010-11-02  Martin Jambor  <mjambor (a] suse.cz>
   7372 
   7373 	PR middle-end/46120
   7374 	* tree.c (get_binfo_at_offset): Bail out on artificial
   7375 	fields.  Identify primary bases according to their offsets.
   7376 
   7377 2010-11-02  Martin Jambor  <mjambor (a] suse.cz>
   7378 
   7379 	PR tree-optimization/45875
   7380 	* gimple-fold.c (get_first_base_binfo_with_virtuals): Removed.
   7381 	(gimple_get_relevant_ref_binfo): Detect primary bases according to
   7382 	their field offset.
   7383 
   7384 2010-11-02  Ian Lance Taylor  <iant (a] google.com>
   7385 
   7386 	* doc/install.texi (Configuration): Note in two places that Java
   7387 	is not enabled by default.
   7388 
   7389 2010-11-02  Ian Lance Taylor  <iant (a] google.com>
   7390 
   7391 	* doc/install.texi (Prerequisites): Remove libelf paragraphs.
   7392 	(Configuration): Mention --disable-lto.  Remove --with-libelf
   7393 	paragraph.
   7394 
   7395 2010-11-02  Ian Lance Taylor  <iant (a] google.com>
   7396 
   7397 	* configure.ac: Remove elf_getshdrstrndx test.  Don't substitute
   7398 	LTO_BINARY_READER or LTO_USE_LIBELF.  Remove LIBELFLIBS and
   7399 	LIBELFINC.  Remove HAVE_libelf.
   7400 	* config.gcc: Don't set lto_binary_reader.
   7401 	* Makefile.in (LIBELFLIBS, LIBELFINC): Remove variables.
   7402 	(LTO_BINARY_READER, LTO_USE_LIBELF): Remove variables.
   7403 	(LIBS): Remove $(LIBELFLIBS).
   7404 	(INCLUDES): Remove $(LIBELFINC).
   7405 	* configure: Rebuild.
   7406 	* config.in: Rebuild.
   7407 
   7408 2010-11-02  Nathan Froyd  <froydnj (a] codesourcery.com>
   7409 
   7410 	* config/microblaze/microblaze-protos.h (function_arg): Delete.
   7411 	(function_arg_advance): Delete.
   7412 	* config/microblaze/microblaze.h (FUNCTION_ARG_ADVANCE): Delete.
   7413 	(FUNCTION_ARG): Delete.
   7414 	* config/microblaze/microblaze.c (function_arg_advance): Rename to...
   7415 	(microblaze_function_arg_advance): ...this.  Make static.  Take a
   7416 	const_tree and a bool.
   7417 	(function-arg): Rename to...
   7418 	(microblaze_function_arg): ...this.  Make static.  Take a const_tree
   7419 	and a bool.
   7420 	(microblaze_expand_prologue): Call targetm.calls.function_arg and
   7421 	targetm.calls.function_arg_advance.
   7422 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   7423 
   7424 2010-11-02  Iain Sandoe  <iains (a] gcc.gnu.org>
   7425 
   7426 	Merge from FSF "apple/trunk" branch.
   7427 
   7428 	* config/rs6000/darwin.opt (mdynamic-no-pic): move from here ...
   7429 	* config/darwin.opt: .. to here.
   7430 	(matt-stubs): New option.
   7431 	* config/i386/darwin.opt: Delete.
   7432 	* config/i386/i386.h (MACHOPIC_ATT_STUB): New.
   7433 	(MACHO_DYNAMIC_NO_PIC_P): New.
   7434 	(MACHOPIC_INDIRECT): New.
   7435 	(MACHOPIC_PURE): New.
   7436 	* config/i386/darwin.h (DARWIN_X86) Define to 1.
   7437 	(MACHOPIC_ATT_STUB): New.
   7438 	(CC1_SPEC): Do not remove mdynamic-no-pic.
   7439 	Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
   7440 	UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
   7441 	(FUNCTION_PROFILER): Correct over-length line.
   7442 	(SUBTARGET_OVERRIDE_OPTIONS): New.
   7443 	(MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
   7444 	* config/i386/i386.c (config/i386/i386.c): Darwin has no PLT.
   7445 	(legitimate_constant_p): Handle mdynamic-no-pic.
   7446 	(ix86_legitimate_address_p): Likewise.
   7447 	(ix86_legitimize_address): Likewise.
   7448 	(ix86_expand_move): Likewise.
   7449 	(machopic_output_stub): Update for ATT-style stubs and
   7450 	mdynamic-no-pic.
   7451 	* config/darwin-protos.h (machopic_symbol_defined_p): New.
   7452 	* config/rs6000/darwin.h (DARWIN_PPC): Define to 1.
   7453 	TARGET_DYNAMIC_NO_PIC: Remove.
   7454 	Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
   7455 	UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
   7456 	* config/rs6000/rs6000.c (darwin_rs6000_override_options):
   7457 	Remove handling of mdynamic-no-pic.
   7458 	* config/darwin.c (HAVE_lo_sum, gen_macho_high, gen_macho_low):
   7459 	Define if required.
   7460 	(machopic_symbol_defined_p): Do not try to use current_function_decl
   7461 	when generating _get_pc thunks within stubs.
   7462 	(machopic_indirect_data_reference): Rework for direct conditionals
   7463 	rather than #ifdefs, add x86 mdynamic-no-pic
   7464 	(machopic_legitimize_pic_address): Update to use HAVE_lo_sum with a
   7465 	defined value.
   7466 	(darwin_override_options): Handle mdynamic-no-pic here.
   7467 	* config/darwin-sections.def (machopic_lazy_symbol_ptr2_section): New.
   7468 	(machopic_lazy_symbol_ptr3_section): New.
   7469 	(machopic_picsymbol_stub2_section): New.
   7470 	(machopic_picsymbol_stub3_section): New.
   7471 	* config/darwin.h (DARWIN_X86, DARWIN_PPC): Define to 0.
   7472 	(MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
   7473 	(HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
   7474 	Moved common definition from x86 and rs6000.
   7475 	(MACHO_DYNAMIC_NO_PIC_P): Override value.
   7476 	(MACHOPIC_INDIRECT): Likewise.
   7477 	(MACHOPIC_PURE): Likewise.
   7478 	* config.gcc (x86-darwin-*): Remove darwin.opt.
   7479 
   7480 2010-11-02  Jakub Jelinek  <jakub (a] redhat.com>
   7481 
   7482 	PR debug/46255
   7483 	* tree-cfg.c (gimple_flow_call_edges_add): Use gsi_last_nondebug_bb
   7484 	instead of gsi_last_bb.
   7485 
   7486 2010-11-02  Bernd Schmidt  <bernds (a] codesourcery.com>
   7487 	    Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   7488 
   7489 	* config/i386/i386.c (cpu_names): Add "corei7".
   7490 	* config/i386/i386.h (enum target_cpu_default): Add entry for Core i7.
   7491 
   7492 2010-11-02  Bernd Schmidt  <bernds (a] codesourcery.com>
   7493 	    Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   7494 
   7495 	Tune alignment for Intel Core i7
   7496 
   7497 	* config/i386.h (TARGET_COREI7{_32,_64,}): New macros.
   7498 	(enum processor_type): Update comment.  Add entries for Core i7.
   7499 	* config/i386-c.c (ix86_target_macros_internal): Update.
   7500 	* config/i386.c (m_COREI7{_32,_64}): New macros.
   7501 	(m_GENERIC32, m_GENERIC64): Use generic tuning for Core i7.
   7502 	(processor_target_table): Tune alignment for Core i7.
   7503 	(ix86_option_override_internal): Use PROCESSOR_COREI7_*.
   7504 
   7505 	* doc/invoke.texi: Document "corei7" option value.
   7506 
   7507 2010-11-02  Bernd Schmidt  <bernds (a] codesourcery.com>
   7508 	    Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   7509 	    H.J. Lu  <hjl.tools (a] gmail.com>
   7510 
   7511 	Basic support for Intel Core i7
   7512 
   7513 	* i386.c (ix86_option_override_internal): Add entry for corei7, use
   7514 	generic tuning.  Use generic32 when compiling for 32-bit ABI.
   7515 
   7516 2010-11-02  Iain Sandoe  <iains (a] gcc.gnu.org>
   7517 
   7518 	* config/darwin.c (darwin_asm_named_section): Check for __DWARF
   7519 	sections and call darwin_asm_dwarf_section() to handle them.
   7520 	(darwin_asm_dwarf_section): New.
   7521 	(darwin_file_start): Remove code emitting dwarf section symbols.
   7522 
   7523 2010-11-02  Chung-Lin Tang  <cltang (a] codesourcery.com>
   7524 
   7525 	* Makefile.in (LIBGCC2_CFLAGS): Add -fno-stack-protector, to
   7526 	explicitly disable stack protection when building libgcc.
   7527 	(CRTSTUFF_CFLAGS): Same, for crtbegin/end.
   7528 
   7529 2010-11-01  Jason Merrill  <jason (a] redhat.com>
   7530 
   7531 	* fold-const.c (fold_indirect_ref_1): Handle folding
   7532 	POINTER_PLUS_EXPR to ARRAY_REF.
   7533 
   7534 2010-11-01  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   7535 
   7536 	* config/sh/sh.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
   7537 	(sh_delegitimize_address): New function.
   7538 
   7539 2010-11-01  Joseph Myers  <joseph (a] codesourcery.com>
   7540 
   7541 	* config/alpha/alpha.h (WORD_SWITCH_TAKES_ARG): Remove.
   7542 	* config/cris/cris.h (WORD_SWITCH_TAKES_ARG): Remove.
   7543 	(CC1_SPEC): Don't handle -target.
   7544 	* config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove single-argument
   7545 	options.
   7546 	* config/darwin.opt (Zallowable_client, Zbundle_loader,
   7547 	Zdylib_file, Zexported_symbols_list, Zfn_seg_addr_table_filename,
   7548 	Zimage_base, Zinit, Zinstall_name, Zmultiply_defined,
   7549 	Zmultiplydefinedunused, Zseg_addr_table, Zsegs_read_only_addr,
   7550 	Zsegs_read_write_addr, Zumbrella, Zunexported_symbols_list,
   7551 	Zweak_reference_mismatches, client_name, compatibility_version,
   7552 	current_version, dylinker_install_name, pagezero_size,
   7553 	read_only_relocs, seg1addr, segs_read_only_addr,
   7554 	segs_read_write_addr, sub_library, sub_umbrella): New.
   7555 	* config/freebsd-spec.h (BSD_WORD_SWITCH_TAKES_ARG): Remove.
   7556 	* config/freebsd.h (WORD_SWITCH_TAKES_ARG): Remove.
   7557 	* config/freebsd.opt: New.
   7558 	* config/interix.h (WORD_SWITCH_TAKES_ARG): Remove.
   7559 	* config/mips/iris6.h (WORD_SWITCH_TAKES_ARG): Remove.
   7560 	* config/rpath.opt: New.
   7561 	* config.gcc (*-*-freebsd*): Use rpath.opt and freebsd.opt.
   7562 	(alpha*-dec-osf5.1*, i[34567]86-*-interix3*, mips-sgi-irix6.5*):
   7563 	Use rpath.opt.
   7564 
   7565 2010-11-01  Joseph Myers  <joseph (a] codesourcery.com>
   7566 
   7567 	* common.opt (R, T, Tbss, Tdata, Ttext, h, z): New.
   7568 	* defaults.h (DEFAULT_SWITCH_TAKES_ARG, SWITCH_TAKES_ARG): Remove.
   7569 	(DEFAULT_WORD_SWITCH_TAKES_ARG): Define to 0.
   7570 	* doc/tm.texi.in (SWITCH_TAKES_ARG): Remove.
   7571 	(WORD_SWITCH_TAKES_ARG): Don't refer to SWITCH_TAKES_ARG.
   7572 	Document that options in .opt files do not need to be included.
   7573 	* doc/tm.texi: Regenerate.
   7574 	* gcc.c (LINK_COMMAND_SPEC): Don't include %{x}.
   7575 	* opts-common.c: Update comment on tm.h include.
   7576 	(decode_cmdline_option): Don't use SWITCH_TAKES_ARG.
   7577 	* system.h (SWITCH_TAKES_ARG): Poison.
   7578 	* config/alpha/alpha.h (SWITCH_TAKES_ARG): Remove.
   7579 	* config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove options included
   7580 	in darwin.opt.
   7581 	(LINK_COMMAND_SPEC_A): Don't include %{x}.
   7582 	* config/fr30/fr30.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
   7583 	* config/freebsd-spec.h (FBSD_SWITCH_TAKES_ARG): Remove.
   7584 	* config/freebsd.h (SWITCH_TAKES_ARG): Remove.
   7585 	* config/frv/frv.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
   7586 	* config/i386/djgpp.h (LINK_COMMAND_SPEC): Don't include %{x}.
   7587 	* config/ia64/ia64.h (SWITCH_TAKES_ARG): Remove.
   7588 	* config/interix.h (WORD_SWITCH_TAKES_ARG): Don't handle -T options.
   7589 	* config/lm32/lm32.h (SWITCH_TAKES_ARG): Remove.
   7590 	* config/m32r/m32r.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
   7591 	* config/microblaze/microblaze.h (SWITCH_TAKES_ARG): Remove.
   7592 	* config/mips/mips.h (SWITCH_TAKES_ARG): Remove.
   7593 	* config/mips/netbsd.h (SWITCH_TAKES_ARG): Remove.
   7594 	* config/mips/vxworks.h (SWITCH_TAKES_ARG): Remove.
   7595 	* config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove.
   7596 	* config/netbsd-elf.h (SWITCH_TAKES_ARG): Remove.
   7597 	* config/openbsd.h (SWITCH_TAKES_ARG): Remove.
   7598 	* config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Remove.
   7599 	* config/score/score.h (SWITCH_TAKES_ARG): Remove.
   7600 	* config/sol2.h (SWITCH_TAKES_ARG): Remove.
   7601 	* config/sparc/sp-elf.h (SWITCH_TAKES_ARG): Remove.
   7602 	* config/sparc/sp64-elf.h (SWITCH_TAKES_ARG): Remove.
   7603 	* config/sparc/sparc.h (ASM_SPEC): Don't include %{R}.
   7604 	* config/svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
   7605 
   7606 2010-11-01  Paul Koning  <ni1d (a] arrl.net>
   7607 
   7608 	* config/pdp11/pdp11.md: Use iterators.
   7609 	(addqi3, subqi3, iorsi3, xorsi3): Delete.
   7610 
   7611 2010-11-01  Steve Ellcey  <sje (a] cup.hp.com>
   7612 
   7613 	* defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): Move under ifdef
   7614 	GCC_INSN_FLAGS_H.
   7615 	* libgcov.c (__gcov_indirect_call_profiler): Set
   7616 	VTABLE_USES_DESCRIPTORS if TARGET_VTABLE_USES_DESCRIPTORS is
   7617 	defined and use in place of TARGET_VTABLE_USES_DESCRIPTORS.
   7618 
   7619 2010-11-01  Nathan Froyd  <froydnj (a] codesourcery.com>
   7620 
   7621 	PR tree-optimization/46259
   7622 
   7623 	Revert:
   7624 	2010-10-30  Nathan Froyd  <froydnj (a] codesourcery.com>
   7625 	* tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
   7626 	build_vector_from_val.
   7627 
   7628 2010-11-01  DJ Delorie  <dj (a] redhat.com>
   7629 
   7630 	* config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Add define for RX610
   7631 	as well as an assertion.
   7632 
   7633 2010-11-01  Paul Koning  <ni1d (a] arrl.net>
   7634 
   7635 	* config/pdp11/pdp11.c (pdp11_return_in_memory): Return vector and
   7636 	complex modes in memory.
   7637 
   7638 2010-11-01  Nathan Froyd  <froydnj (a] codesourcery.com>
   7639 
   7640 	* tree.c (build_vector_from_val): Use useless_type_conversion_p.
   7641 
   7642 2010-11-01  Jakub Jelinek  <jakub (a] redhat.com>
   7643 
   7644 	PR target/45250
   7645 	* var-tracking.c (cfa_base_rtx): Move definition earlier in the file.
   7646 	(cfa_base_offset): New variable.
   7647 	(compute_cfa_pointer): Use cfa_base_rtx and cfa_base_offset.
   7648 	(adjust_mems): Don't do any sp or hfp replacements if cfa_base_rtx
   7649 	is NULL.
   7650 	(vt_init_cfa_base): Initialize cfa_base_offset.
   7651 
   7652 2010-11-01  Alan Modra  <amodra (a] gmail.com>
   7653 
   7654 	PR target/46030
   7655 	* config/rs6000/rs6000.c (struct rs6000_stack): Add reload_completed
   7656 	and savres_strategy.
   7657 	(stack_info): New file scope var.
   7658 	(rs6000_init_machine_status): Init stack_info.
   7659 	(SAVRES_INLINE_FPRS, SAVRES_INLINE_GPRS,
   7660 	SAVRES_NOINLINE_GPRS_SAVES_LR, SAVRES_NOINLINE_FPRS_SAVES_LR,
   7661 	SAVRES_NOINLINE_FPRS_DOESNT_RESTORE_LR): Replace with..
   7662 	(SAVE_INLINE_FPRS, SAVE_INLINE_GPRS, REST_INLINE_FPRS, REST_INLINE_GPRS,
   7663 	SAVE_NOINLINE_GPRS_SAVES_LR, SAVE_NOINLINE_FPRS_SAVES_LR
   7664 	REST_NOINLINE_FPRS_DOESNT_RESTORE_LR): ..this.  Update all refs.
   7665 	(rs6000_savres_strategy): Rewrite.
   7666 	(rs6000_stack_info): Use "stack_info" in place of local "info".
   7667 	Return cached stack info when reload_completed unless ENABLE_CHECKING
   7668 	in which case confirm newly calculated stack info matches old info.
   7669 	Delay calculation of lr_save_p, set it for out of line gp save/restore
   7670 	as well as fp.  Call rs6000_savres_strategy from here..
   7671 	(rs6000_emit_prologue, rs6000_emit_epilogue): ..rather than here.
   7672 	(rs6000_output_function_prologue): Use info->savres_strategy to
   7673 	determine whether fp save/restore externs need to be emitted.
   7674 
   7675 2010-10-31  Jason Merrill  <jason (a] redhat.com>
   7676 
   7677 	* tree.h (EXPR_LOC_OR_HERE): New macro.
   7678 	* builtins.c (c_strlen): Use it.
   7679 	* c-decl.c (build_enumerator): Likewise.
   7680 	* gimplify.c (internal_get_tmp_var): Likewise.
   7681 	(shortcut_cond_expr): Likewise.
   7682 	(gimplify_one_sizepos): Likewise.
   7683 
   7684 2010-10-31  Richard Henderson  <rth (a] redhat.com>
   7685 
   7686 	* config/i386/cygming.h (TARGET_SEH): New.
   7687 	(MAX_STACK_ALIGNMENT): New.  Disable alignment for SEH.
   7688 	(TARGET_ASM_UNWIND_EMIT, TARGET_ASM_UNWIND_EMIT_BEFORE_INSN,
   7689 	TARGET_ASM_FUNCTION_END_PROLOGUE, SUBTARGET_ASM_UNWIND_INIT): New.
   7690 	(TARGET_OS_CPP_BUILTINS): Define __SEH__ as needed.
   7691 	(ASM_DECLARE_FUNCTION_NAME): Use i386_pe_start_function.
   7692 	(ASM_DECLARE_FUNCTION_SIZE): New.
   7693 	* config/i386/i386-protos.h: Update.
   7694 	* config/i386/i386.c (ix86_option_override_internal): Enable
   7695 	flag_unwind_tables with flag_asynchronous_unwind_tables immediately;
   7696 	restrict -mpreferred-stack-boundary for SEH; enable flag_fentry.
   7697 	(ix86_asm_output_function_label): Use SUBTARGET_ASM_UNWIND_INIT.
   7698 	(ix86_compute_frame_layout): For SEH, disable
   7699 	use_fast_prologue_epilogue, move frame pointer to the end of
   7700 	the frame.  Initialize hfp_save_offset.
   7701 	(ix86_expand_prologue): Honor hfp_save_offset.  Emit blockage
   7702 	at end of prologue for SEH.
   7703 	(ix86_expand_epilogue): For SEH, use pops, emit a nop if needed,
   7704 	emit blockage at beginning of epilogue.
   7705 	(ix86_expand_binary_operator): After reload, emit LEA if needed.
   7706 	(ix86_output_call_insn): New.
   7707 	* config/i386/i386.h (TARGET_SEH): New.
   7708 	(struct machine_function): Add member seh.
   7709 	* config/i386/i386.md (all call patterns): Use ix86_output_call_insn.
   7710 	* config/i386/winnt.c (struct seh_frame_state): New.
   7711 	(i386_pe_seh_init, i386_pe_seh_end_prologue, i386_pe_seh_fini,
   7712 	seh_emit_push, seh_emit_save, seh_emit_stackalloc, seh_cfa_adjust_cfa,
   7713 	seh_cfa_offset, seh_frame_related_expr, i386_pe_seh_unwind_emit,
   7714 	i386_pe_start_function, i386_pe_end_function): New.
   7715 
   7716 	* dwarf2out.c (dwarf2out_frame_debug_expr): Accept CFA as well
   7717 	as CFA_STORE in rules 12 and 13.
   7718 
   7719 2010-10-31  Uros Bizjak  <ubizjak (a] gmail.com>
   7720 
   7721 	PR tree-optimization/46142
   7722 	* tree-vect-stmts.c (vectorizable_call): Enlarge dt array to
   7723 	accommodate third function argument.
   7724 
   7725 2010-10-30  Nathan Froyd  <froydnj (a] codesourcery.com>
   7726 
   7727 	* tree-ssa-loop-im.c (rewrite_reciprocal): Use build_one_cst.
   7728 
   7729 2010-10-30  Nathan Froyd  <froydnj (a] codesourcery.com>
   7730 
   7731 	* fold-const.c (build_zero_vector): Use build_vector_from_val.
   7732 	* tree-vect-loop.c (get_initial_def_for_induction): Likewise.
   7733 	(get_initial_def_for_reduction): Likewise.
   7734 	* tree-vect-slp.c (vect_get_constant_vectors): Likewise.
   7735 	* tree-vect-stmts.c (vect_get_vec_def_for_operand): Likewise.
   7736 	* tree.c (build_one_cst): Likewise.
   7737 	(build_vector_from_val): Use types_compatible_p for assert.
   7738 
   7739 2010-10-30  Nathan Froyd  <froydnj (a] codesourcery.com>
   7740 
   7741 	* emit-rtl.c (mark_used_flags): New function.
   7742 	(set_used_flags, reset_used_flags): Call it.
   7743 
   7744 2010-10-30  Uros Bizjak  <ubizjak (a] gmail.com>
   7745 
   7746 	PR middle-end/44569
   7747 	* lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements,
   7748 	determine the mode of a subreg by GET_MODE_INNER of CONCATN RTX.
   7749 
   7750 2010-10-30  H.J. Lu  <hongjiu.lu (a] intel.com>
   7751 
   7752 	PR target/46195
   7753 	* config/i386/i386.c (contains_aligned_value_p): Renamed to ...
   7754 	(ix86_compat_aligned_value_p): This.
   7755 	(ix86_old_function_arg_boundary): Renamed to ...
   7756 	(ix86_compat_function_arg_boundary): This.  Updated.
   7757 	(ix86_contains_aligned_value_p): New.
   7758 	(ix86_function_arg_boundary): Align long double parameters on
   7759 	stack to 4byte in 32bit.
   7760 
   7761 2010-10-30  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   7762 
   7763 	Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
   7764 	* c-parser.c (c_parser_objc_at_property_declaration): Removed
   7765 	parsing of RID_COPIES and RID_IVAR.  Updated call to
   7766 	objc_add_property_declaration.
   7767 	* c-typecheck.c (build_component_ref): Call
   7768 	objc_maybe_build_component_ref instead of objc_build_setter_call.
   7769 	Use objc_is_property_ref to improve Objective-C checks.
   7770 	(cp_build_modify_expr): Call objc_maybe_build_modify_expr instead
   7771 	of objc_build_getter_call.
   7772 
   7773 2010-10-29  Paul Koning  <ni1d (a] arrl.net>
   7774 
   7775 	* doc/tm.texi.in (REGNO_OK_FOR_BASE_P, REGNO_MODE_OK_FOR_BASE_P,
   7776 	REGNO_MODE_OK_FOR_REG_BASE, REGNO_MODE_CODE_OK_FOR_BASE_P,
   7777 	REGNO_OK_FOR_INDEX_P): Delete non-strict variant.
   7778 	(REG_OK_STRICT): Move description.
   7779 
   7780 2010-10-29  Paul Koning  <ni1d (a] arrl.net>
   7781 
   7782 	* config/pdp11/pdp11.md (*and<mode>): Rename to *bic<mode>.
   7783 
   7784 2010-10-29  Paul Koning  <ni1d (a] arrl.net>
   7785 
   7786 	* config/pdp11/pdp11.md (divhi3, modhi3, divmodhi3): Fix ICE.
   7787 
   7788 2010-10-29  Paul Koning  <ni1d (a] arrl.net>
   7789 
   7790 	PR/41822
   7791 	* config/pdp11/pdp11.md (andhi3, andqi3): Fix wrong code error.
   7792 
   7793 2010-10-29  Richard Henderson  <rth (a] redhat.com>
   7794 
   7795 	PR rtl-opt/46226
   7796 	* stmt.c (expand_asm_operands): Call do_pending_stack_adjust
   7797 	for asm goto.
   7798 
   7799 2010-10-29  Paul Koning  <ni1d (a] arrl.net>
   7800 
   7801 	* config/pdp11/pdp11.c (output_move_quad): Fix ICE for CPU
   7802 	register to register move.
   7803 
   7804 2010-10-29  Paul Koning  <ni1d (a] arrl.net>
   7805 
   7806 	* config/pdp11/pdp11.c (print_operand_address): Correct handling
   7807 	of integer constant addresses, delete vax-only logic.
   7808 
   7809 2010-10-11  Hariharan Sandanagobalane  <hariharan (a] picochip.com>
   7810 
   7811 	* config/picochip/picochip.c (picochip_is_short_branch): Simplify
   7812 	a conditional expression.
   7813 
   7814 2010-10-29  Paul Koning  <ni1d (a] arrl.net>
   7815 
   7816 	* config/pdp11/pdp11.c (pdp11_trampoline_init): Correct
   7817 	instruction encoding.
   7818 
   7819 2010-10-29  Artjoms Sinkarovs  <artyom.shinakroff (a] gmail.com>
   7820 	    Andrew Pinski  <pinskia (a] gmail.com>
   7821 
   7822 	* tree.h (build_vector_from_val): Declare.
   7823 	* tree.c (build_vector_from_val): New function.
   7824 	* c-typeck.c (build_binary_op): Handle vector shifting.
   7825 	* doc/extend.texi: Description of the vector shifting operation.
   7826 
   7827 2010-10-29  Paul Koning  <pkoning (a] equallogic.com>
   7828 
   7829 	* config/pdp11/pdp11-protos.h (pdp11_cannot_change_mode_class,
   7830 	pdp11_secondary_memory_needed): Declare.
   7831 	* config/pdp11/predicates.md (float_operand): New predicate.
   7832 	* config/pdp11/pdp11.md (RETVAL_REGNUM): New constant.
   7833 	(cbranchdf4, movdf): Change predicate.
   7834 	(movsf): Handle FPU register case.
   7835 	(truncdfsf2, extendsfdf2): Add FPU register case.
   7836 	* config/pdp11/pdp11.c (TARGET_SECONDARY_RELOAD,
   7837 	TARGET_REGISTER_MOVE_COST, TARGET_PREFERRED_RELOAD_CLASS,
   7838 	TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
   7839 	(pdp11_register_move_cost): Update cost matrix.
   7840 	(pdp11_cannot_change_mode_class, pdp11_preferred_reload_class,
   7841 	pdp11_preferred_output_reload_class, pdp11_secondary_reload,
   7842 	pdp11_secondary_memory_needed): New function.
   7843 	(pdp11_return_in_memory): Add other float types.
   7844 	* config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Add other float types.
   7845 	(SECONDARY_MEMORY_NEEDED, CANNOT_CHANGE_MODE_CLASS): Define.
   7846 	(PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS,
   7847 	REGISTER_MOVE_COST): Delete.
   7848 	(BASE_RETURN_VALUE_REG): Add other float types.
   7849 
   7850 2010-10-29  Nick Clifton  <nickc (a] redhat.com>
   7851 
   7852 	* doc/invoke.texi: Document -mam34 and -mtune options.
   7853 	* config/mn10300/mn10300.c (mn10300_tune_string): New variable.
   7854 	(mn10300_tune_cpu): New variable.
   7855 	(mn10300_handle_option): Handle -mam34 and -mtune options.
   7856 	(mn10300_option_override): Convert tune string into tune cpu variable.
   7857 	(mn10300_legitimate_constant_p): Delete unused local variable.
   7858 	(is_load_insn): New function.
   7859 	(is_store_insn): New function.
   7860 	(mn10300_adjust_schedule_cost): New function.
   7861 	(TARGET_SCHED_ADJUST_COST): Define.
   7862 	* config/mn10300/mn10300.opt (mam34): New option.
   7863 	(mtune): New option.
   7864 	* config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add AM34 support.
   7865 	(enum processor_type): Add AM34.
   7866 	(TARGET_AM34): Define.
   7867 	* config/mn10300/mn10300.md (attr cpu): Add am34.
   7868 	Add pipeline description.
   7869 	(movqi, movhi, movsi, movsf, movdf, movdi): Fix predicates.
   7870 	Remove unneeded alternatives.  Add timing attribute.
   7871 	(pop_pic_reg, am33_addsi3, mn10300_addsi3, am33_subsi3,
   7872 	mn10300_subsi3, mulsidi3, umulsidi3, am33_mulsi3,
   7873 	mn10300_mulsi3, udivmodsi4_am33, divmodsi4, am33_andsi3,
   7874 	mn10300_andsi3, am33_iorsi3, mn10300_iorsi3, am33_xorsi3,
   7875 	mn10300_xorsi3, byte_clear, byte_set, bit_clear1, bit_clear2,
   7876 	bit_set, am33_iorqi3, mn10300_iorqi3, test_byte_bitfield,
   7877 	bit_test, subreg_bit_test, cmpsi, am33_cmpsf, am33_subsi3,
   7878 	float_conditional_branch, jump, indirect_jump, tablejump,
   7879 	call_internal, call_value_internal, zero_extendqisi2_am33,
   7880 	zero_extendqisi2_mn10300, zero_extendhisi2_am33,
   7881 	zero_extendhisi2_mn10300, extendqisi2_am33, extendqisi2_mn10300,
   7882 	extendhisi2_am33, extendhisi2_mn10300, am33_ashlsi3,
   7883 	mn10300_ashlsi3, am33_lshrsi3, mn10300_lshrsi3, am33_ashrisi3,
   7884 	mn10300_ashrsi3, abssf2_am33_2, negsf2_am33_2, rsqrtsf2,
   7885 	addsf3_internal, subsf3_internal, mulsf3_internal, divsf3,
   7886 	fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4, return_internal,
   7887 	return_internal_regs, store_movm, return, call_next_insn):
   7888 	Add timing attribute.
   7889 	(am33_subsi3): Add missing clobber of CC_REG.
   7890 	(am33_andsi3, mn10300_andsi3): Fix compile time warnings.
   7891 	(udivmodsi4, udivmodsi4_insn, divmodsi4, test_byte_bitfield,
   7892 	subreg_bit_test, zero_extendqisi2, zero_extendhisi2,
   7893 	extendqisi2): Fix predicates.
   7894 	(call_internal, call_internal_value): Separate alternatives.
   7895 	* config/mn10300/t-mn10300: Add AM34 multilib.
   7896 
   7897 2010-10-29  Paolo Bonzini  <bonzini (a] gnu.org>
   7898 
   7899 	* config/sh/sh.c (sh_promote_function_mode): Use
   7900 	default_promote_function_mode if !sh_promote_prototypes.
   7901 
   7902 2010-10-28  Paolo Bonzini  <bonzini (a] gnu.org>
   7903 
   7904 	* recog.c (split_all_insns): Remove dead code.
   7905 
   7906 2010-10-28  Nathan Froyd  <froydnj (a] codesourcery.com>
   7907 
   7908 	* score.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   7909 
   7910 2010-10-28  Nathan Froyd  <froydnj (a] codesourcery.com>
   7911 
   7912 	* config/cris/cris.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
   7913 	(FUNCTION_ARG_ADVANCE): Delete.
   7914 	* config/cris/cris.c (cris_function_arg_1, cris_function_arg): New
   7915 	functions.
   7916 	(cris_function_incoming_arg, cris_function_arg_advance): New functions.
   7917 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
   7918 	(TARGET_FUNCTION_ARG_ADVANCE): Define.
   7919 
   7920 2010-10-28  Nathan Froyd  <froydnj (a] codesourcery.com>
   7921 
   7922 	* config/lm32/lm32-protos.h (lm32_function_arg): Delete.
   7923 	* config/lm32/lm32.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   7924 	* config/mcore/mcore.c (mcore_function_arg): Declare.  Make static.
   7925 	Take a const_tree and a bool.
   7926 	(mcore_function_arg_advance): New function.
   7927 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   7928 
   7929 2010-10-28  Nathan Froyd  <froydnj (a] codesourcery.com>
   7930 
   7931 	* config/mcore/mcore-protos.h (mcore_function_arg): Delete.
   7932 	* config/mcore/mcore.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   7933 	* config/mcore/mcore.c (mcore_function_arg): Declare.  Make static.
   7934 	Take a const_tree and a bool.
   7935 	(mcore_function_arg_advance): New function.
   7936 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   7937 
   7938 2010-10-28  Nathan Froyd  <froydnj (a] codesourcery.com>
   7939 
   7940 	* config/h8300/h8300-protos.h (function_arg): Delete.
   7941 	* config/h8300/h8300.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   7942 	* config/h8300/h8300.c (function_arg): Rename to...
   7943 	(h8300_function_arg): ...this.  Make static.  Take a const_tree and
   7944 	a bool.
   7945 	(h8300_function_arg_advance): New function.
   7946 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   7947 
   7948 2010-10-28  Nathan Froyd  <froydnj (a] codesourcery.com>
   7949 
   7950 	* config/arc/arc.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move code
   7951 	to...
   7952 	* config/arc/arc.c (arc_function_arg): ...here and...
   7953 	(arc_function_arg_advance): ...here.  New functions.
   7954 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   7955 
   7956 2010-10-28  Nathan Froyd  <froydnj (a] codesourcery.com>
   7957 
   7958 	* config/crx/crx-protos.h (crx_function_arg): Delete.
   7959 	(crx_function_arg_advance): Delete.
   7960 	* config/crx/crx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   7961 	* config/crx/crx.c (crx_function_arg): Make static.  Take a
   7962 	const_tree and a bool.
   7963 	(crx_function_arg_advance): Make static.  Take a const_tree and a bool.
   7964 	(enough_regs_for_param): Take a const_tree.
   7965 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   7966 
   7967 2010-10-28  Nathan Froyd  <froydnj (a] codesourcery.com>
   7968 
   7969 	* config/m68hc11/m68hc11-protos.h (m68hc11_function_arg): Delete.
   7970 	(m68hc11_function_arg_advance): Delete.
   7971 	* config/m68hc11/m68hc11.h (FUNCTION_ARG): Delete.
   7972 	(FUNCTION_ARG_ADVANCE): Delete.
   7973 	* config/m68hc11/m68hc11.c (m68hc11_function_arg): Make static.
   7974 	Take a const_tree and a bool.
   7975 	(m68hc11_function_arg_advance): Likewise.
   7976 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   7977 
   7978 2010-10-28  Nathan Froyd  <froydnj (a] codesourcery.com>
   7979 
   7980 	* config/stormy16/stormy16-protos.h (xstormy16_function_arg): Delete.
   7981 	(xstormy16_function_arg_advance): Delete.
   7982 	* config/stormy16/stormy16.h (FUNCTION_ARG): Delete.
   7983 	(FUNCTION_ARG_ADVANCE): Delete.
   7984 	* config/stormy16/stormy16.c (xstormy16_function_arg): Make static.
   7985 	Take a const_tree and a bool.
   7986 	(xstormy16_function_arg_advance): Likewise.  Return void, updating
   7987 	the CUM parameter instead.
   7988 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   7989 
   7990 2010-10-28  Nathan Froyd  <froydnj (a] codesourcery.com>
   7991 
   7992 	* config/moxie/moxie-protos.h (moxie_function_arg): Delete.
   7993 	* config/moxie/moxie.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   7994 	(MOXIE_FUNCTION_ARG_SIZE): Move to...
   7995 	* config/moxie/moxie.c (MOXIE_FUNCTION_ARG_SIZE): ...here.
   7996 	(moxie_function_arg): Make static.  Take a const_tree and a bool.
   7997 	(moxie_function_arg_advance): New function.
   7998 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   7999 
   8000 2010-10-28  Nathan Froyd  <froydnj (a] codesourcery.com>
   8001 
   8002 	* config/mn10300/mn10300-protos.h (function_arg): Delete.
   8003 	* config/mn10300/mn10300.h (FUNCTION_ARG): Delete.
   8004 	(FUNCTION_ARG_ADVANCE): Delete.
   8005 	* config/mn10300/mn10300.c (function_arg): Rename to...
   8006 	(mn10300_function_arg): ...this.  Make static.  Take a const_tree
   8007 	and a bool.
   8008 	(mn10300_function_arg_advance): New function.
   8009 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   8010 
   8011 2010-10-28  Nathan Froyd  <froydnj (a] codesourcery.com>
   8012 
   8013 	* config/iq2000/iq2000-protos.h (function_arg): Delete.
   8014 	(function_arg_advance): Delete.
   8015 	* config/iq2000/iq2000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   8016 	* config/iq2000/iq2000.c (function_arg): Rename to...
   8017 	(iq2000_function_arg): ...this.  Make static.  Take a const_tree and
   8018 	a bool.
   8019 	(function_arg_advance): Rename to...
   8020 	(iq2000_function_arg_advance): ...this.  Make static.  Take a
   8021 	const_tree and a bool.
   8022 	(iq2000_expand_prologue): Call iq2000_function_arg_advance and
   8023 	iq2000_function_arg.
   8024 	(iq2000_pass_by_reference): Call iq2000_function_arg).
   8025 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   8026 
   8027 2010-10-28  Nathan Froyd  <froydnj (a] codesourcery.com>
   8028 
   8029 	* config/fr30/fr30-protos.h (fr30_num_arg_regs): Delete.
   8030 	* config/fr30/fr30.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   8031 	* config/fr30/fr30.c (fr30_num_arg_regs): Make static.  Take a
   8032 	const_tree.
   8033 	(fr30_function_arg): New function.
   8034 	(fr30_function_arg_advance): New function.
   8035 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   8036 
   8037 2010-10-28  Nathan Froyd  <froydnj (a] codesourcery.com>
   8038 
   8039 	* config/frv/frv-protos.h (frv_function_arg): Delete.
   8040 	(frv_function_arg_advance): Delete.
   8041 	* config/frv/frv.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   8042 	* config/frv/frv.c (frv_function_arg): Rename to...
   8043 	(frv_function_arg_1): Make static.  Take const_tree and bool arguments.
   8044 	(frv_function_arg, frv_function_incoming_arg): New functions.
   8045 	(frv_function_arg_advance): Make static.  Take a const_tree and a bool.
   8046 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
   8047 	(TARGET_FUNCTION_ARG_ADVANCE): Define.
   8048 
   8049 2010-10-28  Uros Bizjak  <ubizjak (a] gmail.com>
   8050 
   8051 	PR target/46153
   8052 	* config/i386/sse.md (sse_movhlps_exp): Use destination
   8053 	returned from ix86_fixup_binary_operands to expand insn.
   8054 	(sse_movlhps_exp): Ditto.
   8055 	(sse_loadhps_exp): Ditto.
   8056 	(sse_loadlps_exp): Ditto.
   8057 	(sse2_loadhpd_exp): Ditto.
   8058 	(sse2_loadlpd_exp): Ditto.
   8059 
   8060 2010-10-28  Andrew Stubbs  <ams (a] codesourcery.com>
   8061 
   8062 	* config/arm/arm.c (const_ok_for_arm): Support 0xXY00XY00 pattern
   8063 	constants in thumb2.
   8064 
   8065 2010-10-28  Eric Botcazou  <ebotcazou (a] adacore.com>
   8066 
   8067 	* combine.c (set_nonzero_bits_and_sign_copies): Use unsigned
   8068 	arithmetics in masking operations.
   8069 	(contains_muldiv): Likewise.
   8070 	(try_combine): Likewise.
   8071 	(find_split_point): Likewise.
   8072 	(combine_simplify_rtx): Likewise.
   8073 	(simplify_if_then_else): Likewise.
   8074 	(simplify_set): Likewise.
   8075 	(expand_compound_operation): Likewise.
   8076 	(expand_field_assignment): Likewise.
   8077 	(make_extraction): Likewise.
   8078 	(extract_left_shift): Likewise.
   8079 	(make_compound_operation): Likewise.
   8080 	(force_to_mode): Likewise.
   8081 	(make_field_assignment): Likewise.
   8082 	(reg_nonzero_bits_for_combine): Likewise.
   8083 	(simplify_shift_const_1): Likewise.
   8084 	(simplify_comparison): Likewise.
   8085 
   8086 2010-10-27  Nathan Froyd  <froydnj (a] codesourcery.com>
   8087 
   8088 	* config/ia64/ia64-protos.h (ia64_function_arg): Delete.
   8089 	(ia64_function_arg_advance): Delete.
   8090 	* config/ia64/ia64.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Delete.
   8091 	(FUNCTION_ARG_ADVANCE): Delete.
   8092 	* config/ia64/ia64.c (ia64_function_arg): Rename to...
   8093 	(ia64_function_arg_1): ...this.  Make static.  Take const_tree and
   8094 	bool arguments.
   8095 	(ia64_function_arg, ia64_function_incoming_arg): New functions.
   8096 	(ia64_function_arg_advance): Make static.  Take a const_tree and
   8097 	a bool.
   8098 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
   8099 	(TARGET_FUNCTION_ARG_ADVANCE): Define.
   8100 
   8101 2010-10-27  Steve Ellcey  <sje (a] cup.hp.com>
   8102 
   8103 	* doc/tm.texi.in (TARGET_GET_RAW_RESULT_MODE): New.
   8104 	(TARGET_GET_RAW_ARG_MODE): New.
   8105 	* doc/tm.texi: Regenerate.
   8106 	* target.def (get_raw_result_mode): New.
   8107 	(get_raw_arg_mode): New.
   8108 	* targhooks.c (default_get_reg_raw_mode): New.
   8109 	* targhooks.h (default_get_reg_raw_mode): New.
   8110 	* builtins.c (apply_args_size): Use targetm.calls.get_raw_arg_mode.
   8111 	(apply_result_size): Ditto.
   8112 	* config/ia64/ia64.c (ia64_get_reg_raw_mode): New.
   8113 	(TARGET_GET_RAW_RESULT_MODE): Define.
   8114 	(TARGET_GET_RAW_ARG_MODE): Ditto.
   8115 
   8116 2010-10-27  Eric Botcazou  <ebotcazou (a] adacore.com>
   8117 
   8118 	* config/sparc/sol2-unwind.h (sparc64_fallback_frame_state): Adjust
   8119 	for newer Solaris 10 release.
   8120 	(sparc_fallback_frame_state): Likewise.
   8121 
   8122 2010-10-27  Jason Merrill  <jason (a] redhat.com>
   8123 
   8124 	* gimplify.c (gimplify_decl_expr): Handle anonymous artificial
   8125 	variables sooner.
   8126 
   8127 2010-10-27  Jie Zhang  <jie (a] codesourcery.com>
   8128 	    Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   8129 
   8130 	* haifa-sched.c (ISSUE_POINTS): Remove.
   8131 	(max_issue): Don't issue more than issue_rate instructions.
   8132 
   8133 2010-10-27  Ian Lance Taylor  <iant (a] google.com>
   8134 
   8135 	PR target/46197
   8136 	* config/i386/i386.md (UNSPECV_SPLIT_STACK_RETURN): New.
   8137 	(split_stack_return): Replace UNSPEC_STACK_CHECK with
   8138 	UNSPECV_SPLIT_STACK_RETURN.
   8139 
   8140 2010-10-27  H.J. Lu  <hongjiu.lu (a] intel.com>
   8141 
   8142 	* config/i386/i386-protos.h (init_cumulative_args): Add an int.
   8143 
   8144 	* config/i386/i386.c (block_info): New.
   8145 	(BLOCK_INFO): Likewise.
   8146 	(call_avx256_state): Likewise.
   8147 	(check_avx256_stores): Likewise.
   8148 	(move_or_delete_vzeroupper_2): Likewise.
   8149 	(move_or_delete_vzeroupper_1): Likewise.
   8150 	(move_or_delete_vzeroupper): Likewise.
   8151 	(use_avx256_p): Likewise.
   8152 	(function_pass_avx256_p): Likewise.
   8153 	(flag_opts): Add -mvzeroupper.
   8154 	(ix86_option_override_internal): Turn on MASK_VZEROUPPER by
   8155 	default for TARGET_AVX.  Turn off MASK_VZEROUPPER if TARGET_AVX
   8156 	is disabled.
   8157 	(ix86_function_ok_for_sibcall): Disable sibcall if we need to
   8158 	generate vzeroupper.
   8159 	(init_cumulative_args): Add an int to indicate caller.  Set
   8160 	use_avx256_p, callee_return_avx256_p and caller_use_avx256_p
   8161 	based on return type.
   8162 	(ix86_function_arg): Set use_avx256_p, callee_pass_avx256_p and
   8163 	caller_pass_avx256_p based on argument type.
   8164 	(ix86_expand_epilogue): Emit vzeroupper if 256bit AVX register
   8165 	is used, but not returned by caller.
   8166 	(ix86_expand_call): Emit vzeroupper if 256bit AVX register is used.
   8167 	(ix86_local_alignment): Set use_avx256_p if 256bit AVX register
   8168 	is used.
   8169 	(ix86_minimum_alignment): Likewise.
   8170 	(ix86_expand_special_args_builtin): Set target to
   8171 	GEN_INT (vzeroupper_intrinsic) for CODE_FOR_avx_vzeroupper.
   8172 	(ix86_reorg): Run the vzeroupper optimization if needed.
   8173 
   8174 	* config/i386/i386.h (ix86_args): Add caller.
   8175 	(INIT_CUMULATIVE_ARGS): Updated.
   8176 	(machine_function): Add use_vzeroupper_p, use_avx256_p,
   8177 	caller_pass_avx256_p, caller_return_avx256_p,
   8178 	callee_pass_avx256_p and callee_return_avx256_p.
   8179 
   8180 	* config/i386/i386.opt (-mvzeroupper): New.
   8181 
   8182 	* config/i386/predicates.md (vzeroupper_operation): Removed.
   8183 
   8184 	* config/i386/sse.md (avx_vzeroupper): Removed.
   8185 	(*avx_vzeroupper): Removed.
   8186 	(avx_vzeroupper): New.
   8187 
   8188 	* doc/invoke.texi: Document -mvzeroupper.
   8189 
   8190 2010-10-27  Eric Botcazou  <ebotcazou (a] adacore.com>
   8191 
   8192 	* config/i386/t-mingw32 (SHLIB_LC): Add -lmingwthrd.
   8193 	* config/i386/t-mingw-w32 (SHLIB_LC): Likewise.
   8194 	* config/i386/t-mingw-w64 (SHLIB_LC): Likewise.
   8195 
   8196 2010-10-27  Eric Botcazou  <ebotcazou (a] adacore.com>
   8197 	    Olivier Hainque  <hainque (a] adacore.com>
   8198 
   8199 	* config/i386/w32-unwind.h (i386_w32_fallback_frame_state): Fix regnum
   8200 	of EBP.  Do not restore reg #9.  Remove +1 adjustment to EIP and set
   8201 	fs->signal_frame instead.
   8202 
   8203 2010-10-27  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   8204 
   8205 	* c-parser.c (cp_parser_objc_at_property_declaration): Removed
   8206 	parsing of RID_COPIES and RID_IVAR.
   8207 
   8208 2010-10-27  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   8209 
   8210 	* c-parser.c (c_parser_objc_at_property_declaration): Recognize
   8211 	RID_ASSIGN, RID_COPY, RID_RETAIN, RID_READWRITE and RID_NONATOMIC.
   8212 	Do not use objc_set_property_attr, but use local variables
   8213 	instead.  Detect repeated usage of setter, getter and ivar
   8214 	attributes.  Improved error processing when a setter name does not
   8215 	end in ':'.  Do not check for CPP_CLOSE_PAREN after we determined
   8216 	that the token is a keyword.  Updated call to
   8217 	objc_add_property_declaration.
   8218 
   8219 2010-10-27  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   8220 
   8221 	* c-parser.c (c_parser_objc_at_property): Renamed to
   8222 	c_parser_objc_at_property_declaration.  Updated calls to
   8223 	objc_add_property_variable, now objc_add_property_declaration.
   8224 	Code rewritten to be much more robust in recovering from syntax
   8225 	errors.  Added comments.
   8226 	(c_parser_objc_property_attrlist): Removed.
   8227 	(c_parser_external_declaration): Updated calls to
   8228 	c_parser_objc_at_property, now
   8229 	c_parser_objc_at_property_declaration.
   8230 	(c_parser_objc_methodprotolist): Same change.
   8231 
   8232 2010-10-26  H.J. Lu  <hongjiu.lu (a] intel.com>
   8233 
   8234 	* config/i386/i386.md (split_stack_return): Put back unspec_volatile.
   8235 
   8236 2010-10-26  Jan Hubicka  <jh (a] suse.cz>
   8237 
   8238 	* ipa.c (process_references): Enqueue all referenced nodes;
   8239 	mark as reachable only non-external nodes.
   8240 	(cgraph_remove_unreachable_nodes): All referenced nodes should
   8241 	be enqueued; remove bogues node->needed check.
   8242 
   8243 2010-10-26  Jan Hubicka  <jh (a] suse.cz>
   8244 
   8245 	* cgraphbuild.c (build_cgraph_edges): Use ipa-reference
   8246 	to represent OMP.
   8247 
   8248 2010-10-26  H.J. Lu  <hongjiu.lu (a] intel.com>
   8249 
   8250 	* config/i386/i386.md (split_stack_return): Replace
   8251 	unspec_volatile with unspec.
   8252 
   8253 2010-10-26  Jonathan Wakely  <jwakely.gcc (a] gmail.com>
   8254 
   8255 	* doc/install.texi: Fix typo in --with-sysroot description.
   8256 
   8257 2010-10-26  Jan Hubicka  <jh (a] suse.cz>
   8258 
   8259 	* ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p):
   8260 	Use info provided by linker plugin.
   8261 
   8262 2010-10-26  Jason Merrill  <jason (a] redhat.com>
   8263 
   8264 	* varasm.c (constructor_static_from_elts_p): Don't require a
   8265 	CONSTRUCTOR to have elements to be suitable for static
   8266 	initialization.  Allow ARRAY_TYPE as well.
   8267 
   8268 2010-10-26  Jan Hubicka  <jh (a] suse.cz>
   8269 
   8270 	PR middle-end/45736
   8271 	* cgraph.c (cgraph_set_readonly_flag): Rename to...
   8272 	(cgraph_set_const_flags) ... this one; get also looping argument;
   8273 	clear constructor/destructor flags.
   8274 	(cgraph_set_pure_flag): Likewise.
   8275 	(cgraph_set_looping_const_or_pure_flag): Remove.
   8276 	(cgraph_can_remove_if_no_direct_calls_and_refs): Do not try
   8277 	to optimize away static ctors/dtors; it does not work on inline clones;
   8278 	external functions can always be rmeoved.
   8279 	(cgraph_will_be_removed_from_program_if_no_direct_calls): Assert on
   8280 	inline clones; in LTO external functions always can go.
   8281 	(cgraph_used_from_object_file_p): Handle EXTERNAL functions correctly.
   8282 	(cgraph_mark_address_taken_node): Assert that we are not taking
   8283 	address of inline clone.
   8284 	(cgraph_can_remove_if_no_direct_calls_p): We always eventually remove
   8285 	external functions.
   8286 	* ipa-cp.c (ipcp_cloning_candidate_p): Do not clone functions with
   8287 	address taken.
   8288 	(ipcp_initialize_node_lattices): Only local functions can be
   8289 	handled without cloning.
   8290 	* cgraph.h (cgraph_set_readonly_flag,
   8291 	cgraph_set_looping_const_or_pure_flag): Remove.
   8292 	(cgraph_set_const_flag): Declare.
   8293 	(cgraph_set_pure_flag): Update.
   8294 	* ipa-pure-const (propagate_pure_const, local_pure_const): Update
   8295 	flags setting code.
   8296 	* ipa.c (cgraph_remove_unreachable_nodes): Fix formating; do not
   8297 	look at inline clones; fix handling of external definitions.
   8298 	(cgraph_postorder): Do not look at inline clones in the first pass.
   8299 	(function_and_variable_visibility): Drop constructors/destructor
   8300 	flags at pure and const functions.
   8301 	* tree-profile.c (tree_profiling): Update.
   8302 	* ipa-inline.c (cgraph_clone_inlined_nodes): Always clone functions with
   8303 	address taken; external functions do not account to whole program size.
   8304 	(cgraph_decide_inlining): Likewise; do not try to inline
   8305 	functions already inlined.
   8306 
   8307 2010-10-26  Jie Zhang  <jie (a] codesourcery.com>
   8308 
   8309 	* doc/invoke.texi: Improve documentation of
   8310 	-fstrict-volatile-bitfields.
   8311 
   8312 2010-10-26  Ira Rosen  <irar (a] il.ibm.com>
   8313 
   8314 	PR tree-optimization/46167
   8315 	* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check that there
   8316 	is basic block for the statement.
   8317 
   8318 2010-10-26  Paul Koning  <ni1d (a] arrl.net>
   8319 
   8320 	* config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Update to
   8321 	current definition of struct_real_format.
   8322 
   8323 2010-10-26  H.J. Lu  <hongjiu.lu (a] intel.com>
   8324 
   8325 	PR target/44948
   8326 	* config/i386/i386.c (ix86_old_function_arg_boundary): New.
   8327 	(ix86_function_arg_boundary): Always align parameters on stack
   8328 	in 64bit and align parameters with alignment >= 16byte on stack
   8329 	in 32bit.  Warn alignment change.
   8330 
   8331 2010-10-26  Ian Lance Taylor  <iant (a] google.com>
   8332 
   8333 	PR middle-end/45687
   8334 	* ipa-prop.c (ipa_modify_call_arguments): Correct type of MEM_REF
   8335 	offset.
   8336 
   8337 2010-10-25  Rodrigo Rivas Costa  <rodrigorivascosta (a] gmail.com>
   8338 
   8339 	Implement opaque-enum-specifiesr for C++0x
   8340 	* tree.h (ENUM_IS_OPAQUE): New.
   8341 	* dwarf2out.c (gen_enumeration_type_die): Use ENUM_IS_OPAQUE.
   8342 
   8343 2010-10-26  Jie Zhang  <jie (a] codesourcery.com>
   8344 
   8345 	* stor-layout.c (layout_decl): Use the field's type to
   8346 	determine the mode and keep DECL_BIT_FIELD for a volatile bit-field.
   8347 	* config/arm/arm.c (arm_override_options): Default to
   8348 	-fstrict-volatile-bitfields.
   8349 
   8350 2010-10-25  Paul Koning  <ni1d (a] arrl.net>
   8351 
   8352 	* config/pdp11/pdp11.md: Add define_constants for register
   8353 	numbers, branch offset limits.
   8354 	* config/pdp11/pdp11.c: Use named constants instead of numbers.
   8355 	* config/pdp11.pdp11.h: Ditto.
   8356 
   8357 2010-10-25  Eric Botcazou  <ebotcazou (a] adacore.com>
   8358 
   8359 	* configure.ac: Use $cpu_type instead of $target to define the nop.
   8360 	* configure: Regenerate.
   8361 
   8362 2010-10-25  Jie Zhang  <jie (a] codesourcery.com>
   8363 
   8364 	* combine.c (try_combine): If insns need to be kept around, check that
   8365 	they can be copied in the merged instruction.
   8366 
   8367 2010-10-24  Eric Botcazou  <ebotcazou (a] adacore.com>
   8368 
   8369 	* reg-stack.c (convert_regs_1): Return boolean value, true if the CFG
   8370 	has been modified.
   8371 	(convert_regs_2): Likewise.  Adjust calls to convert_regs_1.
   8372 	(convert_regs): Adjust calls to convert_regs_2.  Clean up the CFG if
   8373 	it has been modified.
   8374 
   8375 2010-10-24  Eric Botcazou  <ebotcazou (a] adacore.com>
   8376 
   8377 	* config/sparc/sparc.c (sparc_type_code) <NULLPTR_TYPE>: New case.
   8378 
   8379 2010-10-24  Paul Koning  <ni1d (a] arrl.net>
   8380 
   8381 	* config/pdp11/pdp11.md: Change length attribute to be in bytes.
   8382 	* config/pdp11/pdp11.c (output_jump): Ditto.
   8383 
   8384 2010-10-24  Ian Lance Taylor  <iant (a] google.com>
   8385 
   8386 	* config/i386/i386.c (ix86_va_start): Remove extraneous blank line.
   8387 
   8388 2010-10-24  Eric Botcazou  <ebotcazou (a] adacore.com>
   8389 
   8390 	* cfglayout.c (fixup_reorder_chain): When ensuring that there is at
   8391 	least one insn with a locus corresponding to an edge's goto_locus,
   8392 	disregard non-fallthru edges to the exit block and merge the blocks
   8393 	created for the same goto_locus.
   8394 
   8395 2010-10-23  Joseph Myers  <joseph (a] codesourcery.com>
   8396 
   8397 	* gcc.c (n_switches_alloc_debug_check): New.
   8398 	(set_option_handlers): New.
   8399 	(process_command): Use set_option_handlers.
   8400 	(do_self_spec): Pass spec-generated options through option handlers.
   8401 	(main): Also save and restore n_switches_alloc when swapping
   8402 	switch arrays.
   8403 
   8404 2010-10-23  Richard Henderson  <rth (a] redhat.com>
   8405 
   8406 	PR target/46144
   8407 	* config/i386/sse.md (*avx_absneg<AVXMODEF2P>2): New.
   8408 	(*sse_absneg<SSEMODEF2P>2): Rename from *absneg<VEC_FLOAT_MODE>2.
   8409 	Honor matching operands when splitting to XOR.
   8410 
   8411 2010-10-23  Ian Lance Taylor  <iant (a] google.com>
   8412 
   8413 	* tree-vrp.c (extract_range_from_binary_expr): If
   8414 	flag_non_call_exceptions don't eliminate division by zero.
   8415 	* simplify-rtx.c (simplify_binary_operation_1): Likewise.
   8416 
   8417 2010-10-23  Nathan Froyd  <froydnj (a] codesourcery.com>
   8418 
   8419 	* cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
   8420 	__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__, __ORDER_BIG_ENDIAN__, and
   8421 	__ORDER_PDP_ENDIAN__.
   8422 	* libgcc2.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8423 	(struct DWstruct): Define based on __BYTE_ORDER__.
   8424 	* config/fixed-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8425 	(struct INTstruct): Define based on __BYTE_ORDER__.
   8426 	* config/dfp-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8427 	(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
   8428 	* system.h (LIBGCC2_WORDS_BIG_ENDIAN): Poison identifier.
   8429 	* config/arc/arc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8430 	* config/arm/arm.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8431 	* config/ia64/ia64.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8432 	* config/iq2000/iq2000.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8433 	* config/lm32/lm32.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8434 	* config/m32r/m32r.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8435 	* config/mcore/mcore.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8436 	* config/mep/mep.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8437 	* config/mips/mips.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8438 	* config/rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8439 	* config/rx/rx.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8440 	* config/score/score.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8441 	* config/sh/sh.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8442 	* config/sparc/sparc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8443 	* config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8444 	* doc/tm.texi.in (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
   8445 	* doc/tm.texi: Regenerate.
   8446 	* doc/cpp.texi (__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__): Document.
   8447 	(__ORDER_BIG_ENDIAN__, __ORDER_PDP_ENDIAN__): Likewise.
   8448 
   8449 2010-10-23  Jie Zhang  <jie (a] codesourcery.com>
   8450 
   8451 	PR rtl-optimization/37360
   8452 	* config/mips/mips.c (cached_can_issue_more): New local variable.
   8453 	(mips_sched_reorder_1): New.
   8454 	(mips_sched_reorder): Use mips_sched_reorder_1.
   8455 	(mips_sched_reorder2): New.
   8456 	(mips_variable_issue): Set cached_can_issue_more.
   8457 	(TARGET_SCHED_REORDER2): Define to mips_sched_reorder2
   8458 	instead of mips_sched_reorder.
   8459 
   8460 	Revert:
   8461 	2008-09-09  Andrey Belevantsev  <abel (a] ispras.ru>
   8462 	PR rtl-optimization/37360
   8463 	* haifa-sched.c (max_issue): Do not assert that we never issue more
   8464 	insns than issue_rate.  Add comment.
   8465 
   8466 2010-10-22  Eric Botcazou  <ebotcazou (a] adacore.com>
   8467 
   8468 	* gimplify.c (gimplify_variable_sized_compare): Preserve the source
   8469 	location info of the expression.
   8470 
   8471 2010-10-22  DJ Delorie  <dj (a] redhat.com>
   8472 
   8473 	* doc/extend.texi (Named Address Spaces): Document the M32C named
   8474 	address space.
   8475 
   8476 	* config/m32c/m32c-pragma.c (m32c_register_pragmas): Register the
   8477 	__far address space.
   8478 	* config/m32c/m32c.h (ADDR_SPACE_FAR): New.  Add support for
   8479 	"__far" address space for R8C and M16C processor variants.
   8480 	* config/m32c/m32c.c (m32c_addr_space_legitimate_address_p): New.
   8481 	(far_addr_space_p): New.
   8482 	(encode_pattern_1): Add sign and zero extend support.
   8483 	(m32c_hard_regno_nregs_1): Large pointers in A16 mode are SImode.
   8484 	(m32c_extra_constraint_p2): Add SF constraint.
   8485 	(m32c_legitimate_address_p): Support __far addresses.
   8486 	(m32c_addr_space_pointer_mode): New.
   8487 	(m32c_addr_space_address_mode): New.
   8488 	(m32c_addr_space_legitimate_address_p): New.
   8489 	(m32c_addr_space_legitimize_address): New.
   8490 	(m32c_addr_space_subset_p): New.
   8491 	(m32c_addr_space_convert): New.
   8492 	(conversions): Add __far operand patterns.
   8493 	(m32c_prepare_move): Force constants into registers for __far moves.
   8494 	(m32c_split_move): __far moves are always split.
   8495 	* config/m32c/addsub.md (addsi3_1): Support SImode symbols.
   8496 	* config/m32c/mov.md (mov<mode>_far_op1): New.
   8497 	(mov<mode>_far_op2): New.
   8498 	(movqi_op): Add __far (SF) support.
   8499 	(movhi_op): Likewise.
   8500 	(movsi_splittable): Split A1A0 also.
   8501 
   8502 2010-10-22  Artjoms Sinkarovs  <artyom.shinakroff (a] gmail.com>
   8503 	    Andrew Pinski  <pinskia (a] gmail.com>
   8504 
   8505 	* c-typeck.c (build_array_ref): Handle subscripting of vectors.
   8506 	* doc/extend.texi: New paragraph
   8507 
   8508 2010-10-22  Paul Koning  <ni1d (a] arrl.net>
   8509 
   8510 	* config.pdp11/pdp11.h (DBX_DEBUGGING_INFO): Define.
   8511 
   8512 2010-10-22  DJ Delorie  <dj (a] redhat.com>
   8513 
   8514 	* config/m32c/m32c-lib1.S (m32c_jsri16): Make reentrant.
   8515 
   8516 2010-10-22  Paul Koning  <ni1d (a] arrl.net>
   8517 
   8518 	* config/pdp11/pdp11.h (IRA_COVER_CLASSES): Define.
   8519 
   8520 2010-10-22  Richard Henderson  <rth (a] redhat.com>
   8521 
   8522 	* config/i386/i386.c (ix86_builtin_vectorized_function): Add
   8523 	cases for __builtin_fma and __builtin_fmaf.
   8524 
   8525 2010-10-22  Richard Henderson  <rth (a] redhat.com>
   8526 
   8527 	* config/i386/i386.c (ix86_expand_fp_absneg_operator): Produce
   8528 	NEG+USE for vectors as well.
   8529 	* config/i386/i386.md (*absneg<VEC_FLOAT_MODE>2): New pattern
   8530 	and splitter.
   8531 
   8532 2010-10-22  Joseph Myers  <joseph (a] codesourcery.com>
   8533 
   8534 	* gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION,
   8535 	SWITCH_CURTAILS_COMPILATION): Remove.
   8536 	* doc/tm.texi.in (SWITCH_CURTAILS_COMPILATION): Remove documentation.
   8537 	* doc/tm.texi: Regenerate.
   8538 	* system.h (SWITCH_CURTAILS_COMPILATION): Poison.
   8539 
   8540 2010-10-22  Changpeng Fang  <changpeng.fang (a] amd.com>
   8541 
   8542 	* config/i386/bdver1.md: New file.
   8543 	* config/i386/i386.md (include "bdver1.md"): Invoke the
   8544 	pipeline description for bdver1.
   8545 	(x86_sahf_1): Add "bdver1_decode" attribute.
   8546 	(*cmpfp_i_mixed): Likewise.
   8547 	(*cmpfp_i_sse): Likewise.
   8548 	(*cmpfp_i_i387): Likewise.
   8549 	(*cmpfp_iu_mixed): Likewise.
   8550 	(*cmpfp_iu_sse): Likewise.
   8551 	(*cmpfp_iu_387): Likewise.
   8552 	(*swap<mode>,*swap<mode>_1): Likewise.
   8553 	(fixuns_trunc<mode>hi2): Likewise.
   8554 	(fix_trunc<mode>si_sse): Likewise.
   8555 	(x86_fnstcw_1): Likewise.
   8556 	(x86_fldcw_1): Likewise.
   8557 	(*floatsi<mode>2_vector_mixed_with_temp): Likewise.
   8558 	(*floatsi<mode>2_vector_mixed): Likewise.
   8559 	(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_with_temp): Likewise.
   8560 	(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Likewise.
   8561 	(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Likewise.
   8562 	(*floatsi<mode>2_vector_sse_with_temp): Likewise.
   8563 	(*floatsi<mode>2_vector_sse): Likewise.
   8564 	(*float<SSEMODEI24:mode><MODEF:mode>2_sse_with_temp): Likewise.
   8565 	(*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit): Likewise.
   8566 	(*float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit): Likewise.
   8567 	(*mul<mode>3_1): Likewise.
   8568 	(*mulsi3_1_zext): Likewise.
   8569 	(*mulhi3_1): Likewise.
   8570 	(*mulqi3_1): Likewise.
   8571 	(*<u>mul<mode><dwi>3_1): Likewise.
   8572 	(*<u>mulqihi3_1): Likewise.
   8573 	(*<s>muldi3_highpart_1): Likewise.
   8574 	(*<s>mulsi3_highpart_1): Likewise.
   8575 	(*<s>mulsi3_highpart_zext): Likewise.
   8576 	(x86_64_shld): Likewise.
   8577 	(x86_shld): Likewise.
   8578 	(x86_64_shrd): Likewise.
   8579 	(x86_shrd): Likewise.
   8580 	(sqrtxf2): Likewise.
   8581 	(sqrt_extend<mode>xf2_i387): Likewise.
   8582 	(*sqrt<mode>2_sse): Likewise.
   8583 	* config/i386/sse.md (sse_cvtsi2ss): Add "bdver1_decode" attribute.
   8584 	(sse_cvtsi2ssq): Likewise.
   8585 	(sse_cvtss2si): Likewise.
   8586 	(sse_cvtss2si_2): Likewise.
   8587 	(sse_cvtss2siq): Likewise.
   8588 	(sse_cvtss2siq_2): Likewise.
   8589 	(sse_cvttss2si): Likewise.
   8590 	(sse_cvttss2siq): Likewise.
   8591 	(sse2_cvtpi2pd): Likewise.
   8592 	(sse2_cvttpd2pi): Likewise.
   8593 	(sse2_cvtsi2sd): Likewise.
   8594 	(sse2_cvtsi2sdq): Likewise.
   8595 	(sse2_cvtsd2si): Likewise.
   8596 	(sse2_cvtsd2si_2): Likewise.
   8597 	(sse2_cvtsd2siq): Likewise.
   8598 	(sse2_cvtsd2siq_2): Likewise.
   8599 	(sse2_cvttsd2si): Likewise.
   8600 	(sse2_cvttsd2siq): Likewise.
   8601 	(*sse2_cvtpd2dq): Likewise.
   8602 	(*sse2_cvttpd2dq): Likewise.
   8603 	(sse2_cvtsd2ss): Likewise.
   8604 	(sse2_cvtss2sd): Likewise.
   8605 	(*sse2_cvtpd2ps): Likewise.
   8606 	(sse2_cvtps2pd): Likewise.
   8607 
   8608 2010-10-22  Richard Guenther  <rguenther (a] suse.de>
   8609 
   8610 	PR middle-end/46137
   8611 	* gimple-fold.c (gimplify_and_update_call_from_tree): Properly
   8612 	remove the virtual operands if they are not needed.
   8613 
   8614 2010-10-22  Changpeng Fang  <changpeng.fang (a] amd.com>
   8615 
   8616 	* config/i386/i386.c (processor_costs bdver1_cost): Update
   8617 	insn costs and architectural parameters for bdver1.
   8618 
   8619 2010-10-22  Richard Guenther  <rguenther (a] suse.de>
   8620 
   8621 	* gimple.h (gimple_register_canonical_type): Declare.
   8622 	* gimple.c (gimple_canonical_types): New global hashtable.
   8623 	(struct gimple_type_leader_entry_s): New type.
   8624 	(gimple_type_leader): New global cache.
   8625 	(gimple_lookup_type_leader): New function.
   8626 	(gtc_visit): Query the proper cache.
   8627 	(gimple_types_compatible_p): Likewise.
   8628 	(gimple_register_type): Use the new cache instead of TYPE_CANONICAL.
   8629 	(gimple_canonical_type_eq): New function.
   8630 	(gimple_register_canonical_type): Likewise.
   8631 	(print_gimple_types_stats): Adjust for gimple_canonical_types.
   8632 	(free_gimple_type_tables): Likewise.  Free gimple_type_leader.
   8633 	* tree-ssa.c (useless_type_conversion_p): Do not dispatch to
   8634 	gimple_types_compatible_p for LTO.
   8635 
   8636 2010-10-22  Uros Bizjak  <ubizjak (a] gmail.com>
   8637 
   8638 	PR target/46098
   8639 	* config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
   8640 	Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
   8641 	(avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
   8642 	(*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
   8643 	(<sse>_movu<ssemodesuffix>): New expander.
   8644 	(*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
   8645 	(avx_movdqu<avxmodesuffix>): New expander.
   8646 	(*sse2_movdqu): Rename from sse2_movdqu.
   8647 	(sse2_movdqu): New expander.
   8648 
   8649 2010-10-22  Richard Guenther  <rguenther (a] suse.de>
   8650 
   8651 	PR tree-optimization/45720
   8652 	* tree-vect-data-refs.c (vect_update_misalignment_for_peel):
   8653 	Handle negative step.
   8654 	(vect_enhance_data_refs_alignment): Likewise.
   8655 	* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Likewise.
   8656 	(vect_create_cond_for_align_checks): Likewise.
   8657 	(vect_create_cond_for_alias_checks): Likewise.
   8658 
   8659 2010-10-22  Ira Rosen  <irar (a] il.ibm.com>
   8660 
   8661 	PR tree-optimization/46126
   8662 	* tree-vect-stmts.c (vect_analyze_stmt): Pass NODE to
   8663 	vectorizable_shift in case of basic block vectorization.
   8664 
   8665 2010-10-22  Joseph Myers  <joseph (a] codesourcery.com>
   8666 
   8667 	* target.h (enum opt_levels, struct default_options): New.
   8668 	* target.def (handle_ofast): Remove hook.
   8669 	(target_option.optimization): Change to
   8670 	target_option.optimization_table.
   8671 	* doc/tm.texi.in (TARGET_OPTION_OPTIMIZATION): Change to
   8672 	TARGET_OPTION_OPTIMIZATION_TABLE.
   8673 	(CAN_DEBUG_WITHOUT_FP): Remove.
   8674 	* doc/tm.texi: Regenerate.
   8675 	* opts.c (maybe_default_option, maybe_default_options,
   8676 	default_options_table): New.
   8677 	(default_options_optimization): Take extra parameters.  Don't
   8678 	assert that global_options and global_options_set are in use.  Use
   8679 	maybe_default_options.
   8680 	(decode_options): Pass extra parameters to
   8681 	default_options_optimization.
   8682 	* common.opt (falign-loops): Use value 0 with Var.
   8683 	(frerun-cse-after-loop, ftree-ter): Remove Init.
   8684 	* system.h (CAN_DEBUG_WITHOUT_FP, TARGET_HANDLE_OFAST,
   8685 	TARGET_OPTION_OPTIMIZATION): Remove.
   8686 	* targhooks.c (empty_optimization_table): New.
   8687 	* targhooks.h (empty_optimization_table): Declare.
   8688 	* toplev.c (process_options): Don't set flag_rerun_cse_after_loop.
   8689 	* config/alpha/alpha.c (alpha_option_optimization_table,
   8690 	TARGET_OPTION_OPTIMIZATION_TABLE): New.
   8691 	* config/alpha/alpha.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8692 	* config/arm/arm.c (arm_option_optimization: Change to
   8693 	arm_option_optimization_table.
   8694 	(TARGET_OPTION_OPTIMIZATION): Change to
   8695 	TARGET_OPTION_OPTIMIZATION_TABLE.
   8696 	* config/arm/arm.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8697 	* config/avr/avr.c (avr_option_optimization_table,
   8698 	TARGET_OPTION_OPTIMIZATION_TABLE): New.
   8699 	* config/avr/avr.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8700 	* config/cris/cris.c (cris_option_optimization): Change to
   8701 	cris_option_optimization_table.
   8702 	(TARGET_OPTION_OPTIMIZATION): Change to
   8703 	TARGET_OPTION_OPTIMIZATION_TABLE.
   8704 	* config/crx/crx.c (crx_option_optimization): Change to
   8705 	crx_option_optimization_table.
   8706 	(TARGET_OPTION_OPTIMIZATION): Change to
   8707 	TARGET_OPTION_OPTIMIZATION_TABLE.
   8708 	* config/crx/crx.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8709 	* config/fr30/fr30.c (fr30_option_optimization_table,
   8710 	TARGET_OPTION_OPTIMIZATION_TABLE): New.
   8711 	* config/fr30/fr30.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8712 	* config/frv/frv.c (frv_option_optimization_table,
   8713 	TARGET_OPTION_OPTIMIZATION_TABLE): New.
   8714 	* config/frv/frv.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8715 	* config/h8300/h8300.c (h8300_option_optimization): Change to
   8716 	h8300_option_optimization_table.
   8717 	(TARGET_OPTION_OPTIMIZATION): Change to
   8718 	TARGET_OPTION_OPTIMIZATION_TABLE.
   8719 	* config/h8300/h8300.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8720 	* config/i386/i386.c (ix86_option_optimization): Change to
   8721 	ix86_option_optimization_table.
   8722 	(TARGET_OPTION_OPTIMIZATION): Change to
   8723 	TARGET_OPTION_OPTIMIZATION_TABLE.
   8724 	* config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define
   8725 	as initializer.
   8726 	* config/ia64/ia64.c (ia64_option_optimization): Change to
   8727 	ia64_option_optimization_table.
   8728 	(TARGET_OPTION_OPTIMIZATION): Change to
   8729 	TARGET_OPTION_OPTIMIZATION_TABLE.
   8730 	* config/ia64/ia64.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8731 	* config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define as
   8732 	initializer.
   8733 	* config/iq2000/iq2000.c (iq2000_option_optimization_table,
   8734 	TARGET_OPTION_OPTIMIZATION_TABLE): New.
   8735 	* config/iq2000/iq2000.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8736 	* config/lm32/lm32.c (lm32_option_optimization_table,
   8737 	TARGET_OPTION_OPTIMIZATION_TABLE): New.
   8738 	* config/lm32/lm32.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8739 	* config/m32r/m32r.c (m32r_option_optimization): Change to
   8740 	m32r_option_optimization_table.
   8741 	(TARGET_OPTION_OPTIMIZATION): Change to
   8742 	TARGET_OPTION_OPTIMIZATION_TABLE.
   8743 	* config/m32r/m32r.h (SUBTARGET_OPTIMIZATION_OPTIONS,
   8744 	CAN_DEBUG_WITHOUT_FP): Remove.
   8745 	* config/mcore/mcore.c (mcore_option_optimization): Change to
   8746 	mcore_option_optimization_table.
   8747 	(TARGET_OPTION_OPTIMIZATION): Change to
   8748 	TARGET_OPTION_OPTIMIZATION_TABLE.
   8749 	* config/mep/mep.c (mep_option_optimization): Change to
   8750 	mep_option_optimization_table.
   8751 	(TARGET_OPTION_OPTIMIZATION): Change to
   8752 	TARGET_OPTION_OPTIMIZATION_TABLE.
   8753 	* config/mep/mep.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8754 	* config/microblaze/microblaze.c
   8755 	(microblaze_option_optimization_table,
   8756 	TARGET_OPTION_OPTIMIZATION_TABLE): New.
   8757 	* config/microblaze/microblaze.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8758 	* config/mips/mips.c (mips_option_optimization_table,
   8759 	TARGET_OPTION_OPTIMIZATION_TABLE): New.
   8760 	* config/mips/mips.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8761 	* config/mmix/mmix.c (mmix_option_optimization): Change to
   8762 	mmix_option_optimization_table.
   8763 	(TARGET_OPTION_OPTIMIZATION): Change to
   8764 	TARGET_OPTION_OPTIMIZATION_TABLE.
   8765 	* config/mmix/mmix.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8766 	* config/mn10300/mn10300.c (mn10300_option_optimization_table,
   8767 	TARGET_OPTION_OPTIMIZATION_TABLE): New.
   8768 	* config/mn10300/mn10300.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8769 	* config/pa/pa.c (pa_option_optimization_table,
   8770 	TARGET_OPTION_OPTIMIZATION_TABLE): New.
   8771 	* config/pa/pa.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8772 	* config/pdp11/pdp11.c (pdp11_option_optimization): Change to
   8773 	pdp11_option_optimization_table.
   8774 	(TARGET_OPTION_OPTIMIZATION): Change to
   8775 	TARGET_OPTION_OPTIMIZATION_TABLE.
   8776 	* config/picochip/picochip.c (picochip_option_optimization_table,
   8777 	TARGET_OPTION_OPTIMIZATION_TABLE): New.
   8778 	* config/picochip/picochip.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8779 	* config/rs6000/rs6000.c (rs6000_option_optimization_table,
   8780 	TARGET_OPTION_OPTIMIZATION_TABLE): New.
   8781 	* config/rs6000/rs6000.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8782 	* config/rx/rx.c (rx_option_optimization_table,
   8783 	TARGET_OPTION_OPTIMIZATION_TABLE): New.
   8784 	* config/rx/rx.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8785 	* config/s390/s390.c (s390_option_optimization): Change to
   8786 	s390_option_optimization_table.
   8787 	(s390_option_override): Update comment.
   8788 	(TARGET_OPTION_OPTIMIZATION): Change to
   8789 	TARGET_OPTION_OPTIMIZATION_TABLE.
   8790 	* config/s390/s390.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8791 	* config/score/score.c (score_option_optimization_table,
   8792 	TARGET_OPTION_OPTIMIZATION_TABLE): New.
   8793 	* config/score/score.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8794 	* config/sh/sh.c (sh_option_optimization): Change to
   8795 	sh_option_optimization_table.
   8796 	(TARGET_OPTION_OPTIMIZATION): Change to
   8797 	TARGET_OPTION_OPTIMIZATION_TABLE.
   8798 	(sh_option_override): Set MASK_SAVE_ALL_TARGET_REGS here.
   8799 	(sh_option_override, expand_block_move, multcosts, find_barrier,
   8800 	barrier_align): Use optimize_size instead of TARGET_SMALLCODE.
   8801 	* config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8802 	(LOOP_ALIGN, TRAMPOLINE_ALIGNMENT, MOVE_BY_PIECES_P,
   8803 	STORE_BY_PIECES_P, SH_DYNAMIC_SHIFT_COST): Use optimize_size
   8804 	instead of TARGET_SMALLCODE.
   8805 	* config/sh/sh.opt (mspace): Make into an alias for -Os.
   8806 	* config/sparc/sparc.c (sparc_option_optimization_table,
   8807 	TARGET_OPTION_OPTIMIZATION_TABLE): New.
   8808 	* config/sparc/sparc.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8809 	* config/stormy16/stormy16.c (xstorym16_option_optimization_table,
   8810 	TARGET_OPTION_OPTIMIZATION_TABLE): New.
   8811 	* config/stormy16/stormy16.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8812 	* config/v850/v850.c (v850_option_optimization): Change to
   8813 	v850_option_optimization_table.
   8814 	(TARGET_OPTION_OPTIMIZATION): Change to
   8815 	TARGET_OPTION_OPTIMIZATION_TABLE.
   8816 	* config/v850/v850.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8817 	* config/xtensa/xtensa.c (xtensa_option_optimization): Change to
   8818 	xtensa_option_optimization_table.
   8819 	(TARGET_OPTION_OPTIMIZATION): Change to
   8820 	TARGET_OPTION_OPTIMIZATION_TABLE.
   8821 	* config/xtensa/xtensa.h (CAN_DEBUG_WITHOUT_FP): Remove.
   8822 
   8823 2010-10-21  Iain Sandoe  <iains (a] gcc.gnu.org>
   8824 
   8825 	Based on the CFString implementation in FSF apple/trunk branch.
   8826 
   8827 	* target.def (objc_construct_string): New Hook.
   8828 	* doc/tm.texi (objc_construct_string): Document.
   8829 	* doc/tm.texi.in (TARGET_OBJC_CONSTRUCT_STRING): New.
   8830 	* config/t-darwin: Amend build rules for darwin.o.
   8831 	* config/darwin.opt: Add cfstrings flags.
   8832 	* config/darwin-c.c: Define __CONSTANT_CFSTRINGS__.
   8833 	(darwin_objc_construct_string): New.
   8834 	* config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Define.
   8835 	* config/i386/i386.c (ix86_init_builtins): Add SUBTARGET_INIT_BUILTINS.
   8836 	* config/darwin-protos.h (darwin_init_cfstring_builtins): New prototype.
   8837 	(darwin_fold_builtin): Likewise.
   8838 	(darwin_build_constant_cfstring): Likewise.
   8839 	(darwin_objc_construct_string): Likewise.
   8840 	(darwin_cfstring_p): Likewise.
   8841 	(darwin_enter_string_into_cfstring_table): Likewise.
   8842 	* config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS) Update for CFString.
   8843 	* config/darwin.c (darwin_running_cxx): New var.
   8844 	(machopic_select_section): Return cfstring_constant_object_section.
   8845 	(darwin_override_options): Set darwin_running_cxx.
   8846 	(add_builtin_field_decl): New.
   8847 	(darwin_init_cfstring_builtins): New.
   8848 	(darwin_build_constant_cfstring): New.
   8849 	(darwin_fold_builtin): New.
   8850 	(cfstring_hash): New.
   8851 	(cfstring_eq): New.
   8852 	(darwin_enter_string_into_cfstring_table): New.
   8853 	* config/darwin-sections.def (cfstring_constant_object_section): New.
   8854 	* config/darwin.h (TARGET_FOLD_BUILTIN): Define.
   8855 	(TARGET_OBJC_CONSTRUCT_STRING): Define.
   8856 
   8857 2010-10-21  Nathan Froyd  <froydnj (a] codesourcery.com>
   8858 
   8859 	* config/alpha/alpha.c (alpha_build_builtin_va_list): Use
   8860 	TYPE_STUB_DECL instead of TREE_CHAIN.
   8861 	* config/i386/i386.c (ix86_build_builtin_va_list_abi): Likewise.
   8862 	* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Likewise.
   8863 	* config/s390/s390.c (s390_build_builtin_va_list): Likewise.
   8864 	* config/sh/sh.c (sh_build_builtin_va_list): Likewise.
   8865 	* config/spu/spu.c (spu_build_builtin_va_list): Likewise.
   8866 	* config/stormy16/stormy16.c (xstormy16_build_builtin_va_list):
   8867 	Likewise.
   8868 	* config/xtensa/xtensa.c (xtensa_build_builtin_va_list): Likewise.
   8869 
   8870 2010-10-22  Jie Zhang  <jie (a] codesourcery.com>
   8871 
   8872 	* expr.c (emit_group_load_1): Update calls to extract_bit_field.
   8873 	(copy_blkmode_from_reg): Likewise.
   8874 	(read_complex_part): Likewise.
   8875 	(expand_expr_real_1): Calculate packedp and pass it to
   8876 	extract_bit_field.
   8877 	* expr.h (extract_bit_field): Update declaration.
   8878 	* calls.c (store_unaligned_arguments_into_pseudos): Update call
   8879 	to extract_bit_field.
   8880 	* expmed.c (extract_fixed_bit_field): Update calls to
   8881 	extract_fixed_bit_field.
   8882 	(store_split_bit_field): Likewise.
   8883 	(extract_bit_field_1): Add new argument packedp.
   8884 	(extract_bit_field): Add new argument packedp.
   8885 	(extract_fixed_bit_field): Add new argument packedp and let
   8886 	packed attribute override volatile.
   8887 	* stmt.c (expand_return): Update call to extract_bit_field.
   8888 
   8889 2010-10-21  Nathan Froyd  <froydnj (a] codesourcery.com>
   8890 
   8891 	* config/spu/spu.c (spu_function_arg): Dereference CUM parameter.
   8892 
   8893 2010-10-21  Nathan Froyd  <froydnj (a] codesourcery.com>
   8894 
   8895 	* ddg.c (add_cross_iteration_register_deps): Call gcc_assert instead
   8896 	of gcc_checking_assert.
   8897 	* sel-sched.c (code_motion_process_successors): Likewise.
   8898 
   8899 2010-10-21  Eric Botcazou  <ebotcazou (a] adacore.com>
   8900 
   8901 	* cfgcleanup.c (try_forward_edges): Do not throw away previous steps
   8902 	when stopping because of a different locus on edge or insn.
   8903 	(try_optimize_cfg): Add comment.
   8904 	* cfgrtl.c (rtl_merge_blocks): Tweak log message.  If the destination
   8905 	block is a forwarder block, propagate locus on the edge.
   8906 	(cfg_layout_merge_blocks): Likewise.
   8907 
   8908 2010-10-21  Uros Bizjak  <ubizjak (a] gmail.com>
   8909 
   8910 	PR target/45946
   8911 	* config/i386/i386.md (*pushti2): New insn pattern.
   8912 	(pushti2 splitter): New insn splitter.
   8913 	(*push<mode>2): Macroize insn pattern from *push{di,ti}2 using
   8914 	DWI mode iterator.
   8915 
   8916 2010-10-21  Paul Koning  <ni1d (a] arrl.net>
   8917 
   8918 	* config/pdp11/pdp11-protos.md (arith_operand,
   8919 	const_immediate_operand, expand_shift_operand,
   8920 	immediate15_operand): Delete
   8921 	* config/pdp11/pdp11.c: Ditto.
   8922 	* config/pdp11/pdp11.h (REG_CLASS_FROM_LETTER,
   8923 	CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P,
   8924 	EXTRA_CONSTRAINT): Delete.
   8925 	* config/pdp11/pdp11.md (various): Use standard constraints
   8926 	instead of removed ones.
   8927 	* config/pdp11/constraints.md: New file.
   8928 	* config/pdp11/predicates.md: New file.
   8929 
   8930 2010-10-21  Bingfeng Mei  <bmei (a] broadcom.com>
   8931 
   8932 	PR c/45834
   8933 	* alias.c (true_dependence_1): Remove obsolete check for QImode.
   8934 	(may_alias_p): Ditto.
   8935 
   8936 2010-10-21  Martin Jambor  <mjambor (a] suse.cz>
   8937 
   8938 	PR tree-optimization/45875
   8939 	* tree.c (get_binfo_at_offset): Remove initial zero offset test.
   8940 
   8941 2010-10-21  Nathan Froyd  <froydnj (a] codesourcery.com>
   8942 
   8943 	* tree-into-ssa.c (rewrite_update_enter_block): Remove unused
   8944 	variables.
   8945 	(create_new_def_for): Likewise.
   8946 
   8947 2010-10-21  Nick Clifton  <nickc (a] redhat.com>
   8948 
   8949 	* config/mn10300/mn10300.c: Fold code to 80-character width.
   8950 	Replace GET_CODE (foo) == REG with REG_P (foo).  Likewise for
   8951 	MEM, CONST_INT and CONST_DOUBLE.
   8952 	(targetm): Move initialization to end of file.
   8953 	(print_operand): Rename to mn10300_print_operand.
   8954 	(print_operand_address): Rename to mn10300_print_operand_address.
   8955 	(can_use_return_insn): Rename to mn10300_can_use_return_insn.
   8956 	(expand_prologue): Rename to mn10300_expand_prologue.
   8957 	(expand_epilogue): Rename to mn10300_expand_epilogue.
   8958 	(initial_offset): Rename to mn10300_initial_offset.
   8959 	(function_arg): Rename to mn10300_function_arg.
   8960 	(mask_ok_for_mem_btst): Rename to mn10300_mask_ok_for_mem_btst.
   8961 	(symbolic_operand): Rename to mn10300_symbolic_operand.
   8962 	(legitimize_pic_address): Rename to mn10300_legitimize_pic_address.
   8963 	(legitimate_pic_operand_p): Rename to mn10300_legitimate_pic_operand_p.
   8964 	* config/mn10300/mn10300-protos.h: Update prototypes.
   8965 	* config/mn10300/mn10300.h: Fold code to 80-character width.
   8966 	Replace GET_CODE (foo) == REG with REG_P (foo).  Likewise for
   8967 	MEM, CONST_INT and CONST_DOUBLE.
   8968 	(CPP_SPEC): Move to...
   8969 	(TARGET_CPU_CPP_BUILTINS): ... here.
   8970 	* config/mn10300/mn10300.md: Fold code to 80-character width.
   8971 	Replace GET_CODE (foo) == REG with REG_P (foo).  Likewise for
   8972 	MEM, CONST_INT and CONST_DOUBLE.
   8973 
   8974 2010-10-21  Ira Rosen  <irar (a] il.ibm.com>
   8975 
   8976 	PR tree-optimization/46049
   8977 	PR tree-optimization/46052
   8978 	* tree-vectorizer.h (enum stmt_vec_info_type): Add new value for shift.
   8979 	(vect_get_slp_defs): Add arguments.
   8980 	* tree-vect-loop.c (vect_create_epilog_for_reduction): Pass scalar
   8981 	operands to vect_get_slp_defs.
   8982 	(vectorizable_reduction): Fix comment, pass scalar operands to
   8983 	vect_get_slp_defs.
   8984 	* tree-vect-stmts.c (vect_get_vec_def_for_operand): Use operand's
   8985 	type to determine number of units in the created vector.
   8986 	(vect_get_vec_defs): Pass scalar operands to vect_get_slp_defs.
   8987 	(vectorizable_conversion): Fix comment.
   8988 	(vectorizable_shift): New function.
   8989 	(vectorizable_operation): Move code that handles shifts to
   8990 	vectorizable_shift.
   8991 	(vectorizable_type_demotion): Fix comment, pass scalar operands to
   8992 	vect_get_slp_defs.
   8993 	(vectorizable_type_promotion, vectorizable_store): Likewise.
   8994 	(vectorizable_condition): Fix comment.
   8995 	(vect_analyze_stmt): Call vectorizable_shift.
   8996 	(vect_transform_stmt): Likewise.
   8997 	* tree-vect-slp.c (vect_get_constant_vectors): Add new argument.
   8998 	Use it as the operand to create vectors for, except reduction
   8999 	initial definition and store.  Use operands type.
   9000 	(vect_get_slp_defs): Add new arguments.  Pass them to
   9001 	 vect_get_constant_vectors.
   9002 
   9003 2010-10-21  Nathan Froyd  <froydnj (a] codesourcery.com>
   9004 
   9005 	* basic-block.h (single_succ_edge): Use gcc_checking_assert.
   9006 	(single_pred_edge, ei_container, ei_next, ei_prev): Likewise.
   9007 	* cfghooks.c (fixup_reorder_chain): Likewise.
   9008 	* cfgrtl.c (cfg_layout_merge_blocks): Likewise.
   9009 	* cgraph.c (cgraph_add_thunk): Likewise.
   9010 	(cgraph_create_edge_1): Likewise.
   9011 	(cgraph_create_virtual_clone): Likewise.
   9012 	* ddg.c (add_cross_iteration_register_deps): Likewise.
   9013 	* dwarf2out.c (modified_type_die): Likewise.
   9014 	* emit-rtl.c (set_mem_alias_set): Likewise.
   9015 	* ggc-zone.c (zone_allocate_marks): Likewise.
   9016 	* gimple-iterator.c (gsi_move_to_bb_end): Likewise.
   9017 	* gimple.c (iterative_hash_gimple_type): Likewise.
   9018 	* graphite-scop-detection.c (create_single_entry_edge): Likewise.
   9019 	(create_single_exit_edge): Likewise.
   9020 	* haifa-sched.c (choose_ready): Likewise.
   9021 	* lto-streamer-in.c (input_gimple_stmt): Likewise.
   9022 	* passes.c (execute_todo): Likewise.
   9023 	* sched-ebb.c (begin_schedule_ready): Likewise.
   9024 	* sel-sched.c (code_motion_process_successors): Likewise.
   9025 	* tree-call-cdce.c (gen_conditions_for_pow): Likewise.
   9026 	* tree-cfg-cleanup.c (tree_forwarder_block_p): Likewise.
   9027 	* tree-flow-inline.h (link_imm_use, move_use_after_head): Likewise.
   9028 	(phi_arg_index_from_use, phi_ssa_name_p): Likewise.
   9029 	* tree-into-ssa.c (insert_updated_phi_nodes_for): Likewise.
   9030 	* tree-ssa-coalesce.c (ssa_conflicts_test_p): Likewise.
   9031 	(ssa_conflicts_add): Likewise.
   9032 	* tree-ssa-copy.c (replace_exp): Likewise.
   9033 	* tree-ssa-dom.c (eliminate_redundant_computations): Likewise.
   9034 	* tree-ssa-forwprop.c (simple_gimple_switch): Likewise.
   9035 	* tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
   9036 	* tree-ssa-pre.c (bitmap_value_insert_into_set): Likewise.
   9037 	(compute_antic): Likewise.
   9038 	* tree-ssa-ter.c (add_to_partition_kill_list): Likewise.
   9039 	(add_dependence): Likewise.
   9040 	(process_replaceable, kill_expr, find_replaceable_exprs): Likewise.
   9041 	* tree-vrp.c (supports_overflow_infinity): Likewise.
   9042 	(make_overflow_infinity, negative_overflow_infinity): Likewise.
   9043 	(avoid_overflow_infinity, register_new_assert_for): Likewise.
   9044 	(process_assert_insertions_for): Likewise.
   9045 	* var-tracking.c (dv_is_value_p, dv_as_decl, dv_from_decl): Likewise.
   9046 	(dv_from_value, variable_union, find_loc_in_1pdv): Likewise.
   9047 	(intersect_loc_chains, variable_merge_over_cur): Likewise.
   9048 
   9049 2010-10-21  Nathan Froyd  <froydnj (a] codesourcery.com>
   9050 
   9051 	* cfgloop.c (flow_loops_find): Call bb_has_abnormal_pred.
   9052 	* reload1.c (has_nonexceptional_receiver): Likewise.
   9053 	* tree-into-ssa.c (rewrite_update_enter_block): Likewise.
   9054 	(create_new_def_for): Likewise.
   9055 	* tree-cfgcleanup.c (remove_forwarder_block): Likewise.
   9056 	(merge_phi_nodes): Likewise.
   9057 	(has_abnormal_incoming_edge_p): Delete.
   9058 
   9059 2010-10-21  H.J. Lu  <hongjiu.lu (a] intel.com>
   9060 
   9061 	* config/i386/sse.md (ssescalarmodesuffix): Add V8SI and V4DI.
   9062 
   9063 2010-10-21  Richard Guenther  <rguenther (a] suse.de>
   9064 	    Michael Matz  <matz (a] suse.de>
   9065 
   9066 	PR tree-optimization/45764
   9067 	* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
   9068 	Adjust initial misalignment for negative DR_STEP.
   9069 	(vect_find_same_alignment_drs): Two DRs with different DR_STEP
   9070 	do not have the same alignment over the whole iteration domain.
   9071 
   9072 2010-10-21  Richard Guenther  <rguenther (a] suse.de>
   9073 
   9074 	PR tree-optimization/46111
   9075 	* tree-parloops.c (take_address_of): Re-organize for MEM_REF.
   9076 
   9077 2010-10-21  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   9078 
   9079 	* config/s390/s390.md (*xordi3_cc): Mark xgrk as z196 only.
   9080 
   9081 2010-10-21  Tristan Gingold  <gingold (a] adacore.com>
   9082 
   9083 	* config/vms/vms-crtl.h (CRTL_NAMES): Add new translations.
   9084 	* config/vms/vms-crtl-64.h (CRTL_NAMES): Ditto.
   9085 
   9086 2010-10-21  Tristan Gingold  <gingold (a] adacore.com>
   9087 
   9088 	* config/alpha/vms-unwind.h (alpha_vms_fallback_frame_state): Set
   9089 	signal_frame.
   9090 	* config/alpha/alpha.c (alpha_function_arg): Adjust call.
   9091 
   9092 2010-10-21  Tristan Gingold  <gingold (a] adacore.com>
   9093 
   9094 	* config/ia64/vms64.h (TARGET_DEFAULT): Add MASK_FUSED_MADD.
   9095 	* config/ia64/vms.h (TARGET_DEFAULT): Ditto.
   9096 
   9097 2010-10-20  Nathan Froyd  <froydnj (a] codesourcery.com>
   9098 
   9099 	* basic-block.h (find_fallthru_edge): Define.
   9100 	* cfgcleanup.c (merge_blocks_move): Use it.
   9101 	(try_crossjump_bb): Likewise.
   9102 	* cfglayout.c (fixup_reorder_chains): Likewise.
   9103 	(fixup_fallthru_exit_predecessor): Likewise.
   9104 	* cfgrtl.c (rtl_split_edge): Likewise.
   9105 	(rtl_verify_flow_info): Likewise.
   9106 	* function.c (thread_prologue_and_epilogue_insns): Likewise.
   9107 	* gimple-pretty-print.c (dump_implicit_edges): Likewise.
   9108 	* ifcvt.c (block_fallthru): Likewise.
   9109 	* reload1.c (fixup_abnormal_edges): Likewise.
   9110 	* sched-ebb.c (being_schedule_ready): Likewise.
   9111 	(schedule_ebb): Likwise.
   9112 	* sched-rgn.c (find_single_block_region): Likewise.
   9113 	* sel-sched-ir.c (bb_ends_ebb_p): Likewise.
   9114 	* tree-complex.c (expand_complex_move): Likewise.
   9115 	* sched-int.h (find_fallthru_edge): Rename to...
   9116 	(find_fallthru_edge_from): ...this.
   9117 	* haifa-sched.c (find_fallthru_edge): Rename to...
   9118 	(find_fallthru_edge_from): ...this.  Use new find_fallthru_edge.
   9119 	(init_before_recovery): Call find_fallthru_edge_from.
   9120 	* sel-sched-ir.c (merge_fences): Likewise.
   9121 	* sel-sched.c (in_fallthru_bb_p): Likewise.
   9122 	(move_cond_jump): Likewise.
   9123 
   9124 2010-10-20  Paul Koning  <ni1d (a] arrl.net>
   9125 
   9126 	* config/pdp11/pdp11.md (various): Fix conditions on a number of
   9127 	insn to check for target 11/40 or higher.
   9128 
   9129 2010-10-20  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   9130 
   9131 	* parser.c (c_parser_objc_method_type): Mark inline.  Return a
   9132 	bool instead of a tree.
   9133 	(c_parser_objc_method_decl): Added bool argument.  Updated call to
   9134 	objc_build_method_signature.
   9135 	(c_parser_objc_method_definition): Do not call
   9136 	objc_set_method_type.  Updated calls to c_parser_objc_method_type,
   9137 	c_parser_objc_method_decl and objc_start_method_definition.
   9138 	(c_parser_objc_methodproto): Do not call objc_set_method_type.
   9139 	Updated calls to c_parser_objc_method_type,
   9140 	c_parser_objc_method_decl and objc_add_method_declaration.
   9141 
   9142 2010-10-20  Jakub Jelinek  <jakub (a] redhat.com>
   9143 
   9144 	PR tree-optimization/45919
   9145 	* tree-ssa-ccp.c (fold_nonarray_ctor_reference): Handle flexible
   9146 	array members.
   9147 
   9148 	PR tree-optimization/46066
   9149 	* tree-parloops.c (create_parallel_loop): Use gsi_last_nondebug_bb
   9150 	instead of gsi_last_bb.
   9151 
   9152 2010-10-20  DJ Delorie  <dj (a] redhat.com>
   9153 
   9154 	* config/m32c/m32c.c (m32c_option_override): Always disable
   9155 	function-cse in 16-bit mode.  Indirect calls are always worse than
   9156 	direct calls as there is no 16-bit indirect call opcode.
   9157 	(m32c_override_options_after_change): New, likewise.
   9158 
   9159 2010-10-20  Nathan Froyd  <froydnj (a] codesourcery.com>
   9160 
   9161 	* ifcvt.c (noce_emit_cmove): If both of the values are SUBREGs, try
   9162 	emitting the conditional move in the inner mode of the SUBREG.
   9163 
   9164 2010-10-20  Anatoly Sokolov  <aesok (a] post.ru>
   9165 
   9166 	* config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Remove macros.
   9167 	* config/ia64/ia64-protos.h (ia64_preferred_reload_class): Remove.
   9168 	* config/ia64/ia64.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
   9169 	(ia64_preferred_reload_class): Make static.  Change rclass argument
   9170 	and result types from enum reg_class to reg_class_t.
   9171 
   9172 2010-10-20  Pat Haugen  <pthaugen (a] us.ibm.com>
   9173 
   9174 	* tree-ssa-ter.c (find_replaceable_in_bb): Allow replacement over
   9175 	call for single operand expression.
   9176 
   9177 2010-10-20  Eric Botcazou  <ebotcazou (a] adacore.com>
   9178 
   9179 	* tree-optimize.c (execute_fixup_cfg): Purge dead abnormal call edges
   9180 	if there is a call statement to pure or const function in the block.
   9181 
   9182 2010-10-20  Paul Koning  <pkoning (a] equallogic.com>
   9183 
   9184 	Fix several build errors for pdp11 target.
   9185 	* config/pdp11/pdp11.md (*cmpdf): Fix tstd operands.
   9186 	(cbranchdf4): Conditional on TARGET_FPU.
   9187 	(movdf): Ditto; correct alternatives check.
   9188 	(movmemhi): Fix predicate and constraint.
   9189 	* config/pdp11/pdp11.h (HARD_REGNO_MODE_OK): Handle 64 bit mode.
   9190 
   9191 2010-10-20  Richard Guenther  <rguenther (a] suse.de>
   9192 
   9193 	PR lto/45667
   9194 	* lto-streamer-out.c (output_gimple_stmt): Fix typo.
   9195 	* tree-cfg.c (verify_gimple_call): Properly get the call fndecl.
   9196 	(verify_gimple_assign_single): Disable ADDR_EXPR type check
   9197 	when in LTO.
   9198 
   9199 2010-10-20  Vladimir Makarov  <vmakarov (a] redhat.com>
   9200 
   9201 	PR fortran/42169
   9202 	* ira-emit.c (store_can_be_removed_p): Return false instead of
   9203 	gcc_unreachable.
   9204 
   9205 2010-10-20  Dmitry Melnik  <dm (a] ispras.ru>
   9206 
   9207 	* fold-const.c (fold_binary_loc): New transformation.
   9208 
   9209 2010-10-20  H.J. Lu  <hongjiu.lu (a] intel.com>
   9210 
   9211 	PR target/46085
   9212 	* config/i386/sse.md (reduc_splus_v8sf): Updated.
   9213 	(reduc_splus_v4df): Likewise.
   9214 
   9215 2010-10-20  Richard Guenther  <rguenther (a] suse.de>
   9216 
   9217 	PR tree-optimization/45860
   9218 	* tree-ssa-phiopt.c (cond_store_replacement): Do not do
   9219 	conditional store replacement for non-register type stores.
   9220 
   9221 2010-10-20  Eric Botcazou  <ebotcazou (a] adacore.com>
   9222 
   9223 	* stor-layout.c (skip_simple_constant_arithmetic): New function.
   9224 	(self_referential_size): Use it instead of skip_simple_arithmetic.
   9225 
   9226 2010-10-20  Olivier Hainque  <hainque (a] adacore.com>
   9227 
   9228 	* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p):
   9229 	If the current function calls eh_return, claim live all registers
   9230 	that we need to check for liveness otherwise.
   9231 
   9232 2010-10-20  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   9233 
   9234 	* c-decl.c (c_write_global_declarations): Call
   9235 	objc_write_global_declarations when compiling Objective-C.
   9236 	* c-lang.c (finish_file): Removed.
   9237 
   9238 2010-10-19  DJ Delorie  <dj (a] redhat.com>
   9239 
   9240 	* doc/tm.texi.in (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): New.
   9241 	(TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Change to hook.
   9242 	(TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Likewise.
   9243 	(TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Likewise.
   9244 	* doc/tm.texi: Regenerate.
   9245 	* targhooks.h (default_label_align_after_barrier_max_skip,
   9246 	default_loop_align_max_skip, default_label_align_max_skip,
   9247 	default_jump_align_max_skip): Declare.
   9248 	* target.def (label_align_after_barrier_max_skip): New.
   9249 	(loop_align_max_skip): New.
   9250 	(label_align_max_skip): New.
   9251 	(jump_align_max_skip): New.
   9252 	* system.h (poison): Add those macros to the list.
   9253 	* final.c (LABEL_ALIGN_MAX_SKIP): Remove.
   9254 	(LOOP_ALIGN_MAX_SKIP): Remove.
   9255 	(LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Remove.
   9256 	(JUMP_ALIGN_MAX_SKIP): Remove.
   9257 	(default_label_align_after_barrier_max_skip): New.
   9258 	(default_loop_align_max_skip): New.
   9259 	(default_label_align_max_skip): New.
   9260 	(default_jump_align_max_skip): New.
   9261 	(compute_alignments): Use the new hooks.
   9262 	(shorten_branches): Likewise.
   9263 
   9264 2010-10-19  Richard Henderson  <rth (a] redhat.com>
   9265 
   9266 	* config/i386/i386.c (bdesc_multi_arg): Use fma4i_fmadd_<mode>.
   9267 	* config/i386/sse.md (fma<mode>4): Enable for FMA & SSE_MATH.
   9268 	(fma4i_fmadd_<mode>): New.
   9269 	(*split_fma, *split_fms, *split_fnma, *split_fnms): Rename from
   9270 	fma4_fm*_<mode> and adjust to be pre-reload splitters to the
   9271 	standard fma patterns.
   9272 	(fmaddsub_<mode>): Rename from fma4i_fmaddsub_<mode> and
   9273 	enable for FMA.
   9274 	(*fma_fmadd_<mode>, *fma_fmsub_<mode>): New.
   9275 	(*fma_fmadd_<mode>, *fma_fmsub_<mode>): New.
   9276 	(*fma_fmaddsub_<mode>, *fma_fmsubadd_<mode>): New.
   9277 
   9278 2010-10-19  Paul Koning  <pkoning (a] equallogic.com>
   9279 
   9280 	* lower-subreg.c (resolve_shift_zext): Delete conditional code for
   9281 	WORDS_BIG_ENDIAN != BYTES_BIG_ENDIAN.
   9282 
   9283 2010-10-19  Richard Henderson  <rth (a] redhat.com>
   9284 
   9285 	* config/ia64/ia64.md (fmasf4, *fmssf4, *nfmasf4): New.
   9286 	(fmadf4, *fmsdf4, *nfmadf4): New.
   9287 	(fmaxf4, *fmsxf4, *nfmaxf4): New.
   9288 
   9289 2010-10-19  Michael Eager  <eager (a] eagercon.com>
   9290 
   9291 	* config/microblaze/microblaze.c (TARGET_EXCEPT_UNWIND_INFO):
   9292 	Use sjlj unwind info for exceptions.
   9293 
   9294 2010-10-19  Francois-Xavier Coudert<fxcoudert (a] gcc.gnu.org>
   9295 
   9296 	PR fortran/43414
   9297 	* dwarf2out.c (add_calling_convention_attribute): Flag main
   9298 	Fortran subroutine with DW_AT_main_subprogram.
   9299 
   9300 2010-10-19  Nick Clifton  <nickc (a] redhat.com>
   9301 
   9302 	* config/rx/rx.c (rx_function_value): Small integer types are
   9303 	promoted to SImode.
   9304 	(rx_promote_function_mode): New function.
   9305 	(TARGET_PROMOTE_FUNCTION_MODE): Define.
   9306 
   9307 2010-10-19  Nick Clifton  <nickc (a] redhat.com>
   9308 
   9309 	* config/mep/mep.c (mep_print_operand): Use
   9310 	targetm.strip_name_encoding.
   9311 	(mep_output_aligned_common): Likewise.
   9312 
   9313 2010-10-19  Basile Starynkevitch  <basile (a] starynkevitch.net>
   9314 
   9315 	* gengtype.c (new_structure): Remove ad-hoc "location_s" processing.
   9316 
   9317 2010-10-18  Richard Henderson  <rth (a] redhat.com>
   9318 
   9319 	* simplify-rtx.c (simplify_ternary_operation) [FMA]: Simplify
   9320 	(fma (neg a) (neg b) c) and (fma a (neg b) c).
   9321 
   9322 2010-10-18  Richard Henderson  <rth (a] redhat.com>
   9323 
   9324 	* config/i386/i386.c (IX86_BUILTIN_VFMSUBSS, IX86_BUILTIN_VFMSUBSD,
   9325 	IX86_BUILTIN_VFMSUBPS, IX86_BUILTIN_VFMSUBPD,
   9326 	IX86_BUILTIN_VFMSUBADDPS, IX86_BUILTIN_VFMSUBADDPD,
   9327 	IX86_BUILTIN_VFNMADDSS, IX86_BUILTIN_VFNMADDSD,
   9328 	IX86_BUILTIN_VFNMADDPS, IX86_BUILTIN_VFNMADDPD,
   9329 	IX86_BUILTIN_VFNMSUBSS, IX86_BUILTIN_VFNMSUBSD,
   9330 	IX86_BUILTIN_VFNMSUBPS, IX86_BUILTIN_VFNMSUBPD,
   9331 	IX86_BUILTIN_VFMSUBADDPS256, IX86_BUILTIN_VFMSUBADDPD256,
   9332 	IX86_BUILTIN_VFNMADDPS256, IX86_BUILTIN_VFNMADDPD256,
   9333 	IX86_BUILTIN_VFNMSUBPS256, IX86_BUILTIN_VFNMSUBPD256): Remove.
   9334 	(bdesc_multi_arg): Remove the corresponding builtins.
   9335 	* config/i386/i386.md (UNSPEC_FMA4_INTRINSIC): Remove.
   9336 	(UNSPEC_FMA4_FMSUBADD): Remove.
   9337 	(UNSPEC_FMADDSUB): Rename from UNSPEC_FMA4_FMADDSUB.
   9338 	* config/i386/sse.md (FMA4MODEF4): Remove.
   9339 	(FMAMODE): Add.
   9340 	(fma<mode>4): New expander.
   9341 	(*fma4i_fmadd_<mode>): Macroize from fma4i_fmadd<mode>4 patterns,
   9342 	and use FMA rtx code instead of UNSPEC_FMA4_INTRINSIC.
   9343 	(*fma4i_fmsub_<mode>): Similarly.
   9344 	(*fma4i_fnmadd_<mode>): Similarly.
   9345 	(*fma4i_fnmsub_<mode>): Similarly.
   9346 	(fma4i_vmfmadd_<mode>): Scalar patterns zero-extend, not merge
   9347 	with the first operand.
   9348 	(fma4i_fmaddsub_<mode>): Represent with UNSPEC_FMADDSUB instead
   9349 	of explicit arithmetic.  Macroize with AVXMODEF2P.
   9350 	(*fma4i_fmsubadd_<mode>): Represent with UNSPEC_FMADDSUB + NEG.
   9351 	(xop_frcz<mode>2): Macroize with FMAMODE.
   9352 	(xop_vmfrcz<mode>2): Scalar patterns zero-extend, not merge with
   9353 	the first operand.
   9354 	* config/i386/fma4intrin.h (_mm_msub_ps): Use vfmadd intrinsic with
   9355 	extra negations.
   9356 	(_mm_msub_pd, _mm_msub_ss, _mm_msub_sd): Likewise.
   9357 	(_mm_nmacc_ps, _mm_nmacc_pd, _mm_nmacc_ss, _mm_nmacc_sd): Likewise.
   9358 	(_mm_nmsub_ps, _mm_nmsub_pd, _mm_nmsub_ss, _mm_nmsub_sd): Likewise.
   9359 	(_mm256_msub_ps, _mm256_msub_pd): Likewise.
   9360 	(_mm256_nmacc_ps, _mm256_nmacc_pd): Likewise.
   9361 	(_mm256_nmsub_ps, _mm256_nmsub_pd): Likewise.
   9362 	(_mm_msubadd_ps): Use vfmaddsub intrinsic with extra negation.
   9363 	(_mm_msubadd_pd, _mm256_msubadd_ps, _mm256_msubadd_pd): Likewise.
   9364 
   9365 2010-10-18  Bernd Schmidt  <bernds (a] codesourcery.com>
   9366 
   9367 	PR rtl-optimization/45966
   9368 	* combine.c (try_combine): If added_sets_2, deal with the case
   9369 	where i0 feeds i1 and i1 feeds i2.
   9370 
   9371 2010-10-18  Jan Hubicka  <jh (a] suse.cz>
   9372 
   9373 	* ipa.c (cgraph_externally_visible_p): Handle externally visible and
   9374 	preserve flags before trying to guess on visibility.
   9375 	(varpool_externally_visible_p): New function.
   9376 	(function_and_variable_visibility): Use it.
   9377 
   9378 2010-10-18  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   9379 
   9380 	Implemented parsing @synthesize and @dynamic for Objective-C.
   9381 	* c-parser.c (c_parser_external_declaration): Recognize
   9382 	RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
   9383 	(c_parser_objc_at_synthesize_declaration): New.
   9384 	(c_parser_objc_at_dynamic_declaration): New.
   9385 
   9386 2010-10-18  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   9387 
   9388 	* c-parser.c (c_parser_objc_class_declaration): After finding an
   9389 	error, parse the whole declaration then reset parser->error.
   9390 
   9391 2010-10-18  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   9392 
   9393 	PR target/46041
   9394 	* tree.h (mode_has_fma): Delete, move to c-cppbuiltins.c.
   9395 	* builtins.c (mode_has_fma): Ditto.
   9396 
   9397 2010-10-18  Steve Ellcey  <sje (a] cup.hp.com>
   9398 
   9399 	PR target/36898
   9400 	PR middle-end/43760
   9401 	* config/ia64/ia64.c (rws_access_regno): Remove predicate check.
   9402 
   9403 2010-10-18  Joseph Myers  <joseph (a] codesourcery.com>
   9404 
   9405 	* config/i386/i386.c (ix86_option_override_internal): Define and
   9406 	use USE_X86_64_FRAME_POINTER for 64-bit flag_omit_frame_pointer
   9407 	default.
   9408 	* config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
   9409 	(USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Define.
   9410 
   9411 2010-10-18  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   9412 
   9413 	Merge from 'apple/trunk' branch on FSF servers.
   9414 	* c-parser.c (c_parser_objc_type_name): Adapted to new parser the
   9415 	following Objective-C change:
   9416 
   9417 	2005-10-10  Fariborz Jahanian  <fjahanian (a] apple.com>
   9418 
   9419 	Radar 4301047
   9420 	* c-parse.in (objc_quals): Build objc qualifier list same way
   9421 	as gcc-3.3
   9422 
   9423 2010-10-18  Jan Hubicka  <jh (a] suse.cz>
   9424 
   9425 	* ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p,
   9426 	function_and_variable_visibility): Revert accidental commit.
   9427 
   9428 2010-10-18  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   9429 
   9430 	Merge from 'apple/trunk' branch on FSF servers.
   9431 	* c-parser.c (c_parser_typeof_specifier): Adapted to new parser
   9432 	the following Objective-C change:
   9433 
   9434 	2005-10-07  Fariborz Jahanian  <fjahanian (a] apple.com>
   9435 
   9436 	Radar 4204796
   9437 	* c-parse.in (typespec_nonreserved_nonattr): Remove volatile from
   9438 	'volatilized' type used in a typeof operator.
   9439 
   9440 2010-10-18  Eric Botcazou  <ebotcazou (a] adacore.com>
   9441 
   9442 	* tree-flow.h (gimple_purge_all_dead_abnormal_call_edges): Declare.
   9443 	* tree-cfg.c (gimple_purge_dead_abnormal_call_edges): Move around and
   9444 	rewrite modelled on gimple_purge_dead_eh_edges.
   9445 	(gimple_purge_all_dead_abnormal_call_edges): New function.
   9446 	* tree-inline.c (expand_call_inline): Call gimple_purge_dead_eh_edges
   9447 	directly instead of through gimple_purge_dead_abnormal_call_edges.
   9448 	* tree-ssa-pre.c (need_ab_cleanup): New static variable.
   9449 	(eliminate): Set bit in need_ab_cleanup for the basic block if we have
   9450 	removed AB side-effects from one of its statements.
   9451 	(init_pre): Initialize need_ab_cleanup.
   9452 	(fini_pre): Purge dead abnormal call edges and clean up the CFG if bits
   9453 	are set in need_ab_cleanup.  Free need_ab_cleanup afterward.
   9454 
   9455 2010-10-18  Jakub Jelinek  <jakub (a] redhat.com>
   9456 
   9457 	PR c/46015
   9458 	* c-parser.c (c_parser_statement_after_labels): Call mark_exp_read
   9459 	on computed goto argument.
   9460 
   9461 2010-10-18  Richard Guenther  <rguenther (a] suse.de>
   9462 
   9463 	PR tree-optimization/45967
   9464 	* tree-ssa-structalias.c (type_could_have_pointers): Remove.
   9465 	(could_have_pointers): Likewise.
   9466 	(handle_rhs_call, handle_const_call, handle_pure_call,
   9467 	find_func_aliases, intra_create_variable_infos): Remove calls to them.
   9468 	(struct fieldoff): Add must_have_pointers field.
   9469 	(type_must_have_pointers): New function.
   9470 	(field_must_have_pointers): Likewise.
   9471 	(push_fields_onto_fieldstack): Remove must_have_pointers_p argument.
   9472 	Adjust field merging.
   9473 	(create_function_info_for): May-have-pointers of varinfo is
   9474 	almost always true.
   9475 	(create_variable_info_for_1): Likewise.
   9476 
   9477 2010-10-18  Tejas Belagod  <tejas.belagod (a] arm.com>
   9478 
   9479 	* config/arm/neon.md (neon_move_hi_quad_<mode>): Fix the order
   9480 	of operands to vec_concat.
   9481 
   9482 2010-10-18  Richard Guenther  <rguenther (a] suse.de>
   9483 
   9484 	PR lto/44950
   9485 	* tree.c (free_lang_data_in_decl): As we clear TYPE_METHODS
   9486 	also clear references to entries of it.
   9487 
   9488 2010-10-18  Andi Kleen  <ak (a] linux.intel.com>
   9489 
   9490 	PR other/43448
   9491 	* gccbug.in: Remove.
   9492 	* Makefile.in (GCCBUG_INSTALL_NAME, gccbug): Remove
   9493 	(doc, distclean, install-common): Remove reference to gccbug.
   9494 	* configure: Regenerate.
   9495 	* configure.ac (all_outputs): Remove gccbug.
   9496 	* doc/configfiles.texi: Remove references to gccbug.
   9497 	* doc/sourcebuild.texi: Dito.
   9498 
   9499 2010-10-18  Jakub Jelinek  <jakub (a] redhat.com>
   9500 
   9501 	PR middle-end/46019
   9502 	* fold-const.c (fold_binary_loc): If integer_pow2p has
   9503 	TREE_INT_CST_LOW zero, look at TREE_INT_CST_HIGH.
   9504 
   9505 2010-10-18  Basile Starynkevitch  <basile (a] starynkevitch.net>
   9506 	    Jeremie Salvucci  <jeremie.salvucci (a] free.fr>
   9507 
   9508 	* gengtype.c (verbosity_level): Add variable.
   9509 	(set_gc_used): Count variables for verbosity.
   9510 	(close_output_files): Backing up files, counting written ones
   9511 	verbosily.
   9512 	(write_types): Count emitted functions for verbosity. Added
   9513 	debug messages.
   9514 	(write_enum_defn): Count structures for verbosity. Added debug
   9515 	messages.
   9516 	(gengtype_long_options): Add "verbose" & "backupdir".
   9517 	(print_usage): Ditto.
   9518 	(main): Verbose display of parsed files.
   9519 
   9520 	* gengtype.h (verbosity_level): Add declaration.
   9521 
   9522 2010-10-18  Basile Starynkevitch  <basile (a] starynkevitch.net>
   9523 
   9524 	* gengtype.c (parse_program_options): Add allocation of
   9525 	plugin_files, and correct test on nb_plugin_files.
   9526 
   9527 2010-10-17  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   9528 
   9529 	Merge from 'apple/trunk' branch on FSF servers.
   9530 
   9531 	2006-03-27 Fariborz Jahanian  <fjahanian (a] apple.com>
   9532 
   9533 	Radar 4133425
   9534 	* c-decl.c (undeclared_variable): Issue diagnostic on
   9535 	private 'ivar' access.
   9536 
   9537 2010-10-17  Uros Bizjak  <ubizjak (a] gmail.com>
   9538 
   9539 	PR target/46051
   9540 	* config/i386/sse.md (vec_interleave_highv4df): Fix third RTX of
   9541 	generated sequence to match *avx_vperm2f128<mode>_nozero.
   9542 	(vec_interleave_lowv4df): Ditto.
   9543 	(vec_interleave_highv8sf): Ditto.
   9544 	(vec_interleave_lowv8sf): Ditto.
   9545 
   9546 2010-10-17  Kai Tietz  <kai.tietz (a] onevision.com>
   9547 
   9548 	* libgcov.c (create_file_directory): Enable it for win32 case.
   9549 	(gcov_exit): De-couple GCOV_PREFIX and GCOV_PREFIX_STRIP.
   9550 	* doc/gcov.texi (GCOV_PREFIX): Adjusted.
   9551 	(GCOV_PREFIX_SKIP): Likewise.
   9552 
   9553 2010-10-17  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   9554 
   9555 	* doc/objc.texi (GNU Objective-C runtime API): New section.
   9556 	(Modern GNU Objective-C runtime API): New section.
   9557 	(Traditional GNU Objective-C runtime API): New section.
   9558 	(Executing code before main): Mention that this section is
   9559 	specific to the GNU Objective-C runtime.
   9560 	(Garbage Collection): Same.
   9561 
   9562 2010-10-17  Uros Bizjak  <ubizjak (a] gmail.com>
   9563 
   9564 	* c-parser.c (c_parser_for_statement): Move initialization of
   9565 	cond and incr before if.
   9566 
   9567 2010-10-17  Anatoly Sokolov  <aesok (a] post.ru>
   9568 
   9569 	* target.def (preferred_output_reload_class): New hook.
   9570 	* doc/tm.texi.in (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Document.
   9571 	* doc/tm.texi: Regenerate.
   9572 	* targhooks.c (default_preferred_output_reload_class): New function.
   9573 	* targhooks.h (default_preferred_output_reload_class): Declare.
   9574 	* reload.c (find_dummy_reload): Change rclass argument type from
   9575 	enum reg_class to reg_class_t. Change this_alternative array type
   9576 	from enum reg_class to reg_class_t.
   9577 	Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
   9578 	(push_reload): Change preferred_class variable type to reg_class_t.
   9579 	Use TARGET_PREFERRED_OUTPUT_RELOAD_CLASS target hook.
   9580 	* recog.c (reg_fits_class_p): Change result type to bool. Change cl
   9581 	argument type from enum reg_class to reg_class_t. Use
   9582 	HARD_REGISTER_NUM_P predicate.
   9583 	* recog.h (reg_fits_class_p): Update prototype.
   9584 
   9585 	* config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
   9586 	* config/i386/i386-protos.h (ix86_preferred_output_reload_class):
   9587 	Remove.
   9588 	* config/i386/i386.c (ix86_preferred_output_reload_class): Make
   9589 	static. Change regclass argument and result types from enum reg_class
   9590 	to reg_class_t.
   9591 	(TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
   9592 
   9593 2010-10-17  Iain Sandoe  <iains (a] gcc.gnu.org>
   9594 
   9595 	* c-parser.c (c_parser_objc_class_instance_variables): Update to use
   9596 	visibility enum, and handle @package.
   9597 
   9598 2010-10-17  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   9599 
   9600 	* doc/objc.texi (What you can and what you cannot do in +load):
   9601 	Document that sending messages to constant string objects in +load
   9602 	is not guaranteed to work.
   9603 
   9604 2010-10-16  Jan Hubicka  <jh (a] suse.cz>
   9605 
   9606 	PR middle-end/44206
   9607 	* ipa.c (cgraph_remove_unreachable_nodes): Cleanup; check
   9608 	existence of refrences before removing the function.
   9609 
   9610 2010-10-16  Jan Hubicka  <jh (a] suse.cz>
   9611 
   9612 	* cgraph.c (dump_cgraph_node): Dump same_comdat_group,
   9613 	only_called_at_startup and only_called_at_exit.
   9614 	(cgraph_propagate_frequency): Compute only_called_at_startup and
   9615 	only_called_at_exit.
   9616 	* cgraph.h (struct cgraph_node): New fileds only_called_at_startup and
   9617 	only_called_at_exit.
   9618 	* lto-cgraph.c (lto_output_node, input_overwrite_node): Stream the new
   9619 	flags.
   9620 	* predict.c (compute_function_frequency): Initialize the new flags.
   9621 
   9622 2010-10-16  Eric Botcazou  <ebotcazou (a] adacore.com>
   9623 
   9624 	* gimplify.c (gimplify_type_sizes) <ARRAY_TYPE>: If the type is to be
   9625 	ignored for debug info purposes, do not clear the DECL_IGNORED_P flag
   9626 	on the bounds of its domain.
   9627 	* tree.h (DECL_IGNORED_P): Document effect on TYPE_DECL specifically.
   9628 
   9629 2010-10-16  Anatoly Sokolov  <aesok (a] post.ru>
   9630 
   9631 	* config/avr/avr.h (PREFERRED_RELOAD_CLASS): Remove.
   9632 	* config/avr/avr-protos.h (preferred_reload_class): Remove.
   9633 	* config/avr/avr.c (preferred_reload_class): Remove.
   9634 	* config/pa/pa.h (PREFERRED_RELOAD_CLASS): Remove.
   9635 	* config/pa/pa.c (emit_move_sequence): Update comment
   9636 	* config/arc/arc.h (PREFERRED_RELOAD_CLASS): Remove.
   9637 	* config/crx/crx.h (PREFERRED_RELOAD_CLASS): Remove.
   9638 	* config/fr30/fr30.h (PREFERRED_RELOAD_CLASS): Remove.
   9639 	* config/frv/frv.h (PREFERRED_RELOAD_CLASS): Remove.
   9640 	* config/h8300/h8300.h (PREFERRED_RELOAD_CLASS): Remove.
   9641 	* config/lm32/lm32.h (PREFERRED_RELOAD_CLASS): Remove.
   9642 	* config/m32r/m32r.h (PREFERRED_RELOAD_CLASS): Remove.
   9643 	* config/moxie/moxie.h (PREFERRED_RELOAD_CLASS): Remove.
   9644 	* config/picochip/picochip.h (PREFERRED_RELOAD_CLASS): Remove.
   9645 	* config/rx/rx.h (PREFERRED_RELOAD_CLASS): Remove.
   9646 	* config/spu/spu.h (PREFERRED_RELOAD_CLASS): Remove.
   9647 	* config/v850/v850.h (PREFERRED_RELOAD_CLASS): Remove.
   9648 	* config/vax/vax.h (PREFERRED_RELOAD_CLASS): Remove.
   9649 
   9650 2010-10-16  Joseph Myers  <joseph (a] codesourcery.com>
   9651 
   9652 	* opts.c (set_fast_math_flags,
   9653 	set_unsafe_math_optimizations_flags): Make static.
   9654 	* toplev.h (set_fast_math_flags,
   9655 	set_unsafe_math_optimizations_flags): Remove prototypes.
   9656 
   9657 2010-10-16  Joseph Myers  <joseph (a] codesourcery.com>
   9658 
   9659 	* config/arm/arm.c (arm_option_optimization): Set
   9660 	flag_section_anchors to 1 not 2.
   9661 	* config/i386/i386.c (ix86_option_override_internal): Check
   9662 	global_options_set.x_flag_zee and
   9663 	global_options_set.x_flag_omit_frame_pointer.
   9664 	(ix86_option_optimization): Don't set flag_omit_frame_pointer and
   9665 	flag_zee to 2.
   9666 	* config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Check
   9667 	global_options_set.x_flag_omit_frame_pointer.
   9668 	* config/rs6000/rs6000.c (rs6000_option_init_struct): Set
   9669 	opts->x_flag_section_anchors to 1 not 2.
   9670 	* config/sh/sh.c (sh_option_optimization): Don't set
   9671 	flag_schedule_insns to 2.
   9672 	(sh_option_override): Check
   9673 	global_options_set.x_flag_schedule_insns.
   9674 	* opts.c (finish_options): Check opts_set->x_flag_section_anchors.
   9675 
   9676 2010-10-16  Kai Tietz  <kai.tietz (a] onevision.com>
   9677 
   9678 	* configure.ac: Make sure inhibit_libc remains false for mingw targets
   9679 	as cross.
   9680 	* configure: Regenerated.
   9681 
   9682 2010-10-15  Xinliang David Li  <davidxl (a] google.com>
   9683 
   9684 	* tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths): New
   9685 	function.
   9686 	(use_pred_not_overlap_with_undef_path_pred): Outline phi arg pruning
   9687 	into a recursive function.
   9688 
   9689 2010-10-15  Uros Bizjak  <ubizjak (a] gmail.com>
   9690 
   9691 	* config/i386/i386.md (*movdfcc_1_rex64): Correct mode attribute.
   9692 	(*movdfcc_1): ditto.
   9693 
   9694 2010-10-15  Joseph Myers  <joseph (a] codesourcery.com>
   9695 
   9696 	* target.def (target_option.init_struct): New hook.
   9697 	* doc/tm.texi.in (TARGET_OPTION_INIT_STRUCT): New @hook.
   9698 	* doc/tm.texi: Regenerate.
   9699 	* hooks.c (hook_void_gcc_optionsp): New.
   9700 	* hooks.h (hook_void_gcc_optionsp): Declare.
   9701 	* langhooks-def.h (lhd_init_options_struct): Remove.
   9702 	(LANG_HOOKS_INIT_OPTIONS_STRUCT): Define to hook_void_gcc_optionsp.
   9703 	* langhooks.c (lhd_init_options_struct): Remove.
   9704 	* opts.c (init_options_struct): Also call
   9705 	targetm.target_option.init_struct.
   9706 	* config/i386/i386.c (ix86_option_init_struct,
   9707 	TARGET_OPTION_INIT_STRUCT): New.
   9708 	(ix86_option_optimization): Move some settings to
   9709 	ix86_option_init_struct.
   9710 	* config/pdp11/pdp11.c (pdp11_option_init_struct,
   9711 	TARGET_OPTION_INIT_STRUCT): New.
   9712 	(pdp11_option_optimization): Move some settings to
   9713 	pdp11_option_init_struct.
   9714 	* config/rs6000/rs6000.c (rs6000_option_optimization): Replace by
   9715 	rs6000_option_init_struct.  Use options structure pointer.
   9716 	(TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT.
   9717 	* config/s390/s390.c (s390_option_init_struct,
   9718 	TARGET_OPTION_INIT_STRUCT): New.
   9719 	(s390_option_optimization): Don't set
   9720 	flag_asynchronous_unwind_tables here.
   9721 	* config/sh/sh.c (sh_option_init_struct,
   9722 	TARGET_OPTION_INIT_STRUCT): New.
   9723 	(sh_option_optimization): Don't set flag_finite_math_only here.
   9724 	* config/spu/spu.c (spu_option_optimization): Replace by
   9725 	spu_option_optimization.  Use options structure pointer.
   9726 	(TARGET_OPTION_OPTIMIZATION): Replace by TARGET_OPTION_INIT_STRUCT.
   9727 
   9728 2010-10-14  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   9729 
   9730 	* doc/md.texi (Standard Names): Add fma@var{m}4 documentation.
   9731 
   9732 	* doc/rtl.texi (RTX_TERNARY): Document FMA is ternary.  Add
   9733 	SIGN_EXTRACT and ZERO_EXTRACT which were missing.
   9734 	(Standard names): Document fma.
   9735 
   9736 	* doc/cpp.texi (Common Predefined Macros): Document __FP_FAST_FMA,
   9737 	__FP_FAST_FMAF, __FP_FAST_FMAL.
   9738 
   9739 	* builitns.c (expand_builtin_mathfn_ternary): New function for
   9740 	expanding ternary math functions, like fma.
   9741 	(expand_builtin): Call it for the fma builtins.
   9742 
   9743 	* simplify-rtx.c (simplify_ternary_operation): Don't simplify FMA
   9744 	ops at present.
   9745 
   9746 	* tree-vect-stmts.c (vectorizable_call): Allow 3 argument
   9747 	vectorizable functions to support vectorizing fma.
   9748 
   9749 	* config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
   9750 	Handle fma builtins.
   9751 
   9752 	* config/rs6000/vsx.md (UNSPEC_VSX_MADD): Delete.
   9753 	(UNSPEC_VSX_MSUB): Ditto.
   9754 	(UNSPEC_VSX_NMADD): Ditto.
   9755 	(UNSPEC_VSX_NMSUB): Ditto.
   9756 	(vsx_fmadd<mode>4*): Rewrite to use FMA rtl in some cases instead
   9757 	of UNSPEC. Renumber combiner patterns.
   9758 	(vsx_fmsub<mode>4*): Ditto.
   9759 	(vsx_fnmadd<mode>4*): Ditto.
   9760 	(vsx_fnmsub<mode>4*): Ditto.
   9761 
   9762 	* config/rs6000/altivec.md (UNSPEC_VNMSUBFP): Delete.
   9763 	(altivec_vmaddfp): Rewrite to use FMA rtl if no fused
   9764 	multiply/add.  Rename combiner pattern, and add TARGET_FUSED_MADD test.
   9765 	(altivec_vmaddfp_1): Ditto.
   9766 	(altivec_vmaddfp_2): Ditto.
   9767 	(atlivec_mulv4sf3): Ditto.
   9768 	(altivec_vnmsubfp): Ditto.
   9769 	(altivec_vnmsubfp_1): Ditto.
   9770 	(altivec_vnmsubfp_2): Ditto.
   9771 	(altivec_vnmsubfp_3): Delete.
   9772 
   9773 	* config/rs6000/rs6000.md (fmasf4): New insns for fma builtin support.
   9774 	(fmasf4_fpr): Ditto.
   9775 	(fmssf4_fpr): Ditto.
   9776 	(fnmasf4_fpr): Ditto.
   9777 	(fnmssf4_fpr): Ditto.
   9778 	(fmadf4): Ditto.
   9779 	(fmadf4_fpr): Ditto.
   9780 	(fmsdf4_fpr): Ditto.
   9781 	(fnmadf4_fpr): Ditto.
   9782 	(fnmsdf4_fpr): Ditto.
   9783 
   9784 	* optabs.h (OTI_fma): Add fma optab.
   9785 	(fma_optab): Ditto.
   9786 
   9787 	* genopinit.c (optabs): Set fma optab.
   9788 
   9789 	* rtl.def (FMA): Add FMA rtl.
   9790 
   9791 	* tree.h (mode_has_fma): New function to return if MODE supports a
   9792 	fast multiply and add instruction.
   9793 	* builtins.c (mode_has_fma): Ditto.
   9794 
   9795 2010-10-15  Jan Hubicka  <jh (a] suse.cz>
   9796 
   9797 	* lto-streamer-out.c (write_symbol): Use pointer set of seen
   9798 	objects instead of bitmap.
   9799 	(produce_symtab): Likewise; output defined symbols first.
   9800 
   9801 2010-10-15  Jie Zhang  <jie (a] codesourcery.com>
   9802 
   9803 	* doc/invoke.texi: Add -fstrict-volatile-bitfields to
   9804 	Option Summary and Index.
   9805 
   9806 2010-10-15  Richard Guenther  <rguenther (a] suse.de>
   9807 
   9808 	* tree.c (free_lang_data_in_decl): Clear DECL_INITIAL
   9809 	for automatic variables again.
   9810 
   9811 2010-10-15  Joseph Myers  <joseph (a] codesourcery.com>
   9812 
   9813 	* doc/extend.texi (Variable Length): Don't refer to VLAs not
   9814 	conforming to C99.
   9815 
   9816 2010-10-15  Joseph Myers  <joseph (a] codesourcery.com>
   9817 
   9818 	* config/rx/rx.c (rx_option_optimization): Change to
   9819 	rx_override_options_after_change.  Don't change
   9820 	flag_lto_compression_level.  Don't check for changes to whether
   9821 	FPU instructions can be used.  Check and set only
   9822 	flag_finite_math_only, not other fast-math flags.
   9823 	(rx_option_override): Call rx_override_options_after_change.
   9824 	(TARGET_OPTION_OPTIMIZATION): Remove.
   9825 	(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
   9826 
   9827 2010-10-15  Joseph Myers  <joseph (a] codesourcery.com>
   9828 
   9829 	* config/rs6000/rs6000.c (rs6000_option_optimization): Don't
   9830 	disable section anchors for lang_hooks.name[4] != 'O'.
   9831 
   9832 2010-10-15  Joseph Myers  <joseph (a] codesourcery.com>
   9833 
   9834 	* config/frv/frv.c (frv_option_optimization,
   9835 	TARGET_OPTION_OPTIMIZATION): Remove.
   9836 	* config/frv/frv.h (RCSP_SOFTWARE_PIPELINING): Remove.
   9837 
   9838 2010-10-15  Michael Matz  <matz (a] suse.de>
   9839 
   9840 	* cgraphunit.c (clone_of_p): Define unconditionally.
   9841 
   9842 2010-10-15  Richard Guenther  <rguenther (a] suse.de>
   9843 
   9844 	PR lto/45957
   9845 	* tree.c (free_lang_data_in_decl): Do not clear DECL_INITIAL of vars.
   9846 
   9847 2010-10-15  Chung-Lin Tang  <cltang (a] codesourcery.com>
   9848 
   9849 	* ifcvt.c (find_active_insn_before): New function.
   9850 	(find_active_insn_after): New function.
   9851 	(cond_exec_process_if_block): Use new functions to replace
   9852 	prev_active_insn() and next_active_insn().
   9853 
   9854 2010-10-14  Yao Qi  <yao (a] codesourcery.com>
   9855 
   9856 	PR target/45447
   9857 	* config/arm/arm.c (arm_build_builtin_va_list): Assign
   9858 	va_list_name to TYPE_STUB_DECL (va_list_type).
   9859 
   9860 2010-10-14  Jan Hubicka  <jh (a] suse.cz>
   9861 
   9862 	PR middle-end/45621
   9863 	* cgraph.c (cgraph_update_edges_for_call_stmt_node): When new call is
   9864 	redirected to clone, be happy.
   9865 	* cgraph.h (cgraph node): Enable former_clone_of unconditinally.
   9866 	* cgraphunit.c (verify_cgraph_node, cgraph_materialize_clone): Handle
   9867 	former_clone_of unconditionally.
   9868 
   9869 2010-10-14  Iain Sandoe  <iains (a] gcc.gnu.org>
   9870 
   9871 	Merge from FSF apple 'trunk' branch.
   9872 	2006 Fariborz Jahanian  <fjahanian (a] apple.com>
   9873 
   9874 	Radars 4436866, 4505126, 4506903, 4517826
   9875 	* c-parser.c (c_parser, objc_property_attr_context) New flag.
   9876 	(c_lex_one_token): Handle property attributes.
   9877 	(c_parser_external_declaration): Handle @property.
   9878 	(c_parser_declaration_or_fndef): Warn on invalid attributes before
   9879 	@alias, @class, @end and @property objc keywords.
   9880 	(c_parser_objc_methodprotolist): Handle @property.
   9881 	(c_parser_objc_property_attrlist): New.
   9882 	(c_parser_objc_at_property): New.
   9883 	* c-typeck.c (build_component_ref): Handle CLASS.property syntax.
   9884 	(build_modify_expr): Likewise.
   9885 
   9886 2010-10-14  Jakub Jelinek  <jakub (a] redhat.com>
   9887 
   9888 	PR tree-optimization/46008
   9889 	* tree-if-conv.c (predicate_bbs): Try to canonicalize c2 if possible.
   9890 
   9891 2010-10-14  Richard Guenther  <rguenther (a] suse.de>
   9892 
   9893 	PR tree-optimization/44913
   9894 	* tree-data-ref.c (disjoint_objects_p): Remove.
   9895 	(dr_may_alias_p): Simplify.  Only hand the base object to
   9896 	the alias-oracle.
   9897 	* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
   9898 	some more trees, bail out instead of asserting.
   9899 	(ptr_derefs_may_alias_p): Likewise.  Export.
   9900 	(refs_may_alias_p_1): Handle STRING_CSTs.
   9901 	* tree-ssa-alias.h (ptr_derefs_may_alias_p): Declare.
   9902 
   9903 2010-10-14  Joseph Myers  <joseph (a] codesourcery.com>
   9904 
   9905 	PR c/45969
   9906 	* c-typeck.c (build_binary_op): Don't try to compute a semantic
   9907 	type with excess precision for boolean operations.
   9908 
   9909 2010-10-14  Jeremie Salvucci  <jeremie.salvucci (a] free.fr>
   9910 	    Basile Starynkevitch  <basile (a] starynkevitch.net>
   9911 
   9912 	* gengtype.c:  Include getopt.h and version.h.
   9913 
   9914 	(lang_bitmap, struct outf, outf_p)
   9915 	(get_output_file_with_visibility, oprintf): Definitions moved to
   9916 	gengtype.h
   9917 	(output_files, header_file, srcdir, srcdir_len, this_file)
   9918 	(do_dump): No more static variables.
   9919 	(do_debug): New.
   9920 	(dbgprint_count_type_at): Added new function.
   9921 	(gengtype_long_options): New.
   9922 	(print_usage, print_version, parse_program_options): New.
   9923 	(main): Call parse_program_options, and removed old option
   9924 	handling code.  Added some debug output.
   9925 
   9926 	* gengtype.h:  Updated copyright year.
   9927 	(lang_bitmap, struct outf, outf_p, header_file, oprintf)
   9928 	(get_output_file_with_visibility, srcdir, srcdir_len, do_dump):
   9929 	Moved from gengtype.c to here.
   9930 	(do_debug, read_state_filename, write_state_filename): New variables.
   9931 	(DBGPRINTF, DBGPRINT_COUNT_TYPE): New macros.
   9932 
   9933 	* Makefile.in:
   9934 	(REVISION): Always defined.
   9935 	(version.o): Removed ifdef REVISION_c.
   9936 	(s-gtype): Pass arguments to build/gengtype program.
   9937 	(build/version.o): Added building rule.
   9938 	(build/gengtype$(build_exeext)): Added build/version.o.
   9939 
   9940 2010-10-14  Iain Sandoe  <iains (a] gcc.gnu.org>
   9941 
   9942 	Partial merge of 'ObjC GC' from FSF apple 'trunk' branch.
   9943 	* config/darwin-c.c (darwin_cpp_builtins): Define __weak and
   9944 	__strong macros.
   9945 
   9946 2010-10-14  Eric Botcazou  <ebotcazou (a] adacore.com>
   9947 
   9948 	* sched-deps.c (sched_insn_is_legitimate_for_speculation): Invoke
   9949 	may_trap_or_fault_p instead of may_trap_p predicate.
   9950 	* tree.c (substitute_in_expr): Propagate the TREE_THIS_NOTRAP flag.
   9951 	(substitute_placeholder_in_expr): Likewise.
   9952 	* tree-inline.c (remap_gimple_op_r): Propagate the TREE_THIS_NOTRAP
   9953 	flag on MEM_REF nodes.
   9954 	(copy_tree_body_r): Propagate the TREE_READONLY and TREE_THIS_NOTRAP
   9955 	flags on INDIRECT_REF nodes.
   9956 
   9957 2010-10-14  Nathan Froyd  <froydnj (a] codesourcery.com>
   9958 
   9959 	* config.gcc (arm*-*-linux-*eabi) <tm_file>: Add bpabi.h from libgcc.
   9960 	(arm*-*-uclinux*eabi) <tm_file>: Likewise.
   9961 	(arm*-*-eabi*) <tm_file>: Likewise.
   9962 	(frv-*-elf) <tm_file>: Add frv-abi.h from libgcc.
   9963 	(frv-*-*linux*) <tm_file>: Likewise.
   9964 	* config/arm/bpabi.h: Delete DECLARE_LIBRARY_RENAMES stanzas
   9965 	and associated helper macros.
   9966 	* config/frv/frv-abi.h: Delete.
   9967 
   9968 2010-10-14  Richard Guenther  <rguenther (a] suse.de>
   9969 
   9970 	PR lto/44561
   9971 	* tree.def (NULLPTR_TYPE): New tree code.
   9972 	* dbxout.c (dbxout_type): Handle NULLPTR_TYPE.
   9973 	* dwarf2out.c (is_base_type): Likewise.
   9974 	(gen_type_die_with_usage): Likewise.
   9975 	* sdbout.c (plain_type_1): Likewise.
   9976 	* tree.c (build_int_cst_wide): Likewise.
   9977 	* gimple.c (gimple_types_compatible_p_1): NULLPTR_TYPE types are equal.
   9978 
   9979 2010-10-14  Joseph Myers  <joseph (a] codesourcery.com>
   9980 
   9981 	* params.c (params_finished): New.
   9982 	(add_params): Assert !params_finished.
   9983 	(finish_params): New.
   9984 	(set_param_value_internal): Take params and params_set
   9985 	parameters.  Assert params_finished.
   9986 	(set_param_value, maybe_set_param_value): Take params and
   9987 	params_set parameters.  Update calls to set_param_value_internal.
   9988 	(set_default_param_value): Assert !params_finished.  Don't use
   9989 	set_param_value_internal.
   9990 	(default_param_value, init_param_values): New.
   9991 	* params.h (struct param_info): Change value to default_value.
   9992 	Remove set.
   9993 	(set_param_value, maybe_set_param_value): Add params and
   9994 	params_set parameters.
   9995 	(PARAM_VALUE): Get parameters from global_options.
   9996 	(PARAM_SET_P): Remove.
   9997 	(finish_params, default_param_value, init_param_values): New.
   9998 	* common.opt (param_values): New Variable.
   9999 	* config/arm/arm.c (arm_option_override): Pass extra arguments to
   10000 	maybe_set_param_value.
   10001 	* config/i386/i386.c (ix86_option_override_internal): Pass extra
   10002 	arguments to maybe_set_param_value.
   10003 	* config/picochip/picochip.c (picochip_option_override): Pass
   10004 	extra arguments to maybe_set_param_value.
   10005 	* config/rs6000/rs6000.c (rs6000_option_override_internal): Pass
   10006 	extra arguments to maybe_set_param_value.
   10007 	* config/s390/s390.c (s390_option_override): Use
   10008 	maybe_set_param_value instead of set_param_value.  Pass extra
   10009 	arguments to maybe_set_param_value.
   10010 	* config/sparc/sparc.c (sparc_option_override): Pass extra
   10011 	arguments to maybe_set_param_value.
   10012 	* config/spu/spu.c (spu_option_override): Pass extra arguments to
   10013 	maybe_set_param_value.
   10014 	* opts.c (handle_param): Take opts and opts_set parameters.
   10015 	Update call to set_param_value.
   10016 	(initial_min_crossjump_insns, initial_max_fields_for_field_sensitive,
   10017 	initial_loop_invariant_max_bbs_in_loop): Remove.
   10018 	(init_options_once): Don't set them.
   10019 	(init_options_struct): Initialize parameters structures.
   10020 	(default_options_optimization): Use default_param_value when
   10021 	restoring defaults.  Update calls to maybe_set_param_value.
   10022 	(finish_options): Update calls to maybe_set_param_value.
   10023 	(common_handle_option): Update calls to handle_param and
   10024 	set_param_value.
   10025 	* toplev.c (DEFPARAM): Update definition for changes to param_info.
   10026 	(general_init): Call finish_params.
   10027 
   10028 2010-10-14  Nick Clifton  <nickc (a] redhat.com>
   10029 
   10030 	* config/mn10300/mn10300.h (CONSTANT_ALIGNMENT): Define.
   10031 	(DATA_ALIGNMENT, LOCAL_ALIGNMENT): Define.
   10032 	(FIRST_PSEUDO_REGISTER): Increase by one.
   10033 	(FIXED_REGISTERS, CALL_USED_REGISTERS): Update with CC_REG.
   10034 	(HARD_REGNO_MODE_OK): Call mn10300_hard_regno_mode_ok.
   10035 	(MODES_TIEABLE): Call mn10300_modes_tieable.
   10036 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add CC_REGS.
   10037 	(LEGITIMATE_CONSTANT_P): Call mn10300_legitimate_constant_p.
   10038 	(CC_OVERFLOW_UNUSABLE, CC_NO_CARRY, NOTICE_UPDATE_CC)
   10039 	(SELECT_CC_MODE, REVERSIBLE_CC_MODE): Delete.
   10040 	(REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Add CC register.
   10041 	(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
   10042 	(mn10300_cc_status_mdep): Delete.
   10043 	(CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Delete.
   10044 	* config/mn10300/mn10300 (mn10300_option_override): Stop disabling
   10045 	the combine-stack-adjust pass.
   10046 	(print_operand): Use the mode of the comparison operation to
   10047 	select the comparison suffix.
   10048 	(notice_update_cc): Delete.
   10049 	(mn10300_secondary_reload_class): Remove test for stack pointer
   10050 	based arithmetic.
   10051 	(output_tst): Rename to mn10300_output_cmp.
   10052 	(impossible_plus_operand): Move into predicates.md.
   10053 	(mn10300_legitimize_address): Make static.
   10054 	(mn10300_legitimate_address_p): Make static.  Only allow SI sized
   10055 	constant pic operands.
   10056 	(mn10300_legitimate_constant_p): New function.
   10057 	(mn10300_case_values_threshold): Make static.
   10058 	(mn10300_hard_regno_mode_ok): New function.
   10059 	(mn10300_modes_tieable): New function.
   10060 	(mn10300_select_cc_mode): New function.
   10061 	* config/mn10300/predicates.md (impossible_plus_operand): Define.
   10062 	* config/mn10300/mn10300-protos.h: Tidy.
   10063 	(mn10300_legitimate_constant_p, mn10300_modes_tieable)
   10064 	(mn10300_hard_regno_mode_ok, mn10300_select_cc_mode): Prototype.
   10065 	* config/mn10300/mn10300.md (cc attribute): Delete.  Replace
   10066 	with clobbers or sets of CC_REG.
   10067 	(CC_REG): Define.
   10068 	(mov*): Remove use of CLR instruction.
   10069 	(cbranch_si4_<code>): New pattern/split.
   10070 	(integer_conditional_branch): New pattern.
   10071 	(cbranch_sf4_<code>): New pattern/split.
   10072 	(float_conditional_branch): New	pattern.
   10073 	(casesi): Use addsi3 pattern instead of movsi pattern to add and
   10074 	move a value at the same time.
   10075 	(cc0 peepholes): Remove.
   10076 
   10077 2010-10-14  Andrey Belevantsev  <abel (a] ispras.ru>
   10078 
   10079 	* sel-sched-ir.c (init_global_and_expr_for_insn): Set CANT_MOVE
   10080 	on RTX_FRAME_RELATED_P insns and the insn to which
   10081 	NOTE_INSN_EPILOGUE_BEG is attached.
   10082 	* sched-vis.c (print_value): Allow NULL value.
   10083 
   10084 2010-10-14  Andrey Belevantsev  <abel (a] ispras.ru>
   10085 
   10086 	PR rtl-optimization/45570
   10087 	* sel-sched-ir.c (cfg_preds_1): When walking out of the region,
   10088 	assert that we are pipelining outer loops.  Allow returning
   10089 	zero predecessors.
   10090 
   10091 2010-10-14  Andrey Belevantsev  <abel (a] ispras.ru>
   10092 
   10093 	* sel-sched-ir.c (maybe_tidy_empty_bb): Simplify comment.
   10094 	(tidy_control_flow): Tidy vertical space.
   10095 	(sel_remove_bb): New variable idx.  Use it to remember the basic
   10096 	block index before deleting the block.
   10097 	(sel_remove_empty_bb): Remove dead code, simplify and insert to ...
   10098 	(sel_merge_blocks): ... here.
   10099 	* sel-sched-ir.h (sel_remove_empty_bb): Remove prototype.
   10100 
   10101 2010-10-14  Jakub Jelinek  <jakub (a] redhat.com>
   10102 
   10103 	* cse.c (is_dead_reg): Change into inline function that is not
   10104 	called through for_each_rtx.
   10105 	(set_live_p): Adjust caller.
   10106 	(insn_live_p): Don't reset DEBUG_INSNs here.
   10107 	(struct dead_debug_insn_data): New data.
   10108 	(count_stores, is_dead_debug_insn, replace_dead_reg): New functions.
   10109 	(delete_trivially_dead_insns): If there is just one setter for the
   10110 	dead reg that is referenced by some DEBUG_INSNs, create a DEBUG_EXPR
   10111 	and add DEBUG_INSN for it right before the removed setter and
   10112 	use the DEBUG_EXPR instead of the dead pseudo.
   10113 
   10114 2010-10-14  Zdenek Dvorak  <rakdver (a] kam.uniff.cz>
   10115 
   10116 	* et-forest.c (et_nca): Return NULL immediately when
   10117 	the dominance forest has disjoint components.
   10118 
   10119 2010-10-13  Vladimir Makarov  <vmakarov (a] redhat.com>
   10120 
   10121 	* ira.c (setup_class_hard_regs): Fix typo in indexing
   10122 	ira_non_ordered_class_hard_regs and ira_class_hard_reg_index.
   10123 
   10124 2010-10-14  Tijs Wiebe Lefering  <twlevo (a] gmail.com>
   10125 
   10126 	* graph.c (inbb): New variable.
   10127 	(start_bb): Set inbb to 1 if output is inside of a building block.
   10128 	(end_bb): Check if output is inside of a building block.
   10129 
   10130 2010-10-13  Eric Botcazou  <ebotcazou (a] adacore.com>
   10131 
   10132 	PR rtl-optimization/45912
   10133 	* ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Test the
   10134 	regno of registers instead of their index to compute the alignment.
   10135 
   10136 2010-10-13  H.J. Lu  <hongjiu.lu (a] intel.com>
   10137 
   10138 	* config/i386/i386.c (ix86_build_const_vector): Check vector
   10139 	mode instead of scalar mode.
   10140 	(ix86_build_signbit_mask): Likewise.
   10141 	(ix86_expand_fp_absneg_operator): Updated.
   10142 	(ix86_expand_copysign): Likewise.
   10143 	(ix86_expand_int_vcond): Likewise.
   10144 	(ix86_emit_swdivsf): Likewise.
   10145 	(ix86_sse_copysign_to_positive): Likewise.
   10146 	(ix86_expand_sse_fabs): Likewise.
   10147 	* config/i386/i386.md (fixuns_trunc<mode>si2): Likewise.
   10148 	* config/i386/sse.md (copysign<mode>3): Likewise.
   10149 	(sse2_cvtudq2ps): Likewise.
   10150 	(vec_unpacku_float_hi_v4si): Likewise.
   10151 	(vec_unpacku_float_lo_v4si): Likewise.
   10152 
   10153 	* config/i386/i386.c (ix86_builtins): Add
   10154 	IX86_BUILTIN_CPYSGNPS256 and IX86_BUILTIN_CPYSGNPD256.
   10155 	(bdesc_args): Likewise.
   10156 	(ix86_builtin_vectorized_function): Support
   10157 	IX86_BUILTIN_CPYSGNPS256, IX86_BUILTIN_CPYSGNPD256,
   10158 	IX86_BUILTIN_SQRTPD256, IX86_BUILTIN_SQRTPS_NR256,
   10159 	and IX86_BUILTIN_CVTPS2DQ256.
   10160 	(ix86_builtin_reciprocal): Support IX86_BUILTIN_SQRTPS_NR256.
   10161 
   10162 	* config/i386/sse.md (STORENT_MODE): New.
   10163 	(VEC_FLOAT_MODE): Likewise.
   10164 	(VEC_EXTRACT_MODE): Likewise.
   10165 	(*avx_cvtdq2pd256_2): Likewise.
   10166 	(vec_pack_trunc_v4df): Likewise.
   10167 	(vec_interleave_highv8sf): Likewise.
   10168 	(vec_interleave_lowv8sf): Likewise.
   10169 	(storent<mode>): Macroized.
   10170 	(<code><mode>2: absneg): Likewise.
   10171 	(copysign<mode>3): Likewise.
   10172 	(vec_extract<mode>): Likewise.
   10173 
   10174 	PR target/44180
   10175 	* config/i386/i386.c (expand_vec_perm_even_odd_1): Rewritten
   10176 	for V8SFmode.
   10177 
   10178 2010-10-13  Richard Guenther  <rguenther (a] suse.de>
   10179 	    H.J. Lu  <hongjiu.lu (a] intel.com>
   10180 
   10181 	* config/i386/sse.md (reduc_splus_v8sf): Add.
   10182 	(reduc_splus_v4df): Likewise.
   10183 	(vec_unpacks_hi_v8sf): Likewise.
   10184 	(vec_unpacks_lo_v8sf): Likewise.
   10185 	(*avx_cvtps2pd256_2): Likewise.
   10186 	(vec_unpacks_float_hi_v8si): Likewise.
   10187 	(vec_unpacks_float_lo_v8si): Likewise.
   10188 	(vec_interleave_highv4df): Likewise.
   10189 	(vec_interleave_lowv4df): Likewise.
   10190 
   10191 2010-10-13  Richard Guenther  <rguenther (a] suse.de>
   10192 
   10193 	PR objc/45878
   10194 	* gimple-fold.c (gimple_fold_obj_type_ref): Leave OBJ_TYPE_REFs
   10195 	alone if there are no virtual methods.
   10196 
   10197 2010-10-13  Richard Henderson  <rth (a] redhat.com>
   10198 
   10199 	* expr.c (build_personality_function): Take parameter LANG instead
   10200 	of parameter NAME.  Build the name based on the lang prefix and the
   10201 	unwind method in use.
   10202 	* tree.c (lhd_gcc_personality): Update call to
   10203 	build_personality_function.
   10204 
   10205 2010-10-13  Richard Guenther  <rguenther (a] suse.de>
   10206 
   10207 	PR objc/45878
   10208 	* tree-ssa-ccpc (ccp_fold_stmt): Use gimple_fold_obj_type_ref.
   10209 
   10210 2010-10-13  Eric Botcazou  <ebotcazou (a] adacore.com>
   10211 
   10212 	* cse.c (cse_insn): Fix thinko in the canonicalization of USE insns.
   10213 	Canonicalize input operands of ASM_OPERANDS insns.
   10214 
   10215 2010-10-13  Richard Guenther  <rguenther (a] suse.de>
   10216 
   10217 	PR tree-optimization/45788
   10218 	* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Delay
   10219 	EH update until fixup-cfg.
   10220 
   10221 2010-10-13  Julian Brown  <julian (a] codesourcery.com>
   10222 
   10223 	* config/arm/arm.h (REG_CLASS_CONTENTS): Remove soft frame pointer
   10224 	from CORE_REGS and GENERAL_REGS classes.
   10225 	* config/arm/arm.md (*thumb1_movsi_insn): Ignore all parts of
   10226 	final constraint for register preferencing.
   10227 
   10228 2010-10-13  Richard Guenther  <rguenther (a] suse.de>
   10229 
   10230 	PR tree-optimization/45970
   10231 	* tree-ssa-alias.h (stmt_kills_ref_p): Declare.
   10232 	* tree-ssa-alias.c (stmt_kills_ref_p_1): New function.
   10233 	(stmt_kills_ref_p): Likewise.
   10234 	* tree-ssa-dse.c (dse_optimize_stmt): Use it.
   10235 
   10236 2010-10-13  Richard Guenther  <rguenther (a] suse.de>
   10237 
   10238 	PR tree-optimization/45982
   10239 	* tree-ssa-structalias.c (make_constraints_to): New function.
   10240 	(make_constraint_to): Implement in terms of make_constraints_to.
   10241 	(find_func_aliases): Properly make return values of pure/const
   10242 	functions escape if they assign to sth that is not a pointer.
   10243 
   10244 2010-10-13  Richard Guenther  <rguenther (a] suse.de>
   10245 
   10246 	PR middle-end/45874
   10247 	* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee):
   10248 	Fixup the CFG when EH was fixed up.
   10249 
   10250 2010-10-13  Ira Rosen  <irar (a] il.ibm.com>
   10251 
   10252 	* tree-vect-slp.c (vect_get_constant_vectors): Fix comment.
   10253 	Use operand's type for POINTER_PLUS_EXPR.
   10254 
   10255 2010-10-13  Alexandre Oliva  <aoliva (a] redhat.com>
   10256 
   10257 	* c-parser.c (c_parser_for_statement): Initialize incr.
   10258 
   10259 2010-10-12  Xinliang David Li  <davidxl (a] google.com>
   10260 
   10261 	PR tree-optimization/45972
   10262 	* tree-ssa-uninit.c (compute_uninit_opnds_pos): Skip phis
   10263 	with too many arguments.
   10264 
   10265 2010-10-12  Jakub Jelinek  <jakub (a] redhat.com>
   10266 
   10267 	PR fortran/45636
   10268 	* tree-ssa-forwprop.c: Include expr.h.
   10269 	(constant_pointer_difference, simplify_builtin_call): New functions.
   10270 	(tree_ssa_forward_propagate_single_use_vars): Call
   10271 	simplify_builtin_call on builtin calls.
   10272 
   10273 2010-10-12  Eric Botcazou  <ebotcazou (a] adacore.com>
   10274 
   10275 	* config/sparc/sparc.md (*adddi3_insn_sp32): Rename.
   10276 	(*adddi3_extend_sp32): Likewise.
   10277 	(*subdi3_insn_sp32): Likewise.
   10278 	(*subdi3_extend_sp32): Likewise.
   10279 	(*negdi2_sp32): Use negative test for consistency.
   10280 
   10281 2010-10-12  Nathan Froyd  <froydnj (a] codesourcery.com>
   10282 
   10283 	* libgcc2.h: Use __SIZEOF_DOUBLE__ instead of LIBGCC2_DOUBLE_TYPE_SIZE.
   10284 	(LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
   10285 	* config/fixed-bit.h: Likewise.
   10286 	* config/rx/rx.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
   10287 	* config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
   10288 	* system.h (LIBGCC2_DOUBLE_TYPE_SIZE): Poison.
   10289 	* doc/tm.texi.in (LIBGCC2_HAS_DF_MODE): Use DOUBLE_TYPE_SIZE.
   10290 	(DF_SIZE): Likewise.
   10291 	* doc/tm.texi: Regenerate.
   10292 
   10293 2010-10-12  Nathan Froyd  <froydnj (a] codesourcery.com>
   10294 
   10295 	* config/rs6000/predicates.md (scc_rev_comparison_operator): New.
   10296 	* config/rs6000/rs6000.md (*isel_reversed_signed_<mode>): New.
   10297 	(*isel_reversed_unsigned_<mode>): New.
   10298 	* config/rs6000/rs6000.c (output_isel): Accept GE/GEU/LE/LEU/NE
   10299 	as valid comparisons and adjust operands and output appropriately.
   10300 	(rs6000_rtx_costs) <CONST_INT>: Accept NE as a cost-0 outer_code.
   10301 
   10302 2010-10-12  Chung-Lin Tang  <cltang (a] codesourcery.com>
   10303 
   10304 	* config/arm/arm.h (ARM_EXPAND_ALIGNMENT): Rename from
   10305 	DATA_ALIGNMENT and add COND parameter. Update comments above.
   10306 	(DATA_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !optimize_size.
   10307 	(LOCAL_ALIGNMENT): Use ARM_EXPAND_ALIGNMENT, with !flag_conserve_stack.
   10308 
   10309 2010-10-12  H.J. Lu  <hongjiu.lu (a] intel.com>
   10310 
   10311 	PR bootstrap/45958
   10312 	* exec-tool.in: Support '-plugin' as the second option to the linker.
   10313 
   10314 2010-10-12  Richard Henderson  <rth (a] redhat.com>
   10315 
   10316 	PR middle-end/45962
   10317 	* cfgexpand.c (add_stack_var): Ensure every variable has 1 byte.
   10318 	(expand_stack_vars): Assert large base allocated when used.
   10319 
   10320 2010-10-12  Richard Guenther  <rguenther (a] suse.de>
   10321 
   10322 	* tree-ssa-structalias.c (get_constraint_for_1): Constants
   10323 	only point to nonlocal, not anything.
   10324 
   10325 2010-10-11  Hariharan Sandanagobalane  <hariharan (a] picochip.com>
   10326 
   10327 	* config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Use sjlj
   10328 	unwind info for exceptions.
   10329 
   10330 2010-10-12  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   10331 
   10332 	PR testsuite/45851
   10333 	* doc/sourcebuild.texi (LTO Testing, dg-extra-ld-options):
   10334 	Document optional target selector.
   10335 
   10336 2010-10-12  Joseph Myers  <joseph (a] codesourcery.com>
   10337 
   10338 	* flag-types.h: New.
   10339 	* Makefile.in (TH_H): Include $(OPTIONS_H) instead of $(FLAGS_H).
   10340 	(FLAGS_H): Include flag-types.h.  Include $(OPTIONS_H) instead of
   10341 	options.h.
   10342 	(OPTIONS_H): Define.
   10343 	(c-family/c-opts.o, lto-opts.o, opts.o): Use $(OPTIONS_H) instead
   10344 	of options.h.
   10345 	* configure.ac (tm_include_list): Include options.h not flags.h.
   10346 	* configure: Regenerate.
   10347 	* flags.h: Include flag-types.h.  Include options.h at top of file
   10348 	again.
   10349 	(enum debug_info_type, enum debug_info_level, enum
   10350 	debug_info_usage, enum symbol_visibility, struct visibility_flags,
   10351 	enum ira_algorithm, enum ira_region, enum excess_precision, enum
   10352 	graph_dump_types, enum stack_check_type,
   10353 	enum warn_strict_overflow_code): Move to flag-types.h
   10354 	* opth-gen.awk: Include flag-types.h in options.h.
   10355 
   10356 2010-10-12  Jakub Jelinek  <jakub (a] redhat.com>
   10357 
   10358 	* expr.c (store_expr): Share code for STRING_CST and
   10359 	MEM_REF of &STRING_CST cases.  Don't require BLKmode, instead
   10360 	check if target is a MEM.
   10361 
   10362 	* rtl.h: Include hashtab.h.
   10363 	(iterative_hash_rtx): New prototype.
   10364 	* rtl.c (iterative_hash_rtx): New function.
   10365 	* dwarf2out.c (dw_loc_list_node): Add hash and emitted fields.
   10366 	(output_loc_list): Return immediately if emitted is set, set it.
   10367 	(hash_loc_operands, hash_locs, hash_loc_list,
   10368 	compare_loc_operands, compare_locs, loc_list_hash, loc_list_eq,
   10369 	optimize_location_lists_1, optimize_location_lists): New function.
   10370 	(dwarf2out_finish): Call optimize_location_lists.
   10371 	* Makefile.in (RTL_BASE_H): Depend on $(HASHTAB_H).
   10372 
   10373 2010-10-12  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   10374 
   10375 	PR testsuite/45974
   10376 	Revert:
   10377 	* Makefile.in ($(lang_checks_parallel))
   10378 	($(lang_checks_parallelized)): Use single quotes for
   10379 	$(RUNTESTFLAGS), to allow passing quoted content.
   10380 
   10381 2010-10-11  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   10382 
   10383 	* config/pa/linux-atomic.c (__sync_val_compare_and_swap_4): Return
   10384 	actual_oldval.  Use __builtin_expect.
   10385 	(SUBWORD_VAL_CAS): Likewise.
   10386 
   10387 2010-10-11  Nathan Froyd  <froydnj (a] codesourcery.com>
   10388 
   10389 	* recog.c (nonmemory_operand): Call immediate_operand for
   10390 	CONSTANT_P operands.
   10391 
   10392 2010-10-11  Uros Bizjak  <ubizjak (a] gmail.com>
   10393 
   10394 	* config/i386/i386.md (movmem<mode>): Macroize expander from
   10395 	movmem{si,di} using SWI48 mode iterator.
   10396 	(*strmovsi_1): Macroize insn pattern from *strmovsi_1 and
   10397 	*strmovsi_rex_1 using P mode iterator.
   10398 	(*strmovhi_1): Ditto from *strmovhi_1 and *strmovhi_rex_1.
   10399 	(*strmovqi_1): Ditto from *strmovqi_1 and *strmovqi_rex_1.
   10400 	(*rep_movsi): Ditto from *rep_movsi and *rep_movsi_rex64.
   10401 	(*rep_movqi): Ditto from *rep_movqi and *rep_movqi_rex64.
   10402 	(setmem<mode>): Macroize expander from setmem{si,di} using
   10403 	SWI48 mode iterator.
   10404 	(*strsetsi_1): Macroize insn pattern from *strsetsi_1 and
   10405 	*strsetsi_rex_1 using P mode iterator.
   10406 	(*strsethi_1): Ditto from *strsethi_1 and *strsethi_rex_1.
   10407 	(*strsetqi_1): Ditto from *strsetqi_1 and *strsetqi_rex_1.
   10408 	(*rep_stossi): Ditto from *rep_stossi and *rep_stossi_rex64.
   10409 	(*rep_stosqi): Ditto from *rep_stosqi and *rep_stosqi_rex64.
   10410 	(*cmpstrnqi_nz_1): Ditto from *cmpstrnqi_nz_1 and *cmpstrnqi_nz_rex_1.
   10411 	(*cmpstrnqi_1): Ditto from *cmpstrnqi_1 and *cmpstrnqi_rex_1.
   10412 	(strlen<mode>): Macroize expander from strlen{si,di} using SWI48x
   10413 	mode iterator.
   10414 	(*strlenqi_1): Macroize insn pattern from *strlenqi_1 and
   10415 	*strlenqi_rex_1 using P mode iterator.
   10416 
   10417 2010-10-11  Bernd Schmidt  <bernds (a] codesourcery.com>
   10418 
   10419 	PR bootstrap/45445
   10420 	* ira-lives.c (mark_pseudo_reg_live, mark_pseudo_reg_dead): New
   10421 	static functions.
   10422 	(mark_ref_live, mark_ref_dead): Use them.
   10423 	(make_pseudo_conflict): New arg ORIG_DREG.  All callers changed.
   10424 	Save the original reg, and use the new functions.
   10425 	(check_and_make_def_use_conflict): New arg ORIG_DREG.  All callers
   10426 	changed.
   10427 	(check_and_make_def_conflict): Save the original reg.
   10428 
   10429 2010-10-11  Martin Jambor  <mjambor (a] suse.cz>
   10430 
   10431 	PR middle-end/45699
   10432 	* gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Choose among
   10433 	thunks.
   10434 
   10435 2010-10-11  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   10436 
   10437 	* Makefile.in ($(lang_checks_parallel))
   10438 	($(lang_checks_parallelized)): Use single quotes for
   10439 	$(RUNTESTFLAGS), to allow passing quoted content.
   10440 
   10441 	PR bootstrap/35855
   10442 	* opt-functions.awk (BEGIN): New section.
   10443 	(lower, upper, digit, alnum): New variables.
   10444 	(static_var, opt_sanitized_name): Use alnum instead of character
   10445 	classes, for non-C locale.
   10446 	* optc-gen.awk: Likewise.
   10447 	* opth-gen.awk: Likewise.
   10448 
   10449 2010-10-11  Anatoly Sokolov  <aesok (a] post.ru>
   10450 
   10451 	* target.def (preferred_reload_class): New hook.
   10452 	* doc/tm.texi.in (TARGET_PREFERRED_RELOAD_CLASS): Document.
   10453 	* doc/tm.texi: Regenerate.
   10454 	* targhooks.c (default_preferred_reload_class): New function.
   10455 	* targhooks.h (default_preferred_reload_class): Declare.
   10456 	* reload.c (find_dummy_reload): Change preferred_class variable type
   10457 	from enum reg_class to reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS
   10458 	target hook.
   10459 	(find_reloads): Change goal_alternative array type from int to
   10460 	reg_class_t. Use TARGET_PREFERRED_RELOAD_CLASS target hook.
   10461 	(push_reload, find_reloads_address_part): Use
   10462 	TARGET_PREFERRED_RELOAD_CLASS target hook.
   10463 	* reload1.c (emit_input_reload_insns): Ditto.
   10464 	* ira-costs.c (copy_cost): Use TARGET_PREFERRED_RELOAD_CLASS target
   10465 	hook. Change rclass argument and secondary_class variable types from
   10466 	'enum reg_class' to reg_class_t.
   10467 
   10468 	* config/i386/i386.h (PREFERRED_RELOAD_CLASS): Remove.
   10469 	* config/i386/i386-protos (ix86_preferred_reload_class): Remove.
   10470 	* config/i386/i386.c (ix86_preferred_reload_class): Make static.
   10471 	Change regclass argument and result types from enum reg_class to
   10472 	reg_class_t.
   10473 	(TARGET_PREFERRED_RELOAD_CLASS): Define.
   10474 
   10475 2010-10-11  Eric Botcazou  <ebotcazou (a] adacore.com>
   10476 
   10477 	* simplify-rtx.c (simplify_unary_operation_1): Use unsigned arithmetics
   10478 	in masking operations.
   10479 	(simplify_const_unary_operation): Likewise.
   10480 	(simplify_binary_operation_1): Likewise.
   10481 	(simplify_const_binary_operation): Likewise.
   10482 	(simplify_const_relational_operation): Likewise.
   10483 	(simplify_ternary_operation): Likewise.
   10484 	(simplify_immed_subreg): Likewise.
   10485 
   10486 2010-10-11  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   10487 
   10488 	PR middle-end/45862
   10489 	* doc/tm.texi.in (SUPPORTS_WEAK): Update.
   10490 	(TARGET_SUPPORTS_WEAK): New.
   10491 	* doc/tm.texi: Regenerate.
   10492 	* defaults.h (SUPPORTS_WEAK): Update comment.
   10493 	(TARGET_SUPPORTS_WEAK): New.
   10494 	* dwarf2asm.c (USE_LINKONCE_INDIRECT): Update define.
   10495 	* varasm.c (assemble_external): Use TARGET_SUPPORTS_WEAK instead of
   10496 	SUPPORTS_WEAK.
   10497 	(merge_weak, declare_weak, do_assemble_alias, supports_one_only,
   10498 	make_decl_one_only): Likewise.
   10499 	* config/pa/som.h (SUPPORTS_WEAK): Rename defines to
   10500 	TARGET_SUPPORTS_WEAK.
   10501 	(SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Use TARGET_SUPPORTS_WEAK
   10502 	instead of SUPPORTS_WEAK.
   10503 
   10504 2010-10-11  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   10505 
   10506 	* config/sparc/gmon-sol2.c: Don't include coretypes.h, tm.h.
   10507 
   10508 2010-10-11  Nathan Froyd  <froydnj (a] codesourcery.com>
   10509 
   10510 	* vec.h (VEC_qsort): Define.
   10511 	* dbxout.c (output_used_types): Use it.
   10512 	* df-scan.c (df_sort_and_compress_refs): Likewise.
   10513 	(df_sort_and_compress_mws): Likewise.
   10514 	* genautomata.c (uniq_sort_alt_states): Likewise.
   10515 	(evaluate_equiv_classes): Likewise.
   10516 	(output_trans_table): Likewise.
   10517 	(output_state): Likewise.
   10518 	* gimplify.c (compare_case_labels): Likewise.
   10519 	* graphite-sese-to-poly.c (graphite_sort_dominated_info): Likewise.
   10520 	* ipa.c (build_cdtor_fns): Likewise.
   10521 	* lto.c (lto_wpa_write_files): Likewise.
   10522 	* sel-sched.c (fill_vec_av_set): Likewise.
   10523 	* tree-predcom.c (determine_roots_comp): Likewise.
   10524 	* tree-sra.c (sort_and_spliace_var_accesses): Likewise.
   10525 	(splice_param_accesses): Likewise.
   10526 	* tree-ssa-live.c (dump_enumerated_decls): Likewise.
   10527 	* tree-ssa-reassoc.c (undistribute_ops_list): Likewise.
   10528 	(reassociate_bb): Likewise.
   10529 	* tree-ssa-sccvn.c (sort_scc): Likewise.
   10530 	* tree-ssa-structalias.c (sort_fieldstack): Likewise.
   10531 
   10532 2010-10-11  Ian Lance Taylor  <iant (a] google.com>
   10533 
   10534 	* tree.h (TREE_THIS_NOTRAP): Use TREE_CHECK5.
   10535 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Only check
   10536 	TREE_THIS_NOTRAP when appropriate.
   10537 	(get_spill_slot_decl): Don't set TREE_THIS_NOTRAP on the new VAR_DECL.
   10538 	* gimplify.c (gimplify_expr): Copy NOTRAP from INDIRECT_REF to
   10539 	newly created MEM_REF.
   10540 
   10541 2010-10-11  Hariharan Sandanagobalane  <hariharan (a] picochip.com>
   10542 
   10543 	Nathan Froyds patch to hooks FUNCTION_ARG etc.
   10544 	* config/picochip/picochip-protos.h (picochip_function_arg): Delete.
   10545 	(picochip_incoming_function_arg): Delete.
   10546 	(picochip_arg_advance): Delete.
   10547 	* config/picochip/picochip.h (FUNCTION_ARG): Delete.
   10548 	(FUNCTION_INCOMING_ARG): Delete.
   10549 	(FUNCTION_ARG_ADVANCE): Delete.
   10550 	* config/picochip/picochip.c (picochip_function_arg): Take a
   10551 	const_tree and a bool.
   10552 	(picochip_incoming_function_arg): Likewise.
   10553 	(picochip_arg_advance): Likewise.
   10554 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
   10555 	(TARGET_FUNCTION_ARG_ADVANCE): Define.
   10556 
   10557 2010-10-11  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   10558 
   10559 	PR middle-end/45955
   10560 	* ipa.c (build_cdtor): Delete endless loop.
   10561 
   10562 2010-10-07  Andi Kleen  <ak (a] linux.intel.com>
   10563 
   10564 	* Makefile.in (MOSTLYCLEANFILES): Remove cc1*dummy, add
   10565 	checksum-options.
   10566 	(checksum-options): Add.
   10567 	(cc1-dummy): Remove.
   10568 	(cc1-checksum): Change to run checksum over object files
   10569 	and options only.
   10570 	* dummy-checksum.c: Remove.
   10571 	* genchecksum.c: Update copyright.
   10572 	(usage): Allow multiple arguments.
   10573 	(BLOCKSIZE): Add.
   10574 	(dosum): Change for incremental checksum. Remove C output.
   10575 	(main): Iterate over all argument files. Add C output.
   10576 
   10577 2010-10-11  Joseph Myers  <joseph (a] codesourcery.com>
   10578 
   10579 	* params.c (set_param_value_internal): New.
   10580 	(set_param_value): Use set_param_value_internal.
   10581 	(maybe_set_param_value, set_default_param_value): New.
   10582 	* params.h (PARAM_VALUE, PARAM_SET_P): Make into rvalues.
   10583 	(maybe_set_param_value, set_default_param_value): Declare.
   10584 	* config/arm/arm.c (arm_option_override): Use maybe_set_param_value.
   10585 	* config/i386/i386.c (ix86_option_override_internal): Use
   10586 	maybe_set_param_value.
   10587 	* config/ia64/ia64.c (ia64_option_default_params,
   10588 	TARGET_OPTION_DEFAULT_PARAMS): New.
   10589 	(ia64_option_optimization): Move some code to
   10590 	ia64_option_default_params.
   10591 	* config/picochip/picochip.c (picochip_option_override): Use
   10592 	maybe_set_param_value.
   10593 	* config/rs6000/rs6000.c (rs6000_option_default_params,
   10594 	TARGET_OPTION_DEFAULT_PARAMS): New.
   10595 	(rs6000_option_override_internal): Use maybe_set_param_value.
   10596 	(rs6000_option_optimization): Move some code to
   10597 	rs6000_option_default_params.
   10598 	* config/s390/s390.c (s390_option_override): Use maybe_set_param_value.
   10599 	* config/sh/sh.c (sh_option_default_params,
   10600 	TARGET_OPTION_DEFAULT_PARAMS): New.
   10601 	(sh_option_optimization): Move some code to sh_option_default_params.
   10602 	* config/sparc/sparc.c (sparc_option_override): Use
   10603 	maybe_set_param_value.
   10604 	* config/spu/spu.c (spu_option_default_params,
   10605 	TARGET_OPTION_DEFAULT_PARAMS): New.
   10606 	(spu_option_optimization): Move some code to spu_option_default_params.
   10607 	(spu_option_override): Use maybe_set_param_value.
   10608 	* doc/tm.texi.in (TARGET_OPTION_DEFAULT_PARAMS): New @hook.
   10609 	* doc/tm.texi: Regenerate.
   10610 	* ggc-common.c (init_ggc_heuristics): Use set_default_param_value.
   10611 	* opts.c (init_options_once): Use PARAM_VALUE not direct access to
   10612 	compiler_params.
   10613 	(default_options_optimization): Use maybe_set_param_value.
   10614 	(finish_options): Use maybe_set_param_value.
   10615 	* target.def (target_option.default_params): New hook.
   10616 	* toplev.c (general_init): Call targetm.target_option.default_params.
   10617 
   10618 2010-10-11  Ira Rosen  <irar (a] il.ibm.com>
   10619 
   10620 	PR tree-optimization/45902
   10621 	* tree-vect-slp.c (vect_get_constant_vectors): Use statement's
   10622 	vector type for constants, unless it's a pointer.
   10623 
   10624 2010-10-11  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   10625 
   10626 	* config/s390/s390.md (*mov<mode>cc): lgoc -> locg and stgoc -> stocg.
   10627 
   10628 2010-10-11  Jakub Jelinek  <jakub (a] redhat.com>
   10629 
   10630 	PR target/45870
   10631 	* config/i386/i386.c (ix86_delegitimize_tls_address): New function.
   10632 	(ix86_delegitimize_address): Use it.
   10633 
   10634 2010-10-10  Eric Botcazou  <ebotcazou (a] adacore.com>
   10635 
   10636 	* opt-functions.awk (opt_sanitized_name): Remove gdwarf+ handling.
   10637 
   10638 2010-10-10  Uros Bizjak  <ubizjak (a] gmail.com>
   10639 
   10640 	* config/alpha/alpha.c (alpha_setup_incoming_varargs): Pass pointer
   10641 	to cum struct in the call to function_arg_advance.
   10642 	(alpha_function_arg_advance): Mark named as unused.
   10643 
   10644 2010-10-10  Richard Sandiford  <rdsandiford (a] googlemail.com>
   10645 
   10646 	* config/mips/mips.c (mips_handle_option): Make "value" with
   10647 	ATTRIBUTE_UNUSED.
   10648 
   10649 2010-10-09  Richard Henderson  <rth (a] redhat.com>
   10650 
   10651 	PR rtl-opt/33721
   10652 	* explow.c (allocate_dynamic_stack_space): Add REQUIRED_ALIGN parm,
   10653 	remove TARGET parm, convert KNOWN_ALIGN parm to SIZE_ALIGN.  Honor
   10654 	required_align, tidy the code a bit.  Emit split_stack code in the
   10655 	right place.  Mark the return value with the alignment properly.
   10656 	* expr.h (allocate_dynamic_stack_space): Update decl.
   10657 	* builtins.c (expand_builtin_apply): Update call to
   10658 	allocate_dynamic_stack_space.
   10659 	(expand_builtin_alloca): Likewise.  Remove TARGET parameter.
   10660 	* calls.c (initialize_argument_information): Update call to
   10661 	allocate_dynamic_stack_space.
   10662 	(expand_call): Likewise.
   10663 
   10664 	* cfgexpand.c (get_decl_align_unit): Don't limit alignment.
   10665 	Don't update_stack_alignment here.
   10666 	(alloc_stack_frame_space): Make ALIGN unsigned.
   10667 	(stack_var_cmp): Sort by alignment too.
   10668 	(partition_stack_vars): Don't merge large and small alignment vars.
   10669 	(expand_one_stack_var_at): Add BASE and BASE_ALIGN parameters.
   10670 	Take care when BASE is not virtual_stack_vars_rtx.
   10671 	(expand_stack_vars): Allocate dynamic stack space for large
   10672 	alignment variables.
   10673 	(expand_one_stack_var): Update all to expand_one_stack_var_at.
   10674 	(defer_stack_allocation): True for large alignment vars.
   10675 	(update_stack_alignment): Merge into ...
   10676 	(expand_one_var): ... here.
   10677 	(gimple_expand_cfg): Place code from expand_stack_vars.
   10678 
   10679 2010-10-09  Nathan Froyd  <froydnj (a] codesourcery.com>
   10680 
   10681 	* config/pdp11/pdp11.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   10682 	* config/pdp11/pdp11.c (pdp11_function_arg): New function.
   10683 	(pdp11_function_arg_advance): New function.
   10684 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   10685 
   10686 2010-10-09  Nathan Froyd  <froydnj (a] codesourcery.com>
   10687 
   10688 	* libgcc2.h: Use __SIZEOF_LONG_LONG__ instead of LONG_LONG_TYPE_SIZE.
   10689 	* libgcc2.c: Likewise.
   10690 
   10691 2010-10-09  Richard Guenther  <rguenther (a] suse.de>
   10692 
   10693 	PR lto/45956
   10694 	* lto-streamer-in.c (lto_register_var_decl_in_symtab):
   10695 	Properly check if a decl is an automatic var.
   10696 
   10697 2010-10-09  Richard Guenther  <rguenther (a] suse.de>
   10698 
   10699 	PR lto/45947
   10700 	* tree.c (free_lang_data_in_cgraph): Properly walk the varpool.
   10701 
   10702 2010-10-09  Nathan Froyd  <froydnj (a] codesourcery.com>
   10703 
   10704 	* config/mmix/mmix-protos.h (mmix_function_arg): Delete.
   10705 	* config/mmix/mmix.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   10706 	* config/mmix/mmix.c (mmix_function_arg): Rename to...
   10707 	(mmix_function_arg_1): ...this.  Make static.  Take a const_tree and
   10708 	bool arguments.
   10709 	(mmix_function_arg): New function.
   10710 	(mmix_function_incoming_arg): New function.
   10711 	(mmix_function_arg_advance): New function.
   10712 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_INCOMING_ARG): Define.
   10713 	(TARGET_FUNCTION_ARG_ADVANCE): Define.
   10714 
   10715 2010-10-09  Nathan Froyd  <froydnj (a] codesourcery.com>
   10716 
   10717 	* config/vax/vax.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   10718 	* config/vax/vax.c (vax_function_arg): New function.
   10719 	(vax_function_arg_advance): New function.
   10720 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   10721 
   10722 2010-10-09  Nathan Froyd  <froydnj (a] codesourcery.com>
   10723 
   10724 	* config/pa/pa-protos.h (function_arg): Delete.
   10725 	* config/pa/pa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   10726 	* config/pa/pa.c (function_arg): Rename to...
   10727 	(pa_function_arg): ...this.  Make static.  Take a const_tree and
   10728 	a bool.
   10729 	(pa_function_arg_advance): New function.
   10730 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   10731 
   10732 2010-10-09  Nathan Froyd  <froydnj (a] codesourcery.com>
   10733 
   10734 	* config/m68k/m68k.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   10735 	* config/m68k/m68k.c (m68k_function_arg): New function.
   10736 	(m68k_function_arg_advance): New function.
   10737 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   10738 
   10739 2010-10-09  Nathan Froyd  <froydnj (a] codesourcery.com>
   10740 
   10741 	* config/avr/avr-protos.h (function_arg): Delete.
   10742 	(function_arg_advance): Delete.
   10743 	* config/avr/avr.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   10744 	* config/avr/avr.c (function_arg): Rename to...
   10745 	(avr_function_arg): ...this.  Make static.  Take a const_tree and
   10746 	a bool.
   10747 	(function_arg_advance):	Rename to...
   10748 	(avr_function_arg_advance): ...this.  Make static.  Take a
   10749 	const_tree and a bool.
   10750 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   10751 
   10752 2010-10-09  Nathan Froyd  <froydnj (a] codesourcery.com>
   10753 
   10754 	* config/alpha/alpha-protos.h (function_arg): Delete.
   10755 	* config/alpha/alpha.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   10756 	* config/alpha/vms.h (FUNCTION_ARG_ADVANCE): Delete.
   10757 	* config/alpha/alpha.c (function_arg): Rename to...
   10758 	(alpha_function_arg): ...this.  Make static.  Take a const_tree and
   10759 	a bool.  Delete TARGET_ABI_UNICOSMK code.
   10760 	(alpha_function_arg_advance): New function.
   10761 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   10762 
   10763 2010-10-09  Nathan Froyd  <froydnj (a] codesourcery.com>
   10764 
   10765 	* config/mep/mep-protos.h (mep_function_arg): Delete.
   10766 	(mep_function_arg_advance): Delete.
   10767 	* config/mep/mep.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   10768 	* config/mep/mep.c (mep_function_arg): Make static.  Take a
   10769 	const_tree and a bool.
   10770 	(mep_function_arg_advance): Likewise.
   10771 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   10772 
   10773 2010-10-09  Richard Guenther  <rguenther (a] suse.de>
   10774 
   10775 	PR tree-optimization/45945
   10776 	* tree-ssa.c (execute_update_addresses_taken): Fixup LHS scanning.
   10777 
   10778 2010-10-09  Eric Botcazou  <ebotcazou (a] adacore.com>
   10779 
   10780 	PR tree-optimization/45612
   10781 	* ipa-split.c (test_nonssa_use): Remove bogus ATTRIBUTE_UNUSED.
   10782 	Test LABEL_DECLs as well.  Fix formatting issues.
   10783 	(verify_non_ssa_vars): Return false for a GIMPLE_LABEL statement
   10784 	whose label is present in NON_SSA_VARS.
   10785 	(mark_nonssa_use): Remove bogus ATTRIBUTE_UNUSED.  Handle LABEL_DECLs
   10786 	as well.  Fix formatting issues.
   10787 	(visit_bb): Fix typos and formatting issue.
   10788 
   10789 2010-10-09  Nathan Froyd  <froydnj (a] codesourcery.com>
   10790 
   10791 	PR tree-optimization/45950
   10792 	* tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): Consult length
   10793 	before initializing vno->op.
   10794 
   10795 2010-10-09  Ralf Corspius  <ralf.corsepius (a] rtems.org>
   10796 
   10797 	* config.gcc (bfin*-rtems*): Add newlib-stdint.h.
   10798 	* config.gcc (lm32*-rtems*): Add newlib-stdint.h.
   10799 
   10800 2010-10-08  H.J. Lu  <hongjiu.lu (a] intel.com>
   10801 
   10802 	PR target/45913
   10803 	* config/i386/i386.c (ix86_binary_operator_ok): Support
   10804 	"andhi/andsi/anddi" as a zero-extending move.
   10805 
   10806 2010-10-08  Nathan Froyd  <froydnj (a] codesourcery.com>
   10807 
   10808 	* builtins.c (fold_call_stmt): Don't copy gimple call arguments
   10809 	into a temporary array.
   10810 
   10811 2010-10-08  Jakub Jelinek  <jakub (a] redhat.com>
   10812 
   10813 	PR tree-optimization/45903
   10814 	* simplify-rtx.c (simplify_subreg): Optimize lowpart SUBREG
   10815 	of {A,L}SHIFTRT of MEM.
   10816 
   10817 2010-10-08  Richard Guenther  <rguenther (a] suse.de>
   10818 
   10819 	* lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
   10820 	Re-construct BLOCK_VARS.
   10821 	(lto_input_ts_block_tree_pointers): Do not stream BLOCK_VARS.
   10822 	* lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
   10823 	* tree.c (free_lang_data_in_block): Remove.
   10824 	(free_lang_data_in_decl): Do not touch DECL_CONTEXT of non-PARM_DECLs.
   10825 	Do not touch the BLOCK tree.
   10826 	* expr.c (expand_expr_real_1): Allow externals.
   10827 
   10828 2010-10-08  Richard Guenther  <rguenther (a] suse.de>
   10829 
   10830 	* lto-streamer-out.c (lto_output_ts_block_tree_pointers):
   10831 	Do not output BLOCK_SUBBLOCKS.
   10832 	* lto-streamer-in.c (lto_input_ts_block_tree_pointers):
   10833 	Reserve exact space needed for BLOCK_NONLOCALIZED_VARS.
   10834 	Re-construct BLOCK_SUBBLOCKS of parent block.
   10835 	(lto_input_ts_binfo_tree_pointers): Reserve exact space needed
   10836 	for BINFO_BASE_ACCESSES.
   10837 
   10838 2010-10-08  Joseph Myers  <joseph (a] codesourcery.com>
   10839 
   10840 	* Makefile.in (TM_H): Include $(FLAGS_H) instead of options.h.
   10841 	(TREE_H): Include $(FLAGS_H) instead of options.h.
   10842 	(opts-common.o): Depend on $(FLAGS_H) instead of options.h.
   10843 	* c-objc-common.h (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
   10844 	* common.opt (flag_complex_method, flag_evaluation_order,
   10845 	flag_ira_algorithm, flag_ira_region, flag_warn_unused_result): New
   10846 	Variable declarations.
   10847 	* configure.ac (tm_include_list): Include flags.h instead of options.h.
   10848 	* configure: Regenerate.
   10849 	* flags.h: Condition out contents for target libraries.  Include
   10850 	options.h at end of file.
   10851 	(flag_complex_method, flag_ira_algorithm, flag_ira_region,
   10852 	flag_evaluation_order, flag_warn_unused_result): Remove.
   10853 	* gcc.c (main): Intialize global_options with global_options_init.
   10854 	* langhooks-def.h (lhd_init_options_struct): Declare.
   10855 	(LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
   10856 	(LANG_HOOKS_INITIALIZER): Include LANG_HOOKS_INIT_OPTIONS_STRUCT.
   10857 	* langhooks.c (lhd_init_options_struct): New.
   10858 	* langhooks.h (struct lang_hooks): Add init_options_struct.
   10859 	Update comment on init_options.
   10860 	* optc-gen.awk: Generate initializer for global_options_init, not
   10861 	global_options.
   10862 	* opth-gen.awk: Condition out structure declarations for target
   10863 	libraries.  Declare global_options_init.
   10864 	* opts-common.c: Include flags.h instead of options.h.
   10865 	* opts.c (flag_warn_unused_result): Remove.
   10866 	(read_cmdline_options): Take gcc_options parameters.  Pass them to
   10867 	read_cmdline_option.
   10868 	(initial_lang_mask, initial_min_crossjump_insns,
   10869 	initial_max_fields_for_field_sensitive,
   10870 	initial_loop_invariant_max_bbs_in_loop): Define at file scope.
   10871 	(init_options_once): New.  Split out of decode_options.
   10872 	(init_options_struct): New.  Split out of decode_options.
   10873 	(decode_cmdline_options_to_array_default_mask): New.
   10874 	(default_options_optimization): New.  Split out of decode_options.
   10875 	(decode_options): Move most code to other functions.  Update call
   10876 	to read_cmdline_options.
   10877 	(finish_options): New.  Split out of decode_options.
   10878 	* opts.h (decode_options): Add gcc_options parameters.
   10879 	(init_options_once, init_options_struct,
   10880 	decode_cmdline_options_to_array_default_mask): New.
   10881 	* toplev.c (flag_complex_method, flag_ira_algorithm,
   10882 	flag_ira_region, flag_evaluation_order): Remove.
   10883 	(general_init): Use global_options_init for initial flag values
   10884 	for global_dc.
   10885 	(toplev_main): Call init_options_once, init_options_struct,
   10886 	lang_hooks.init_options_struct,
   10887 	decode_cmdline_options_to_array_default_mask and
   10888 	lang_hooks.init_option before decode_options.  Update arguments to
   10889 	decode_options.
   10890 	* tree.h: Include flags.h instead of options.h.
   10891 
   10892 2010-10-08  Nathan Froyd  <froydnj (a] codesourcery.com>
   10893 
   10894 	* config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
   10895 
   10896 2010-10-08  Nathan Froyd  <froydnj (a] codesourcery.com>
   10897 
   10898 	* config/sparc/sparc-protos.h (function_arg_advance, function-arg):
   10899 	Delete.
   10900 	* config/sparc/sparc.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.
   10901 	(FUNCTION_INCOMING_ARG): Delete.
   10902 	* config/sparc/sparc.c (scan_record_type): Const-ify tree argument.
   10903 	(function_arg_slotno): Likewise.  Take bool arguments.
   10904 	(sparc_arg_partial_bytes): Update call to it.
   10905 	(function_arg): Rename to...
   10906 	(sparc_function_arg_1): ...this.  Take bool arguments.
   10907 	(sparc_function_arg, sparc_function_incoming_arg): New functions.
   10908 	(function_arg_advance): Rename to...
   10909 	(sparc_function_arg_advance): ...this.  Take bool argument.
   10910 	(TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG): Define.
   10911 	(TARGET_FUNCTION_INCOMING_ARG): Define.
   10912 
   10913 2010-10-08  Nathan Froyd  <froydnj (a] codesourcery.com>
   10914 
   10915 	* config/bfin/bfin-protos.h (function_arg, function_arg_advance):
   10916 	Delete.
   10917 	* config/bfin/bfin.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   10918 	* config/bfin/bfin.c (function_arg_advance): Rename to...
   10919 	(bfin_function_arg_advance): ...this.  Make static.  Take const_tree
   10920 	and bool arguments.
   10921 	(function_arg): Rename to...
   10922 	(bfin_function_arg): ...this.  Make static.  Take const_tree and bool
   10923 	arguments.
   10924 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   10925 
   10926 2010-10-08  Nathan Froyd  <froydnj (a] codesourcery.com>
   10927 
   10928 	* config/score/score-protos.h (score_function_arg): Delete.
   10929 	(score_function_arg_advance): Delete.
   10930 	* config/score/score3.h (score3_function_arg_advance): Take a
   10931 	const_tree and a bool.
   10932 	(score3_function_arg): Likewise.
   10933 	* config/score/score7.h (score7_function_arg_advance): Likewise.
   10934 	(score7_function_arg): Likewise.
   10935 	* config/score/score3.c (score3_classify_arg): Likewise.
   10936 	(score3_function_arg_advance, score3_function_arg): Likewise.
   10937 	* config/score/score7.c (score7_classify_arg): Likewise.
   10938 	(score7_function_arg_advance, score7_function_arg): Likewise.
   10939 	* config/score/score.c (score_function_arg_advance): Likewise.
   10940 	(score_function_arg): Likewise.  De-const-ify `cum' argument.
   10941 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   10942 
   10943 2010-10-08  Nathan Froyd  <froydnj (a] codesourcery.com>
   10944 
   10945 	* config/s390/s390-protos.h (s390_function_arg_advance): Delete.
   10946 	(s390_function_arg): Delete.
   10947 	* config/s390/s390.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   10948 	* config/s390/s390.c (s390_function_arg_float): Take a const_tree.
   10949 	(s390_function_arg_integer): Likewise.
   10950 	(s390_function_arg_advance): Make static.  Take a const_tree and
   10951 	a bool.
   10952 	(s390_function_arg): Likewise.
   10953 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   10954 
   10955 2010-10-08  Nathan Froyd  <froydnj (a] codesourcery.com>
   10956 
   10957 	* config/spu/spu-protos.h (spu_function_arg): Delete.
   10958 	* config/spu/spu.h (FUNCTION_ARG): Delete.
   10959 	(FUNCTION_ARG_ADVANCE): Move code to ...
   10960 	* config/spu/spu.c (spu_function_arg_advance): New function.
   10961 	(spu_function_arg): Make static.  Take a const_tree and a bool.
   10962 	(spu_setup_incoming_varargs): Call spu_function_arg_advance.
   10963 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   10964 
   10965 2010-10-08  Nathan Froyd  <froydnj (a] codesourcery.com>
   10966 
   10967 	* config/rx/rx.c (TARGET_EXCEPT_UNWIND_INFO): Define.
   10968 
   10969 2010-10-08  Nathan Froyd  <froydnj (a] codesourcery.com>
   10970 
   10971 	* tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): New function.
   10972 	(init_vn_nary_op_from_op): New function.
   10973 	(init_vn_nary_op_from_stmt): New function.
   10974 	(vn_nary_op_lookup_1): New function.
   10975 	(sizeof_vn_nary_op): New function.
   10976 	(alloc_vn_nary_op_noinit): New function.
   10977 	(alloc_vn_nary_op): New function.
   10978 	(vn_nary_op_insert_into): New function.
   10979 	(vn_nary_op_lookup_pieces): Rewrite to use new helper functions.
   10980 	(vn_nary_op_lookup): Likewise.
   10981 	(vn_nary_op_lookup_stmt): Likewise.
   10982 	(vn_nary_op_insert_pieces): Likewise.
   10983 	(vn_nary_op_insert): Likewise.
   10984 	(vn_nary_op_insert_stmt): Likewise.
   10985 	(copy_nary): Likewise.
   10986 	(set_value_id_for_result): New function.
   10987 	(set_hashtable_value_ids): Call it.
   10988 
   10989 2010-10-08  Nathan Froyd  <froydnj (a] codesourcery.com>
   10990 
   10991 	* config/fr30/fr30.c (TARGET_EXCEPT_UNWIND_INFO): Define.
   10992 	* config/fr30/fr30.md (leave_func): Rewrite without post_inc.
   10993 
   10994 2010-10-08  Nathan Froyd  <froydnj (a] codesourcery.com>
   10995 
   10996 	* config/mcore/mcore.h (INCOMING_RETURN_ADDR_RTX): Define.
   10997 	* config/mcore/mcore.c (TARGET_EXCEPT_UNWIND_INFO): Define.
   10998 
   10999 2010-10-08  Alexandre Oliva  <aoliva (a] redhat.com>
   11000 
   11001 	PR debug/45656
   11002 	* cse.c (cse_extended_basic_block): Preserve cc0 info across
   11003 	debug isnsn.  Skip them when searching for cc0 setter.
   11004 	(set_live_p): Skip debug insns when searching for cc0 user.
   11005 
   11006 2010-10-08  Alexandre Oliva  <aoliva (a] redhat.com>
   11007 
   11008 	PR debug/45673
   11009 	PR debug/45604
   11010 	PR debug/45419
   11011 	PR debug/45408
   11012 	* tree-pretty-print.c (dump_generic_node): Explicitly dump the
   11013 	type of MEM_REFs to INTEGER_CSTs.
   11014 
   11015 2010-10-07  Nathan Froyd  <froydnj (a] codesourcery.com>
   11016 
   11017 	* config/m68hc11/m68hc11.c (m68hc11_print_operand): Call
   11018 	m68hc11_print_operand_address.
   11019 
   11020 2010-10-07  Nathan Froyd  <froydnj (a] codesourcery.com>
   11021 
   11022 	* builtins.c (rewrite_call_expr): Move code to...
   11023 	(rewrite_call_expr_valist): ...here.  Call build_call_expr_loc_array.
   11024 	(rewrite_call_expr_array): New function.
   11025 	(fold_builtin_sprintf_chk_1): New function.
   11026 	(fold_builtin_sprintf_chk): Call it.
   11027 	(gimple_fold_builtin_sprintf_chk): Likewise.
   11028 	(fold_builtin_snprintf_chk_1): New function.
   11029 	(fold_builtin_snprintf_chk): Call it.
   11030 	(gimple_fold_builtin_snprintf_chk): Likewise.
   11031 	(gimple_rewrite_call_expr): Delete.
   11032 
   11033 2010-10-07  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   11034 
   11035 	* config.host: Update copyright year.
   11036 
   11037 2010-10-07  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   11038 
   11039 	* config.host (host_lto_plugin_soname): New shell variable.
   11040 	* configure.ac (LTOPLUGINSONAME): Add an AC_DEFINE for the above.
   11041 	* config.in: Regenerate.
   11042 	* configure: Regenerate.
   11043 	* gcc.c (main): Use LTOPLUGINSONAME instead of hard-coding name of
   11044 	LTO plugin shared library.
   11045 
   11046 2010-10-07  Richard Henderson  <rth (a] redhat.com>
   11047 
   11048 	* target.h (enum unwind_info_type): Move ...
   11049 	* coretypes.h: ... here.
   11050 
   11051 2010-10-07  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   11052 
   11053 	* doc/objc.texi (Fast enumeration protocol): Mention that
   11054 	'unsigned int' can also be used instead of 'unsigned long' in
   11055 	countByEnumeratingWithState:objects:count:.
   11056 
   11057 2010-10-07  Martin Jambor  <mjambor (a] suse.cz>
   11058 
   11059 	* tree-sra.c (struct access): New field grp_assignment_write.
   11060 	(dump_access): Dump grp_assignment_write.
   11061 	(build_accesses_from_assign): Set grp_assignment_write.
   11062 	(sort_and_splice_var_accesses): Aggregate grp_assignment_write.
   11063 	(mark_read_status): Renamed to mark_rw_status, individual values
   11064 	renamed too.
   11065 	(analyze_access_subtree): Changed type of mark_write to
   11066 	mark_read_status.  Fixed propagating of mark_read and
   11067 	mark_write.  Changed benefit estimate.  Updated comment.
   11068 
   11069 2010-10-07  Tejas Belagod  <tejas.belagod (a] arm.com>
   11070 
   11071 	PR Tree-Vect/45847
   11072 	* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Add NULL
   11073 	check for vectype_out returned by get_vectype_for_scalar_type().
   11074 
   11075 2010-10-07  Tejas Belagod  <tejas.belagod (a] arm.com>
   11076 
   11077 	PR target/45805
   11078 	* config/arm/neon.md (neon_unpack<US>_<mode>): Add 'w' to
   11079 	constraint, add register specifier in instruction template.
   11080 	(neon_vec_pack_trunc_<mode>): Likewise.
   11081 	(neon_vec_<US>mult_<mode>): Add register specifier to
   11082 	instruction template.
   11083 
   11084 2010-10-07  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   11085 
   11086 	* config.gcc (c_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add
   11087 	cygwin2.o.
   11088 	(cxx_target_objs)[i?86-*-pe|i?86-*-cygwin*]: Likewise.
   11089 	(extra_gcc_objs)[i?86-*-pe|i?86-*-cygwin*]: Don't add cygwin1.o.
   11090 	* config/i386/t-cygwin (cygwin1.o): Delete build rule.
   11091 	(cygwin2.o): Likewise.
   11092 	* config/i386/cygwin1.c: Delete file.
   11093 	* config/i386/cygwin2.c: Likewise.
   11094 	* config/i386/cygwin.h (CPP_SPEC): Remove all %{mno-cygwin} specs and
   11095 	make all {%!mno-cygwin} ones unconditional.
   11096 	(STARTFILE_SPEC): Likewise.
   11097 	(REAL_LIBGCC_SPEC): Likewise.
   11098 	(LIB_SPEC): Likewise.
   11099 	(CXX_WRAP_SPEC): Likewise.
   11100 	(LINK_SPEC): Likewise.
   11101 	(CYGWIN_MINGW_SUBDIR): Delete now-unused macro definition.
   11102 	(CYGWIN_MINGW_SUBDIR_LEN): Likewise.
   11103 	(cygwin_gplusplus_include_dir): Delete now-unused array.
   11104 	(GPLUSPLUS_INCLUDE_DIR): Don't redefine to point to it.
   11105 	(cygwin_gplusplus_tool_include_dir): Delete now-unused array.
   11106 	(GPLUSPLUS_TOOL_INCLUDE_DIR): Don't redefine to point to it.
   11107 	(cygwin_gplusplus_backward_include_dir): Delete now-unused array.
   11108 	(GPLUSPLUS_BACKWARD_INCLUDE_DIR): Don't redefine to point to it.
   11109 	(cygwin_local_include_dir): Delete now-unused array.
   11110 	(LOCAL_INCLUDE_DIR): Don't redefine to point to it.
   11111 	(cygwin_cross_include_dir): Delete now-unused array.
   11112 	(CROSS_INCLUDE_DIR): Don't redefine to point to it.
   11113 	(cygwin_tool_include_dir): Delete now-unused array.
   11114 	(TOOL_INCLUDE_DIR): Don't redefine to point to it.
   11115 	(cygwin_standard_include_dir): Delete now-unused array.
   11116 	(STANDARD_INCLUDE_DIR): Don't redefine to point to it.
   11117 	(GEN_CVT_ARRAY): Delete now-unused macro definition.
   11118 	(cvt_to_mingw): Delete now-unused array.
   11119 	(mingw_scan): Remove prototype of deleted function.
   11120 	(GCC_DRIVER_HOST_INITIALIZATION): Don't define now-unused target macro.
   11121 	* config/i386/cygming.opt (mcygwin): Delete target-specific option.
   11122 	* doc/invoke.texi (-mcygwin): Don't document removed option.
   11123 	(-mno-cygwin): Likewise.
   11124 
   11125 2010-10-07  Richard Guenther  <rguenther (a] suse.de>
   11126 
   11127 	* machmode.h (mode_for_vector): Declare.
   11128 	* stor-layout.c (mode_for_vector): New function, split out from ...
   11129 	(layout_type): ... here.
   11130 	* tree-vectorizer.h (current_vector_size): Declare.
   11131 	* tree-vect-stmts.c (perm_mask_for_reverse): Check if the
   11132 	mask vector type is available.
   11133 	(get_vectype_for_scalar_type): Rename to ...
   11134 	(get_vectype_for_scalar_type_and_size): ... this.  Get a vector
   11135 	size argument.
   11136 	(get_vectype_for_scalar_type): New wrapper around
   11137 	get_vectype_for_scalar_type_and_size using current_vector_size.
   11138 	(get_same_sized_vectype): Use get_vectype_for_scalar_type_and_size.
   11139 	* tree-vect-loop.c (vect_analyze_loop_2): Split out core part
   11140 	of vect_analyze_loop here.
   11141 	(vect_analyze_loop): Loop over vector sizes calling vect_analyze_loop_3.
   11142 	* tree-vect-slp.c (vect_slp_analyze_bb): Set current_vector_size
   11143 	to autodetect.
   11144 	* config/i386/i386.c (ix86_vectorize_builtin_conversion): Fix
   11145 	V8SF to V8SI conversion builtin.
   11146 
   11147 2010-10-07  Richard Guenther  <rguenther (a] suse.de>
   11148 
   11149 	* target.def (autovectorize_vector_sizes): New target hook.
   11150 	* targhooks.c (default_autovectorize_vector_sizes): New function.
   11151 	* targhooks.h (default_autovectorize_vector_sizes): Declare.
   11152 	* doc/tm.texi.in (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES):
   11153 	Document.
   11154 	* doc/tm.texi: Update.
   11155 	* config/i386/i386.c (ix86_autovectorize_vector_sizes): New function.
   11156 	(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
   11157 
   11158 2010-10-07  Richard Guenther  <rguenther (a] suse.de>
   11159 
   11160 	* target.def (units_per_simd_word): Rename to ...
   11161 	(preferred_simd_mode): ... this.  Return mode instead of size.
   11162 	* targhooks.c (default_units_per_simd_word): Rename to ...
   11163 	(default_preferred_simd_mode): ... this.  Return word_mode.
   11164 	* targhooks.h (default_preferred_simd_mode): Declare.
   11165 	* config/arm/arm.c (arm_units_per_simd_word): Rename to ...
   11166 	(arm_preferred_simd_mode): ... this.  Re-implement.
   11167 	* config/i386/i386.c (ix86_units_per_simd_word): Rename to ...
   11168 	(ix86_preferred_simd_mode): ... this.  Re-implement.
   11169 	* config/sparc/sparc.c (sparc_units_per_simd_word): Rename to ...
   11170 	(sparc_preferred_simd_mode): ... this.  Re-implement.
   11171 	* config/mips/mips.c (mips_units_per_simd_word): Rename to ...
   11172 	(mips_preferred_simd_mode): ... this.  Re-implement.
   11173 	* config/rs6000/rs6000.c (rs6000_units_per_simd_word): Rename to ...
   11174 	(rs6000_preferred_simd_mode): ... this.  Re-implement.
   11175 	* tree-vect-stmts.c (get_vectype_for_scalar_type): Adjust.
   11176 	* doc/tm.texi.in (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Remove.
   11177 	(TARGET_VECTORIZE_PREFERRED_SIMD_MODE): Document.
   11178 	* doc/tm.texi: Update.
   11179 
   11180 2010-10-07  Richard Guenther  <rguenther (a] suse.de>
   11181 
   11182 	PR middle-end/45869
   11183 	* tree-cfg.c (verify_gimple_assign_binary): Allow vector shifts
   11184 	of pointers.
   11185 
   11186 2010-10-07  Alan Modra  <amodra (a] gmail.com>
   11187 
   11188 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Use gen_int_mode
   11189 	rather than sign extension by hand.
   11190 
   11191 2010-10-07  Jan Hubicka  <jh (a] suse.cz>
   11192 
   11193 	PR middle-end/45926
   11194 	* ipa.c (cgraph_remove_unreachable_nodes): Revert my previous patch.
   11195 
   11196 2010-10-07  Richard Guenther  <rguenther (a] suse.de>
   11197 
   11198 	PR bootstrap/45914
   11199 	* configure.ac: Fix typo.
   11200 	* configure: Regenerated.
   11201 
   11202 2010-10-06  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
   11203 
   11204 	* config/spu/spu-c.c (spu_resolve_overloaded_builtin): Don't use
   11205 	define_builtin_std where it's unnecessary.
   11206 	* config/i386/nto.h (TARGET_OS_CPP_BUILTINS): Likewise.
   11207 
   11208 2010-10-06  Anatoly Sokolov  <aesok (a] post.ru>
   11209 
   11210 	* doc/tm.texi.in (CLASS_LIKELY_SPILLED_P): Remove documentation.
   11211 	* doc/tm.texi.in: Regenerate.
   11212 	* system.h (CLASS_LIKELY_SPILLED_P): Poison.
   11213 	* targhooks.c (default_class_likely_spilled_p): Don't use the
   11214 	CLASS_LIKELY_SPILLED_P macro.
   11215 
   11216 	* config/arm/arm.md: Update comment.
   11217 
   11218 2010-10-06  Jan Hubicka  <jh (a] suse.cz>
   11219 
   11220 	* ipa.c (cgraph_remove_unreachable_nodes): External references can
   11221 	always be removed.
   11222 	(cgraph_externally_visible_p): We can not bring local comdats that
   11223 	are known to linker; fix handling of internal visibility.
   11224 	(function_and_variable_visibility): Likewise.
   11225 
   11226 2010-10-06  Eric Botcazou  <ebotcazou (a] adacore.com>
   11227 
   11228 	PR rtl-optimization/45394
   11229 	* combine.c (cleanup_auto_inc_dec): Remove AFTER parameter and adjust.
   11230 	(struct rtx_subst_pair): Remove AFTER field.
   11231 	(propagate_for_debug_subst): Adjust call to cleanup_auto_inc_dec.
   11232 	(propagate_for_debug): Remove MOVE parameter and adjust.
   11233 	(try_combine): In the special case where I2 is a PARALLEL, combine only
   11234 	destinations of SETs and set I2SRC to the I2 source.
   11235 	Adjust calls to propagate_for_debug throughout.
   11236 	* reload1.c (eliminate_regs_1) <ASM_OPERANDS>: Do not abort for debug
   11237 	insns.
   11238 
   11239 2010-10-06  Olivier Hainque  <hainque (a] adacore.com>
   11240 
   11241 	* config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Rewrite
   11242 	switch on insn codes as sequence of ifs.
   11243 
   11244 2010-10-06  Hariharan Sandanagobalane  <hariharan (a] picochip.com>
   11245 
   11246 	* config/picochip/picochip.c (TARGET_EXCEPT_UNWIND_INFO): Define it to
   11247 	be UI_NONE for picochip.
   11248 	(picochip_option_override): Do not disable exception flags.
   11249 	* config/picochip/picochip-protos.h (picochip_except_unwind_info):
   11250 	Declare.
   11251 
   11252 2010-10-06  Richard Guenther  <rguenther (a] suse.de>
   11253 
   11254 	* Makefile.in (regmove.o): Depend on $(TARGET_H).
   11255 
   11256 2010-10-06  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   11257 
   11258 	Implemented fast enumeration for Objective-C.
   11259 	* c-parser.c (objc_could_be_foreach_context): New.
   11260 	(c_lex_one_token): Recognize RID_IN keyword in a potential
   11261 	Objective-C foreach context.
   11262 	(c_parser_declaration_or_fndef): Added parameter.  Accept
   11263 	Objective-C RID_IN keyword as terminating a declaration; in that
   11264 	case, return the declaration in the new parameter.
   11265 	(c_parser_extenral_declaration): Updated calls to
   11266 	c_parser_declaration_or_fndef.
   11267 	(c_parser_declaration_or_fndef): Same change.
   11268 	(c_parser_compound_statement_nostart): Same change.
   11269 	(c_parser_label): Same change.
   11270 	(c_parser_objc_methodprotolist): Same change.
   11271 	(c_parser_omp_for_loop): Same change.
   11272 	(c_parser_for_statement): Detect and parse Objective-C foreach
   11273 	statements.
   11274 	(c_parser_omp_for_loop): Updated call to check_for_loop_decls().
   11275 	* c-decl.c (check_for_loop_decls): Added parameter to allow ObjC
   11276 	fast enumeration parsing code to turn off the c99 error but still
   11277 	perform checks on the loop declarations.
   11278 	* c-tree.h (check_for_loop_decls): Updated declaration.
   11279 	* doc/objc.texi: Document fast enumeration.
   11280 
   11281 2010-10-06  Nick Clifton  <nickc (a] redhat.com>
   11282 
   11283 	* config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Increment by one.
   11284 	(MDR_REGNUM): Define.
   11285 	(FIXED_REGISTERS, CALL_USED_REGISTERS): Add MDR as a fixed register.
   11286 	(REG_CLASS_CONTENTS): Add MDR to ALL_REGS.
   11287 	(INCOMING_RETURN_ADDR_RTX): Define in terms of MDR.
   11288 	(REGISTER_NAMES): Add MDR.
   11289 	(DWARF2_DEBUGGING_INFO): Define to 1.
   11290 	* config/mn10300/mn10300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
   11291 	(F): New function.  Sets RTX_FRAME_RELATED_P.
   11292 	(mn10300_gen_multiple_store): Use F.
   11293 	(expand_prologue): Use F.  Use gen_movsf() to push floating
   11294 	point registers.
   11295 	(expand_epilogue): Use gen_movsf() to pop floating point registers.
   11296 	(mn10300_option_override): Disable combine stack adjust pass.
   11297 
   11298 2010-10-06  Thomas Schwinge  <thomas (a] schwinge.name>
   11299 
   11300 	PR target/45901
   11301 	* config/alpha/gnu.h (TARGET_OS_CPP_BUILTINS): Refer to
   11302 	LINUX_TARGET_OS_CPP_BUILTINS instead of HURD_TARGET_OS_CPP_BUILTINS.
   11303 
   11304 2010-10-06  Jakub Jelinek  <jakub (a] redhat.com>
   11305 
   11306 	* builtins.def (BUILT_IN_CALLOC, BUILT_IN_REALLOC,
   11307 	BUILT_IN_ISALNUM, BUILT_IN_ISALPHA, BUILT_IN_ISASCII,
   11308 	BUILT_IN_ISBLANK, BUILT_IN_ISCNTRL, BUILT_IN_ISDIGIT,
   11309 	BUILT_IN_ISGRAPH, BUILT_IN_ISLOWER, BUILT_IN_ISPRINT,
   11310 	BUILT_IN_ISPUNCT, BUILT_IN_ISSPACE, BUILT_IN_ISUPPER,
   11311 	BUILT_IN_ISXDIGIT, BUILT_IN_TOASCII, BUILT_IN_TOLOWER,
   11312 	BUILT_IN_TOUPPER): Mark as leaf.
   11313 
   11314 	PR middle-end/45838
   11315 	* omp-builtins.def (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START,
   11316 	BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START,
   11317 	BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START,
   11318 	BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START,
   11319 	BUILT_IN_GOMP_PARALLEL_START, BUILT_IN_GOMP_TASK,
   11320 	BUILT_IN_GOMP_PARALLEL_SECTIONS_START): Use
   11321 	Revert back to ATTR_NOTHROW_LIST instead of ATTR_NOTHROW_LEAF_LIST.
   11322 
   11323 2010-10-05  Anatoly Sokolov  <aesok (a] post.ru>
   11324 
   11325 	* config/m68hc11/m68hc11.h (CLASS_LIKELY_SPILLED_P): Remove.
   11326 	* config/m68hc11/m68hc11.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
   11327 	(m68hc11_class_likely_spilled_p): New function.
   11328 
   11329 2010-10-05  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   11330 
   11331 	* c-parser.c (c_parser_objc_method_definition): Updated comment.
   11332 
   11333 2010-10-05  Jan Hubicka  <jh (a] suse.cz>
   11334 
   11335 	* doc/invoke.texi (-flto-partition, lto-partitions, lto-minpartition):
   11336 	Document.
   11337 	* opts.c (decode_options): Handle lto partitions.
   11338 	* common.opt (flto-partition=1to1, flto-partition=balanced): New.
   11339 	* params.def (PARAM_LTO_PARTITIONS, MIN_PARTITION_SIZE): New.
   11340 
   11341 2010-10-05  Jan Hubicka  <jh (a] suse.cz>
   11342 
   11343 	* cgraphunit.c (assemble_function): Output thunks and aliases before
   11344 	the function itself.
   11345 
   11346 2010-09-29  Hariharan Sandanagobalane  <hariharan (a] picochip.com>
   11347 
   11348 	* config/picochip/picochip.c (picochip_option_override): Disable
   11349 	exception flags for picochip.
   11350 
   11351 2010-10-05  Joseph Myers  <joseph (a] codesourcery.com>
   11352 
   11353 	* opts-common.c (handle_option, handle_generated_option,
   11354 	read_cmdline_option, set_option): Add diagnostic_context
   11355 	parameter.  Update calls among these functions.
   11356 	(set_option): Don't use global_dc.
   11357 	* opts.c (read_cmdline_options): Pass global_dc to read_cmdline_option.
   11358 	(decode_options): Pass global_dc to enable_warning_as_error.
   11359 	(common_handle_option): Pass global_dc to enable_warning_as_error.
   11360 	(enable_warning_as_error): Add diagnostic_context parameter.
   11361 	Document parameters.  Don't use global_dc.  Pass
   11362 	diagnostic_context parameter to handle_generated_option.
   11363 	* opts.h (set_option, handle_option, handle_generated_option,
   11364 	read_cmdline_option, enable_warning_as_error): Add
   11365 	diagnostic_context parameter.
   11366 	* Makefile.in (lto-opts.o): Update dependencies.
   11367 	* coretypes.h (struct diagnostic_context, diagnostic_context):
   11368 	Declare here.
   11369 	* diagnostic.h (diagnostic_context): Don't declare typedef here.
   11370 	* gcc.c (process_command): Pass global_dc to read_cmdline_option.
   11371 	* langhooks-def.h (struct diagnostic_context): Don't declare here.
   11372 	(lhd_print_error_function, lhd_initialize_diagnostics): Declare
   11373 	using diagnostic_context typedef.
   11374 	* langhooks.c (lhd_initialize_diagnostics): Declare using
   11375 	diagnostic_context typedef.
   11376 	* langhooks.h (struct diagnostic_context): Don't declare here.
   11377 	(initialize_diagnostics, print_error_function): Declare using
   11378 	diagnostic_context typedef.
   11379 	* lto-opts.c: Include diagnostic.h.
   11380 	(lto_reissue_options): Pass global_dc to set_option.  Pass
   11381 	DK_UNSPECIFIED not 0.
   11382 	* plugin.c (plugins_internal_error_function): Declare using
   11383 	diagnostic_context typedef.
   11384 	* plugin.h (struct diagnostic_context): Don't declare here.
   11385 	(plugins_internal_error_function): Declare using
   11386 	diagnostic_context typedef.
   11387 
   11388 2010-10-05  Olivier Hainque  <hainque (a] adacore.com>
   11389 	    Nicolas Roche  <roche (a] adacore.com>
   11390 
   11391 	* config/vxworksae.h: Add missing VXWORKS_OS_CPP_BUILTINS.
   11392 	* config/rs6000/vxworks.h: Remove redundant CPP builtin definitions.
   11393 
   11394 2010-10-05  Ira Rosen  <irar (a] il.ibm.com>
   11395 
   11396 	PR tree-optimization/45752
   11397 	* tree-vect-slp.c (vect_get_mask_element): Remove static
   11398 	variables, make them function arguments.
   11399 	(vect_transform_slp_perm_load): Pass new arguments to
   11400 	vect_get_mask_element.
   11401 
   11402 2010-10-05  Richard Guenther  <rguenther (a] suse.de>
   11403 
   11404 	* value-prof.c (gimple_divmod_fixed_value): Work on SSA form.
   11405 	(gimple_mod_pow2): Likewise.
   11406 	(gimple_mod_subtract): Likewise.
   11407 	(gimple_ic): Likewise.
   11408 	(gimple_stringop_fixed_value): Likewise.
   11409 	* tree-profile.c (tree_init_edge_profiler): Mark profile
   11410 	functions nothrow and leaf.
   11411 	(add_abnormal_goto_call_edges): Remove.
   11412 	(tree_gen_edge_profiler): Work on SSA form.
   11413 	(tree_gen_ic_profiler): Likewise.  Simplify.
   11414 	(do_tree_profiling): Update SSA form.
   11415 	(pass_tree_profile): Remove.
   11416 	(do_tree_profiling): Likewise.
   11417 	(gate_tree_profile_ipa): New function.
   11418 	(pass_ipa_tree_profile): New.
   11419 	(tree_profiling): Re-write as IPA pass.  Properly drop const/pure
   11420 	state of instrumented functions.
   11421 	* passes.c (init_optimization_passes): Remove early non-SSA
   11422 	inlining.  Move profiling after early optimizations.
   11423 	* ipa-inline.c (cgraph_gate_ipa_early_inlining): Remove.
   11424 	(pass_ipa_early_inline): Likewise.
   11425 	* tree-pass.h (pass_ipa_early_inline): Remove.
   11426 	(pass_tree_profile): Likewise.
   11427 	(pass_ipa_tree_profile): Declare.
   11428 
   11429 2010-10-05  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   11430 	    Christian Borntraeger  <Christian.Borntraeger (a] de.ibm.com>
   11431 
   11432 	* config/s390/s390.c (z196_cost): New.
   11433 	(s390_handle_arch_option): Add -march=z196.
   11434 	(s390_option_override): Use the new cost function and use the z10
   11435 	defaults also for z196.
   11436 	(legitimate_reload_constant_p): Adjust comment.
   11437 	(legitimate_reload_fp_constant_p): New function.
   11438 	(s390_preferred_reload_class): Distingiush between FP and Int constants.
   11439 	(preferred_la_operand_p): Avoid la with index on z196.
   11440 	(s390_adjust_priority): Trigger also for z196.
   11441 	(s390_issue_rate): Issue rate for z196 is 3.
   11442 	(s390_z10_fix_long_loop_prediction): Rename to ...
   11443 	(s390_fix_long_loop_prediction): ... this.
   11444 	(s390_reorg): Apply the z10 adjustments also for z196.
   11445 	(s390_loop_unroll_adjust): Do this also for z196.
   11446 	* config/s390/s390.h (enum processor_type): Add PROCESSOR_2817_Z196.
   11447 	(enum processor_flags): Add PF_Z196.
   11448 	(TARGET_AVOID_CMP_AND_BRANCH): New macro.
   11449 	(TARGET_CPU_Z196, TARGET_Z196): New macros.
   11450 	* config.gcc: Enable z196 for --with-arch.
   11451 	* config/s390/2817.md: New file.
   11452 	* config/s390/2084.md: New type for multiply and add.
   11453 	* config/s390/2097.md: Likewise.
   11454 	* config/s390/s390.md (UNSPEC_POPCNT, UNSPEC_COPYSIGN)
   11455 	(UNSPECV_ATOMIC_OP): New constants.
   11456 	(fmadddf, fmaddsf): New values for type attribute.
   11457 	(z196prop): New insn attribute.
   11458 	(cpu, cpu_facility): Add z196.
   11459 	(ATOMIC_Z196): New code iterator.
   11460 	(noxa): New code attribute.
   11461 	(gk): New mode attribute.
   11462 	(*mov<mode>_64, *mov<mode>_31, *mov<mode>_64dfp, mov<mode>):
   11463 	Support load zero for fp constants.
   11464 	(fixuns_truncdddi2, fixuns_trunctddi2)
   11465 	(fixuns_trunc<BFP:mode><GPR:mode>2): Use the standard rtx pattern
   11466 	for z196.
   11467 	(fixuns_trunc<mode>si2, mov<mode>cc, popcountdi2, popcountsi2)
   11468 	(popcounthi2, popcountqi2): New expander.
   11469 	(*fixuns_trunc<FP:mode><GPR:mode>2_z196, floatsi<mode>2)
   11470 	(floatuns<GPR:mode><FP:mode>2, *mov<mode>cc, sync_<atomic><mode>)
   11471 	(sync_old_<atomic><mode>, *popcount<mode>, copysign<mode>3): New
   11472 	insn definition.
   11473 	(add<mode>3, *add<mode>3_carry1_cc, *add<mode>3_carry1_cconly)
   11474 	(*add<mode>3_carry2_cc, *add<mode>3_carry2_cconly, *add<mode>3_cc)
   11475 	(*add<mode>3_cconly, *add<mode>3_cconly2, *add<mode>3_imm_cc)
   11476 	(*sub<mode>3, *sub<mode>3_borrow_cc, *sub<mode>3_borrow_cconly)
   11477 	(*sub<mode>3_cc, *sub<mode>3_cc2, *sub<mode>3_cconly)
   11478 	(*sub<mode>3_cconly2, *anddi3_cc, *anddi3_cconly, *anddi3, *andsi3_cc)
   11479 	(*andsi3_cconly, *andsi3_zarch, *andsi3_esa, *andhi3_zarch
   11480 	(*andqi3_zarch, *iordi3_cc, *iordi3_cconly, *iordi3, *iorsi3_cc)
   11481 	(*iorsi3_cconly, *iorsi3_zarch, *iorhi3_zarch, *iorqi3_zarch)
   11482 	(*xordi3_cc, *xordi3_cconly, *xordi3, *xorsi3_cc, *xorsi3_cconly)
   11483 	(*xorsi3, *xorhi3, *xorqi3, *<shift><mode>3, *<shift><mode>3_and)
   11484 	(*ashr<mode>3_cc, *ashr<mode>3_cconly, *ashr<mode>3)
   11485 	(*ashr<mode>3_cc_and, *ashr<mode>3_cconly_and, *ashr<mode>3_and):
   11486 	Support new z196 instructions.
   11487 
   11488 2010-10-05  Richard Guenther  <rguenther (a] suse.de>
   11489 
   11490 	PR middle-end/45877
   11491 	* gimple-fold.c (gimplify_and_update_call_from_tree): Handle
   11492 	case where gimplification optimizes away the stmt.
   11493 
   11494 2010-10-04  Jakub Jelinek  <jakub (a] redhat.com>
   11495 
   11496 	PR debug/45849
   11497 	* var-tracking.c (strip_pointer_flags): New function.
   11498 	(emit_note_insn_var_location): If rtx_equal_p check failed,
   11499 	retry on locations simplified with simplify_replace_fn_rtx
   11500 	and strip_pointer_flags as its callback.
   11501 
   11502 2010-10-04  Jan Hubicka  <jh (a] suse.cz>
   11503 
   11504 	* gimple-fold.c (static_object_in_other_unit_p): Rename to...
   11505 	(can_refer_decl_in_current_unit_p): ... this one; reverse return
   11506 	value; handle comdats too.
   11507 	(canonicalize_constructor_val): Use it; handle function_decls
   11508 	correctly.
   11509 	(gimple_fold_obj_type_ref_known_binfo): Likewise.
   11510 	* gimple.c (get_base_address): Accept all kinds of decls.
   11511 
   11512 2010-10-04  Joseph Myers  <joseph (a] codesourcery.com>
   11513 
   11514 	* flags.h (g_switch_value, g_switch_set): Remove.
   11515 	* opts.c (g_switch_value, g_switch_set): Remove.
   11516 	* config/g.opt (G): Add Var(g_switch_value).
   11517 	* config/alpha/alpha.c (alpha_handle_option): Don't handle -G here.
   11518 	(alpha_option_override): Check global_options_set.x_g_switch_value
   11519 	instead of g_switch_set.
   11520 	(alpha_in_small_data_p): Remove cast in comparison with
   11521 	g_switch_value.
   11522 	* config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
   11523 	g_switch_value to unsigned HOST_WIDE_INT.
   11524 	* config/frv/frv.c (frv_const_unspec_p): Remove cast in comparison
   11525 	with g_switch_value.
   11526 	(frv_handle_option): Don't handle -G here.
   11527 	(frv_option_override): Check global_options_set.x_g_switch_value
   11528 	instead of g_switch_set.  Don't modify g_switch_set.
   11529 	(frv_in_small_data_p): Remove cast in comparison with g_switch_value.
   11530 	* config/frv/frv.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Cast
   11531 	g_switch_value to unsigned HOST_WIDE_INT.
   11532 	* config/ia64/ia64.c (ia64_handle_option): Don't handle -G here.
   11533 	(ia64_option_override): Check global_options_set.x_g_switch_value
   11534 	instead of g_switch_set.
   11535 	* config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION):
   11536 	Remove.
   11537 	(lm32_in_small_data_p): Remove cast in comparison with
   11538 	g_switch_value.
   11539 	* config/lm32/lm32.h (ASM_OUTPUT_ALIGNED_LOCAL,
   11540 	ASM_OUTPUT_ALIGNED_COMMON): Cast g_switch_value to unsigned
   11541 	HOST_WIDE_INT.
   11542 	* config/m32r/m32r.c (m32r_handle_option): Don't handle -G here.
   11543 	(m32r_init): Check global_options_set.x_g_switch_value instead of
   11544 	g_switch_set.
   11545 	(m32r_in_small_data_p): Remove cast in comparison with
   11546 	g_switch_value.
   11547 	(m32r_file_start): Format g_switch_value with %d.
   11548 	* config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_COMMON,
   11549 	ASM_OUTPUT_ALIGNED_BSS): Cast g_switch_value to unsigned HOST_WIDE_INT.
   11550 	* config/microblaze/microblaze.c (microblaze_handle_option): Don't
   11551 	handle -G here.
   11552 	(microblaze_option_override): Check
   11553 	global_options_set.x_g_switch_value instead of g_switch_set.
   11554 	* config/mips/mips.c (mips_handle_option): Don't handle -G here.
   11555 	(mips_option_override): Check global_options_set.x_g_switch_value
   11556 	instead of g_switch_set.
   11557 	* config/rs6000/rs6000.c (rs6000_handle_option): Don't handle -G here.
   11558 	(rs6000_file_start): Format g_switch_value with %d.
   11559 	(small_data_operand, rs6000_elf_in_small_data_p): Remove casts in
   11560 	comparisons with g_switch_value.
   11561 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Check
   11562 	global_options_set.x_g_switch_value instead of g_switch_set.
   11563 	* config/rs6000/vxworks.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
   11564 	global_options_set.x_g_switch_value instead of g_switch_set.
   11565 	* config/score/score.c (score_handle_option): Don't handle -G here.
   11566 	* config/score/score3.c (score3_option_override): Check
   11567 	global_options_set.x_g_switch_value instead of g_switch_set.
   11568 	* config/score/score7.c (score7_option_override): Check
   11569 	global_options_set.x_g_switch_value instead of g_switch_set.
   11570 
   11571 2010-10-04  Vladimir Makarov  <vmakarov (a] redhat.com>
   11572 
   11573 	* common.opt (fira-coalesce): Remove.
   11574 
   11575 	* doc/invoke.texi (flag_ira_coalesce): Remove.
   11576 
   11577 	* ira-color.c (allocno_coalesced_p): Move before
   11578 	copy_freq_compare_func.
   11579 	processed_coalesced_allocno_bitmap): Ditto.
   11580 	(update_conflict_hard_regno_costs): Don't use
   11581 	ALLOCNO_FIRST_COALESCED_ALLOCNO.
   11582 	(allocno_cost_compare_func, print_coalesced_allocno): Remove.
   11583 	(assign_hard_reg): Assume no coalesced allocnos.
   11584 	(get_coalesced_allocnos_attributes): Remove.
   11585 	(bucket_allocno_compare_func): Assume no coalesced allocnos.
   11586 	(push_allocno_to_stack): Ditto.
   11587 	(remove_allocno_from_bucket_and_push): Use
   11588 	ira_print_expanded_allocno instead of print_coalesced_allocno.
   11589 	(push_allocnos_to_stack): Assume uncoalesced allocnos.
   11590 	(all_conflicting_hard_regs_coalesced): Ditto.  Rename to
   11591 	all_conflicting_hard_regs.
   11592 	(setup_allocno_available_regs_num): Assume uncoalesced allocnos.
   11593 	(setup_allocno_left_conflicts_size): Ditto.
   11594 	(put_allocno_into_bucket): Ditto.
   11595 	(copy_freq_compare_func): Remove.
   11596 	(copy_freq_compare_func, merge_allocnos): Move before
   11597 	coalesced_pseudo_reg_freq_compare.
   11598 	coalesced_allocno_conflict_p): Ditto.
   11599 	(coalesced_allocno_conflict_p, coalesce_allocnos): Ditto.  Remove
   11600 	parameter.  Assume it true.
   11601 	(color_allocnos): Assume uncoalesced allocnos.  Use
   11602 	ira_print_expanded_allocno instead of print_coalesced_allocno.
   11603 	(ira_sort_regnos_for_alter_reg): Call coalesce_allocnos without
   11604 	parameter.
   11605 
   11606 	* ira.c: Remove comment about coalescing.
   11607 
   11608 2010-10-04  Joseph Myers  <joseph (a] codesourcery.com>
   11609 
   11610 	* config/mips/mips.h (target_flags_explicit): Declare for
   11611 	GENERATOR_FILE.
   11612 
   11613 2010-10-04  Andi Kleen  <ak (a] linux.intel.com>
   11614 
   11615 	* Makefile.in (xgcc, cpp, cc1, collect2, lto-wrapper, gcov,
   11616 	gcov-dump, cc1-dummy, genprog, build/gcov-iov): Add + to build rule.
   11617 
   11618 2010-10-04  Matthias Klose  <doko (a] ubuntu.com>
   11619 
   11620 	* config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
   11621 	multilib osdirname if it exists.
   11622 	* config/s390/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
   11623 
   11624 2010-10-04  Jakub Jelinek  <jakub (a] redhat.com>
   11625 
   11626 	PR middle-end/45876
   11627 	* fold-const.c (fold_binary_loc) <case BIT_AND_EXPR>: Use
   11628 	arg0's type or its unsigned counterpart as utype.  Convert
   11629 	arg1 to utype unconditionally.
   11630 
   11631 2010-10-04  Julian Brown  <julian (a] codesourcery.com>
   11632 
   11633 	* expr.c (expand_assignment): Add assertion to prevent emitting
   11634 	null rtx for movmisalign pattern.
   11635 	(expand_expr_real_1): Likewise.
   11636 	* config/arm/arm.c (arm_builtin_support_vector_misalignment): New.
   11637 	(TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): New. Use above.
   11638 	(arm_vector_alignment_reachable): New.
   11639 	(TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): New. Use above.
   11640 	(neon_vector_mem_operand): Disallow PRE_DEC for misaligned loads.
   11641 	(arm_print_operand): Include alignment qualifier in %A.
   11642 	* config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant.
   11643 	(movmisalign<mode>): New expander.
   11644 	(movmisalign<mode>_neon_store, movmisalign<mode>_neon_load): New
   11645 	insn patterns.
   11646 
   11647 2010-10-04  Joseph Myers  <joseph (a] codesourcery.com>
   11648 
   11649 	* optc-gen.awk: Define global_options_set.  Don't define
   11650 	target_flags_explicit.
   11651 	* opth-gen.awk: Declare global_options_set.  Define
   11652 	target_flags_explicit as macro.
   11653 	* opts-common.c (handle_option): Take opts_set and generated_p
   11654 	parameters.
   11655 	(handle_generated_option, read_cmdline_option, set_option): Take
   11656 	opts_set parameter.
   11657 	(set_option): Use opts_set instead of hardcoding target_flags and
   11658 	target_flags_explicit.
   11659 	* opts.c (sel_sched_switch_set, profile_arc_flag_set,
   11660 	flag_profile_values_set, flag_unroll_loops_set, flag_tracer_set,
   11661 	flag_value_profile_transformations_set, flag_peel_loops_set,
   11662 	flag_branch_probabilities_set, flag_inline_functions_set,
   11663 	flag_ipa_cp_set, flag_ipa_cp_clone_set,
   11664 	flag_predictive_commoning_set, flag_unswitch_loops_set,
   11665 	flag_gcse_after_reload_set): Remove.
   11666 	(common_handle_option, lang_handle_option, target_handle_option):
   11667 	Take opts_set parameter.  Assert that it is &global_options_set.
   11668 	(common_handle_option): Don't set _set variables.  Check opts_set
   11669 	instead of such variables.
   11670 	(enable_warning_as_error): Pass &global_options_set to
   11671 	handle_generated_option.
   11672 	* opts.h (cl_option_handler_func.handler, set_option,
   11673 	handle_option, handle_generated_option, read_cmdline_option): Add
   11674 	opts_set parameters.
   11675 	(handle_option): Add generated_p parameter.
   11676 	* config/i386/i386.c (ix86_function_specific_save,
   11677 	ix86_function_specific_restore): Updat for renaming of
   11678 	target_flags_explicit field.
   11679 	* config/i386/i386.opt (target_flags_explicit): Rename to
   11680 	ix86_target_flags_explicit.
   11681 	* config/ia64/ia64.c (ia64_override_options_after_change): Check
   11682 	global_options_set.x_flag_selective_scheduling and
   11683 	global_options_set.x_flag_selective_scheduling2, not
   11684 	sel_sched_switch_set.
   11685 	* flags.h (sel_sched_switch_set,
   11686 	flag_speculative_prefetching_set): Remove.
   11687 	* gcc.c (driver_handle_option): Take opts_set parameter.  Assert
   11688 	that it is &global_options_set.
   11689 	(process_command): Pass &global_options_set to read_cmdline_option.
   11690 	* lto-opts.c (lto_reissue_options): Pass &global_options_set to
   11691 	set_option.
   11692 	* toplev.c (target_flags_explicit): Remove.
   11693 
   11694 2010-10-04  Jan Hubicka  <jh (a] suse.cz>
   11695 
   11696 	PR middle-end/45871
   11697 	* tree-ssa-ccp.c (get_base_constructor): Take HOST_WIDE_INT offset;
   11698 	use get_ref_base_and_offset to handle references.
   11699 	(fold_const_aggregate_ref): Update.
   11700 
   11701 2010-10-04  Martin Jambor  <mjambor (a] suse.cz>
   11702 
   11703 	PR tree-optimization/45572
   11704 	* ipa-prop.c (ipa_make_edge_direct_to_target): Call
   11705 	ipa_check_create_node_params.
   11706 	* ipa-inline.c (add_new_edges_to_heap): Do not insert inlined edges.
   11707 
   11708 2010-10-04  Yao Qi  <yao (a] codesourcery.com>
   11709 
   11710 	* doc/passes.texi: Clean up.
   11711 
   11712 2010-10-03  Ian Lance Taylor  <iant (a] google.com>
   11713 
   11714 	* c-typeck.c (lookup_field): If -fplan9-extensions, permit
   11715 	referring to a field using a typedef name.
   11716 	(find_anonymous_field_with_type): New static function.
   11717 	(convert_to_anonymous_field): New static function.
   11718 	(convert_for_assignment): If -fplan9-extensions, permit converting
   11719 	pointer to struct to pointer to anonymous field.
   11720 	* c-decl.c (grokfield): If -fplan9-extensions, permit anonymous fields.
   11721 	(is_duplicate_field): New static function.
   11722 	(detect_field_duplicates_hash): If -fplan9-extensions, check for
   11723 	typedef names duplicating field names.
   11724 	(detect_field_duplicates): Likewise.
   11725 	* doc/invoke.texi (Option Summary): Mention -fplan9-extensions.
   11726 	(C Dialect Options): Document -fplan9-extensions.
   11727 	* doc/extend.texi (Unnamed Fields): Document -fplan9-extensions.
   11728 
   11729 2010-10-03  H.J. Lu  <hongjiu.lu (a] intel.com>
   11730 
   11731 	* tree-vect-data-refs.c (vect_analyze_data_ref_access): Revert
   11732 	revision 164914.
   11733 	(vect_create_data_ref_ptr): Likewise.
   11734 	* tree-vect-stmts.c (vectorizable_store): Likewise.
   11735 	(perm_mask_for_reverse): Likewise.
   11736 	(reverse_vec_elements): Likewise.
   11737 	(vectorizable_load): Likewise.
   11738 
   11739 2010-10-03  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
   11740 
   11741 	* cppbuiltin.c: New file.
   11742 	* cppbuiltin.h: New file.
   11743 	* Makefile.in: Take into account cppbuiltin.{h,c}.
   11744 
   11745 2010-10-03  Andi Kleen  <ak (a] linux.intel.com>
   11746 
   11747 	* lto-cgraph.c (input_cgraph): Check for missing sections.
   11748 
   11749 2010-10-03  Uros Bizjak  <ubizjak (a] gmail.com>
   11750 
   11751 	* config/i386/i386.md (*ashl<mode>3_mask): Change operand 2 predicate
   11752 	to nonimmediate_operand.  Force operand 2 to register when allowed.
   11753 	(*<shiftrt_insn><mode>3_mask): Ditto.
   11754 	(*<rotate_insn><mode>3_mask): Ditto.
   11755 
   11756 2010-10-02  H.J. Lu  <hongjiu.lu (a] intel.com>
   11757 
   11758 	PR tree-optimization/45720
   11759 	PR tree-optimization/45764
   11760 	* tree-vect-data-refs.c (vect_analyze_data_ref_access):
   11761 	Don't accept backwards consecutive accesses.
   11762 	(vect_create_data_ref_ptr): Disallow negative steps.
   11763 
   11764 	* tree-vect-stmts.c (vectorizable_store): Allow negative steps.
   11765 	(perm_mask_for_reverse): Removed.
   11766 	(reverse_vec_elements): Likewise.
   11767 	(vectorizable_load): Don't handle negative steps.
   11768 
   11769 2010-10-02  Jan Hubicka  <jh (a] suse.cz>
   11770 
   11771 	* tree-ssa-ccp.c (ccp_fold_stmt): Fold away OBJ_TYPE_REF when
   11772 	call destination is known.
   11773 
   11774 2010-10-02  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   11775 
   11776 	PR target/45820
   11777 	* config/pa/pa.c (pa_secondary_reload): Handle symbolic operands
   11778 	earlier.
   11779 
   11780 2010-10-02  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   11781 
   11782 	* doc/install.texi (Configuration): Document build_configargs,
   11783 	host_configargs, target_configargs.
   11784 
   11785 2010-10-01  Uros Bizjak  <ubizjak (a] gmail.com>
   11786 
   11787 	* config/i386/i386.md (*ashl<mode>3_mask): New insn_and_split pattern.
   11788 	(*<shiftrt_insn><mode>3_mask): Ditto.
   11789 	(*<rotate_insn><mode>3_mask): Ditto.
   11790 
   11791 2010-10-01  Steve Ellcey  <sje (a] cup.hp.com>
   11792 
   11793 	PR tree-optimization/44716
   11794 	* config/ia64/hpux.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
   11795 	(HOT_TEXT_SECTION_NAME): Define.
   11796 
   11797 2010-10-01  Nick Clifton  <nickc (a] redhat.com>
   11798 
   11799 	* common.opt: Add -fcombine-stack-adjustments.
   11800 	* opts.c (decode_options): Enable -fcombine-stack-adjustments at -O1.
   11801 	* combine-stack-adj.c (gate_handle_stack_adjustments): Check
   11802 	flag_combine_stack_adjustments.
   11803 	* doc/invoke.texi: Document the new option.
   11804 
   11805 2010-10-01  Richard Guenther  <rguenther (a] suse.de>
   11806 
   11807 	PR tree-optimization/45854
   11808 	* tree-eh.c (cleanup_empty_eh): Avoid degenerate case.
   11809 
   11810 2010-10-01  Anthony Green  <green (a] moxielogic.com>
   11811 
   11812 	* config.gcc: Fix moxie-*-rtems* configuration.
   11813 
   11814 2010-10-01  Richard Guenther  <rguenther (a] suse.de>
   11815 
   11816 	* dwarf2out.c (gen_namespace_die): Use DECL_FILE_SCOPE_P.
   11817 	(gen_decl_die): Likewise.
   11818 
   11819 2010-10-01  Ulrich Weigand  <Ulrich.Weigand (a] de.ibm.com>
   11820 
   11821 	* config/spu/spu.c (spu_init_builtins): No longer add END_BUILTINS
   11822 	to the function code for SPU MD builtins.
   11823 	(spu_expand_builtin): Update.
   11824 	* config/spu/spu-c.c (spu_resolve_overloaded_builtin): Update.
   11825 
   11826 2010-10-01  Ulrich Weigand  <Ulrich.Weigand (a] de.ibm.com>
   11827 
   11828 	* config/spu/spu.c (TARGET_EXCEPT_UNWIND_INFO): Set to
   11829 	sjlj_except_unwind_info.
   11830 
   11831 2010-10-01  Tristan Gingold  <gingold (a] adacore.com>
   11832 
   11833 	* configure.ac: Define the nop insn for avr*-*-*
   11834 	* configure: Regenerate.
   11835 
   11836 2010-10-01  Alan Modra  <amodra (a] gmail.com>
   11837 
   11838 	PR target/45807
   11839 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Properly sign
   11840 	extend toc_restore_insn.
   11841 
   11842 2010-09-30  Richard Guenther  <rguenther (a] suse.de>
   11843 
   11844 	PR tree-optimization/43959
   11845 	* function.c (gimplify_parameters): Use create_tmp_reg instead of
   11846 	create_tmp_var.
   11847 
   11848 2010-09-30  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   11849 
   11850 	* config/sh/sh.c (sh_expand_prologue): Set
   11851 	current_function_static_stack_size.
   11852 
   11853 2010-09-30  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   11854 
   11855 	* configure.ac: Check for Solaris 8 ld with .hidden support.
   11856 	* configure: Regenerate.
   11857 
   11858 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11859 
   11860 	PR middle-end/45758
   11861 	* graphite.c (graphite_initialize): Call scev_reset.
   11862 
   11863 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11864 
   11865 	* sese.h (scev_analyzable_p): Return false for real or floating
   11866 	point.  Only handle INTEGRAL_TYPE_P and POINTER_TYPE_P.
   11867 
   11868 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11869 
   11870 	* graphite-clast-to-gimple.c (compute_bounds_for_level): Free le
   11871 	and ps.
   11872 	* graphite-poly.c (pbb_number_of_iterations_at_time): Free le and
   11873 	domain.
   11874 	* graphite-sese-to-poly.c (add_upper_bounds_from_estimated_nit):
   11875 	Do not allocate ub_expr, it is passed in initialized.
   11876 
   11877 2010-09-30  Andreas Simbuerger  <simbuerg (a] fim.uni-passau.de>
   11878 
   11879 	* graphite-clast-to-gimple.c (init_cloog_input_file): New.
   11880 	(build_cloog_prog): Dump CLooG input file when
   11881 	flag_graphite_dump_cloog is set.  This is disabled on trunk.
   11882 	* graphite-cloog-compat.h (cloog_program_dump_cloog): New.
   11883 
   11884 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11885 
   11886 	* graphite-clast-to-gimple.c (graphite_verify): Remove call to
   11887 	verify_dominators for CDI_POST_DOMINATORS.
   11888 	* sese.h: Remove comment about CDI_POST_DOMINATORS.
   11889 	(recompute_all_dominators): Remove call to free_dominance_info
   11890 	for CDI_POST_DOMINATORS.  Remove call to calculate_dominance_info
   11891 	for CDI_POST_DOMINATORS.
   11892 
   11893 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11894 
   11895 	* graphite-poly.c (pbb_number_of_iterations_at_time): Only iterate
   11896 	over pbb_dim_iter_domain.
   11897 
   11898 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11899 
   11900 	* graphite-flattening.c: Fix comments.
   11901 
   11902 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11903 
   11904 	* Makefile.in (OBJS-common): Add graphite-flattening.o.
   11905 	(graphite-flattening.o): New rule.
   11906 	* common.opt (floop-flatten): New flag.
   11907 	* doc/invoke.texi (-floop-flatten): Documented.
   11908 	* graphite-flattening.c: New.
   11909 	* graphite-poly.c (apply_poly_transforms): Call flatten_all_loops.
   11910 	* graphite-poly.h (flatten_all_loops): Declared.
   11911 	(lst_remove_loop_and_inline_stmts_in_loop_father): New.
   11912 	* tree-ssa-loop.c (gate_graphite_transforms): When flag_loop_flatten
   11913 	is set, also set flag_graphite.
   11914 
   11915 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11916 
   11917 	* graphite-poly.c (cloog_checksum): New.
   11918 	* graphite-poly.h (cloog_checksum): Declared.
   11919 
   11920 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11921 
   11922 	* graphite-poly.c (pbb_number_of_iterations): Removed.
   11923 	(pbb_number_of_iterations_at_time): Correctly compute the number
   11924 	of iterations in the transformed loop.
   11925 	* graphite-poly.h (pbb_number_of_iterations): Removed.
   11926 
   11927 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11928 
   11929 	* graphite-poly.h (lst_update_scattering_seq): Removed.
   11930 	(lst_update_scattering): Correctly handle outermost loop dewey
   11931 	renumbering.
   11932 
   11933 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11934 
   11935 	* graphite-blocking.c (pbb_strip_mine_profitable_p): Renamed
   11936 	lst_strip_mine_profitable_p.  Call lst_niter_for_loop.
   11937 	* graphite-poly.h (lst_niter_for_loop): New.
   11938 
   11939 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11940 
   11941 	* graphite-poly.c (apply_poly_transforms): Do not abort when the
   11942 	transform read from disk is not legal.  Call fatal_error instead.
   11943 
   11944 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11945 
   11946 	* graphite-poly.c (print_pbb_body): Add missing closing parenthesis.
   11947 	(print_scop_header): Removed.  Inlined in the only call place...
   11948 	(print_scop): ... here.
   11949 
   11950 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11951 
   11952 	* graphite-poly.h (lst_dewey_number): Use FOR_EACH_VEC_ELT.
   11953 
   11954 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11955 
   11956 	* graphite-poly.c (graphite_read_scop_file): Fix uninitialize warning.
   11957 
   11958 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11959 
   11960 	* graphite-dependences.c (dot_deps): Avoid set but not used warning.
   11961 	(dot_deps_stmt): Same.
   11962 	* graphite-poly.c (dot_lst): Same.
   11963 
   11964 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11965 
   11966 	* graphite-blocking.c (scop_do_strip_mine): Do not call
   11967 	graphite_legal_transform.
   11968 	(scop_do_block): Same.
   11969 
   11970 2010-09-30  Vladimir Kargov  <kargov (a] gmail.com>
   11971 
   11972 	* graphite-scop-detection.c (graphite_can_represent_loop): Correct the
   11973 	description.
   11974 
   11975 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11976 
   11977 	* tree-scalar-evolution.c (instantiate_array_ref): New.
   11978 	(instantiate_scev_r): Also handle ARRAY_REFs.
   11979 
   11980 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11981 
   11982 	* tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
   11983 	Do not check for VAR_DECL, PARM_DECL, FUNCTION_DECL, LABEL_DECL,
   11984 	RESULT_DECL, and FIELD_DECL.  Return false for an
   11985 	SSA_NAME_IS_DEFAULT_DEF.
   11986 	(compute_scalar_evolution_in_loop): Do not further analyze the
   11987 	scalar evolution when no_evolution_in_loop_p returns true.
   11988 
   11989 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11990 
   11991 	* tree-chrec.h (evolution_function_is_affine_p): Do not check
   11992 	whether CHREC_LEFT is invariant.  A function is affine when
   11993 	CHREC_RIGHT is invariant.
   11994 
   11995 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   11996 
   11997 	* graphite-sese-to-poly.c (reduction_phi_p): Remove check for
   11998 	is_gimple_reg.
   11999 	(rewrite_degenerate_phi): Same.
   12000 	(rewrite_reductions_out_of_ssa): Add check for is_gimple_reg.
   12001 
   12002 2010-09-30  Vladimir Kargov  <kargov (a] gmail.com>
   12003 
   12004 	* graphite-scop-detection.c (graphite_can_represent_scev,
   12005 	graphite_can_represent_expr, stmt_has_simple_data_refs_p,
   12006 	graphite_can_represent_loop): Remove outermost_loop.
   12007 
   12008 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   12009 
   12010 	PR middle-end/45229
   12011 	* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Do not
   12012 	handle GIMPLE_CALLs with no LHS.
   12013 
   12014 2010-09-30  Riyadh Baghdadi  <baghdadi.mr (a] gmail.com>
   12015 
   12016 	* graphite-poly.c (init_graphite_out_file): New.
   12017 	(init_graphite_in_file): New.
   12018 	(apply_poly_transforms): Updated to enable reading and writing of
   12019 	multiple scop files.
   12020 
   12021 2010-09-30  Tobias Grosser  <grosser (a] fim.uni-passau.de>
   12022 
   12023 	* graphite-scop-detection.c (graphite_can_represent_scev): Remove
   12024 	redundant checks.
   12025 
   12026 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   12027 
   12028 	* graphite-clast-to-gimple.c (precision_for_value): Adjust
   12029 	computation of precision by 1.
   12030 
   12031 2010-09-30  Riyadh Baghdadi  <baghdadi.mr (a] gmail.com>
   12032 
   12033 	* graphite-cloog-util.c (openscop_read_cloog_matrix): New.
   12034 	(openscop_read_polyhedron_matrix): New.
   12035 	* graphite-cloog-util.h (openscop_read_polyhedron_matrix): Declared.
   12036 	(openscop_read_N_int): Same.
   12037 	* graphite-poly.c (openscop_read_N_int): New.
   12038 	(openscop_read_one_int): New.
   12039 	(openscop_read_N_string): New.
   12040 	(openscop_read_one_string): New.
   12041 	(openscop_read_powerset_matrix): New.
   12042 	(graphite_read_transforms): Remove.
   12043 	(graphite_read_scatt): New.
   12044 	(graphite_read_scop_file): New.
   12045 	(apply_poly_transforms): Updated to call graphite_read_scop_file.
   12046 
   12047 2010-09-30  Andreas Simbuerger  <simbuerg (a] fim.uni-passau.de>
   12048 
   12049 	* graphite-poly.c: Change include order.
   12050 
   12051 2010-09-30  Andreas Simbuerger  <simbuerg (a] fim.uni-passau.de>
   12052 
   12053 	* graphite-cloog-compat.h (cloog_matrix_ncolumns): New.
   12054 	(cloog_matrix_nrows): New.
   12055 
   12056 2010-09-30  Riyadh Baghdadi  <baghdadi.mr (a] gmail.com>
   12057 
   12058 	* graphite-cloog-util.c (openscop_print_cloog_matrix): Remove spaces
   12059 	from matrix lines.
   12060 	* graphite-poly.c (openscop_print_scattering_function_1): Same.
   12061 	(print_scattering_function_1): Same.
   12062 	(openscop_print_pbb_domain): Same.
   12063 	(openscop_print_scop_context): Same.
   12064 	(print_scop_context): Same.
   12065 
   12066 2010-09-30  Riyadh Baghdad  <baghdadi.mr (a] gmail.com>
   12067 
   12068 	* graphite-poly.c (openscop_print_pdr_polyhedron): Fix indentation.
   12069 	(openscop_print_pdr_polyhedron): Print pph.
   12070 
   12071 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   12072 
   12073 	* graphite-clast-to-gimple.c (gcc_type_for_interval): Generate in
   12074 	priority signed types.
   12075 
   12076 2010-09-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   12077 
   12078 	* graphite-clast-to-gimple.c (max_signed_precision_type): Remove
   12079 	the call to lang_hooks.types.type_for_size.  Call
   12080 	build_nonstandard_integer_type.
   12081 
   12082 2010-09-30  Riyadh Baghdadi  <baghdadi.mr (a] gmail.com>
   12083 
   12084 	* graphite-cloog-util.c (openscop_print_cloog_matrix): New.
   12085 	(openscop_print_polyhedron_matrix): New.
   12086 	* graphite-cloog-util.h (openscop_print_polyhedron_matrix): Declared.
   12087 	* graphite-poly.c (openscop_print_pdr_polyhedron): Same.
   12088 	(openscop_print_pdr_powerset): New.
   12089 	(openscop_print_powerset_matrix): New.
   12090 	(openscop_print_scattering_function_1): New.
   12091 	(print_scattering_function): Add support for scattering names and
   12092 	OpenScop format.
   12093 	(graphite_write_transforms): Remove.
   12094 	(print_pdr_access_layout): Updated to support OpenScop format.
   12095 	(print_pdr): Same.
   12096 	(openscop_print_pbb_domain): New.
   12097 	(print_pbb_body): Added a parameter to allow indicating that pbb_body
   12098 	is not provided.
   12099 	(print_pbb): Updated to call the new print_pbb_body.
   12100 	(openscop_print_scop_context): New.
   12101 	(print_scop_header): New.
   12102 	(print_scop): Updated to call print_scop_header.
   12103 	* graphite-poly.h: Document OpenScop format.
   12104 
   12105 2010-09-30  Anatoly Sokolov  <aesok (a] post.ru>
   12106 
   12107 	* config/cris/m32c.c (cris_memory_move_cost): New.
   12108 	(cris_register_move_cost): Make static. Change arguments type from
   12109 	enum reg_class to reg_class_t.
   12110 	(TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
   12111 	* config/cris/cris.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
   12112 	* config/cris/cris-protos.h (cris_register_move_cost): Remove.
   12113 
   12114 2010-09-30  Jakub Jelinek  <jakub (a] redhat.com>
   12115 
   12116 	PR target/45843
   12117 	* config/i386/i386.c (ix86_gimplify_va_arg): Use
   12118 	INTVAL (XEXP (slot, 1)) as prev_size.
   12119 
   12120 2010-09-30  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   12121 
   12122 	PR target/45837
   12123 	* config/rs6000/aix.h (TARGET_AIX_OS): Define to be 1.
   12124 	* config/rs6000/rs6000.h (TARGET_AIX_OS): Define to be 0 if not
   12125 	defined.
   12126 	* config/rs6000/option-defaults.h (toplevel): Change #if
   12127 	TARGET_AIX to TARGET_AIX_OS to allow compiler to build after
   12128 	global option changes.
   12129 
   12130 2010-09-30  Jakub Jelinek  <jakub (a] redhat.com>
   12131 
   12132 	* dwarf2out.c (mem_loc_descriptor): Handle IF_THEN_ELSE.
   12133 
   12134 	PR tree-optimization/31261
   12135 	* fold-const.c (fold_binary): Optimize ((A & N) + B) & M
   12136 	for constants M and N, M == (1LL << cst) - 1 && (N & M) == M.
   12137 
   12138 2010-09-30  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   12139 
   12140 	PR bootstrap/45796
   12141 	* Makefile.in (build/gen%$(build_exeext)): Move rule after all
   12142 	special-casing for generators and turn into ...
   12143 	((genprog:%=build/gen%$(build_exeext))): ... this static pattern
   12144 	rule, for better error messages in case of toplevel dependency errors.
   12145 	(genprog): Add hooks, rename to ...
   12146 	(genprogerr): ... this, and let genprog also contain check,
   12147 	checksum, condmd.
   12148 	((genprog:%=build/gen%$(build_exeext))): Rename to ...
   12149 	((genprogerr:%=build/gen%$(build_exeext))): ... this.
   12150 	(build/genhooks$(build_exeext)): Remove now-unneeded dependency.
   12151 
   12152 2010-09-30  Jonathan Wakely  <jwakely.gcc (a] gmail.com>
   12153 	    Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   12154 
   12155 	* doc/install.texi: Suggest using LD_LIBRARY_PATH to find libs
   12156 	for GMP, MPFR and MPC.
   12157 
   12158 2010-09-30  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   12159 
   12160 	* config/sparc/sparc.opt (mimpure-text): Move ...
   12161 	* config/sol2.opt: ... here.  Correct description.
   12162 	* config.gcc (*-*-solaris2*): Add sol2.opt to extra_options.
   12163 	* doc/invoke.texi (Option Summary, SPARC Options): Move
   12164 	-mimpure-text, -mno-impure-text, -threads, -pthreads, -pthread ...
   12165 	(Option Summary, Solaris 2 Options): ... here.
   12166 	(Submodel Options, Solaris 2 Options): New menu entry.
   12167 	(SPARC Options): Move -mimpure-text, -threads, -pthreads, -pthread ...
   12168 	(Solaris 2 Options): ... here.
   12169 
   12170 2010-09-30  Michael Eager  <eager (a] eagercon.com>
   12171 
   12172 	* extend.texi (interrupt_handler): Add MicroBlaze to list.
   12173 	(save_volatiles): Describe option for MicroBlaze.
   12174 	* invoke.texi: Add MicroBlaze Options.
   12175 	* contrib.texi: Add acknowledgment.
   12176 	* md.texi: Add MicroBlaze d and z constraints.
   12177 	* install.texi: Add microblaze-*-elf.
   12178 	* configure.ac: Add microblaze-*-* to target list.
   12179 	* configure: Regenerate.
   12180 	* config.gcc: Add microblaze*-*-*, microblaze*-linux*.
   12181 	* config/microblaze/microblaze-protos.h: New.
   12182 	* config/microblaze/crti.s: New.
   12183 	* config/microblaze/predicates.md: New.
   12184 	* config/microblaze/linux.h: New.
   12185 	* config/microblaze/microblaze.md: New.
   12186 	* config/microblaze/constraints.md: New.
   12187 	* config/microblaze/crtn.s: New.
   12188 	* config/microblaze/microblaze.opt: New.
   12189 	* config/microblaze/microblaze-c.c: New.
   12190 	* config/microblaze/t-microblaze: New.
   12191 	* config/microblaze/microblaze.c: New.
   12192 	* config/microblaze/microblaze.h: New.
   12193 
   12194 2010-09-30  Iain Sandoe  <iains (a] gcc.gnu.org>
   12195 
   12196 	* c-parser.c (c_parser_objc_methodprotolist): Amend preceding comment,
   12197 	parse @optional/@required and set the flags as appropriate.
   12198 
   12199 2010-09-30  Nathan Froyd  <froydnj (a] codesourcery.com>
   12200 
   12201 	* config/iq2000/t-iq2000 (TARGET_LIBGCC2_CFLAGS): Delete.
   12202 
   12203 2010-09-30  Joseph Myers  <joseph (a] codesourcery.com>
   12204 
   12205 	* opt-functions.awk (static_var): Update comment.
   12206 	(var_ref): Return offsetof expression or -1, not variable address.
   12207 	* optc-gen.awk: Generate structure field initializers instead of
   12208 	static variables.  Expect -1 for missing variables instead of null
   12209 	pointer.  Add gcc_options parameters to generated functions.
   12210 	* opth-gen.awk: Generate structure fields for static variables.
   12211 	Add gcc_options parameters to generated functions.
   12212 	* common.opt (optimize, optimize_size): Add variables.
   12213 	* config/i386/i386-c.c (ix86_pragma_target_parse): Pass
   12214 	&global_options to cl_target_option_restore.
   12215 	* config/i386/i386.c (ix86_valid_target_attribute_p): Pass
   12216 	&global_options to cl_optimization_restore, cl_target_option_save
   12217 	and cl_target_option_restore.
   12218 	(ix86_set_current_function): Pass &global_options to
   12219 	cl_target_option_restore.
   12220 	* config/pdp11/pdp11.h (optimize): Remove.
   12221 	* config/rs6000/rs6000.h (optimize): Remove.
   12222 	* config/sh/sh.h (optimize): Remove.
   12223 	* config/xtensa/xtensa.h (optimize): Remove.
   12224 	* coretypes.h (struct gcc_options): Declare.
   12225 	* diagnostic.c (diagnostic_initialize): Initialize
   12226 	context->option_state.
   12227 	(diagnostic_report_diagnostic): Pass option_state to
   12228 	option_enabled hook.
   12229 	* diagnostic.h (diagnostic_context.option_enabled): Add void *
   12230 	parameter.
   12231 	(diagnostic_context.option_state): New field.
   12232 	* final.c (final_start_function, final, final_scan_insn): Rename
   12233 	optimize parameter to optimize_p.
   12234 	* flags.h (optimize, optimize_size): Remove.
   12235 	* function.c (invoke_set_current_function_hook): Pass
   12236 	&global_options to cl_optimization_restore.
   12237 	* gcc.c (driver_handle_option): Take gcc_options parameter.
   12238 	Assert that it is &global_options.
   12239 	(process_command): Pass &global_options to read_cmdline_option.
   12240 	* ipa-pure-const.c (suggest_attribute): Pass &global_options to
   12241 	option_enabled.
   12242 	* lto-opts.c (lto_reissue_options): Use option_flag_var.  Pass
   12243 	&global_options to set_option.
   12244 	* opts-common.c (handle_option, handle_generated_option,
   12245 	read_cmdline_option, set_option): Take explicit gcc_options
   12246 	parameters.  Use option_flag_var.
   12247 	(option_flag_var): New.
   12248 	* opts.c (common_handle_option, lang_handle_option,
   12249 	target_handle_option): Take gcc_options parameter.  Assert that it
   12250 	is &global_options.
   12251 	(read_cmdline_options): Pass &global_options to read_cmdline_option.
   12252 	(print_filtered_help): Use option_flag_var.  Pass &global_options
   12253 	to option_enabled.
   12254 	(common_handle_option): Use option_flag_var.
   12255 	(option_enabled): Take opts parameter.  Use option_flag_var.
   12256 	(get_option_state): Take gcc_options parameter.  Use
   12257 	option_flag_var.  Pass gcc_options parameter to option_enabled.
   12258 	(enable_warning_as_error): Pass &global_options to
   12259 	handle_generated_option.
   12260 	* opts.h (struct cl_option): Change flag_var to flag_var_offset.
   12261 	(cl_option_handler_func.handler): Take gcc_options parameter.
   12262 	(option_enabled, get_option_state, set_option, handle_option,
   12263 	handle_generated_option, read_cmdline_option): Take gcc_options
   12264 	parameters.
   12265 	* toplev.c (optimize, optimize_size): Remove.
   12266 	(print_switch_values): Pass &global_options to option_enabled.
   12267 	(option_affects_pch_p): Use option_flag_var.  Pass &global_options
   12268 	to get_option_state.
   12269 	(general_init): Initialize global_dc->option_state.
   12270 	* tree.c (build_optimization_node): Pass &global_options to
   12271 	cl_optimization_save.
   12272 	(build_target_option_node): Pass &global_options to
   12273 	cl_target_option_save.
   12274 
   12275 2010-09-30  Martin Jambor  <mjambor (a] suse.cz>
   12276 
   12277 	* tree-sra.c (type_consists_of_records_p): Do not check for trailing
   12278 	zero sized bit-fields.
   12279 
   12280 2010-09-30  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   12281 
   12282 	* c-parser.c (c_lex_one_token): When finding a CPP_AT_NAME
   12283 	Objective-C token, map RID_CLASS to RID_AT_CLASS and similar.
   12284 	(c_parser_external_declaration): Use RID_AT_CLASS instead of RID_CLASS.
   12285 	(c_parser_objc_class_declaration): Same change.
   12286 	(c_parser_objc_try_catch_statement): Use RID_AT_TRY instead of
   12287 	RID_TRY and RID_AT_CATCH instead of RID_CATCH.
   12288 	(c_parser_objc_class_instance_variables): Use RID_AT_PRIVATE
   12289 	instead of RID_PRIVATE, RID_AT_PROTECTED instead of RID_PROTECTED
   12290 	and RID_AT_PUBLIC instead of RID_PUBLIC.
   12291 	(c_parser_statement_after_labels): Use RID_AT_TRY instead of
   12292 	RID_TRY and RID_AT_CATCH instead of RID_CATCH.
   12293 
   12294 2010-09-30  Tom G. Christensen  <tgc (a] jupiterrise.com>
   12295 
   12296 	* doc/install.texi (Binaries): Update link to HP-UX porting centre.
   12297 	Add links to current providers of packages for Solaris and IRIX.
   12298 
   12299 2010-09-29  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   12300 
   12301 	Merge from 'apple/trunk' branch on FSF servers.
   12302 	* c-parser.c: Applied change originally in c-parse.in.
   12303 
   12304 	2005-10-04  Fariborz Jahanian  <fjahanian (a] apple.com>
   12305 
   12306 	Radar 4281748
   12307 	* c-decl.c (start_decl): Check for redeclaration of class name.
   12308 	* c-parse.in (after_type_declarator): Recognize CLASSNAME.
   12309 
   12310 2010-09-29  Steve Ellcey  <sje (a] cup.hp.com>
   12311 
   12312 	* config/ia64/ia64.c (ia64_builtin_decl): New.
   12313 	(TARGET_BUILTIN_DECL): Define.
   12314 	(ia64_builtins): New.
   12315 	(ia64_init_builtins): Save decls in ia64_builtins.
   12316 
   12317 2010-09-29  Bernd Schmidt  <bernds (a] codesourcery.com>
   12318 
   12319 	PR target/40457
   12320 	* postreload.c (move2add_use_add2_insn): Use full_costs for comparison.
   12321 	(move2add_use_add3_insn): Likewise.
   12322 	(reload_cse_move2add): Likewise.
   12323 	* rtlanal.c (get_full_rtx_cost): New function.
   12324 	* rtl.h (struct full_rtx_costs): New.
   12325 	(init_costs_to_max, init_costs_to_zero, costs_lt_p,
   12326 	costs_add_n_insns): New inline functions.
   12327 	(get_full_rtx_cost): Declare.
   12328 
   12329 	PR c/45054
   12330 	* reload1.c (replace_pseudos_in): Use eliminate_regs_1, allowing
   12331 	invariants.  Check for reg_equiv_invariant.
   12332 	(reload): Assert that spilled_pseudos is empty when returning.
   12333 
   12334 2010-09-29  Kai Tietz  <kai.tietz (a] onevision.com>
   12335 
   12336 	* config/i386/mingw32.h (TARGET_64BIT): replaced by
   12337 	TARGET_64BIT_DEFAULT in #if check.
   12338 
   12339 2010-09-29  Jack Howarth  <howarth (a] bromo.med.uc.edu>
   12340 
   12341 	* varasm.c (assemble_alias): Add error message for unsupported ifunc.
   12342 
   12343 2010-09-29  Mike Stump  <mikestump (a] comcast.net>
   12344 
   12345 	* config/darwin.h (flag_mkernel): Remove.
   12346 	(flag_apple_kext): Likewise.
   12347 
   12348 2010-09-29  Joseph Myers  <joseph (a] codesourcery.com>
   12349 	    Jack Howarth  <howarth (a] bromo.med.uc.edu>
   12350 
   12351 	* config/darwin.opt (undefined): Add.
   12352 
   12353 2010-09-29  Nathan Sidwell  <nathan (a] codesourcery.com>
   12354 
   12355 	PR testsuite/45664
   12356 	* configure.ac: Add --enable-indirect-function option.
   12357 	* config.gcc: Add default_gnu_indirect_function.
   12358 	* config.in (HAVE_GAS_INDIRECT_FUNCTION): Rename to ...
   12359 	(HAVE_GNU_INDIRECT_FUNCTION): ... this.
   12360 	* varasm.c (do_assemble_alias): Adjust for macro name change.
   12361 	* configure: Rebuilt.
   12362 	* doc/install.texi: Document --enable-indirect-function.
   12363 
   12364 2010-09-29  Joseph Myers  <joseph (a] codesourcery.com>
   12365 
   12366 	* doc/options.texi (Variable, Var, Init): Update documentation
   12367 	without reference to VarExists.
   12368 	(VarExists): Remove.
   12369 	* common.opt, config/i386/i386.opt, config/linux.opt,
   12370 	config/rs6000/rs6000.opt, config/sh/sh.opt, config/spu/spu.opt:
   12371 	Don't use VarExists.
   12372 
   12373 2010-09-29  Joseph Myers  <joseph (a] codesourcery.com>
   12374 
   12375 	* optc-gen.awk: Generate global_options initializer instead of
   12376 	individual variables.  Add x_ prefix to names of structure members.
   12377 	* opth-gen.awk: Generate gcc_options structure.  Add x_ prefix to
   12378 	names of structure members.
   12379 	* doc/tm.texi.in (HARD_FRAME_POINTER_IS_FRAME_POINTER,
   12380 	HARD_FRAME_POINTER_IS_ARG_POINTER): Document.
   12381 	* doc/tm.texi: Regenerate.
   12382 	* alias.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
   12383 	* builtins.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
   12384 	* c-parser.c (disable_extension_diagnostics,
   12385 	restore_extension_diagnostics): Update names of cpp_options members.
   12386 	* combine.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
   12387 	* common.opt (fcompare-debug-second): Don't use Var.
   12388 	* config/alpha/alpha.h (target_flags): Remove.
   12389 	* config/arm/arm.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
   12390 	HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
   12391 	* config/bfin/bfin.h (target_flags): Remove.
   12392 	* config/cris/cris.h (target_flags): Remove.
   12393 	* config/i386/i386-c.c (ix86_pragma_target_parse): Update names of
   12394 	cl_target_option members.
   12395 	* config/i386/i386.c (ix86_force_align_arg_pointer): Remove.
   12396 	(ix86_function_specific_print, ix86_valid_target_attribute_tree,
   12397 	ix86_can_inline_p): Update names of cl_target_option members.
   12398 	* config/i386/i386.h (ix86_isa_flags): Remove.
   12399 	* config/lm32/lm32.h (target_flags): Remove.
   12400 	* config/mcore/mcore.h (mcore_stack_increment): Remove.
   12401 	* config/mcore/mcore.md (addsi3): Remove extern declaration of
   12402 	flag_omit_frame_pointer.
   12403 	* config/mep/mep.h (target_flags): Remove.
   12404 	* config/mips/mips.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
   12405 	HARD_FRAME_POINTER_IS_ARG_POINTER): Define.
   12406 	* config/mmix/mmix.h (target_flags): Remove.
   12407 	* config/rs6000/rs6000.h (rs6000_xilinx_fpu, flag_pic,
   12408 	flag_expensive_optimizations): Remove.
   12409 	* config/s390/s390.h (flag_pic): Remove.
   12410 	* config/score/score-conv.h (target_flags): Remove.
   12411 	* config/sh/sh.h (sh_fixed_range_str): Remove.
   12412 	* config/spu/spu.h (target_flags, spu_fixed_range_string): Remove.
   12413 	* dbxout.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
   12414 	* df-scan.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
   12415 	* diagnostic.c (diagnostic_initialize): Update names of
   12416 	diagnostic_context members.
   12417 	* diagnostic.h (diagnostic_context): Rename inhibit_warnings and
   12418 	warn_system_headers.
   12419 	(diagnostic_report_warnings_p): Update for new names.
   12420 	* dwarf2out.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER
   12421 	* emit-rtl.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER and
   12422 	HARD_FRAME_POINTER_IS_ARG_POINTER.
   12423 	* flags.h (flag_compare_debug): Declare.
   12424 	* ira.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
   12425 	* opts.c (flag_compare_debug): Define.
   12426 	(common_handle_option): Update names of diagnostic_context
   12427 	members.  Handle -fcompare-debug-second.
   12428 	(fast_math_flags_struct_set_p): Update names of cl_optimization
   12429 	members.
   12430 	* reginfo.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
   12431 	* regrename.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
   12432 	* reload.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
   12433 	* reload1.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
   12434 	* resource.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER.
   12435 	* rtl.h (HARD_FRAME_POINTER_IS_FRAME_POINTER,
   12436 	HARD_FRAME_POINTER_IS_ARG_POINTER): Define and use.
   12437 	* sel-sched.c: Use HARD_FRAME_POINTER_IS_FRAME_POINTER
   12438 	* stmt.c: Use HARD_FRAME_POINTER_IS_ARG_POINTER.
   12439 
   12440 2010-09-29  Hariharan Sandanagobalane  <hariharan (a] picochip.com>
   12441 
   12442 	* config/picochip/picochip.c (picochip_output_internal_label):
   12443 	This function can now be called for debug CFI labels, which can come
   12444 	in the middle of a vliw instruction.  Postpone until end of vliw.
   12445 
   12446 2010-09-29  Richard Guenther  <rguenther (a] suse.de>
   12447 
   12448 	* tree.h (SCOPE_FILE_SCOPE_P): New macro.
   12449 	(DECL_FILE_SCOPE_P): Use it.
   12450 	(TYPE_FILE_SCOPE_P): New macro.
   12451 
   12452 2010-09-29  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   12453 
   12454 	* c-parser.c (c_lex_one_token): In Objective-C, when dealing with
   12455 	a CPP_NAME which is a reserved word, clearly separate cases for
   12456 	OBJC_IS_PQ_KEYWORD, OBJC_IS_AT_KEYWORD and OBJC_IS_CXX_KEYWORD.
   12457 
   12458 2010-09-29  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   12459 
   12460 	* c-parser.c (c_lex_one_token): In Objective-C, do not replace
   12461 	token->value with the canonical spelling.  Do exactly like C and
   12462 	C++ and leave it as it is.
   12463 
   12464 2010-09-28  Richard Henderson  <rth (a] redhat.com>
   12465 
   12466 	* config/alpha/alpha.c (alpha_builtins): New.
   12467 	(alpha_builtin_decl, TARGET_BUILTIN_DECL): New.
   12468 	(alpha_builtin_function): New.
   12469 	(alpha_add_builtins, alpha_init_builtins): Use it.
   12470 
   12471 2010-09-28  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   12472 
   12473 	* doc/standards.texi (Standards): Expanded the section on
   12474 	Objective-C and Objective-C++.
   12475 
   12476 2010-09-28  DJ Delorie  <dj (a] redhat.com>
   12477 
   12478 	PR target/45800
   12479 	* config/m32c/m32c.c (m32c_subreg): Force adjustment of subregs of
   12480 	volatile MEMs.
   12481 
   12482 2010-09-28  Iain Sandoe  <iains (a] gcc.gnu.org>
   12483 
   12484 	* c-parser.c (c_parser_declaration_or_fndef): Diagnose incorrect prefix
   12485 	attributes on methods.
   12486 	 (c_parser_objc_method_definition): Handle attributes.
   12487 	(c_parser_objc_methodproto): Likewise.
   12488 	(c_parser_objc_maybe_method_attributes): New.
   12489 	(c_parser_objc_method_decl): Handle attributes, add a diagnostic for a
   12490 	missing definition, similar to that in ObjC++.
   12491 
   12492 2010-09-28  Richard Henderson  <rth (a] redhat.com>
   12493 
   12494 	* defaults.h (DWARF2_UNWIND_INFO): Don't depend on TARGET_UNWIND_INFO.
   12495 	(MUST_USE_SJLJ_EXCEPTIONS): Remove.
   12496 	(CONFIG_SJLJ_EXCEPTIONS): Remove.
   12497 	(STACK_OLD_CHECK_PROTECT): Use targetm.except_unwind_info.
   12498 	(STACK_CHECK_PROTECT): Likewise.
   12499 	* dwarf2out.c (DWARF2_UNWIND_INFO, DWARF2_FRAME_INFO): Poison.
   12500 	(dwarf2out_do_frame): Use debug_unwind_info and except_unwind_info.
   12501 	(dwarf2out_do_cfi_asm, dwarf2out_begin_prologue): Likewise.
   12502 	(dwarf2out_frame_init, dwarf2out_frame_finish): Likewise.
   12503 	(dwarf2out_assembly_start): Likewise.
   12504 	* except.c (init_eh): Use targetm.except_unwind_info.
   12505 	(finish_eh_generation, gate_convert_to_eh_region_ranges): Likewise.
   12506 	(output_one_function_exception_table): Likewise.
   12507 	* final.c: Unconditionally include dwarf2out.h.
   12508 	(final_start_function): Unconditionally call dwarf2out routines.
   12509 	(final_end_function, final_scan_insn): Likewise.
   12510 	* function.c (expand_function_end): Use targetm.except_unwind_info.
   12511 	* opts.c (decode_options): Use targetm.except_unwind_info.
   12512 	* system.h (USING_SJLJ_EXCEPTIONS, TARGET_UNWIND_INFO): Poison.
   12513 	* target.def (debug_unwind_info, except_unwind_info): New.
   12514 	* target.h (enum unwind_info_type): New.
   12515 	* targhooks.c (default_debug_unwind_info): New.
   12516 	(default_except_unwind_info): New.
   12517 	(dwarf2_except_unwind_info, sjlj_except_unwind_info): New.
   12518 	* targhooks.h: Declare them.
   12519 	* tree-tailcall.c: Include "target.h"
   12520 	(suitable_for_tail_call_opt_p): Use targetm.except_unwind_info.
   12521 	* Makefile.in (tree-tailcall.o): Update.
   12522 	* tree.c (build_common_builtin_nodes): Use targetm.except_unwind_info.
   12523 	(lhd_gcc_personality): Likewise.
   12524 
   12525 	* doc/tm.texi.in (TARGET_UNWIND_INFO): Remove.
   12526 	(TARGET_EXCEPT_UNWIND_INFO): New.
   12527 	(DWARF2_UNWIND_INFO): Update.
   12528 	(TARGET_DEBUG_UNWIND_INFO): New.
   12529 	* doc/tm.texi: Rebuild.
   12530 
   12531 	* c-family/c-cppbuiltin.c (c_cpp_builtins): Use
   12532 	targetm.except_unwind_info.
   12533 
   12534 	* config/arm/arm.c (TARGET_EXCEPT_UNWIND_INFO): New.
   12535 	(arm_except_unwind_info): New.
   12536 	(arm_compute_func_type): Use it.
   12537 	(arm_expand_prologue, thumb_pushpop): Likewise.
   12538 	(thumb1_expand_prologue, thumb1_output_function_prologue): Likewise.
   12539 	(arm_unwind_emit, arm_output_fn_unwind): Likewise.
   12540 	* config/arm/bpabi.h (ARM_UNWIND_INFO): Rename from TARGET_UNWIND_INFO.
   12541 	* config/arm/arm.h (ARM_UNWIND_INFO): Likewise.
   12542 	(DWARF2_UNWIND_INFO): Remove.
   12543 	(MUST_USE_SJLJ_EXCEPTIONS): Remove.
   12544 	(ARM_EABI_UNWIND_TABLES): Remove.
   12545 
   12546 	* config/ia64/ia64.c (ia64_debug_unwind_info): New.
   12547 	(TARGET_DEBUG_UNWIND_INFO, TARGET_EXCEPT_UNWIND_INFO): New.
   12548 	(ia64_except_unwind_info): New.
   12549 	(ia64_output_function_prologue): Use it.
   12550 	(ia64_add_bundle_selector_before): Likewise.
   12551 	(ia64_reorg, ia64_asm_unwind_emit): Likewise.
   12552 	* config/ia64/ia64.h (DWARF2_FRAME_INFO): Remove.
   12553 	(TARGET_UNWIND_INFO): Remove.
   12554 
   12555 	* config/pa/pa.c (pa_option_override): Use targetm.except_unwind_info.
   12556 
   12557 2010-09-28  Iain Sandoe  <iains (a] gcc.gnu.org>
   12558 
   12559 	* c-parser.c (c_parser_objc_class_definition): Adjust prototype.
   12560 	(c_parser_objc_protocol_definition): Likewise.
   12561 	(c_parser_external_declaration): Provide dummy attribute arguments.
   12562 	(c_parser_declaration_or_fndef): Parse prefix attributes for ObjC.
   12563 	(c_parser_objc_class_definition): Handle attributes.
   12564 	(c_parser_objc_protocol_definition): Likewise.
   12565 
   12566 2010-09-28  Tobias Burnus  <burnus (a] net-b.de>
   12567 
   12568 	PR fortran/40569
   12569 	PR fortran/40568
   12570 	* toplev.h (save_decoded_options, save_decoded_options_count):
   12571 	New global variables.
   12572 	* toplev.c (save_decoded_options, save_decoded_options_count):
   12573 	Export variables.
   12574 
   12575 2010-09-28  Ian Lance Taylor  <iant (a] google.com>
   12576 
   12577 	* config/i386/i386.c (ix86_supports_split_stack): Test
   12578 	HAVE_GAS_CFI_PERSONALITY_DIRECTIVE rather than dwarf2out_do_cfi_asm.
   12579 
   12580 2010-09-28  Ian Lance Taylor  <iant (a] google.com>
   12581 
   12582 	PR target/45815
   12583 	* opts.c (decode_options): Don't test whether the target supports
   12584 	split stack if flag_split_stack == 0.
   12585 
   12586 2010-09-28  Jan Hubicka  <jh (a] suse.cz>
   12587 
   12588 	* builtin-attrs.def (ATTR_LEAF): New attribute.
   12589 	(ATTR_NOVOPS_LEAF_LIST, ATTR_LEAF_LIST, ATTR_NOTHROW_LEAF_LIST,
   12590 	ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_PURE_NOTHROW_LEAF_LIST,
   12591 	ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST, ATTR_NORETURN_NOTHROW_LEAF_LIST,
   12592 	ATTR_MALLOC_NOTHROW_LEAF_LIST, ATTR_SENTINEL_NOTHROW_LEAF_LIST,
   12593 	ATTR_NOTHROW_NONNULL_LEAF, ATTR_CONST_NOTHROW_NONNULL_LEAF,
   12594 	ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF, ATTR_PURE_NOTHROW_NONNULL_LEAF,
   12595 	ATTR_MALLOC_NOTHROW_NONNULL_LEAF): New attribute lists.
   12596 	* sync-builtins.def: Annotate all builtins by leaf.
   12597 	* omp-builtins.def: Annotate all builtins by leaf.
   12598 	* builtins.def: Annotate relevant builtins with leaf attribute.
   12599 	(ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
   12600 	ATTR_MATHFN_FPROUNDING_ERRNO, ATTR_MATHFN_FPROUNDING_STORE): Make
   12601 	leaf.
   12602 
   12603 2010-09-28  Jan Hubicka  <jh (a] suse.cz>
   12604 
   12605 	* tree-ssa-ccp.c (fold_ctor_reference): New function.
   12606 	(fold_const_aggregate_ref): Use it.
   12607 	* fold-const.c (canonicalize_constructor_val): Check that we don't fold
   12608 	into external static.
   12609 
   12610 2010-09-28  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   12611 
   12612 	PR target/44452
   12613 	* config/i386/i386.opt (mvect8-ret-in-mem): Define.
   12614 	* config/i386/i386.c (ix86_target_string): Handle -mvect8-ret-in-mem.
   12615 	(ix86_solaris_return_in_memory): Remove.
   12616 	* config/i386/i386-protos.h (ix86_solaris_return_in_memory): Remove.
   12617 	* config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
   12618 	(TARGET_SUBTARGET_DEFAULT): Redefine.
   12619 	* config/i386/sol2-10.h (TARGET_SUBTARGET_DEFAULT): Update comment.
   12620 	* config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Remove.
   12621 	(TARGET_SUBTARGET_DEFAULT): Redefine.
   12622 	* doc/invoke.texi (Option Summary, i386 and x86-64 Options): Add
   12623 	-mvect8-ret-in-mem.
   12624 	(i386 and x86-64 Options): Document -mvect8-ret-in-mem.
   12625 
   12626 2010-09-29  Alan Modra  <amodra (a] gmail.com>
   12627 
   12628 	PR target/45807
   12629 	* config/rs6000/aix.h (SETUP_FRAME_ADDRESSES): Delete.
   12630 	* config/rs6000/linux64.h (SETUP_FRAME_ADDRESSES): Delete.
   12631 	* config/rs6000/rs6000-protos.h (rs6000_aix_emit_builtin_unwind_init):
   12632 	Delete.
   12633 	* config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init): Delete.
   12634 	(rs6000_emit_prologue): Don't just create frame save info for r2,
   12635 	actually save r2.
   12636 
   12637 2010-09-28  Richard Henderson  <rth (a] redhat.com>
   12638 
   12639 	* config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Output 8 bytes
   12640 	when 8 bytes are requested.
   12641 
   12642 2010-09-28  Tristan Gingold  <gingold (a] adacore.com>
   12643 
   12644 	* config/avr/avr.c (expand_prologue): Set
   12645 	current_function_static_stack_size.
   12646 
   12647 2010-09-28  Tristan Gingold  <gingold (a] adacore.com>
   12648 
   12649 	* config/alpha/alpha.md: Change the initial condition of the
   12650 	probing loop.
   12651 
   12652 2010-09-28  Uros Bizjak  <ubizjak (a] gmail.com>
   12653 
   12654 	* config/i386/sse.md (*avx_<umaxmin:code><mode>3):
   12655 	Split from *avx_<maxmin:code><mode>3.
   12656 	(*avx_<smaxmin:code><mode>3): Ditto.
   12657 	* config/i386/i386.md (maxmin): Remove code iterator.
   12658 
   12659 2010-09-27  Ian Lance Taylor  <iant (a] google.com>
   12660 
   12661 	* config/i386/i386.c (ix86_supports_split_stack): -fsplit-stack
   12662 	requires assembler support for CFI directives.
   12663 
   12664 2010-09-27  Richard Henderson  <rth (a] redhat.com>
   12665 
   12666 	* dwarf2out.c (dwarf2out_cfi_label): Use ASM_OUTPUT_DEBUG_LABEL.
   12667 
   12668 2010-09-27  Hans-Peter Nilsson  <hp (a] axis.com>
   12669 
   12670 	* emit-rtl.c (reorder_insns_nobb) [ENABLE_CHECKING]: Sanity-check
   12671 	that AFTER is not in the range FROM..TO, inclusive.
   12672 
   12673 2010-09-27  Hans-Peter Nilsson  <hp (a] axis.com>
   12674 	    Bernd Schmidt  <bernds (a] codesourcery.com>
   12675 
   12676 	PR rtl-optimization/45792
   12677 	* cfgcleanup.c (try_head_merge_bb): New rtx vector nextptr.
   12678 	If not all insns are to be merged, for each edge, stash the
   12679 	next candidate after the to-be-merged insns before doing the
   12680 	merge, and use them for the retry at the new insertion point.
   12681 	Handle CC0 targets when retrying.
   12682 
   12683 2010-09-27  Ian Lance Taylor  <iant (a] google.com>
   12684 
   12685 	* common.opt (fsplit-stack): New option.
   12686 	* opts.c (decode_options): Set flag_split_stack to final value.
   12687 	* target.def (supports_split_stack): New hook.
   12688 	* gcc.c (STACK_SPLIT_SPEC): Define.
   12689 	(LINK_COMMAND_SPEC): Use STACK_SPLIT_SPEC.
   12690 	* doc/invoke.texi (Option Summary): Mention -fsplit-stack.
   12691 	(Code Gen Options): Document -fsplit-stack.
   12692 	* doc/extend.texi (Function Attributes): Mention no_split_stack.
   12693 	(Function Attributes): Document no_split_stack.
   12694 	* doc/tm.texi.in (Stack Smashing Protection): Add @hook
   12695 	TARGET_SUPPORTS_SPLIT_STACK.
   12696 	* doc/tm.texi: Rebuild.
   12697 	* function.c (thread_prologue_and_epilogue_insns): If
   12698 	flag_split_stack, add split stack prologue.
   12699 	* explow.c (allocate_dynamic_stack_space): Support -fsplit-stack.
   12700 	* varasm.c (saw_no_split_stack): New static variable.
   12701 	(assemble_start_function): Set saw_no_split_stack if the function
   12702 	has the no_split_stack attribute.
   12703 	(file_end_indicate_split_stack): New function.
   12704 	* output.h (file_end_indicate_split_stack): Declare.
   12705 	* libgcc-std.ver (GCC_4.6.0): Add -fsplit-stack support variables
   12706 	and function.
   12707 	* doc/libgcc.texi (Miscellaneous routines): Document -fsplit-stack
   12708 	routines.
   12709 	* config/i386/i386.c (ix86_option_override_internal): Don't set
   12710 	expand_builtin_va_start to NULL if -fsplit-stack.
   12711 	(ix86_function_regparm): Reduce local regparm by 1 for 32-bit
   12712 	-fsplit-stack.
   12713 	(ix86_va_start): If -fsplit-stack, get overflow pointer	from
   12714 	scratch register set by prologue.
   12715 	(ix86_code_end): If -fsplit-stack, call
   12716 	file_end_indicate_split_stack.
   12717 	(ix86_supports_split_stack): New static function.
   12718 	(SPLIT_STACK_AVAILABLE): Define.
   12719 	(split_stack_prologue_scratch_regno): New static function.
   12720 	(split_stack_fn): New static variable.
   12721 	(ix86_expand_split_stack_prologue): New function.
   12722 	(ix86_live_on_entry): New static function.
   12723 	(ix86_legitimate_address_p): Handle UNSPEC_STACK_CHECK.
   12724 	(output_pic_addr_const): Likewise.
   12725 	(i386_asm_output_addr_const_extra): Likewise.
   12726 	(ix86_expand_call): Change return type to rtx.  Return the new
   12727 	call instruction.
   12728 	(TARGET_SUPPORTS_SPLIT_STACK): Define.
   12729 	(TARGET_EXTRA_LIVE_ON_ENTRY): Define.
   12730 	* config/i386/i386.md (UNSPEC_STACK_CHECK): Define.
   12731 	(split_stack_prologue, split_stack_return): New insns.
   12732 	(split_stack_space_check): New insn.
   12733 	* config/i386/i386.h (struct machine_function): Add
   12734 	split_stack_varargs_pointer field.
   12735 	* config/i386/linux.h (TARGET_CAN_SPLIT_STACK): Define.
   12736 	(TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
   12737 	* config/i386/linux64.h (TARGET_CAN_SPLIT_STACK): Define.
   12738 	(TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
   12739 	* config/i386/i386-protos.h (ix86_expand_split_stack_prologue):
   12740 	Declare.
   12741 	(ix86_expand_call): Update declaration.
   12742 
   12743 2010-09-27  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   12744 
   12745 	* doc/objc.texi (Type encoding): Added the new 'long double' (D)
   12746 	code.  Added byref, which was missing in the list of codes.
   12747 	Explain that enumeration values are encoded as the integer type
   12748 	that the compiler uses to store them.  Explain and make examples
   12749 	of how 'const' interacts with pointers, and the complication of
   12750 	the encoding of 'const char *'.
   12751 	(Legacy type encoding): New subsection, explaining that GCC emits
   12752 	incorrect type encodings for the NeXT runtime for compatibility
   12753 	reasons.
   12754 	(@@encode): New subsection, explaining @encode and particularly
   12755 	that protocol qualifiers are not recognized inside an @encode()
   12756 	expression.
   12757 	(Method signatures): New subsection, explaining how method
   12758 	signatures are encoded.
   12759 
   12760 2010-09-27  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   12761 
   12762 	Merge from 'apple/trunk' branch on FSF servers.  Removed small
   12763 	change in build_conditional_expr that had been added when fixing
   12764 	PR objc/27377 and which did the same check in a less complete way.
   12765 
   12766 	2005-12-15  Fariborz Jahanian  <fjahanian (a] apple.com>
   12767 
   12768 	Radar 4229905
   12769 	* c-typeck.c (build_conditional_expr): Call objc_have_common_type when
   12770 	looking for objective-c common pointer types.
   12771 
   12772 	2005-06-22  Ziemowit Laski  <zlaski (a] apple.com>
   12773 
   12774 	Radar 4154928
   12775 	* c-typeck.c (build_conditional_expr): For two ObjC pointer types,
   12776 	use their ObjC common type.
   12777 
   12778 2010-09-27  Richard Guenther  <rguenther (a] suse.de>
   12779 
   12780 	* dbxout.c (dbxout_symbol): Use DECL_FILE_SCOPE_P.
   12781 
   12782 2010-09-27  Jie Zhang  <jie (a] codesourcery.com>
   12783 
   12784 	* print-tree.c (print_node): Print in-constant-pool.
   12785 
   12786 2010-09-27  Uros Bizjak  <ubizjak (a] gmail.com>
   12787 
   12788 	* config/i386/i386.h (CLASS_MAX_NREGS): Also handle XCmode.
   12789 	(UNITS_PER_WORD): Define only when IN_LIBGCC2 is undefined.
   12790 	(MOVE_MAX_PIECES): Redefine using UNITS_PER_WORD.
   12791 	(ASM_OUTPUT_AVX_PREFIX): Simplify pointer addition.
   12792 
   12793 2010-09-26  Uros Bizjak  <ubizjak (a] gmail.com>
   12794 
   12795 	* config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_add): Merge
   12796 	from pro_epilogue_adjust_stack_<mode>_{1,2}.
   12797 	(pro_epilogue_adjust_stack_<mode>_add): Rename from
   12798 	pro_epilogue_adjust_stack_<mode>_3.
   12799 	* config/i386/i386.c (pro_epilogue_adjust_stack): Update for
   12800 	renamed pro_epilogue_adjust_stack_{si,di}_add.
   12801 	(ix86_expand_prologue): Use indirect functions.  Update for renamed
   12802 	pro_epilogue_adjust_stack_{si,di}_sub.
   12803 
   12804 2010-09-26  Uros Bizjak  <ubizjak (a] gmail.com>
   12805 
   12806 	* config/i386/i386.md (movmsk_df): New insn.
   12807 	(signbitdf): Split out of signbit<mode>2.  Generate movmsk_df
   12808 	sequence for TARGET_SSE_MATH.
   12809 
   12810 2010-09-26  Richard Sandiford  <rdsandiford (a] googlemail.com>
   12811 
   12812 	* config/mips/mips.c (mips_builtin_decls): Declare.
   12813 	(mips_init_builtins): Store function declarations in
   12814 	mips_builtin_decls.
   12815 	(mips_builtin_decl): New function.
   12816 	(TARGET_BUILTIN_DECL): Define.
   12817 
   12818 2010-09-25  Kai Tietz  <kai.tietz (a] onevision.com>
   12819 	    Richard Henderson  <rth (a] redhat.com>
   12820 
   12821 	* config/i386/cygwin.asm: Include auto-host.h.
   12822 	(cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset,
   12823 	cfi_def_cfa_register, cfi_register, cfi_push, cfi_pop): New macros.
   12824 	(__chkstk, __alloca): Annotate for dwarf2 unwind info.  Drop
   12825 	alignment code from the 64-bit path.  Use gas local labels.
   12826 	* config/i386/i386.md (pro_epilogue_adjust_stack_<mode>_2): Macroize
   12827 	from _di_2.  Remove the useless constant integer argument.
   12828 	(pro_epilogue_adjust_stack_<mode>_3): New.
   12829 	(allocate_stack_worker_probe_<mode>): Macroize from
   12830 	allocate_stack_worker_{32,64}.  Use __chkstk_ms.  Update all users.
   12831 	* config/i386/i386.c (ix86_expand_prologue): Use __chkstk_ms;
   12832 	use gen_pro_epilogue_adjust_stack_*_3 and annotate it.
   12833 	(__chkstk_ms): New function.
   12834 	* config/i386/t-cygming (LIB1ASMFUNCS): Add _chkstk_ms.
   12835 	* config/i386/t-interix: Likewise.
   12836 	* configure.ac (HAVE_GAS_CFI_DIRECTIVE): Export for target.
   12837 	(HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): Likewise.
   12838 	(HAVE_GAS_CFI_SECTIONS_DIRECTIVE): Likewise.
   12839 	* configure, config.in: Rebuild.
   12840 
   12841 2010-09-25  Eric Botcazou  <ebotcazou (a] adacore.com>
   12842 
   12843 	* tree-inline.c (copy_bb): Use GSI_CONTINUE_LINKING when inserting new
   12844 	statements because of the return slot optimization.
   12845 
   12846 2010-09-25  Anatoly Sokolov  <aesok (a] post.ru>
   12847 
   12848 	* config/avr/avr.h (CLASS_LIKELY_SPILLED_P): Remove.
   12849 	* config/avr/avr-protos.h (class_likely_spilled_p): Remove.
   12850 	* config/avr/avr.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
   12851 	(class_likely_spilled_p): Rename to...
   12852 	(avr_class_likely_spilled_p): ...this. Make static. Change argument
   12853 	type to reg_class_t.
   12854 
   12855 2010-09-24  Jan Hubicka  <jh (a] suse.cz>
   12856 
   12857 	* lto-symtab.c (lto_symtab_entry_def): Add guessed field.
   12858 	(lto_symtab_resolve_symbols): Set it.
   12859 	(lto_symtab_merge_decls_1): Do not compute used_from_object_file;
   12860 	store resolution field in cgraph/varpool.
   12861 	* cgraph.c (cgraph_same_body_alias, cgraph_add_thunk): Return node.
   12862 	(cgraph_get_node_or_alias, cgraph_get_node_or_alias): Constify.
   12863 	(cgraph_dump_node): Drop used_from_object_file.
   12864 	(cgraph_clone_node, cgraph_create_virtual_clone): Likewise.
   12865 	(cgraph_function_body_availability): Use decl_replaceable_p.
   12866 	(cgraph_make_node_local): Set resolution to LDPR_PREVAILING_DEF_IRONLY.
   12867 	(cgraph_can_remove_if_no_direct_calls_and_refs): Use
   12868 	cgraph_used_from_object_file_p.
   12869 	(cgraph_will_be_removed_from_program_if_no_direct_calls): Use
   12870 	cgraph_used_from_object_file_p.
   12871 	(resolution_used_from_other_file_p): New functoin.
   12872 	(cgraph_used_from_object_file_p): New predicate.
   12873 	* cgraph.h: Include plugin-api.h
   12874 	(struct cgraph_local_info): Remove used_from_object_file.
   12875 	(struct cgraph_node): Add resolution field.
   12876 	(struct varpool_node): Likewise; remove used_from_object_file;
   12877 	reove const_value_known.
   12878 	(cgraph_get_node, cgraph_get_node_or_alias, cgraph_node,
   12879 	cgraph_same_body_alias, cgraph_add_thunk): Update prototypes.
   12880 	(resolution_used_from_other_file_p, cgraph_used_from_object_file_p,
   12881 	varpool_used_from_object_file_p): Declare.
   12882 	(varpool_get_node, varpool_extra_name_alias): Update prototype.
   12883 	* tree.h (DECL_REPLACEABLE_P): Remove.
   12884 	(decl_replaceable_p, decl_binds_to_current_def_p): Declare.
   12885 	* final.c (rest_of_clean_state): Use decl_binds_to_current_def_p.
   12886 	* lto-cgraph.c (lto_output_node, lto_output_varpool_node,
   12887 	input_overwrite_node, input_node, input_varpool_node): Stream
   12888 	resolution.
   12889 	* expr.c (expand_expr_real_1): Use const_value_known_p
   12890 	* ipa.c (ipa_discover_readonly_nonaddressable_var): Do not set
   12891 	const_value_known.
   12892 	(cgraph_externally_visible_p): Use cgraph_used_from_object_file_p.
   12893 	(function_and_variable_visibility): Set resolution for local vars
   12894 	and functions; use varpool_used_from_object_file_p.
   12895 	* varasm.c (resolution_to_local_definition_p, resolution_local_p): New
   12896 	static functions.
   12897 	(default_binds_local_p_1): Use resolutoin info.
   12898 	(decl_binds_to_current_def_p, decl_replaceable_p): New functions.
   12899 	* varpool.c (varpool_get_node): Constify.
   12900 	(const_value_known_p): Do not use vnode->const_value_known;
   12901 	use decl_replaceable_p.
   12902 	(varpool_finalize_decl): Do not set const_value_known.
   12903 	(cgraph_variable_initializer_availability): Use decl_replaceable_p
   12904 	(varpool_extra_name_alias): Return new node.
   12905 	(varpool_used_from_object_file_p): New function.
   12906 
   12907 2010-09-24  Richard Henderson  <rth (a] redhat.com>
   12908 
   12909 	* config/ia64/ia64.c (ia64_dwarf_handle_frame_unspec): New.
   12910 	(TARGET_DWARF_HANDLE_FRAME_UNSPEC): New.
   12911 	(do_spill): Use REG_CFA_OFFSET.
   12912 	(ia64_expand_prologue): Use REG_CFA_ADJUST_CFA and REG_CFA_REGISTER
   12913 	as appropriate.
   12914 	(ia64_expand_epilogue): Likewise.
   12915 	(process_set): Split into ...
   12916 	(process_cfa_adjust_cfa): this,
   12917 	(process_cfa_register): this,
   12918 	(process_cfa_offset): and this new function.
   12919 	(ia64_asm_unwind_emit): Use them.  Expect REG_CFA_* notes
   12920 	instead of REG_FRAME_RELATED_EXPR.
   12921 
   12922 2010-09-24  Olivier Hainque  <hainque (a] adacore.com>
   12923 
   12924 	* config/i386/vx-common.h (DBX_REGISTER_NUMBER): Reinstate.
   12925 
   12926 2010-09-24  Jan Hubicka  <jh (a] suse.cz>
   12927 
   12928 	* doc/extend.texi: (attribute leaf): Document.
   12929 	* tree.c (local_define_builtin): Handle ECF_LEAF.
   12930 	(build_common_builtin_nodes): Set ECF_LEAF where needed.
   12931 	* tree.h (ECF_LEAF): New.
   12932 	* ipa-reference.c (propagate_bits): For leaf calls propagate ever
   12933 	overwrittable and unavailable functions.
   12934 	(ipa_init): Put all_module_statics into optimization_summary_obstack.
   12935 	(copy_global_bitmap): Do not copy all_module_statics.
   12936 	(read_write_all_from_decl): Use cgraph_node argument; handle ECF_LEAF.
   12937 	(propagate): Handle overwritable and unavailable leaf functions;
   12938 	initialize global info for overwritable and unavailable leaf functions;
   12939 	do not free all module statics.
   12940 	(ipa_reference_get_not_{read,written}_global): Leaf calls don't clobber
   12941 	local statics.
   12942 	* calls.c (flags_from_decl_or_type): Handle leaf.
   12943 	* tree-cfg.c (stmt_can_make_abnormal_goto): Leaf functions can't do
   12944 	abnormal gotos.
   12945 
   12946 2010-09-24  Basile Starynkevitch  <basile (a] starynkevitch.net>
   12947 
   12948 	* gengtype.c: Reindented.
   12949 	* gengtype.h: Reindented.
   12950 	* gengtype-parse.c: Reindented.
   12951 
   12952 2010-09-24  Jan Hubicka  <jh (a] suse.cz>
   12953 
   12954 	PR tree-optimization/45738
   12955 	PR tree-optimization/45741
   12956 	* expr.c (string_constant): Allow CONST_DECL too;
   12957 	check that DECL_INITIAL is set.
   12958 	* varpool.c (const_value_known_p): Only look into VAR_DECL
   12959 	and CONST_DECL.
   12960 
   12961 2010-09-24  Joseph Myers  <joseph (a] codesourcery.com>
   12962 
   12963 	* common.opt (undef): New.
   12964 
   12965 2010-09-24  Jakub Jelinek  <jakub (a] redhat.com>
   12966 
   12967 	PR middle-end/45234
   12968 	* rtl.h (enum global_rtl_index): Add
   12969 	GR_VIRTUAL_PREFERRED_STACK_BOUNDARY.
   12970 	(LAST_VIRTUAL_POINTER_REGISTER): Define.
   12971 	(virtual_preferred_stack_boundary_rtx,
   12972 	VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM): Define.
   12973 	(LAST_VIRTUAL_REGISTER): Increase by one.
   12974 	(REGNO_PTR_FRAME_P): Use LAST_VIRTUAL_POINTER_REGISTER
   12975 	instead of LAST_VIRTUAL_REGISTER.
   12976 	* function.c (instantiate_new_reg): Handle
   12977 	virtual_preferred_stack_boundary_rtx.
   12978 	* emit-rtl.c (init_virtual_regs): Handle
   12979 	VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM.
   12980 	(init_emit_regs): Initialize virtual_preferred_stack_boundary_rtx.
   12981 	* explow.c (round_push): If crtl->preferred_stack_boundary
   12982 	is smaller than MAX_SUPPORTED_STACK_ALIGNMENT, use
   12983 	virtual_preferred_stack_boundary_rtx alignment instead of
   12984 	crtl->preferred_stack_boundary alignment.
   12985 	(allocate_dynamic_stack_space): Use CONST_INT_P and REG_P
   12986 	macros.  Never decrease crtl->preferred_stack_boundary,
   12987 	use crtl->preferred_stack_boundary or MAX_SUPPORTED_STACK_ALIGNMENT
   12988 	instead of PREFERRED_STACK_BOUNDARY.  Don't modify
   12989 	stack_pointer_delta in dynamic allocation, even when size
   12990 	is constant.
   12991 	(probe_stack_range, anti_adjust_stack_and_probe): Use CONST_INT_P
   12992 	macro.
   12993 	* print-rtl.c (print_rtx): Handle
   12994 	VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM.
   12995 	* config/alpha/alpha.h (NONSTRICT_REG_OK_FP_BASE_P): Use
   12996 	LAST_VIRTUAL_POINTER_REGISTER instead of LAST_VIRTUAL_REGISTER.
   12997 	* config/frv/frv.c (frv_emit_movsi): Likewise.
   12998 	* config/arm/arm.c (thumb1_legitimate_address_p): Likewise.
   12999 	* config/rs6000/rs6000.c (virtual_stack_registers_memory_p):
   13000 	Likewise.
   13001 
   13002 	Revert:
   13003 	2010-09-17  H.J. Lu  <hongjiu.lu (a] intel.com>
   13004 
   13005 	PR middle-end/45234
   13006 	* calls.c (expand_call): Make sure that all variable sized
   13007 	adjustments are multiple of preferred stack boundary after
   13008 	stack alignment.
   13009 
   13010 2010-09-24  Iain Sandoe  <iains (a] gcc.gnu.org>
   13011 	    Dominique Dhumieres  <dominiq (a] lps.ens.fr>
   13012 
   13013 	PR bootstrap/45751
   13014 	* config/darwin-driver.c (darwin_default_min_version):
   13015 	Adjust size passed to memcpy in two places.
   13016 
   13017 2010-09-24  Richard Guenther  <rguenther (a] suse.de>
   13018 
   13019 	* c-decl.c (pop_scope): Always set file-scope DECL_CONTEXT.
   13020 	Make sure to not call set_type_context with error_mark_node.
   13021 	* langhooks.c (lhd_set_decl_assembler_name): Use DECL_FILE_SCOPE_P.
   13022 
   13023 2010-09-24  Richard Guenther  <rguenther (a] suse.de>
   13024 
   13025 	* Makefile.in (OBJS-onestep): Remove.
   13026 	(ALL_HOST_BACKEND_OBJS): Remove libbackend.o.
   13027 	(libbackend.a): Remove onestep support.
   13028 	(libbackend.o): Remove.
   13029 	* configure.ac (--enable-intermodule): Remove.
   13030 	* configure: Regenerate.
   13031 
   13032 2010-09-24  Bernd Schmidt  <bernds (a] codesourcery.com>
   13033 
   13034 	* cfgcleanup.c (flow_find_head_matching_sequence): Terminate when
   13035 	reaching the end of a block if it occurs at a DEBUG_INSN.
   13036 
   13037 2010-09-09  Tristan Gingold  <gingold (a] adacore.com>
   13038 
   13039 	PR target/44242
   13040 	* config/vms/vms-crt0-64.c: Removed.
   13041 	* config/vms/vms-crt0.c: Removed.
   13042 	* config/vms/vms-psxcrt0-64.c: Removed.
   13043 	* config/vms/vms-psxcrt0.c: Removed.
   13044 	* config/vms/vms-ucrt0.c: New file.
   13045 	* config/vms/t-vms64: Removed.
   13046 	* config/vms/t-vms (VMS_EXTRA_PARTS): Uncomment it.  Remove DECC.
   13047 	Use $(GCC_FOR_TARGET) to build pcrt0.o and vcrt0.o
   13048 	* config.gcc (alpha-dec-vms): Use t-vms.
   13049 
   13050 2010-09-24  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   13051 
   13052 	* doc/invoke.texi (-fno-nil-receivers): Tidied up line to remove
   13053 	underfull hbox in DVI output.
   13054 	(-fobjc-class-cxx-cdtors): Same change.
   13055 	(-fobjc-exceptions): Tidied up documentation.  Explain what the
   13056 	option does, but moved the (lenghty) description of the exception
   13057 	syntax into objc.texi.
   13058 	(-fobjc-gc): Explain that the option is not useful with the GNU
   13059 	runtime.
   13060 	(-fzero-link): Explain that the GNU runtime always works in
   13061 	"zero-link" mode.
   13062 	* doc/objc.texi: All sections: simplified @node declarations
   13063 	removing specification of next, previous, up node.
   13064 	(Objective-C): Updated introduction.
   13065 	(Garbage Collection): Updated.  The bohem-gc library is now
   13066 	included in gcc itself.  Mention that this section only applies to
   13067 	the GNU Objective-C runtime.
   13068 	(compatibility_alias): Small tidy up.
   13069 	(Exceptions): New section mostly containing text previously in the
   13070 	description of the -fobjc-exception command-line option.
   13071 	(Synchronization): Same.
   13072 
   13073 2010-09-24  Uros Bizjak  <ubizjak (a] gmail.com>
   13074 
   13075 	* config/i386/i386.md (ix86_code_end): Move the initialization of
   13076 	xops array near the consumer.  Use AX_REG and SP_REG instead of
   13077 	numerical constants.
   13078 
   13079 2010-09-24  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   13080 
   13081 	* c-typeck.c (convert_arguments): Use warning 'too many arguments to
   13082 	method [methodname]' for an Objective-C method instead of the less
   13083 	satisfactory 'too many arguments to function' (with no method name).
   13084 
   13085 2010-09-23  Eric Botcazou  <ebotcazou (a] adacore.com>
   13086 
   13087 	* tree-flow.h (execute_update_addresses_taken): Remove parameter.
   13088 	* tree-ssa.c (maybe_optimize_var): Tweak comment and dump messages.
   13089 	(execute_update_addresses_taken): Remove parameter.  Execute the
   13090 	optimization unconditionally.
   13091 	* passes.c (execute_function_todo): Call execute_update_addresses_taken
   13092 	unconditionally if TODO_rebuild_alias is set, else only when optimizing
   13093 	if TODO_update_address_taken is set.
   13094 
   13095 2010-09-23  Anatoly Sokolov  <aesok (a] post.ru>
   13096 
   13097 	* config/arm/arm.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
   13098 	* config/arm/arm-protos.h (arm_output_addr_const_extra): Remove.
   13099 	* config/arm/arm.c (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
   13100 	(arm_output_addr_const_extra): Make static.
   13101 
   13102 2010-09-23  Uros Bizjak  <ubizjak (a] gmail.com>
   13103 
   13104 	* config/i386/i386.md (UNSPECV_NOPS): Rename from UNSPEC_NOPS and
   13105 	define as unspec_volatile.
   13106 	("nops"): Define as unspec_volatile. Use fputs to write to
   13107 	asm_out_file directly.  Output NOPs on separate lines using while loop.
   13108 	* config/i386/i386.c (ix86_code_end): Use fputs to write to
   13109 	asm_out_file directly.  Output NOPs on separate lines using while loop.
   13110 
   13111 2010-09-23  Richard Guenther  <rguenther (a] suse.de>
   13112 
   13113 	PR tree-optimization/45565
   13114 	* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee):
   13115 	Make sure to adjust the fndecl before replacing the stmt.
   13116 
   13117 2010-09-23  Richard Guenther  <rguenther (a] suse.de>
   13118 
   13119 	PR middle-end/45750
   13120 	* gimplify.c (gimplify_expr): Properly pass on GS_ERROR when
   13121 	gimplifying MEM_REF.
   13122 
   13123 2010-09-23  Alan Modra  <amodra (a] gmail.com>
   13124 
   13125 	* config/rs6000/rs6000.c (toc_relative_ok): Delete.
   13126 	(rs6000_emit_move): Use SYMBOL_REF_LOCAL_P instead.
   13127 
   13128 2010-09-23  Bernd Schmidt  <bernds (a] codesourcery.com>
   13129 
   13130 	PR rtl-optimization/44374
   13131 	* basic-block.h (enum bb_flags): Add BB_MODIFIED.
   13132 	* df-core.c (df_set_bb_dirty): Set it.
   13133 	* ifcvt.c (find_memory): Remove function.
   13134 	(dead_or_predicable): Use can_move_insns_across.
   13135 	* df.h (can_move_insns_across): Declare function.
   13136 	* cfgcleanup.c (block_was_dirty): New static variable.
   13137 	(try_crossjump_bb, try_forward_edges): Test BB_MODIFIED flag rather
   13138 	than df_get_bb_dirty.
   13139 	(try_head_merge_bb): New static function.
   13140 	(try_optimize_cfg): Call it.  Call df_analyze if block_was_dirty
   13141 	is set.
   13142 	* df-problems.c: Include "target.h"
   13143 	(df_simulate_find_uses): New static function.
   13144 	(MEMREF_NORMAL, MEMREF_VOLATILE): New macros.
   13145 	(find_memory, find_memory_store): New static functions.
   13146 	(can_move_insns_across): New function.
   13147 	* Makefile.in (df-problems.o): Update dependencies.
   13148 
   13149 2010-09-22  Eric Botcazou  <ebotcazou (a] adacore.com>
   13150 
   13151 	PR java/44095
   13152 	* config/sparc/linux.h (ASM_SPEC): Pass -K PIC if -findirect-dispatch
   13153 	is specified and the suffix of the file isn't ".c".
   13154 	* config/sparc/linux64.h (ASM_SPEC): Likewise.
   13155 
   13156 2010-09-22  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   13157 
   13158 	* doc/contrib.texi (Contributors): Allow URL to wrap in PDF output.
   13159 	* doc/cppopts.texi: Fix markup of index entry.
   13160 	* doc/extend.texi (Constructing Calls): Fix markup of
   13161 	__builtin_va_arg_pack and __builtin_va_arg_pack_len definition.
   13162 	(Conditionals, C++ Comments, Pragmas, Unnamed Fields, Thread-Local)
   13163 	(Vague Linkage, C++ Attributes): Fix markup of index entries and
   13164 	keywords.
   13165 	* doc/invoke.texi (Option Summary): Fix spacing.  Rewrap to
   13166 	avoid long lines.
   13167 	(C Dialect Options, C++ Dialect Options, Warning Options)
   13168 	(Debugging Options, Spec Files, Darwin Options)
   13169 	(i386 and x86-64 Options, MIPS Options)
   13170 	(RS/6000 and PowerPC Options, Code Gen Options): Fix markup of
   13171 	index entries, avoid abbreviations, allow URLs to wrap, avoid
   13172 	long lines, avoid overlong pages from long @itemx lists.
   13173 	* doc/objc.texi (Garbage Collection): Allow URLs to wrap.
   13174 	* doc/standards.texi (Standards): Likewise.
   13175 	* doc/trouble.texi (Incompatibilities): Fix markup of index entry.
   13176 
   13177 2010-09-22  Joseph Myers  <joseph (a] codesourcery.com>
   13178 
   13179 	* opts-common.c (prune_options): Make static.  Work with decoded
   13180 	options.
   13181 	(decode_cmdline_options_to_array): Call prune_options.  Don't
   13182 	resize option array here.
   13183 	* opts.h (prune_options): Remove prototype.
   13184 	* gcc.c (process_command): Take decoded options; don't call
   13185 	decode_cmdline_options_to_array here.  Use decoded options for argv[0].
   13186 	(main): Call decode_cmdline_options_to_array here instead of
   13187 	prune_options.  Update call to process_command.
   13188 	* config/darwin-driver.c: Include opts.h.
   13189 	(darwin_default_min_version): Work with decoded options.  Don't
   13190 	handle -b or -V here.
   13191 	* config/darwin.h (darwin_default_min_version): Update prototype.
   13192 	(GCC_DRIVER_HOST_INITIALIZATION): Update call to
   13193 	darwin_default_min_version.
   13194 	* config/i386/cygwin.h (mingw_scan): Update prototype.
   13195 	(GCC_DRIVER_HOST_INITIALIZATION): Update call to mingw_scan.
   13196 	* config/i386/cygwin1.c: Include opts.h.
   13197 	(mingw_scan): Work with decoded options.
   13198 	* config/i386/t-cygwin (cygwin1.o): Update dependencies.
   13199 	* config/t-darwin (darwin-driver.o): Update dependencies.
   13200 
   13201 2010-09-22  Joseph Myers  <joseph (a] codesourcery.com>
   13202 
   13203 	* common.opt (-assemble, -compile, -coverage, -debug, -dump,
   13204 	-dump=, -dumpbase, -dumpdir, -entry, -entry=, -extra-warnings,
   13205 	-for-assembler, -for-assembler=, -for-linker, -for-linker=,
   13206 	-force-link, -force-link=, -language, -language=,
   13207 	-library-directory, -library-directory=, -no-canonical-prefixes,
   13208 	-no-standard-libraries, -no-warnings, -optimize, -output,
   13209 	-output=, -pass-exit-codes, -pedantic, -pedantic-errors, -pie,
   13210 	-pipe, -prefix, -prefix=, -preprocess, -print-file-name,
   13211 	-print-file-name=, -print-libgcc-file-name,
   13212 	-print-multi-directory, -print-multi-lib,
   13213 	-print-multi-os-directory, -print-prog-name, -print-prog-name=,
   13214 	-print-search-dirs, -print-sysroot, -print-sysroot-headers-suffix,
   13215 	-profile, -save-temps, -shared, -specs, -specs=, -static,
   13216 	-symbolic, -time, -verbose, -param=, -sysroot, coverage, e, u,
   13217 	symbolic): New.
   13218 	(fhelp, fhelp=, ftarget-help, fversion): Make into aliases.
   13219 	* gcc.c (A Short Introduction to Adding a Command-Line Option):
   13220 	Remove comment.
   13221 	(cc1_options): Correct specs for passing down --help,
   13222 	--target-help and --help=*.  Add spec for passing down --version.
   13223 	(struct option_map, option_map, target_option_translations,
   13224 	translate_options): Remove.
   13225 	(driver_handle_option): Handle OPT__version, OPT__help, OPT__help_
   13226 	and OPT__target_help instead of OPT_fversion, OPT_fhelp,
   13227 	OPT_fhelp_ and OPT_ftarget_help.
   13228 	(process_command): Don't call translate_options.  Call
   13229 	decode_cmdline_options_to_array before checking for
   13230 	-no-canonical-prefixes using decoded options.
   13231 	* opts-common.c (tm.h): Update comment on #include.
   13232 	(find_opt): Allow abbreviations of long options.
   13233 	(struct option_map, option_map): New.
   13234 	(decode_cmdline_option): Use them instead of hardcoding -Wno, -fno
   13235 	and -mno handling.
   13236 	(target_option_translations): New.
   13237 	(decode_cmdline_options_to_array): Handle
   13238 	TARGET_OPTION_TRANSLATE_TABLE in driver.
   13239 	* opts.c (common_handle_option): Don't handle OPT_fhelp,
   13240 	OPT_ftarget_help, OPT_fhelp_ or OPT_fversion.
   13241 
   13242 2010-09-22  Richard Guenther  <rguenther (a] suse.de>
   13243 
   13244 	* tree-inline.c (optimize_inline_calls): Schedule cleanups
   13245 	only if we inlined something.  Block compaction and conditional
   13246 	folding are done by cfg cleanup.  Schedule update-address-taken.
   13247 	(tree_function_versioning): Remove redundant call to number_blocks.
   13248 	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): Conditional
   13249 	folding is done by cfg cleanup.
   13250 	* passes.c (init_optimization_passes): Remove update-address-taken
   13251 	pass after IPA inlining.
   13252 
   13253 2010-09-22  Chung-Lin Tang  <cltang (a] codesourcery.com>
   13254 
   13255 	* postreload.c (move2add_note_store): Add reg_symbol_ref[] checks
   13256 	to update conditions. Fix reg_mode[] check.
   13257 
   13258 2010-09-22  Hariharan Sandanagobalane  <hariharan (a] picochip.com>
   13259 
   13260 	* config/picochip/picochip.md (movhicc): Use expand to check whether
   13261 	movhicc is available and split it after reload.
   13262 
   13263 2010-09-22  Richard Guenther  <rguenther (a] suse.de>
   13264 
   13265 	* tree-ssanames.c (release_dead_ssa_names): Do not remove
   13266 	callee edges here.
   13267 	* passes.c (init_optimization_passes): Remove early CFG cleanup.
   13268 	* tree-optimize.c (execute_cleanup_cfg_pre_ipa): Remove.
   13269 	(pass_cleanup_cfg): Likewise.
   13270 	(execute_fixup_cfg): Cleanup.
   13271 	* tree-pass.h (pass_cleanup_cfg): Remove.
   13272 
   13273 2010-09-22  Martin Jambor  <mjambor (a] suse.cz>
   13274 
   13275 	* gimple-fold.c (fold_gimple_call): New parameter inplace, do not fold
   13276 	builtins if it is true.
   13277 	(fold_stmt_1): Call, fold_gimple_call always, pass inplace as a
   13278 	parameter.
   13279 
   13280 2010-09-22  Martin Jambor  <mjambor (a] suse.cz>
   13281 
   13282 	* tree-sra.c (struct access): New field grp_no_warning.
   13283 	(create_access_replacement): Set TREE_NO_WARNING according to
   13284 	 grp_no_warning.
   13285 	(create_artificial_child_access): Use build_ref_for_model and set
   13286 	grp_no_warning if build_user_friendly_ref_for_offset fails.
   13287 	(propagate_subaccesses_across_link): Likewise.
   13288 
   13289 2010-09-22  Eric Botcazou  <ebotcazou (a] adacore.com>
   13290 
   13291 	PR target/35664
   13292 	* config/sparc/constraints.md ('e'): Return NO_REGS if !TARGET_FPU.
   13293 	('f'): Likewise.
   13294 
   13295 2010-09-22  Tristan Gingold  <gingold (a] adacore.com>
   13296 
   13297 	* config/alpha/alpha.c (alpha_use_linkage): Initialize target field.
   13298 
   13299 2010-09-22  Uros Bizjak  <ubizjak (a] gmail.com>
   13300 
   13301 	* config/i386/i386.h (MAX_STRINGOP_ALGS): Fix typo in the name.
   13302 	* config/i386/i386.c (decide_alg): Update for rename.
   13303 
   13304 2010-09-22  Jakub Jelinek  <jakub (a] redhat.com>
   13305 
   13306 	PR rtl-optimization/45739
   13307 	* simplify-rtx.c (simplify_binary_operation_1): Optimize even
   13308 	vector mode | CONST0_RTX (mode) and ^ CONST0_RTX (mode).
   13309 
   13310 2010-09-21  Anatoly Sokolov  <aesok (a] post.ru>
   13311 
   13312 	* config/rs6000/rs6000.h (OUTPUT_ADDR_CONST_EXTRA): Remove macros.
   13313 	* config/rs6000/rs6000-protos.h (rs6000_output_addr_const_extra):
   13314 	Remove.
   13315 	* config/rs6000/rs6000.c (rs6000_output_addr_const_extra): Make static.
   13316 	(TTARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
   13317 
   13318 2010-09-21  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   13319 
   13320 	PR objc/23710
   13321 	* c-parser.c (c_parser_objc_method_definition): Check the return
   13322 	value of objc_start_method_definition and if false is returned,
   13323 	parse the method definition but emit no code.
   13324 
   13325 2010-09-21  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   13326 
   13327 	PR objc/25965
   13328 	* c-decl.c (detect_field_duplicates): If compiling Objective-C,
   13329 	call objc_get_interface_ivars ().
   13330 
   13331 2010-09-21  Kai Tietz  <kai.tietz (a] onevision.com>
   13332 
   13333 	PR target/45694
   13334 	* config/i386/i386.c (ix86_expand_prologue): Save r10 in case that
   13335 	static chain-register is used for 64-bit.
   13336 
   13337 2010-09-21  Richard Guenther  <rguenther (a] suse.de>
   13338 
   13339 	* dwarf2out.c (is_cu_die): New function.
   13340 	(add_pubtype): Use it.
   13341 	(gen_subprogram_die): Likewise.
   13342 	(gen_struct_or_union_type_die): Likewise.
   13343 	(dwarf2out_finish): Likewise.
   13344 	(comp_unit_die): Rename to ...
   13345 	(single_comp_unit_die): ... this.
   13346 	(comp_unit_die): New function lazily constructing and
   13347 	returning single_comp_unit_die.
   13348 	(is_cxx, is_fortran, is_ada, debug_dwarf, break_out_comdat_types,
   13349 	base_type_die, subrange_type_die, modified_type_die,
   13350 	lower_bound_default, add_bound_info, add_prototyped_attribute,
   13351 	dwarf2out_vms_debug_main_pointer, scope_die_for, retry_incomplete_types,
   13352 	dwarf2out_abstract_function, gen_type_die_with_usage, get_context_die,
   13353 	force_decl_die, gen_namespace_die, dwarf2out_decl,
   13354 	dwarf2out_start_source_file, dwarf2out_end_source_file,
   13355 	prune_unused_types, dwarf2out_finish): Use it.
   13356 	(gen_compile_unit_die): For GNU GIMPLE derive DW_AT_language from
   13357 	the global list of translation-unit decls.
   13358 	(dwarf2out_init): Do not create single_comp_unit_die here.
   13359 	(force_decl_die): Handle TRANSLATION_UNIT_DECL.
   13360 
   13361 2010-09-21  Richard Guenther  <rguenther (a] suse.de>
   13362 
   13363 	* dwarf2out.c (dwarf2out_decl): Do not always generate a DIE
   13364 	for bool for C++.
   13365 
   13366 2010-09-21  Bernd Schmidt  <bernds (a] codesourcery.com>
   13367 
   13368 	* config/arm/iterators.md (qhs_extenddi_op): New mode_attr.
   13369 	(qhs_extenddi_cstr): Likewise.
   13370 	* config/arm/arm.md (zero_extend<mode>di2, extend<mode>di2): Use
   13371 	them for the source operand.
   13372 
   13373 2010-09-21  Uros Bizjak  <ubizjak (a] gmail.com>
   13374 
   13375 	* config/i386/i386.c (ix86_split_ashl): Rename single_width variable
   13376 	to half_width.  Use GET_MODE_BITSIZE to calculate mode size.
   13377 	(ix86_split_ashr): Ditto.
   13378 	(ix86_split_lshr): Ditto.
   13379 
   13380 2010-09-21  Richard Guenther  <rguenther (a] suse.de>
   13381 
   13382 	PR tree-optimization/45580
   13383 	* tree-ssa-propagate.c (substitute_and_fold): Always replace
   13384 	regular uses.
   13385 	* gimple-fold.c (gimple_fold_obj_type_ref): For a BINFO without
   13386 	virtuals fold the call into a regular indirect one.
   13387 
   13388 2010-09-20  Eric Botcazou  <ebotcazou (a] adacore.com>
   13389 
   13390 	PR rtl-optimization/42775
   13391 	* cfgrtl.c (rest_of_pass_free_cfg): Recompute notes if delay slot
   13392 	scheduling is enabled.
   13393 
   13394 2010-09-20  Jakub Jelinek  <jakub (a] redhat.com>
   13395 
   13396 	PR rtl-optimization/45728
   13397 	* expr.c (expand_expr_real_1): If op0 isn't REG or MEM, try
   13398 	gen_lowpart_common first and if that fails, force_reg first
   13399 	before calling gen_lowpart.
   13400 
   13401 	PR middle-end/45678
   13402 	* cfgexpand.c (expand_one_stack_var_at): Use
   13403 	crtl->max_used_stack_slot_alignment as max_align, instead
   13404 	of maximum of that and PREFERRED_STACK_BOUNDARY.
   13405 	Don't call update_stack_alignment.
   13406 
   13407 2010-09-20  Eric Botcazou  <ebotcazou (a] adacore.com>
   13408 
   13409 	* langhooks.h (struct lang_hooks_for_types): Remove hash_types field.
   13410 	* langhooks-def.h (LANG_HOOKS_HASH_TYPES): Delete.
   13411 	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Remove LANG_HOOKS_HASH_TYPES.
   13412 	* system.h (LANG_HOOKS_HASH_TYPES): Poison.
   13413 	* tree.c (type_hash_canon): Do not test lang_hooks.types.hash_types.
   13414 	(build_nonstandard_integer_type): Likewise.
   13415 	(build_range_type_1): New function, built from...
   13416 	(build_range_type): ...this.  Call build_range_type_1.
   13417 	(build_nonshared_range_type): New function.
   13418 	(build_array_type_1): New function, built from...
   13419 	(build_array_type: ...this.  Call build_array_type_1.
   13420 	(build_nonshared_array_type): New function.
   13421 	* tree.h (build_nonshared_range_type): Declare.
   13422 	(build_nonshared_array_type): Likewise.
   13423 
   13424 2010-09-20  Anatoly Sokolov  <aesok (a] post.ru>
   13425 
   13426 	* config/arm/arm.h (CLASS_LIKELY_SPILLED_P): Remove.
   13427 	* config/arm/arm.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
   13428 	(arm_class_likely_spilled_p): New function.
   13429 
   13430 2010-09-20  Uros Bizjak  <ubizjak (a] gmail.com>
   13431 
   13432 	* config/i386/i386.c (ix86_expand_ashl_const): Rewrite using
   13433 	indirect functions.
   13434 	(ix86_split_ashl): Ditto.
   13435 	(ix86_split_ashr): Ditto.
   13436 	(ix86_split_lshr): Ditto.
   13437 	(ix86_adjust_counter): Ditto.
   13438 
   13439 2010-09-20  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   13440 
   13441 	* c-family/c-common.h (constant_string_class): Documented with
   13442 	comment identical to the one already in c-common.c.
   13443 
   13444 2010-09-20  Jakub Jelinek  <jakub (a] redhat.com>
   13445 
   13446 	* dwarf2out.c (any_cfis_emitted): New static variable.
   13447 	(add_fde_cfi): Set it.
   13448 	(dwarf2out_frame_debug): Clear it before processing,
   13449 	if it is set afterwards, flush any queued reg saves.
   13450 
   13451 	PR debug/45124
   13452 	* dwarf2out.c (add_accessibility_attribute): Assume
   13453 	DW_ACCESS_private as the default for dwarf_version > 2
   13454 	and DW_TAG_class_type parent.
   13455 	(gen_inheritance_die): Assume DW_ACCESS_public as the default
   13456 	for dwarf_version > 2 and parent other than DW_TAG_class_type.
   13457 
   13458 2010-09-20  Rafael Carre  <rafael.carre (a] gmail.com>
   13459 
   13460 	PR target/45726
   13461 	* arm.md (arm_movt): Only enable on machines with MOVT.
   13462 
   13463 2010-09-20  Jie Zhang  <jie (a] codesourcery.com>
   13464 
   13465 	* config/arm/arm.c (arm_address_offset_is_imm): New.
   13466 	(arm_early_store_addr_dep): New.
   13467 	(arm_early_load_addr_dep): New.
   13468 	* config/arm/arm-protos.h (arm_early_store_addr_dep): Declare.
   13469 	(arm_early_load_addr_dep): Declare.
   13470 	(arm_address_offset_is_imm): Declare.
   13471 	* config/arm/cortex-m4.md: New file.
   13472 	* config/arm/cortex-m4-fpu.md: New file.
   13473 	* config/arm/arm.md: Include cortex-m4.md and cortex-m4-fpu.md.
   13474 	(attr generic_sched): Exclude cortexm4.
   13475 	(attr generic_vfp): Exclude cortexm4.
   13476 
   13477 2010-09-20  Richard Guenther  <rguenther (a] suse.de>
   13478 
   13479 	PR middle-end/45704
   13480 	* gimplify.c (gimplify_modify_expr_rhs): Preserve volatileness.
   13481 
   13482 2010-09-20  Jan Hubicka  <jh (a] suse.cz>
   13483 
   13484 	PR tree-optimize/45605
   13485 	* cgraph.h (const_value_known_p): Declare.
   13486 	(varpool_decide_const_value_known): Remove.
   13487 	* tree-ssa-ccp.c (get_base_constructor): Use it.
   13488 	* lto-cgraph.c (compute_ltrans_boundary): Likewise.
   13489 	* expr.c (string_constant): Likewise.
   13490 	* tree-ssa-loop-ivcanon.c (constant_after_peeling): Likewise.
   13491 	* ipa.c (ipa_discover_readonly_nonaddressable_var,
   13492 	function_and_variable_visibility): Likewise.
   13493 	* gimplify.c (gimplify_call_expr): Likewise.
   13494 	* gimple-fold.c (get_symbol_constant_value): Likewise.
   13495 	* varpool.c (varpool_decide_const_value_known): Replace by...
   13496 	(const_value_known_p): ... this one; handle other kinds of DECLs
   13497 	too and work for automatic vars.
   13498 	(varpool_finalize_decl): Use const_value_known_p.
   13499 
   13500 2010-09-20  Rafael Carre  <rafael.carre (a] gmail.com>
   13501 
   13502 	PR target/45726
   13503 	* arm.md (arm_movtas_ze): Only enable on machine with MOVT.
   13504 
   13505 2010-09-20  Richard Guenther  <rguenther (a] suse.de>
   13506 
   13507 	PR tree-optimization/45705
   13508 	* tree-ssa-dom.c (optimize_stmt): Perform redundant store elimination.
   13509 
   13510 2010-09-20  Jakub Jelinek  <jakub (a] redhat.com>
   13511 
   13512 	PR rtl-optimization/45695
   13513 	* combine.c (try_combine): When splitting a two set pattern,
   13514 	make sure the pattern which will be put into i2 doesn't use REGs
   13515 	or MEMs set by insns in between i2 and i3.
   13516 
   13517 2010-09-19  Jan Hubicka  <jh (a] suse.cz>
   13518 
   13519 	PR lto/44246
   13520 	* lto-cgraph.c (input_cgraph_1, input_varpool_1): Avoid
   13521 	processing same node twice.
   13522 
   13523 2010-09-19  Anatoly Sokolov  <aesok (a] post.ru>
   13524 
   13525 	* config/bfin/bfin.h (CLASS_LIKELY_SPILLED_P): Remove.
   13526 	* config/bfin/bfin.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
   13527 	(bfin_class_likely_spilled_p): New function
   13528 
   13529 2010-09-19  Ira Rosen  <irar (a] il.ibm.com>
   13530 
   13531 	PR tree-optimization/45714
   13532 	* tree-vect-stmts.c (vect_transform_stmt): Use a dummy statement
   13533 	created in vectorizable_call instead of the original statement in
   13534 	def stmt updates.
   13535 
   13536 2010-09-19  Uros Bizjak  <ubizjak (a] gmail.com>
   13537 
   13538 	* config/i386/i386-protos.h (split_double_mode): New prototype.
   13539 	(split_di, split_ti): Remove prototypes.
   13540 	* config/i386/i386.c (split_double_mode): New function.
   13541 	(split_di, split_ti): Remove.
   13542 	(ix86_expand_branch): Use split_double_mode.
   13543 	(ix86_split_to_parts): Ditto.
   13544 	(ix86_split_ashl): Ditto.
   13545 	(ix86_split_ashr): Ditto.
   13546 	(ix86_split_lshr): Ditto.
   13547 	(ix86_force_to_memory): Ditto.
   13548 	* config/i386/i386.md: Use split_double_mode in double-mode splitters.
   13549 
   13550 2010-09-18  Jan Hubicka  <jh (a] suse.cz>
   13551 
   13552 	PR tree-optimization/45453
   13553 	* cgraphunit.c (cgraph_finalize_function): Consider comdat & external
   13554 	virtual functions are reachable.
   13555 	* ipa-inline.c (cgraph_clone_inlined_nodes): Likewise.
   13556 	* ipa.c (cgraph_remove_unreachable_nodes): Likewise.
   13557 	* ipa-prop.c (ipa_modify_formal_parameters): Clear DECL_VIRTUAL_P
   13558 	when modifying function.
   13559 
   13560 2010-09-18  Jan Hubicka  <jh (a] suse.cz>
   13561 
   13562 	PR tree-optimization/45605
   13563 	* cgraphunit.c (cgraph_analyze_functions): Allocate bitmap obstack.
   13564 	* gimple-fold.c (static_object_in_other_unit_p): New function.
   13565 	(canonicalize_constructor_val): Use it.
   13566 	(get_symbol_constant_value): Be reaqdy for canonicalize_constructor_val
   13567 	returning NULL.
   13568 	(gimple_fold_obj_type_ref_known_binfo): Use
   13569 	static_object_in_other_unit_p.
   13570 
   13571 2010-09-18  Richard Guenther  <rguenther (a] suse.de>
   13572 
   13573 	PR tree-optimization/45709
   13574 	* tree-inline.c (copy_phis_for_bb): Delay commit of edge
   13575 	insertions until after all PHI nodes of the block are processed.
   13576 
   13577 2010-09-18  Tijl Coosemans  <tijl (a] coosemans.org>
   13578 
   13579 	* config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Add.
   13580 
   13581 2010-09-18  Kai Tietz  <kai.tietz (a] onevision.com>
   13582 
   13583 	* config.gcc (*-w64-mingw*): Correct typo about t-dfprules.
   13584 
   13585 2010-09-18  Richard Guenther  <rguenther (a] suse.de>
   13586 
   13587 	PR tree-optimization/45709
   13588 	* tree-inline.c (copy_phis_for_bb): Fixup new_edge when we splitted it.
   13589 
   13590 2010-09-17  Sebastian Pop  <sebastian.pop (a] amd.com>
   13591 
   13592 	* graphite-dependences.c (dot_deps): Add DEBUG_FUNCTION.
   13593 	(dot_deps_stmt): Same.
   13594 	* graphite-poly.c (dot_lst): Same.
   13595 	* graphite-scop-detection.c (dot_all_scops): Same.
   13596 	(dot_scop): Same.
   13597 
   13598 2010-09-17  Sebastian Pop  <sebastian.pop (a] amd.com>
   13599 
   13600 	Revert:
   13601 	2009-12-16  Ben Elliston  <bje (a] au.ibm.com>
   13602 
   13603 	* tree-data-ref.c (dot_rdg_1): Added back.
   13604 	(dot_rdg): Same.  Added "#if 0" around system call.
   13605 
   13606 2010-09-17  H.J. Lu  <hongjiu.lu (a] intel.com>
   13607 	    Richard Henderson  <rth (a] redhat.com>
   13608 
   13609 	* config/i386/i386.c (initial_ix86_tune_features): Add
   13610 	X86_TUNE_PAD_SHORT_FUNCTION.
   13611 	(ix86_code_end): Pad with 8 NOPs for TARGET_PAD_SHORT_FUNCTION.
   13612 	(ix86_count_insn): New.
   13613 	(ix86_pad_short_function): Likewise.
   13614 	(ix86_reorg): Support TARGET_PAD_SHORT_FUNCTION.
   13615 
   13616 	* config/i386/i386.h (ix86_tune_indices): Add
   13617 	X86_TUNE_PAD_SHORT_FUNCTION.
   13618 	(TARGET_PAD_SHORT_FUNCTION): New.
   13619 
   13620 	* config/i386/i386.md (UNSPEC_NOPS): New.
   13621 	(nops): Likewise.
   13622 
   13623 2010-09-17  H.J. Lu  <hongjiu.lu (a] intel.com>
   13624 
   13625 	PR middle-end/45234
   13626 	* calls.c (expand_call): Make sure that all variable sized
   13627 	adjustments are multiple of preferred stack boundary after
   13628 	stack alignment.
   13629 
   13630 2010-09-17  DJ Delorie  <dj (a] redhat.com>
   13631 
   13632 	* config/rx/rx.c (rx_print_operand): If __builtin_rx_setpsw() is
   13633 	passed an invalid value, print an error instead of ICEing.
   13634 	(valid_psw_flag): New.
   13635 	(rx_expand_builtin): Call it for setpsw/clrpsw.
   13636 	(rx_expand_builtin_mvtipl): Pass an integer to IN_RANGE, not an RTX.
   13637 
   13638 	* config/rx/rx.md (bitclr): Don't mark the output as early-clobber.
   13639 	(bitclr_in_memory): Likewise.
   13640 	(clrspw, setpsw, mvfc, mvtc, mvtipl): Make volatile.
   13641 
   13642 2010-09-17  H.J. Lu  <hongjiu.lu (a] intel.com>
   13643 
   13644 	PR middle-end/45678
   13645 	* cfgexpand.c (update_stack_alignment): New.
   13646 	(get_decl_align_unit): Use it.
   13647 	(expand_one_stack_var_at): Call update_stack_alignment.
   13648 
   13649 2010-09-17  Richard Guenther  <rguenther (a] suse.de>
   13650 
   13651 	* lto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers):
   13652 	Properly copy the read string.
   13653 
   13654 2010-09-17  Joseph Myers  <joseph (a] codesourcery.com>
   13655 
   13656 	* doc/options.texi (Variable): Document.
   13657 	* optc-gen.awk, opth-gen.awk: Handle Variable records.  Don't
   13658 	generate target_flags declarations explicitly.  Don't define
   13659 	VarExists variables for the driver.
   13660 	* common.opt (target_flags): New Variable record.
   13661 	(flag_dump_unnumbered, flag_dump_unnumbered_links,
   13662 	flag_var_tracking, flag_var_tracking_assignments,
   13663 	flag_var_tracking_assignments_toggle): Don't mark variables with
   13664 	VarExists.
   13665 	* config/i386/i386.c (ix86_isa_flags): Don't define here.
   13666 	* config/i386/i386.opt (ix86_isa_flags): Define here.
   13667 	* config/mcore/mcore.c (mcore_stack_increment): Don't define here.
   13668 	* config/mcore/mcore.opt (mcore_stack_increment): Don't mark with
   13669 	VarExists.
   13670 	* flags.h (flag_dump_unnumbered, flag_var_tracking): Remove.
   13671 	* print-rtl.c (flag_dump_unnumbered, flag_dump_unnumbered_links):
   13672 	Only define for generator programs.
   13673 	* rtlanal.c (target_flags): Remove.
   13674 	* toplev.c (flag_var_tracking, flag_var_tracking_assignments,
   13675 	flag_var_tracking_assignments_toggle): Remove.
   13676 
   13677 2010-09-17  Michael Matz  <matz (a] suse.de>
   13678 
   13679 	PR tree-optimization/43432
   13680 	* tree-vect-data-refs.c (vect_analyze_data_ref_access):
   13681 	Accept backwards consecutive accesses.
   13682 	(vect_create_data_ref_ptr): If step is negative generate
   13683 	decreasing IVs.
   13684 	* tree-vect-stmts.c (vectorizable_store): Reject negative steps.
   13685 	(perm_mask_for_reverse, reverse_vec_elements): New functions.
   13686 	(vectorizable_load): Handle loads with negative steps when easily
   13687 	possible.
   13688 
   13689 2010-09-03  Jan Hubicka  <jh (a] suse.cz>
   13690 
   13691 	* lto-cgraph.c (compute_ltrans_boundary): Use const_value_known.
   13692 
   13693 2010-09-03  Naveen H.S  <naveen.S (a] kpitcummins.com>
   13694 
   13695 	* config/v850/v850.c (v850_function_value_regno_p): Make static.
   13696 	Adjust comments. Declare.
   13697 	(TARGET_FUNCTION_VALUE_REGNO_P): Define.
   13698 	* config/v850/v850.h (FUNCTION_VALUE_REGNO_P): Delete.
   13699 
   13700 2010-09-17  Richard Guenther  <rguenther (a] suse.de>
   13701 
   13702 	* common.opt (combine): Remove.
   13703 	* gcc.c (default_compilers): Remove specs testing combine.
   13704 	The C compilers no longer can combine.
   13705 	(option_map): Remove -combine.
   13706 	(display_help): Remove -combine.
   13707 	(driver_handle_option): Remove OPT_combine handling.
   13708 	(compile_input_file_p): Remove.
   13709 	(do_spec): Remove code concerning combine.
   13710 	(main): Likewise.
   13711 	* doc/invoke.texi: Remove traces of -combine.
   13712 	* lto-wrapper.c (run_gcc): Do not pass -combine to the compiler driver.
   13713 
   13714 2010-09-17  Richard Guenther  <rguenther (a] suse.de>
   13715 
   13716 	PR middle-end/45678
   13717 	* builtins.c (fold_builtin_memory_op): Always properly adjust
   13718 	alignment of memory accesses.
   13719 
   13720 2010-09-16  Jan Hubicka  <jh (a] suse.cz>
   13721 
   13722 	* lto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when
   13723 	processing clone.
   13724 
   13725 2010-09-16  H.J. Lu  <hongjiu.lu (a] intel.com>
   13726 
   13727 	* config/i386/i386-protos.h (ix86_split_idivmod): New prototype.
   13728 
   13729 	* config/i386/i386.c (predict_jump): Add prototype.
   13730 	(flag_opts): Add -m8bit-idiv.
   13731 	(ix86_split_idivmod): New.
   13732 
   13733 	* config/i386/i386.md (UNSPEC_DIV_ALREADY_SPLIT): New.
   13734 	Add 2 splitters for SI/DI mode divide.
   13735 	(divmod<mode>4_1): New pattern.
   13736 	(udivmod<mode>4_1): Likewise.
   13737 	(testdi_ccno_1): Likewise.
   13738 
   13739 	* config/i386/i386.opt (m8bit-idiv): New.
   13740 
   13741 	* doc/invoke.texi: Document -m8bit-idiv.
   13742 
   13743 2010-09-16  Reza Yazdani  <reza.yazdani (a] amd.com>
   13744 
   13745 	PR bootstrap/45680
   13746 	* config/i386/i386.c (min_insn_size): Moved out of the
   13747 	ASM_OUTPUT_MAX_SKIP_PAD ifdef.
   13748 
   13749 2010-09-16  Jan Hubicka  <jh (a] suse.cz>
   13750 
   13751 	* lto-cgraph.c (lto_output_node): Fix handling of clones.
   13752 	* ipa.c (cgraph_remove_unreachabloe_nodes): Fix handling of
   13753 	unreachable clones with reachable clones.
   13754 	* tree-inline.c (copy_bb): Fix sanity checking when producing
   13755 	unreachable clone.
   13756 
   13757 2010-09-16  Anatoly Sokolov  <aesok (a] post.ru>
   13758 
   13759 	* config/m32r/m32r.c (TARGET_MEMORY_MOVE_COSTS): Remove.
   13760 	(TARGET_MEMORY_MOVE_COST): Define.
   13761 	(m32r_function_arg): Annotate argument 'type' with ATTRIBUTE_UNUSED.
   13762 
   13763 2010-09-16  Alexander Monakov  <amonakov (a] ispras.ru>
   13764 
   13765 	* sel-sched.c (move_cond_jump): Use tidy_control_flow instead of
   13766 	maybe_tidy_empty_bb.
   13767 
   13768 	Revert:
   13769 	2010-09-06  Alexander Monakov  <amonakov (a] ispras.ru>
   13770 	* sel-sched-ir.c (maybe_tidy_empty_bb): Export.
   13771 
   13772 2010-09-16  Joseph Myers  <joseph (a] codesourcery.com>
   13773 
   13774 	* target.def (target_option.optimization): New hook.
   13775 	* doc/tm.texi.in (OPTIMIZATION_OPTIONS): Change to
   13776 	TARGET_OPTION_OPTIMIZATION hook.
   13777 	* doc/tm.texi: Regenerate.
   13778 	* hooks.c (hook_void_int_int): New.
   13779 	* hooks.h (hook_void_int_int): Declare.
   13780 	* opts.c: Don't include tm_p.h.
   13781 	(decode_options): Use targetm.target_option.optimization instead
   13782 	of OPTIMIZATION_OPTIONS.
   13783 	* system.h (OPTIMIZATION_OPTIONS): Poison.
   13784 	* config/arm/arm-protos.h (arm_optimization_options): Remove.
   13785 	* config/arm/arm.c (TARGET_OPTION_OPTIMIZATION): Define.
   13786 	(arm_optimization_options): Rename to arm_option_optimization.
   13787 	Make static.
   13788 	* config/arm/arm.h (OPTIMIZATION_OPTIONS): Remove.
   13789 	* config/cris/cris.c (TARGET_OPTION_OPTIMIZATION): Define.
   13790 	(cris_option_optimization): New.
   13791 	* config/cris/cris.h (OPTIMIZATION_OPTIONS): Remove.
   13792 	* config/crx/crx.c (TARGET_OPTION_OPTIMIZATION): Define.
   13793 	(crx_option_optimization): New.
   13794 	* config/crx/crx.h (OPTIMIZATION_OPTIONS): Remove.
   13795 	* config/frv/frv-protos.h (frv_optimization_options): Remove.
   13796 	* config/frv/frv.c (TARGET_OPTION_OPTIMIZATION): Define.
   13797 	(frv_optimization_options): Rename to frv_option_optimization.
   13798 	Make static.
   13799 	* config/frv/frv.h (OPTIMIZATION_OPTIONS): Remove.
   13800 	* config/h8300/h8300.c (h8300_option_optimization): New.
   13801 	(TARGET_OPTION_OPTIMIZATION): Define.
   13802 	* config/h8300/h8300.h (OPTIMIZATION_OPTIONS): Remove.
   13803 	* config/i386/i386-protos.h (optimization_options): Remove.
   13804 	* config/i386/i386.c (optimization_options): Rename to
   13805 	ix86_option_optimization.  Make static.
   13806 	(TARGET_OPTION_OPTIMIZATION): Define.
   13807 	* config/i386/i386.h (OPTIMIZATION_OPTIONS): Remove.
   13808 	* config/ia64/ia64-protos.h (ia64_optimization_options): Remove.
   13809 	* config/ia64/ia64.c (TARGET_OPTION_OPTIMIZATION): Define.
   13810 	(ia64_optimization_options): Rename to ia64_option_optimization.
   13811 	Make static.  Call SUBTARGET_OPTIMIZATION_OPTIONS.
   13812 	* config/ia64/ia64.h (OPTIMIZATION_OPTIONS): Remove.  Remove
   13813 	commented-out definition.
   13814 	* config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define
   13815 	instead of OPTIMIZATION_OPTIONS.
   13816 	* config/m32r/m32r.c (TARGET_OPTION_OPTIMIZATION): Define.
   13817 	(m32r_option_optimization): New.
   13818 	* config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove.
   13819 	* config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
   13820 	Remove.
   13821 	* config/mcore/mcore.c (TARGET_OPTION_OPTIMIZATION): Define.
   13822 	(mcore_option_optimization): New.
   13823 	* config/mcore/mcore.h (OPTIMIZATION_OPTIONS): Remove.
   13824 	* config/mep/mep-protos.h (mep_optimization_options): Remove.
   13825 	* config/mep/mep.c (TARGET_OPTION_OPTIMIZATION): Define.
   13826 	(mep_optimization_options): Rename to mep_option_optimization.
   13827 	Make static.  Take unused level and size parameters.
   13828 	* config/mep/mep.h (OPTIMIZATION_OPTIONS): Remove.
   13829 	* config/mmix/mmix.c (TARGET_OPTION_OPTIMIZATION): Define.
   13830 	(mmix_option_optimization): New.
   13831 	* config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove.
   13832 	* config/pdp11/pdp11.c (TARGET_OPTION_OPTIMIZATION): Define.
   13833 	(pdp11_option_optimization): New.
   13834 	* config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Remove.
   13835 	* config/rs6000/rs6000-protos.h (optimization_options): Remove.
   13836 	* config/rs6000/rs6000.c (TARGET_OPTION_OPTIMIZATION): Define.
   13837 	(optimization_options): Rename to rs6000_option_optimization.
   13838 	Make static.
   13839 	* config/rs6000/rs6000.h (OPTIMIZATION_OPTIONS): Remove.
   13840 	* config/rx/rx-protos.h (rx_set_optimization_options): Remove.
   13841 	* config/rx/rx.c (rx_set_optimization_options): Rename to
   13842 	rx_option_optimization.  Make static.  Take unused level and size
   13843 	parameters.
   13844 	(TARGET_OPTION_OPTIMIZATION): Define.
   13845 	* config/rx/rx.h (OPTIMIZATION_OPTIONS): Remove.
   13846 	* config/s390/s390-protos.h (optimization_options): Remove.
   13847 	* config/s390/s390.c (optimization_options): Rename to
   13848 	s390_option_optimization.  Make static.  Don't mark size parameter
   13849 	unused.
   13850 	(TARGET_OPTION_OPTIMIZATION): Define.
   13851 	* config/s390/s390.h (OPTIMIZATION_OPTIONS): Remove.
   13852 	* config/sh/sh-protos.h (sh_optimization_options): Remove.
   13853 	* config/sh/sh.c (TARGET_OPTION_OPTIMIZATION): Define.
   13854 	(sh_optimization_options): Rename to sh_option_optimization.  Make
   13855 	static.  Don't mark parameters unused.
   13856 	* config/sh/sh.h (OPTIMIZATION_OPTIONS): Remove.
   13857 	* config/spu/spu-protos.h (spu_optimization_options): Remove.
   13858 	* config/spu/spu.c (TARGET_OPTION_OPTIMIZATION): Define.
   13859 	(spu_optimization_options): Rename to spu_option_optimization.
   13860 	Make static.
   13861 	* config/spu/spu.h (OPTIMIZATION_OPTIONS): Remove.
   13862 	* config/v850/v850.c (TARGET_OPTION_OPTIMIZATION): Define.
   13863 	(v850_option_optimization): New.
   13864 	* config/v850/v850.h (OPTIMIZATION_OPTIONS): Remove.
   13865 	* config/xtensa/xtensa.c (TARGET_OPTION_OPTIMIZATION): Define.
   13866 	(xtensa_option_optimization): New.
   13867 	* config/xtensa/xtensa.h (OPTIMIZATION_OPTIONS): Remove.
   13868 
   13869 2010-09-16  Joseph Myers  <joseph (a] codesourcery.com>
   13870 
   13871 	* doc/tm.texi.in (OVERRIDE_OPTIONS): Remove documentation.
   13872 	(C_COMMON_OVERRIDE_OPTIONS): Don't refer to OVERRIDE_OPTIONS.
   13873 	* doc/tm.texi: Regenerate.
   13874 	* system.h (OVERRIDE_OPTIONS): Poison.
   13875 	* target.def (override): Default to hook_void_void.
   13876 	* targhooks.c (default_target_option_override): Remove.
   13877 	* genmodes.c, machmode.def: Update comments mentioning
   13878 	OVERRIDE_OPTIONS.
   13879 	* config/alpha/alpha-modes.def: Update comment mentioning
   13880 	alpha_override_options.
   13881 	* config/alpha/alpha-protos.h (override_options): Remove.
   13882 	* config/alpha/alpha.c (override_options): Rename to
   13883 	alpha_option_override.  Call SUBTARGET_OVERRIDE_OPTIONS.  Make static.
   13884 	(TARGET_OPTION_OVERRIDE): Define.
   13885 	* config/alpha/alpha.h (OVERRIDE_OPTIONS): Remove.
   13886 	* config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead
   13887 	of OVERRIDE_OPTIONS.
   13888 	* config/arc/arc-protos.h (arc_init): Remove.
   13889 	* config/arc/arc.c (TARGET_OPTION_OVERRIDE): Define.
   13890 	(arc_init): Rename to arc_option_override.  Make static.
   13891 	* config/arc/arc.h (ARC_EXTENSION_CPU): Correct comment.
   13892 	(OVERRIDE_OPTIONS): Remove.
   13893 	* config/arm/arm-protos.h (arm_override_options): Remove.
   13894 	* config/arm/arm.c (TARGET_OPTION_OVERRIDE): Define.
   13895 	(arm_override_options): Rename to arm_option_override.  Make
   13896 	static.  Call SUBTARGET_OVERRIDE_OPTIONS.
   13897 	* config/arm/arm.h (OVERRIDE_OPTIONS): Remove.
   13898 	* config/arm/arm.md: Update comment referring to arm_override_options.
   13899 	* config/arm/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
   13900 	instead of OVERRIDE_OPTIONS.
   13901 	* config/avr/avr-protos.h (avr_override_options): Remove.
   13902 	* config/avr/avr.c (TARGET_OPTION_OVERRIDE): Define.
   13903 	(avr_override_options): Rename to avr_option_override.  Make static.
   13904 	* config/avr/avr.h (OVERRIDE_OPTIONS): Remove.
   13905 	* config/bfin/bfin-protos.h (override_options): Remove (twice).
   13906 	* config/bfin/bfin.c (override_options): Rename to
   13907 	bfin_option_override.  Make static.
   13908 	(TARGET_OPTION_OVERRIDE): Define.
   13909 	* config/bfin/bfin.h (OVERRIDE_OPTIONS): Remove.
   13910 	* config/cris/cris-protos.h (cris_override_options): Remove.
   13911 	* config/cris/cris.c (TARGET_OPTION_OVERRIDE): Define.
   13912 	(cris_override_options): Rename to cris_option_override.  Make static.
   13913 	* config/cris/cris.h (OVERRIDE_OPTIONS): Remove.
   13914 	* config/frv/frv-protos.h (frv_override_options): Remove.
   13915 	* config/frv/frv.c (TARGET_OPTION_OVERRIDE): Define.
   13916 	(frv_override_options): Rename to frv_option_override.  Make static.
   13917 	* config/frv/frv.h (OVERRIDE_OPTIONS): Remove.
   13918 	* config/h8300/h8300-protos.h (h8300_init_once): Remove.
   13919 	* config/h8300/h8300.c (h8300_init_once): Rename to
   13920 	h8300_option_override.  Make static.
   13921 	(TARGET_OPTION_OVERRIDE): Define.
   13922 	* config/h8300/h8300.h (OVERRIDE_OPTIONS): Remove.
   13923 	* config/i386/i386-protos.h (override_options): Remove.
   13924 	* config/i386/i386.c (override_options): Rename to
   13925 	ix86_option_override_internal.  Make static.  Comments referring
   13926 	to this function and callers changed.
   13927 	(ix86_option_override): New.
   13928 	(TARGET_OPTION_OVERRIDE): Define.
   13929 	* config/i386/i386.h (OVERRIDE_OPTION): Remove.
   13930 	* config/i386/linux64.h (DEFAULT_PCC_STRUCT_RETURN): Update comment.
   13931 	* config/ia64/ia64.c (ia64_file_start): Update comment referring
   13932 	to ia64_override_options.
   13933 	* config/iq2000/iq2000-protos.h (override_options): Remove.
   13934 	* config/iq2000/iq2000.c (TARGET_OPTION_OVERRIDE): Define.
   13935 	(override_options): Rename to iq2000_option_override.  Make static.
   13936 	* config/iq2000/iq2000.h (OVERRIDE_OPTIONS): Remove.
   13937 	* config/lm32/lm32-protos.h (lm32_override_options): Remove.
   13938 	* config/lm32/lm32.c (TARGET_OPTION_OVERRIDE): Define.
   13939 	(lm32_override_options): Rename to lm32_option_override.  Make static.
   13940 	* config/lm32/lm32.h (OVERRIDE_OPTIONS): Remove.
   13941 	* config/m32r/m32r.c (TARGET_OPTION_OVERRIDE): Define.
   13942 	(m32r_option_override): New.
   13943 	(m32r_init): Update comment.
   13944 	* config/m32r/m32r.h (OVERRIDE_OPTIONS): Remove.
   13945 	* config/m68hc11/m68hc11-protos.h (m68hc11_override_options): Remove.
   13946 	* config/m68hc11/m68hc11.c (TARGET_OPTION_OVERRIDE): Define.
   13947 	(m68hc11_override_options): Rename to m68hc11_option_override.
   13948 	Make static.  Return void.
   13949 	* config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove.
   13950 	* config/m68k/m68k-protos.h (override_options): Remove.
   13951 	* config/m68k/m68k.c (TARGET_OPTION_OVERRIDE): Define.
   13952 	(override_options): Rename to m68k_option_override.  Make static.
   13953 	* config/m68k/m68k.h (OVERRIDE_OPTIONS): Remove.
   13954 	* config/mcore/mcore-protos.h (mcore_override_options): Remove.
   13955 	* config/mcore/mcore.c (TARGET_OPTION_OVERRIDE): Define.
   13956 	(mcore_override_options): Rename to mcore_option_override.  Make
   13957 	static.
   13958 	* config/mcore/mcore.h (OVERRIDE_OPTIONS): Remove.
   13959 	* config/mep/mep-protos.h (mep_override_options): Remove.
   13960 	* config/mep/mep.c (TARGET_OPTION_OVERRIDE): Define.
   13961 	(mep_override_options): Rename to mep_option_override.  Make static.
   13962 	* config/mep/mep.h (OVERRIDE_OPTIONS): Remove.
   13963 	* config/mmix/mmix-protos.h (mmix_override_options): Remove.
   13964 	* config/mmix/mmix.c (TARGET_OPTION_OVERRIDE): Define.
   13965 	(mmix_override_options): Rename to mmix_option_override.  Make static.
   13966 	* config/mmix/mmix.h (OVERRIDE_OPTIONS): Remove.
   13967 	* config/mn10300/mn10300-protos.h (mn10300_override_options): Remove.
   13968 	* config/mn10300/mn10300.c (TARGET_OPTION_OVERRIDE): Define.
   13969 	(mn10300_override_options): Rename to mn10300_option_override.
   13970 	Make static.
   13971 	* config/mn10300/mn10300.h (OVERRIDE_OPTIONS): Remove.
   13972 	* config/moxie/moxie-protos.h (moxie_override_options): Remove.
   13973 	* config/moxie/moxie.c (moxie_override_options): Rename to
   13974 	moxie_option_override.  Make static.
   13975 	(TARGET_OPTION_OVERRIDE): Define.
   13976 	* config/moxie/moxie.h (OVERRIDE_OPTIONS): Remove.
   13977 	* config/picochip/picochip-protos.h (picochip_override_options):
   13978 	Remove.  Update comment referring to picochip_override_options.
   13979 	* config/picochip/picochip.c (TARGET_OPTION_OVERRIDE): Define.
   13980 	(picochip_override_options): Rename to picochip_option_override.
   13981 	Make static.  Update comment and definition of
   13982 	TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE.
   13983 	* config/picochip/picochip.h (OVERRIDE_OPTIONS): Remove.
   13984 	* config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
   13985 	* config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
   13986 	* config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
   13987 	* config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
   13988 	* config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
   13989 	* config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Define
   13990 	instead of OVERRIDE_OPTIONS.
   13991 	* config/rs6000/rs6000-modes.def: Update comment referring to
   13992 	rs6000_override_options.
   13993 	* config/rs6000/rs6000-protos.h (rs6000_override_options): Remove.
   13994 	* config/rs6000/rs6000.c (TARGET_OPTION_OVERRIDE): Define.
   13995 	(rs6000_override_options): Rename to
   13996 	rs6000_option_override_internal.  Make static.  Commented
   13997 	referring to rs6000_override_options and OVERRIDE_OPTIONS updated.
   13998 	(rs6000_option_override): New.
   13999 	* config/rs6000/rs6000.h (OPTION_TARGET_CPU_DEFAULT): Define
   14000 	instead of OVERRIDE_OPTIONS.
   14001 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
   14002 	* config/s390/s390-protos.h (override_options): Remove.
   14003 	* config/s390/s390.c (override_options): Rename to
   14004 	s390_option_override.  Make static.
   14005 	(TARGET_OPTION_OVERRIDE): Define.
   14006 	* config/s390/s390.h (OVERRIDE_OPTIONS): Remove.
   14007 	* config/score/score-protos.h (score_override_options): Remove.
   14008 	* config/score/score.c (TARGET_OPTION_OVERRIDE): Define.
   14009 	(score_override_options): Rename to score_option_override.  Make
   14010 	static.
   14011 	* config/score/score.h (OVERRIDE_OPTIONS): Remove.
   14012 	Update comment referring to override_options.
   14013 	* config/score/score3.c (score3_override_options): Rename to
   14014 	score3_option_override.
   14015 	* config/score/score3.h (score3_override_options): Rename to
   14016 	score3_option_override.
   14017 	* config/score/score7.c (score7_override_options): Rename to
   14018 	score7_option_override.
   14019 	* config/score/score7.h (score7_override_options): Rename to
   14020 	score7_option_override.
   14021 	* config/sh/sh.c: Update comments referring to OVERRIDE_OPTIONS.
   14022 	* config/sparc/sparc.c (TARGET_OPTION_OVERRIDE): Define.
   14023 	(sparc_override_options): Rename to sparc_option_override.  Make
   14024 	static.  Call SUBTARGET_OVERRIDE_OPTIONS.
   14025 	* config/sparc/sparc.h (OVERRIDE_OPTIONS): Remove.
   14026 	* config/sparc/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
   14027 	instead of OVERRIDE_OPTIONS.
   14028 	* config/spu/spu-protos.h (spu_override_options): Remove.
   14029 	* config/spu/spu.c (TARGET_OPTION_OVERRIDE): Define.
   14030 	(spu_override_options): Rename to spu_option_override.  Make
   14031 	static.
   14032 	* config/spu/spu.h (OVERRIDE_OPTIONS): Remove.
   14033 	* config/vax/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of
   14034 	OVERRIDE_OPTIONS.
   14035 	* config/vax/vax-protos.h (override_options): Remove.
   14036 	* config/vax/vax.c (TARGET_OPTION_OVERRIDE): Define.
   14037 	(override_options): Rename to vax_option_override.  Make static.
   14038 	Call SUBTARGET_OVERRIDE_OPTIONS.
   14039 	* config/vax/vax.h (OVERRIDE_OPTIONS): Remove.
   14040 	* config/vxworks.c: Update comment referring to OVERRIDE_OPTIONS.
   14041 	* config/vxworks.h: Update comment referring to OVERRIDE_OPTIONS.
   14042 	* config/xtensa/xtensa-protos.h (override_options): Remove.
   14043 	* config/xtensa/xtensa.c (TARGET_OPTION_OVERRIDE): Define.
   14044 	(override_options): Rename to xtensa_option_override.  Make static.
   14045 	* config/xtensa/xtensa.h (OVERRIDE_OPTIONS): Remove.
   14046 
   14047 2010-09-16  Richard Guenther  <rguenther (a] suse.de>
   14048 
   14049 	PR tree-optimization/45623
   14050 	* tree-ssa-structalias.c (get_constraint_for_ptr_offset): Adjust.
   14051 	(get_constraint_for_component_ref): If computing a constraint
   14052 	for the rhs handle type punning through unions.
   14053 	(get_constraint_for_address_of): Adjust.
   14054 	(get_constraint_for_1): Likewise.
   14055 	(get_constraint_for): Likewise.
   14056 	(get_constraint_for_rhs): New function.
   14057 	(do_structure_copy): Adjust.
   14058 	(make_constraint_to): Likewise.
   14059 	(handle_const_call): Likewise.
   14060 	(find_func_aliases): Likewise.
   14061 	(process_ipa_clobber): Likewise.
   14062 	(create_variable_info_for): Likewise.
   14063 
   14064 2010-09-16  Ira Rosen  <irar (a] il.ibm.com>
   14065 
   14066 	* tree-vectorizer.c: Fix documentation.
   14067 	* tree-vectorizer.h (vinfo_for_stmt): Add documentation.
   14068 	(set_vinfo_for_stmt, get_earlier_stmt, get_later_stmt,
   14069 	is_pattern_stmt_p, is_loop_header_bb_p,
   14070 	stmt_vinfo_set_inside_of_loop_cost,
   14071 	stmt_vinfo_set_outside_of_loop_cost, vect_pow2, aligned_access_p,
   14072 	known_alignment_for_access_p): Likewise.
   14073 	* tree-vect-loop.c: Fix documentation.
   14074 	(vect_get_cost): Start function name from new line.
   14075 	* tree-vect-data-refs.c: Fix documentation.
   14076 	* tree-vect_stmts.c: Likewise.
   14077 	(vect_create_vectorized_promotion_stmts): Always free vec_tmp.
   14078 	(vectorizable_store): Free vec_oprnds if allocated.
   14079 	(vectorizable_condition): Initialize several variables to avoid
   14080 	warnings.
   14081 	* tree-vect-slp.c: Fix documentation.
   14082 
   14083 2010-09-16  Richard Guenther  <rguenther (a] suse.de>
   14084 
   14085 	* tree.c (tree_node_structure_for_code): TRANSLATION_UNIT_DECL
   14086 	is TS_TRANSLATION_UNIT_DECL.
   14087 	(initialize_tree_contains_struct): Adjust.
   14088 	(all_translation_units): New global vector.
   14089 	(build_translation_unit_decl): New function.
   14090 	* tree.h (TRANSLATION_UNIT_LANGUAGE): New macro.
   14091 	(struct tree_translation_unit_decl): New.
   14092 	(all_translation_units): Declare.
   14093 	(union tree_node): Add translation_unit_decl member.
   14094 	(build_translation_unit_decl): Declare.
   14095 	* treestruct.def (TS_TRANSLATION_UNIT_DECL): New.
   14096 	* lto-streamer-out.c (pack_ts_translation_unit_decl_value_fields):
   14097 	New function.
   14098 	(pack_value_fields): Call it.
   14099 	(lto_output_tree_ref): Handle references to TRANSLATION_UNIT_DECL.
   14100 	(lto_output_ts_translation_unit_decl_tree_pointers): New function.
   14101 	(lto_output_tree_pointers): Call it.
   14102 	* lto-streamer-in.c (lto_input_tree_ref): Handle references
   14103 	to TRANSLATION_UNIT_DECL.
   14104 	(unpack_ts_translation_unit_decl_value_fields): New function.
   14105 	(unpack_value_fields): Call it.
   14106 	(lto_input_ts_translation_unit_decl_tree_pointers): New function.
   14107 	(lto_input_tree_pointers): Call it.
   14108 	* lto-streamer.c (check_handled_ts_structures): Adjust.
   14109 	* lto-streamer.h (enum LTO_tags): Add LTO_translation_unit_decl_ref.
   14110 	* c-decl.c (all_translation_units): Remove.
   14111 	(pop_scope): Use build_translation_unit_decl.
   14112 	(collect_all_refs): Adjust.
   14113 	(for_each_global_decl): Likewise.
   14114 	(c_write_global_declarations): Likewise.
   14115 
   14116 2010-09-16  Jakub Jelinek  <jakub (a] redhat.com>
   14117 
   14118 	PR bootstrap/45686
   14119 	* fold-const.c (fold_checksum_tree): Change slot from const void **
   14120 	to void **, use CONST_CAST_TREE to store into *slot.
   14121 
   14122 2010-09-16  Uros Bizjak  <ubizjak (a] gmail.com>
   14123 
   14124 	* config/i386/i386.md: Remove unneeded empty conditions and
   14125 	preparation statements from expanders.
   14126 	* config/i386/mmx.md: Ditto.
   14127 	* config/i386/sse.md: Ditto.
   14128 
   14129 2010-09-16  Uros Bizjak  <ubizjak (a] gmail.com>
   14130 
   14131 	* config/i386/i386.h (PUSH_ROUNDING): Redefine using UNITS_PER_WORD.
   14132 
   14133 2010-09-15  Eric Botcazou  <ebotcazou (a] adacore.com>
   14134 
   14135 	PR rtl-optimization/45593
   14136 	* reorg.c (relax_delay_slots): Use emit_copy_of_insn_after to re-emit
   14137 	insns that were in delay slots as stand-alone insns.
   14138 
   14139 2010-09-15  Ian Lance Taylor  <iant (a] google.com>
   14140 
   14141 	* incpath.c (remove_duplicates): If name is not a directory, issue
   14142 	a warning rather than an error.
   14143 
   14144 2010-09-15  Martin Jambor  <mjambor (a] suse.cz>
   14145 
   14146 	PR middle-end/45644
   14147 	* tree-sra.c (create_access): Check for bit-fields directly.
   14148 
   14149 2010-09-15  Jakub Jelinek  <jakub (a] redhat.com>
   14150 
   14151 	PR tree-optimization/45633
   14152 	* tree-cfg.c (verify_gimple_assign_binary): Allow
   14153 	MINUS_EXPR with lhs and rhs1 pointer vector and
   14154 	rhs2 sizetype vector.
   14155 	* expr.c (expand_expr_real_2) <case PLUS_EXPR>: For pointer
   14156 	or vector pointer use TER to optimize pointer subtraction.
   14157 
   14158 2010-09-15  Jie Zhang  <jie (a] codesourcery.com>
   14159 
   14160 	* config/arm/vfp.md (cmpsf_trap_vfp): Change type from
   14161 	fcmpd to fcmps.
   14162 
   14163 2010-09-15  Ian Lance Taylor  <iant (a] google.com>
   14164 
   14165 	* config/i386/i386.md (truncxf<mode>2): Fix indentation.
   14166 
   14167 2010-09-15  Ian Lance Taylor  <iant (a] google.com>
   14168 
   14169 	* function.c (get_arg_pointer_save_area): Set
   14170 	arg_pointer_save_area_init to true.
   14171 
   14172 2010-09-15  Martin Jambor  <mjambor (a] suse.cz>
   14173 
   14174 	* tree-sra.c (generate_subtree_copies): Updated comment.
   14175 	(handle_unscalarized_data_in_subtree): Removed parameter lhs which is
   14176 	obtained from the statement iterator instead.
   14177 	(load_assign_lhs_subreplacements): Removed parameters lhs and
   14178 	right_offset, which is obtained from top_racc instead.  Parameter lacc
   14179 	is now expected to be the root of the processed tree rather than root's
   14180 	first child.  Updated all callers.
   14181 
   14182 2010-09-15  Joseph Myers  <joseph (a] codesourcery.com>
   14183 
   14184 	* config/pdp11/pdp11.c (register_move_cost): Rename to
   14185 	pdp11_register_move_cost.
   14186 	* config/pdp11/pdp11-protos.h (register_move_cost): Rename to
   14187 	pdp11_register_move_cost.
   14188 	* config/pdp11/pdp11.h (REGISTER_MOVE_COST): Call
   14189 	pdp11_register_move_cost instead of register_move_cost.
   14190 
   14191 2010-09-15  Tejas Belagod  <tejas.belagod (a] arm.com>
   14192 
   14193 	* config/arm/neon.md (vec_pack_trunc_<mode>): Instruction
   14194 	pattern for vmovn. Expansion in case of non
   14195 	-mvectorize-with-neon-quad.
   14196 	(neon_vec_pack_trunc_<mode>): Instruction pattern for vmovn for
   14197 	non- -mvectorize-with-neon-quad case.
   14198 	(move_lo_quad_<mode>): New expansion to vmov into low part.
   14199 	(move_hi_quad_<mode>): New expansion to vmov into high part.
   14200 	(move_lo_quad_v4si): Refactor to move_lo_quad_<mode> expansion.
   14201 	(move_lo_quad_v4sf): Likewise.
   14202 	(move_lo_quad_v8hi): Likewise.
   14203 	(neon_move_lo_quad_<mode>): Instruction pattern for vmov into
   14204 	low part.
   14205 	(neon_move_hi_quad_<mode>): Instruction pattern for vmov into
   14206 	high part.
   14207 	* config/arm/iterators.md (ANY128): New mode iterator.
   14208 	(V_narrow_pack): New mode attribute.
   14209 	(V_HALF): Add attribute.
   14210 	(V_DOUBLE): Add attribute.
   14211 	(V_mode_nunits): Add attribute.
   14212 
   14213 2010-09-15  Eric Botcazou  <ebotcazou (a] adacore.com>
   14214 
   14215 	* config/alpha/alpha.c (alpha_expand_prologue): If stack checking
   14216 	is enabled, probe up to frame_size + STACK_CHECK_PROTECT bytes.
   14217 
   14218 2010-09-15  Olivier Hainque  <hainque (a] adacore.com>
   14219 	    Jose Ruiz  <ruiz (a] adacore.com>
   14220 
   14221 	* config/alpha/osf5.h (MD_UNWIND_SUPPORT): Define.
   14222 	* config/alpha/osf5-unwind.h: New file.
   14223 
   14224 2010-09-14  H.J. Lu  <hongjiu.lu (a] intel.com>
   14225 
   14226 	PR bootstrap/45672
   14227 	* config/mips/mips.c (mips_units_per_simd_word): Correct return type.
   14228 	* config/rs6000/rs6000.c (rs6000_units_per_simd_word): Likewise.
   14229 	* config/sparc/sparc.c (sparc_units_per_simd_word): Likewise.
   14230 
   14231 2010-09-15  Laurynas Biveinis  <laurynas.biveinis (a] gmail.com>
   14232 
   14233 	* c-lang.h (struct lang_type): Add variable_size GTY option.
   14234 
   14235 2010-09-14  H.J. Lu  <hongjiu.lu (a] intel.com>
   14236 
   14237 	PR bootstrap/45672
   14238 	* config/rs6000/rs6000.c (TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): New.
   14239 
   14240 2010-09-14  H.J. Lu  <hongjiu.lu (a] intel.com>
   14241 
   14242 	* config/i386/i386.c (ix86_lea_for_add_ok): Return false if
   14243 	result isn't used in memory address.
   14244 
   14245 2010-09-14  H.J. Lu  <hongjiu.lu (a] intel.com>
   14246 
   14247 	* defaults.h (UNITS_PER_SIMD_WORD): Removed.
   14248 	* config/arm/arm.h (UNITS_PER_SIMD_WORD): Likewise.
   14249 	* config/i386/i386.h (UNITS_PER_SIMD_WORD): Likewise.
   14250 	* config/mips/mips.h (UNITS_PER_SIMD_WORD): Likewise.
   14251 	* config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Likewise.
   14252 	* config/sparc/sparc.h (UNITS_PER_SIMD_WORD): Likewise.
   14253 
   14254 	* target.def: Add units_per_simd_word to vectorize.
   14255 
   14256 	* targhooks.c (default_units_per_simd_word): New.
   14257 	* targhooks.h (default_units_per_simd_word): Likewise.
   14258 	* config/arm/arm.c (arm_units_per_simd_word): Likewise.
   14259 	(TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
   14260 	* config/mips/mips.c (mips_units_per_simd_word): Likewise.
   14261 	(TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
   14262 	* config/rs6000/rs6000.c (rs6000_units_per_simd_word): Likewise.
   14263 	(TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
   14264 	* config/sparc/sparc.c (sparc_units_per_simd_word): Likewise.
   14265 	(TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): Likewise.
   14266 
   14267 	* tree-vect-loop.c: Replace UNITS_PER_SIMD_WORD with
   14268 	TARGET_VECTORIZE_UNITS_PER_SIMD_WORD in comments.
   14269 
   14270 	* tree-vect-stmts.c: Don't include "tm_p.h".
   14271 	(get_vectype_for_scalar_type): Replace UNITS_PER_SIMD_WORD
   14272 	with targetm.vectorize.units_per_simd_word.
   14273 
   14274 	* system.h (UNITS_PER_SIMD_WORD): Poisoned.
   14275 
   14276 	* config/i386/i386-protos.h (ix86_units_per_simd_word): Removed.
   14277 
   14278 	* config/i386/i386.c (ix86_units_per_simd_word): Make it static.
   14279 	(TARGET_VECTORIZE_UNITS_PER_SIMD_WORD): New.
   14280 
   14281 	* doc/tm.texi.in: Remove UNITS_PER_SIMD_WORD.  Add
   14282 	TARGET_VECTORIZE_UNITS_PER_SIMD_WORD.
   14283 
   14284 	* doc/tm.texi: Regenerated.
   14285 
   14286 2010-09-14  H.J. Lu  <hongjiu.lu (a] intel.com>
   14287 
   14288 	* tree-vect-stmts.c: Include "tm_p.h".
   14289 
   14290 	* config/i386/i386-protos.h (ix86_units_per_simd_word): Moved
   14291 	out of RTX_CODE.
   14292 
   14293 2010-09-14  Martin Jambor  <mjambor (a] suse.cz>
   14294 
   14295 	* tree-sra.c (build_ref_for_offset): Loc made a parameter.  Set the
   14296 	location of generated statement.  Changed all callers.
   14297 	(build_ref_for_model): New parameter loc which used to set location of
   14298 	all generated expressions.  Changed all callers.
   14299 	(generate_subtree_copies): Likewise.
   14300 	(init_subtree_with_zero): Likewise.
   14301 	(sra_modify_expr): Set locations of all generated statements and
   14302 	expressions to the location the original statement.
   14303 	(handle_unscalarized_data_in_subtree): Likewise.
   14304 	(load_assign_lhs_subreplacements): Likewise.
   14305 	(sra_modify_constructor_assign): Likewise.
   14306 	(sra_modify_assign): Likewise.
   14307 
   14308 2010-09-14  Eric Botcazou  <ebotcazou (a] adacore.com>
   14309 
   14310 	PR target/45277
   14311 	PR target/45363
   14312 	PR target/45407
   14313 	* doc/install.texi (sparc*-*-*): New section.
   14314 	(sparc-sun-solaris2*): Mention MPC alongside GMP and MPFR.
   14315 
   14316 2010-09-14  Jakub Jelinek  <jakub (a] redhat.com>
   14317 
   14318 	PR middle-end/45567
   14319 	* builtins.c (expand_builtin_interclass_mathfn, expand_builtin_cexpi,
   14320 	expand_builtin_powi): Remove subtarget argument, pass NULL_RTX instead.
   14321 	(expand_builtin): Adjust caller.
   14322 	(expand_builtin_unop): Only use subtarget if it has the right mode.
   14323 
   14324 2010-09-14  Tristan Gingold  <gingold (a] adacore.com>
   14325 
   14326 	* configure.ac (plugins): Fix typos.
   14327 	* configure: Regenerate.
   14328 
   14329 2010-09-14  Jakub Jelinek  <jakub (a] redhat.com>
   14330 
   14331 	PR debug/45660
   14332 	* dwarf2out.c (gen_decl_die): Call gen_type_die for origin before
   14333 	gen_type_die for function/method return type.
   14334 
   14335 2010-09-14  Ira Rosen  <irar (a] il.ibm.com>
   14336 
   14337 	PR tree-optimization/45470
   14338 	* tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
   14339 	can throw an exception.
   14340 	* tree-vect-stmts.c (vectorizable_call): Likewise.
   14341 
   14342 2010-09-14  DJ Delorie  <dj (a] redhat.com>
   14343 
   14344 	PR target/44749
   14345 	* config/mep/mep-protos.h (mep_save_register_info,
   14346 	mep_reinit_regs, mep_init_regs): Declare.
   14347 
   14348 	* config/mep/mep.c: Move all target definitions to the end of the
   14349 	file to avoid the need for duplicate declarations.
   14350 	(mep_save_register_info, mep_reinit_regs, mep_init_regs): New.
   14351 	(mep_reorg_erepeat): Remove unused variables.
   14352 	(mep_expand_builtin): Likewise.
   14353 
   14354 	* config/mep/mep-pragma.c: Don't include rtl.h.
   14355 	(INVALID_REGNUM): New.
   14356 	(mep_pragma_coprocessor_which): Call mep-specific rtl-layer bridge
   14357 	functions.
   14358 	(mep_pragma_coprocessor_subclass): Rename "class" to "rclass".
   14359 	Avoid enum/integer math.
   14360 
   14361 2010-09-13  Joseph Myers  <joseph (a] codesourcery.com>
   14362 
   14363 	PR target/44749
   14364 	* config/mep/t-mep (GTM_H): Add insn-constants.h.
   14365 	* config/mep/mep.c (mep_conditional_register_usage): Take no
   14366 	parameters.
   14367 	* config/mep/mep-protos.h (mep_conditional_register_usage): Update
   14368 	prototype.
   14369 	* config/mep/mep-pragma.c (CONDITIONAL_REGISTER_USAGE): Update
   14370 	call to mep_conditional_register_usage.
   14371 
   14372 2010-09-13  Eric Botcazou  <ebotcazou (a] adacore.com>
   14373 
   14374 	PR debug/43937
   14375 	* varasm.c (output_constant_def_contents): Set TREE_ASM_WRITTEN on
   14376 	the DECL as well.
   14377 
   14378 2010-09-13  Jakub Jelinek  <jakub (a] redhat.com>
   14379 
   14380 	PR rtl-optimization/45617
   14381 	* combine.c (simplify_comparison): Optimize (X >> N) {>,>=,<,<=} C
   14382 	even if low N bits of X aren't known to be zero.
   14383 
   14384 2010-09-13  H.J. Lu  <hongjiu.lu (a] intel.com>
   14385 
   14386 	* config/i386/i386-protos.h (ix86_units_per_simd_word): New.
   14387 
   14388 	* config/i386/i386.c (initial_ix86_tune_features): Add
   14389 	X86_TUNE_VECTORIZE_DOUBLE.
   14390 	(ix86_units_per_simd_word): New.
   14391 
   14392 	* config/i386/i386.h (ix86_tune_indices): Add
   14393 	X86_TUNE_VECTORIZE_DOUBLE.
   14394 	(TARGET_VECTORIZE_DOUBLE): New.
   14395 	(UNITS_PER_SIMD_WORD): Defined with ix86_units_per_simd_word.
   14396 
   14397 2010-09-13  Pat Haugen  <pthaugen (a] us.ibm.com>
   14398 
   14399 	* tree-ssa-ter.c (temp_expr_table_d): Add call_cnt field.
   14400 	(new_temp_expr_table): Allocate call_cnt vector.
   14401 	(free_temp_expr_table): Free it.
   14402 	(process_replaceable): Add call_cnt parm and set in vector.
   14403 	(find_replaceable_in_bb): Skip replacement if def/use span a call.
   14404 	(debug_ter): Dump call_cnt value, remove stderr uses.
   14405 
   14406 2010-09-13  Jan Hubicka  <jh (a] suse.cz>
   14407 
   14408 	* tree.c (build_zero_cst): New.
   14409 	* tree.h (build_zero_cst): Declare.
   14410 	* tree-ssa-ccp.c (get_constant_value): Accept general operands.
   14411 	(get_base_constructor): Break out from ...
   14412 	(fold_const_aggregate_ref): Here; handle empty constructors.
   14413 
   14414 2010-09-13  Marcus Shawcroft  <marcus.shawcroft (a] arm.com>
   14415 
   14416 	* config/arm/arm.md: (define_attr "conds"): Update comment.
   14417 	* config/arm/sync.md (arm_sync_compare_and_swapsi): Change
   14418 	conds attribute to clob.
   14419 	(arm_sync_compare_and_swapsi): Likewise.
   14420 	(arm_sync_compare_and_swap<mode>): Likewise.
   14421 	(arm_sync_lock_test_and_setsi): Likewise.
   14422 	(arm_sync_lock_test_and_set<mode>): Likewise.
   14423 	(arm_sync_new_<sync_optab>si): Likewise.
   14424 	(arm_sync_new_nandsi): Likewise.
   14425 	(arm_sync_new_<sync_optab><mode>): Likewise.
   14426 	(arm_sync_new_nand<mode>): Likewise.
   14427 	(arm_sync_old_<sync_optab>si): Likewise.
   14428 	(arm_sync_old_nandsi): Likewise.
   14429 	(arm_sync_old_<sync_optab><mode>): Likewise.
   14430 	(arm_sync_old_nand<mode>): Likewise.
   14431 
   14432 2010-09-13  Olivier Hainque  <hainque (a] adacore.com>
   14433 
   14434 	* fwprop.c (forward_propagate_and_simplify): Only attach a
   14435 	REG_EQUAL note to an insn if the destination is a register.
   14436 	* gcse.c (try_replace_reg): Likewise.
   14437 
   14438 2010-09-13  Richard Guenther  <rguenther (a] suse.de>
   14439 
   14440 	PR tree-optimization/45611
   14441 	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fix typo.
   14442 	(copy_ref_info): Likewise.
   14443 
   14444 2010-09-13  Alexandre Oliva  <aoliva (a] redhat.com>
   14445 
   14446 	PR debug/45604
   14447 	PR debug/45419
   14448 	PR debug/45408
   14449 	* tree-pretty-print.c (dump_generic_node): Disregard top-level
   14450 	types of MEM_REF pointer types to the same type.
   14451 
   14452 2010-09-13  Hans-Peter Nilsson  <hp (a] axis.com>
   14453 
   14454 	PR rtl-optimization/41087
   14455 	* ifcvt.c (noce_get_condition): Don't allow conditions with
   14456 	side-effects.
   14457 
   14458 2010-09-12  Anatoly Sokolov  <aesok (a] post.ru>
   14459 
   14460 	* config/frv/frv.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
   14461 	* config/frv/frv-protos.h (frv_register_move_cost): Remove.
   14462 	* config/frv/frv.c (frv_register_move_cost): Make static. Change
   14463 	arguments type to reg_class_t. Add mode argument.
   14464 	(frv_memory_move_cost): New.
   14465 	(TARGET_REGISTER_MOVE_COSTS, TARGET_MEMORY_MOVE_COSTS): Define.
   14466 
   14467 2010-09-12  Bernd Schmidt  <bernds (a] codesourcery.com>
   14468 
   14469 	* config/arm/arm.md (arm_ashldi3_1bit, arm_ashrdi3_1bit,
   14470 	arm_lshrdi3_1bit): Put earlyclobber on the right alternative.
   14471 
   14472 2010-09-10  Jan Hubicka  <jh (a] suse.cz>
   14473 
   14474 	* tree-ssa-ccp.c (fold_const_aggregate_ref): Do not check STATIC flag.
   14475 
   14476 2010-09-10  Richard Guenther  <rguenther (a] suse.de>
   14477 
   14478 	* tree.c (make_vector_type): Do not set TYPE_DEBUG_REPRESENTATION_TYPE.
   14479 	* tree.h (TYPE_DEBUG_REPRESENTATION_TYPE): Remove.
   14480 	* lto-streamer-out.c (lto_output_ts_type_tree_pointers): Do
   14481 	not stream TYPE_DEBUG_REPRESENTATION_TYPE.
   14482 	* lto-streamer-in.c (lto_input_ts_type_tree_pointers): Likewise.
   14483 
   14484 2010-09-10  Richard Guenther  <rguenther (a] suse.de>
   14485 
   14486 	* dwarf2out.c (gen_array_type_die): Output DW_TAG_subrange_type
   14487 	for VECTOR_TYPEs using TYPE_VECTOR_SUBPARTS.
   14488 	* dbxout.c (dbxout_type): Manually deal with VECTOR_TYPE
   14489 	using TYPE_VECTOR_SUBPARTS, not TYPE_DEBUG_REPRESENTATION_TYPE.
   14490 
   14491 2010-09-10  H.J. Lu  <hongjiu.lu (a] intel.com>
   14492 
   14493 	PR middle-end/45634
   14494 	* tree-ssa-ccp.c (fold_const_aggregate_ref): Check that result
   14495 	of string folding is of integral type.
   14496 
   14497 2010-09-10  Ryan Mansfield  <rmansfield (a] qnx.com>
   14498 
   14499 	* doc/invoke.texi (-x): Fix typo.
   14500 
   14501 2010-09-10  Richard Guenther  <rguenther (a] suse.de>
   14502 
   14503 	PR debug/44115
   14504 	* tree.c (free_lang_data_in_decl): Do not clear DECL_DEBUG_EXPR.
   14505 	* lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
   14506 	Output DECL_DEBUG_EXPR.
   14507 	* lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
   14508 	Input DECL_DEBUG_EXPR.
   14509 
   14510 2010-09-10  Richard Guenther  <rguenther (a] suse.de>
   14511 
   14512 	* tree.c (type_hash_eq): For ARRAY_TYPEs also compare TYPE_SIZE.
   14513 	(build_index_type): Implement in terms of build_range_type.
   14514 	(build_range_type): Do not allow NULL_TREE type, improve
   14515 	hashing to cover more cases.  Set TYPE_STRUCTURAL_EQUALITY_P
   14516 	if we didn't hash.
   14517 	* c-decl.c (grokdeclarator): When modifying TYPE_SIZE manually
   14518 	create a distinct copy of the type.
   14519 
   14520 2010-09-10  Kai Tietz  <kai.tietz (a] onevision.com>
   14521 
   14522 	* configure: Regenerated.
   14523 	* config.gcc: Add for x86_64 and i?86 mingw t-dfprule.
   14524 
   14525 2010-09-10  Ramana Radhakrishnan  <ramana.radhakrishnan (a] arm.com>
   14526 
   14527 	* config/arm/neon-schedgen.ml (allCores): Add support for Cortex-A9.
   14528 	* config/arm/cortex-a9-neon.md: New and partially generated.
   14529 	* config/arm/cortex-a9.md (cortex_a9_dp): Adjust for Neon.
   14530 
   14531 2010-09-10  Richard Guenther  <rguenther (a] suse.de>
   14532 
   14533 	* tree.h (build_index_2_type): Remove.
   14534 	* tree.c (build_index_2_type): Remove.
   14535 
   14536 2010-09-10  Jakub Jelinek  <jakub (a] redhat.com>
   14537 
   14538 	PR bootstrap/45630
   14539 	* dwarf2out.c (get_ref_die_offset_label): Use %ld instead of
   14540 	HOST_WIDE_INT_PRINT_DEC to print ref->die_offset.
   14541 	(implicit_ptr_descriptor): Return NULL if dwarf_strict.
   14542 
   14543 2010-09-10  Martin Jambor  <mjambor (a] suse.cz>
   14544 
   14545 	PR tree-optimization/44972
   14546 	* tree-sra.c: Include toplev.h.
   14547 	(build_ref_for_offset): Entirely reimplemented.
   14548 	(build_ref_for_model): New function.
   14549 	(build_user_friendly_ref_for_offset): New function.
   14550 	(analyze_access_subtree): Removed build_ref_for_offset check.
   14551 	(propagate_subaccesses_across_link): Likewise.
   14552 	(create_artificial_child_access): Use
   14553 	build_user_friendly_ref_for_offset.
   14554 	(propagate_subaccesses_across_link): Likewise.
   14555 	(ref_expr_for_all_replacements_p): Removed.
   14556 	(generate_subtree_copies): Updated comment.  Use build_ref_for_model.
   14557 	(sra_modify_expr): Use build_ref_for_model.
   14558 	(load_assign_lhs_subreplacements): Likewise.
   14559 	(sra_modify_assign): Removed ref_expr_for_all_replacements_p checks,
   14560 	checks for return values of build_ref_for_offset.
   14561 	* ipa-cp.c (ipcp_lattice_from_jfunc): No need to check return value of
   14562 	build_ref_for_offset.
   14563 	* ipa-prop.h: Include gimple.h
   14564 	* ipa-prop.c (ipa_compute_jump_functions): Update to look for MEM_REFs.
   14565 	(ipa_analyze_indirect_call_uses): Update comment.
   14566 	* Makefile.in (tree-sra.o): Add $(GIMPLE_H) to dependencies.
   14567 	(IPA_PROP_H): Likewise.
   14568 
   14569 2010-09-10  Martin Jambor  <mjambor (a] suse.cz>
   14570 
   14571 	PR tree-optimization/44972
   14572 	* ipa-prop.c (ipa_modify_call_arguments): Build MEM_REF instead of
   14573 	calling build_ref_for_offset.
   14574 
   14575 2010-09-09  Ramana Radhakrishnan  <ramana.radhakrishnan (a] arm.com>
   14576 
   14577 	* config/arm/bpabi.h (BE8_LINK_SPEC): Handle Cortex-a15.
   14578 	* config/arm/arm-cores.def (cortex-a15): New core. Treat it as a v7-a.
   14579 	* config/arm/arm-tune.md: Regenerate.
   14580 	* doc/invoke.texi (ARM Options): Document it.
   14581 
   14582 2010-09-09  Reza Yazdani  <reza.yazdani (a] amd.com>
   14583 
   14584 	* config/i386/i386.c: Include sched-int.h.
   14585 	(TARGET_SCHED_DISPATCH): Defined.
   14586 	(TARGET_SCHED_DISPATCH_DO): Defined.
   14587 	(DISPATCH_WINDOW_SIZE): Defined.
   14588 	(MAX_DISPATCH_WINDOWS): Defined.
   14589 	(MAX_INSN): Defined.
   14590 	(MAX_IMM): Defined.
   14591 	(MAX_IMM_SIZE): Defined.
   14592 	(MAX_IMM_32): Defined.
   14593 	(MAX_IMM_64): Defined.
   14594 	(MAX_LOAD): Defined.
   14595 	(MAX_STORE): Defined.
   14596 	(BIG): Defined.
   14597 	(dispatch_group): New.
   14598 	(num_allowable_groups): New.
   14599 	(group_name): New.
   14600 	(sched_insn_info_s): New.
   14601 	(dispatch_windows_s): New.
   14602 	(imm_info_s): New.
   14603 	(dispatch_window_list): New.
   14604 	(dispatch_window_list1): New.
   14605 	(get_mem_group): New.
   14606 	(is_cmp): New.
   14607 	(dispatch_violation): New.
   14608 	(is_branch): New.
   14609 	(is_prefetch): New.
   14610 	(init_window): New.
   14611 	(allocate_window): New.
   14612 	(init_dispatch_sched): New.
   14613 	(is_end_basic_block): New.
   14614 	(process_end_window): New.
   14615 	(allocate_next_window): New.
   14616 	(find_constant_1): New.
   14617 	(find_constant): New.
   14618 	(get_num_immediates): New.
   14619 	(has_immediate): New.
   14620 	(get_insn_path): New.
   14621 	(get_insn_group): New.
   14622 	(count_num_restricted): New.
   14623 	(fits_dispatch_window): New.
   14624 	(add_insn_window): New.
   14625 	(add_to_dispatch_window): New.
   14626 	(debug_dispatch_window_file): New.
   14627 	(debug_dispatch_window): New.
   14628 	(debug_insn_dispatch_info_file): New.
   14629 	(debug_ready_dispatch): New.
   14630 	(do_dispatch): New.
   14631 	(has_dispatch): New.
   14632 	* config/i386/i386.h (debug_ready_dispatch): Declared.
   14633 	(debug_dispatch_window): Declared.
   14634 	* config/i386/i386.opt (mdispatch-scheduler): New flag.
   14635 	* doc/tm.texi.in (TARGET_SCHED_DISPATCH): New.
   14636 	(TARGET_SCHED_DISPATCH_DO): New.
   14637 	* doc/tm.texi: Regererated.
   14638 	* haifa-sched.c (choose_ready): Call targetm.sched.dispatch and
   14639 	ready_remove_first_dispatch
   14640 	(schedule_block): Call targetm.sched.dispatch and
   14641 	targetm.sched.dispatch_do.
   14642 	(sched_init): Call targetm.sched.dispatch and
   14643 	targetm.sched.dispatch_do.
   14644 	(ready_remove_first_dispatch): New.
   14645 	(number_in_ready): New.
   14646 	(get_ready_element): New.
   14647 	* hooks.c (hook_bool_rtx_int_false): New.
   14648 	(hook_void_rtx_int): New.
   14649 	* hooks.h (hook_bool_rtx_int_false): Declared.
   14650 	(hook_void_rtx_int): Declared.
   14651 	* sched-int.h (IS_DISPATCH_ON): Defined.
   14652 	(IS_CMP): Defined.
   14653 	(DISPATCH_VIOLATION): Defined.
   14654 	(FITS_DISPATCH_WINDOW): Defined.
   14655 	(DISPATCH_INIT): Defined.
   14656 	(ADD_TO_DISPATCH_WINDOW): Defined.
   14657 	(get_ready_element): Declared.
   14658 	(number_in_ready): Declared.
   14659 	* target.def (dispatch): Defined.
   14660 	(dispatch_do): Defined.
   14661 
   14662 2010-09-09  Vladimir Makarov  <vmakarov (a] redhat.com>
   14663 
   14664 	PR middle-end/45312
   14665 	* reload1.c (merge_assigned_reloads): Remove.
   14666 	(reload_as_needed): Don't call it.
   14667 
   14668 2010-09-09  Anatoly Sokolov  <aesok (a] post.ru>
   14669 
   14670 	* config/m32r/m32r.c (m32r_mode_dependent_address_p): New functions.
   14671 	(TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
   14672 	* config/m32r/m32r.h: (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
   14673 
   14674 2010-09-09  Matthias Klose  <doko (a] ubuntu.com>
   14675 
   14676 	PR bootstrap/43847
   14677 	* configure.ac (--enable-plugin): Enhance for cross builds.
   14678 	* configure: Regenerate.
   14679 
   14680 2010-09-09  Jan Hubicka  <jh (a] suse.cz>
   14681 
   14682 	PR tree-optimization/45598
   14683 	* tree-ssa-ccp.c (fold_const_aggregate_ref): Check that result of
   14684 	string folding is of integral type.
   14685 
   14686 2010-09-09  Nathan Sidwell  <nathan (a] codesourcery.com>
   14687 
   14688 	* configure.ac (gnu_indirect_function): New test.
   14689 	* configure: Rebuilt.
   14690 	* config.in (HAVE_GAS_INDIRECT_FUNCTION): New.
   14691 	* defaults.h (IFUNC_ASM_TYPE): Provide default.
   14692 
   14693 	* doc/extend.texi (Function Attributes): Document ifunc.
   14694 	* varasm.c (do_assemble_alias): Deal with ifuncs too.
   14695 
   14696 2010-09-09  Hariharan Sandanagobalane  <hariharan (a] picochip.com>
   14697 
   14698 	* config/picochip/picochip.c (picochip_reorg): Check for note_p for
   14699 	epilogue instruction move.
   14700 
   14701 2010-09-09  Jan Hubicka  <jh (a] suse.cz>
   14702 
   14703 	* collect2.c (maybe_run_lto_and_relink): Rewrite code producing ld
   14704 	command line to allow more partitions than input files.
   14705 
   14706 2010-09-09  Vladimir Makarov  <vmakarov (a] redhat.com>
   14707 
   14708 	PR middle-end/44554
   14709 	* ira.c (ira): Switch off sharing spill slots if setjmp is called.
   14710 
   14711 2010-09-09  Vladimir Makarov  <vmakarov (a] redhat.com>
   14712 
   14713 	PR middle-end/40386
   14714 	* ira.c (pseudo_for_reload_consideration_p): Don't use
   14715 	flag_ira_share_spill_slots.
   14716 
   14717 2010-09-09  Ulrich Weigand  <Ulrich.Weigand (a] de.ibm.com>
   14718 
   14719 	* config/s390/s390.c (legitimate_reload_constant_p): Accept floating-
   14720 	point zero operands that fit into a single GPR.
   14721 	(s390_preferred_reload_class): Ensure we only return general-purpose
   14722 	register classes.
   14723 	* config/s390/s390.md ("*mov<mode>_64dfp"): Use lghi to load
   14724 	floating-point zero operands into GPRs.
   14725 	("*mov<mode>_64"): Likewise.
   14726 	("mov<mode>"): Likewise using lhi.
   14727 
   14728 2010-09-09  Ulrich Weigand  <Ulrich.Weigand (a] de.ibm.com>
   14729 
   14730 	* config/s390/s390.c (s390_symref_operand_p): Return false for
   14731 	literal pool references.
   14732 	(s390_check_qrst_address): Update caller.
   14733 
   14734 2010-09-09  Uros Bizjak  <ubizjak (a] gmail.com>
   14735 
   14736 	* config/i386/predicates.md (ext_register_operand): Check that
   14737 	SUBREG_REG is really a register before looking for REGNO.
   14738 	(reg_not_xmm0_operand): Handle SUBREGs correctly.
   14739 	(nonimm_not_xmm0_operand): Call reg_not_xmm0_operand.
   14740 
   14741 2010-09-09  Jakub Jelinek  <jakub (a] redhat.com>
   14742 
   14743 	* rtl.def (DEBUG_IMPLICIT_PTR): New rtl code.
   14744 	* rtl.h (DEBUG_IMPLICIT_PTR_DECL): Define.
   14745 	* rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle DEBUG_IMPLICIT_PTR.
   14746 	* print-rtl.c (print_rtx): Likewise.
   14747 	* cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
   14748 	* cfgexpand.c (expand_debug_expr): Generate DEBUG_IMPLICIT_PTR
   14749 	for ADDR_EXPR with non-addressable object.
   14750 	* dwarf2out.c (enum dw_val_class): Add dw_val_class_decl_ref.
   14751 	(struct dw_val_struct): Add v.val_decl_ref.
   14752 	(dwarf_stack_op_name, output_loc_operands, output_loc_operands_raw):
   14753 	Handle DW_OP_GNU_implicit_pointer.
   14754 	(size_of_loc_descr): Likewise.  Fix up DW_OP_call_ref size.
   14755 	(get_ref_die_offset_label): New function.
   14756 	(implicit_ptr_descriptor): New function.
   14757 	(mem_loc_descriptor): Handle DEBUG_IMPLICIT_PTR.
   14758 	(loc_descriptor): Likewise.
   14759 	(gen_variable_die): Put even definitions into decl_die_table.
   14760 	(resolve_addr_in_expr): Resolve still unresolved
   14761 	DW_OP_GNU_implicit_pointer operands, if it can't be resolved
   14762 	return false.
   14763 	(dwarf2out_finish): Call output_location_lists after outputting
   14764 	.debug_info and .debug_abbrev instead of before.
   14765 
   14766 2010-09-09  Roland McGrath  <roland (a] redhat.com>
   14767 
   14768 	* dwarf2out.c (DWARF_REF_SIZE): Define.
   14769 	(size_of_loc_descr): Use it for DW_OP_call_ref.
   14770 
   14771 2010-09-09  Alan Modra  <amodra (a] gmail.com>
   14772 
   14773 	* doc/invoke.text: Reinstate mcmodel=medium.
   14774 	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
   14775 	CMODEL_MEDIUM as default.
   14776 	* config/rs6000/rs6000.h (enum rs6000_cmodel): Add CMODEL_MEDIUM.
   14777 	* config/rs6000/rs6000.c (rs6000_handle_option): Add mcmodel=medium.
   14778 	(toc_relative_ok, offsettable_ok_by_alignment): New functions.
   14779 	(rs6000_emit_move): Reinstate mcmodel=medium optimization.
   14780 
   14781 2010-09-08  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   14782 
   14783 	PR target/45250
   14784 	* config/pa/pa.md (nonlocal_goto): Restore hard frame pointer using
   14785 	hard_frame_pointer_rtx instead of virtual_stack_vars_rtx.
   14786 	(builtin_longjmp): Likewise.
   14787 	(allocate_stack): Use hard_frame_pointer_rtx instead of
   14788 	frame_pointer_rtx.
   14789 	* config/pa/pa-protos.h (pa_initial_elimination_offset): Declare.
   14790 	* config/pa/pa.c (pa_internal_arg_pointer): Declare.
   14791 	(pa_can_eliminate): Likewise.
   14792 	(TARGET_INTERNAL_ARG_POINTER): Define.
   14793 	(TARGET_CAN_ELIMINATE): Define.
   14794 	(hppa_expand_prologue): Use hard frame pointer instead of soft frame
   14795 	pointer.
   14796 	(hppa_expand_epilogue, pa_eh_return_handler_rtx): Likewise.
   14797 	(pa_internal_arg_pointer, pa_can_eliminate,
   14798 	pa_initial_elimination_offset): New.
   14799 	* config/pa/pa.h (FRAME_POINTER_REGNUM): Set to new general register.
   14800 	(HARD_FRAME_POINTER_REGNUM): Set to register three.
   14801 	(INITIAL_FRAME_POINTER_OFFSET): Delete.
   14802 	(ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET, DWARF_FRAME_REGISTERS):
   14803 	Define.
   14804 	(DWARF_ALT_FRAME_RETURN_COLUMN, REGNO_OK_FOR_INDEX_P,
   14805 	REGNO_OK_FOR_BASE_P): Update to include soft frame pointer.
   14806 	* config/pa/pa32-regs.h (FIRST_PSEUDO_REGISTER): Increase by one.
   14807 	(FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
   14808 	REG_CLASS_CONTENTS, REGNO_REG_CLASS, REGISTER_NAMES): Update to include
   14809 	new soft frame pointer.
   14810 	* config/pa/pa64-regs.h: Likewise.
   14811 
   14812 2010-09-08  Uros Bizjak  <ubizjak (a] gmail.com>
   14813 
   14814 	* config/i386/i386.h (EH_RETURN_DATA_REGNO) Use DX_REG instead of
   14815 	numerical constant.
   14816 	(EH_RETURN_STACKADJ_RTX): Use CX_REG insted of numerical constant.
   14817 
   14818 2010-09-08  Alexandre Oliva  <aoliva (a] redhat.com>
   14819 
   14820 	PR debug/45531
   14821 	* cfglayout.c (fixup_reorder_chain): Skip debug insns.
   14822 
   14823 2010-09-08  Alexandre Oliva  <aoliva (a] redhat.com>
   14824 
   14825 	PR debug/45419
   14826 	PR debug/45408
   14827 	* tree-pretty-print.c (dump_generic_node): Disregard top-level
   14828 	qualifiers in otherwise equal MEM_REF pointer types.
   14829 	* fold-const.c (operand_equal_p): Compare pointer type of MEM_REFs.
   14830 	* tree.c (iterative_hash_expr): Hash the pointer type of MEM_REFs.
   14831 
   14832 2010-09-08  Ramana Radhakrishnan  <ramana.radhakrishnan (a] arm.com>
   14833 
   14834 	PR target/44392
   14835 	* config/arm/arm.md (bswapsi2): Handle condition correctly
   14836 	for armv6 and optimize_size.
   14837 
   14838 2010-09-08  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
   14839 
   14840 	PR other/18555
   14841 	* doc/cppopts.texi (-isysroot): Document Darwin behaviour.
   14842 
   14843 2010-09-08  Uros Bizjak  <ubizjak (a] gmail.com>
   14844 
   14845 	* config/i386/i386-protos.h (ix86_can_use_return_insn_p,
   14846 	symbolic_reference_mentioned_p, ix86_expand_movmem, ix86_expand_setmem,
   14847 	ix86_expand_strlen, legitimate_pic_address_disp_p,
   14848 	ix86_binary_operator_ok, ix86_unary_operator_ok, ix86_match_ccmode,
   14849 	ix86_expand_int_movcc, ix86_expand_fp_movcc, ix86_expand_int_addcc,
   14850 	ix86_check_movabs, ix86_secondary_memory_needed): Change function
   14851 	prototype to bool.
   14852 	* config/i386/i386.c (return_in_memory_32, return_in_memory_64,
   14853 	return_in_memory_ms_64, ix86_check_movabs,
   14854 	symbolic_reference_mentioned_p, ix86_can_use_return_insn_p,
   14855 	legitimate_pic_address_disp_p, ix86_binary_operator_ok,
   14856 	ix86_unary_operator_ok, ix86_match_ccmode, ix86_expand_int_movcc,
   14857 	ix86_expand_fp_movcc, ix86_expand_int_addcc, ix86_expand_movmem,
   14858 	ix86_expand_setmem, ix86_expand_strlen, inline_secondary_memory_needed,
   14859 	ix86_secondary_memory_needed): Change to bool.  Return
   14860 	"true" and "false" values.
   14861 	* config/i386/i386.md: Return "true" and "false" values.
   14862 
   14863 2010-09-08  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   14864 
   14865 	* doc/sourcebuild.texi (Effective-Target Keywords): Document
   14866 	run_expensive_tests.
   14867 
   14868 2010-09-08  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   14869 
   14870 	* toplev.c (output_stack_usage): Use lbasename instead of basename.
   14871 
   14872 2010-09-08  Martin Jambor  <mjambor (a] suse.cz>
   14873 
   14874 	PR other/45443
   14875 	* doc/invoke.texi: Add -fipa-cp-clone to list of switches turned on
   14876 	at -O3.
   14877 
   14878 2010-09-08  Richard Guenther  <rguenther (a] suse.de>
   14879 
   14880 	* gimple.c (gimple_types, type_hash_cache): Move to GC memory.
   14881 	(visit): Adjust.
   14882 	(iterative_hash_gimple_type): Likewise.
   14883 	(gimple_type_hash): Likewise.
   14884 	(gimple_register_type): Likewise.
   14885 	(print_gimple_types_stats): Likewise.
   14886 	(free_gimple_type_tables): Likewise.
   14887 
   14888 2010-09-08  Michael Matz  <matz (a] suse.de>
   14889 
   14890 	PR tree-optimization/43430
   14891 	* tree-vect-stmts.c (vectorizable_condition): Support multiple
   14892 	copies for conditional statements if it's not part of a reduction.
   14893 
   14894 2010-09-08  Michael Matz  <matz (a] suse.de>
   14895 
   14896 	PR tree-optimization/33244
   14897 	* tree-ssa-sink.c (statement_sink_location): Don't sink into
   14898 	empty loop latches.
   14899 
   14900 2010-09-08  Richard Guenther  <rguenther (a] suse.de>
   14901 
   14902 	PR tree-optimization/45578
   14903 	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr):
   14904 	Be more careful when transfering alignment information to
   14905 	the new induction variable.
   14906 	(copy_ref_info): Likewise.
   14907 
   14908 2010-09-08  Richard Guenther  <rguenther (a] suse.de>
   14909 
   14910 	* tree.h (TYPE_ORIG_SIZE_TYPE): Remove.
   14911 	* c-typeck.c (comptypes_internal): Remove TYPE_ORIG_SIZE_TYPE checks.
   14912 
   14913 2010-09-08  Arnaud Charlet  <charlet (a] adacore.com>
   14914 
   14915 	* c-tree.h, c-decl.c (build_enumerator): Add location parameter.
   14916 	* c-parser.c (c_parser_enum_specifier): Adjust call to build_enumerator.
   14917 
   14918 2010-09-08  Kenneth Zadeck  <zadeck (a] naturalbridge.com>
   14919 
   14920 	PR doc/45587
   14921 	* doc/md.texi: Fixed modes on several standard pattern names.
   14922 
   14923 2010-09-08  Mingjie Xing  <mingjie.xing (a] gmail.com>
   14924 
   14925 	* config/mips/loongson.md (loongson_psll<V_suffix>): Rename to...
   14926 	(ashl<mode>3): ...this.
   14927 	(loongson_psra<V_suffix>): Rename to...
   14928 	(ashr<mode>3): ...this.
   14929 	(loongson_psrl<V_suffix>): Rename to...
   14930 	(lshr<mode>3): ...this.
   14931 	* config/mips/mips.c (CODE_FOR_loongson_psllh): Define.
   14932 	(CODE_FOR_loongson_psllw): Define.
   14933 	(CODE_FOR_loongson_psrlh): Define.
   14934 	(CODE_FOR_loongson_psrlw): Define.
   14935 	(CODE_FOR_loongson_psrah): Define.
   14936 	(CODE_FOR_loongson_psraw): Define.
   14937 
   14938 2010-09-07  Richard Henderson  <rth (a] redhat.com>
   14939 
   14940 	* tree-vect-data-refs.c: Include tm_p.h.
   14941 	* Makefile.in (tree-vect-data-refs.o): Update deps.
   14942 	* config/i386/i386-protos.h (ix86_cfun_abi, ix86_function_type_abi):
   14943 	Move delarations outside #ifdef RTX_CODE.
   14944 
   14945 2010-09-07  Richard Henderson  <rth (a] redhat.com>
   14946 
   14947 	* final.c (rest_of_handle_final): Unconditionally do
   14948 	output_function_exception_table before assemble_end_function.
   14949 
   14950 2010-09-07  Jan Hubicka  <jh (a] suse.cz>
   14951 
   14952 	* tree-inline.c (tree_inlinable_function_p): Do not test
   14953 	DECL_REPLACEABLE_P.
   14954 	* ipa-inline.c (cgraph_default_inline_p, update_caller_keys,
   14955 	update_callee_keys, cgraph_decide_inlining): Test function availability.
   14956 	* cif-code.def (OVERWRITABLE): New code.
   14957 
   14958 2010-09-07  H.J. Lu  <hjl.tools (a] gmail.com>
   14959 	    Jack Howarth  <howarth (a] bromo.med.uc.edu>
   14960 
   14961 	PR target/36502
   14962 	PR target/42313
   14963 	PR target/44651
   14964 	* config/i386/darwin.h (STACK_BOUNDARY): Redefine as 128 for
   14965 	profiling or 64-bit MS_ABI and as BITS_PER_WORD otherwise.
   14966 	(PREFERRED_STACK_BOUNDARY): Replace STACK_BOUNDARY with 128 in
   14967 	MAX macro.
   14968 
   14969 2010-09-07  H.J. Lu  <hongjiu.lu (a] intel.com>
   14970 
   14971 	* unwind-dw2-fde-glibc.c: Include <elf.h> for DT_CONFIG.
   14972 	Include <link.h> only if USE_PT_GNU_EH_FRAME is defined.
   14973 
   14974 2010-09-07  H.J. Lu  <hongjiu.lu (a] intel.com>
   14975 
   14976 	* config.gcc: Don't append t-android for Android targets.
   14977 
   14978 	* config/t-android: Removed.
   14979 
   14980 2010-09-07  Richard Henderson  <rth (a] redhat.com>
   14981 
   14982 	* target.def (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): New hook.
   14983 	* doc/tm.texi.in: Add doc marker.
   14984 	* doc/tm.texi: Rebuild.
   14985 	* except.c (switch_to_exception_section): Always build.
   14986 	(output_one_function_exception_table): Move section switch,
   14987 	personality output, and label output ...
   14988 	(output_function_exception_table): ... here.  Use the new
   14989 	personality hook.
   14990 
   14991 	* config/ia64/ia64.c (ia64_asm_emit_except_personality,
   14992 	ia64_asm_init_sections, TARGET_ASM_EMIT_EXCEPT_PERSONALITY,
   14993 	TARGET_ASM_INIT_SECTIONS): New.
   14994 	(ia64_asm_unwind_emit): Rename from process_for_unwind_directive,
   14995 	make static.
   14996 	(TARGET_ASM_UNWIND_EMIT): Update to match.
   14997 	* config/ia64/ia64-protos.h (process_for_unwind_directive): Remove.
   14998 
   14999 	* config/arm/arm.c (arm_asm_emit_except_personality): New.
   15000 	(arm_asm_init_sections): New.
   15001 	(TARGET_ASM_EMIT_EXCEPT_PERSONALITY, TARGET_ASM_INIT_SECTIONS): New.
   15002 
   15003 2010-09-07  Ramana Radhakrishnan  <ramana.radhakrishnan (a] arm.com>
   15004 
   15005 	* config/arm/arm.md: Remove unused variable.
   15006 
   15007 2010-09-07  Anatoly Sokolov  <aesok (a] post.ru>
   15008 
   15009 	* config/m32r/m32r.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
   15010 	* config/m32r/m32r.c (TARGET_MEMORY_MOVE_COSTS): Define.
   15011 	(m32r_memory_move_cost): New function.
   15012 
   15013 2010-09-07  H.J. Lu  <hongjiu.lu (a] intel.com>
   15014 
   15015 	* config.gcc: Append t-android for Android targets.
   15016 
   15017 	* config/t-android: New.
   15018 
   15019 2010-09-07  Richard Henderson  <rth (a] redhat.com>
   15020 
   15021 	* target.def (unwind_emit_before_insn): New hook.
   15022 	* doc/tm.texi.in: Add @hook marker for it.
   15023 	* doc/tm.texi: Rebuild.
   15024 	* final.c (final_scan_insn): Respect unwind_emit_before_insn.
   15025 
   15026 2010-09-07  Martin Jambor  <mjambor (a] suse.cz>
   15027 
   15028 	PR fortran/43665
   15029 	* ipa-cp.c (ipcp_versionable_function_p): Return false if there
   15030 	are any type attributes.
   15031 
   15032 2010-09-07  Jan Hubicka  <jh (a] suse.cz>
   15033 
   15034 	* tree-ssa-ccp.c (fold_const_aggregate_ref): Fix handling of
   15035 	array_ref_low_bound in string access folding.
   15036 
   15037 2010-09-07  Uros Bizjak  <ubizjak (a] gmail.com>
   15038 
   15039 	PR target/45206
   15040 	* config/i386/i386.c (ix86_expand_epilogue): Mark SP as valid after
   15041 	eh_return fixup sequence.
   15042 
   15043 2010-09-07  Jan Hubicka  <jh (a] suse.cz>
   15044 
   15045 	* gimple-fold.c (maybe_fold_reference): Verify that operand is
   15046 	gimple_min_invariant.
   15047 
   15048 2010-09-07  Richard Guenther  <rguenther (a] suse.de>
   15049 
   15050 	PR middle-end/45569
   15051 	* tree-eh.c (operation_could_trap_helper_p): Neither COMPLEX_EXPR
   15052 	nor CONSTRUCTOR can trap.
   15053 	* tree-complex.c (update_complex_assignment): Update EH info.
   15054 
   15055 2010-09-07  Richard Guenther  <rguenther (a] suse.de>
   15056 
   15057 	PR middle-end/45569
   15058 	* tree-cfg.c (build_gimple_cfg): Remove redundant stmt verification.
   15059 	* passes.c (execute_function_todo): Do not verify anything if
   15060 	we saw errors.
   15061 
   15062 2010-09-07  Richard Guenther  <rguenther (a] suse.de>
   15063 
   15064 	* tree-pretty-print.c (dump_generic_node): Dump void types as void.
   15065 
   15066 2010-09-07  Bernd Schmidt  <bernds (a] codesourcery.com>
   15067 
   15068 	PR target/43137
   15069 	* config/arm/iterators.md (qhs_zextenddi_cond, qhs_sextenddi_cond):
   15070 	New define_mode_attrs.
   15071 	* config/arm/arm.md (zero_extendsidi2, arm_zero_extendsidi2,
   15072 	arm_exxtendsidi2, arm_extendsidi2): Delete patterns.
   15073 	(zero_extend<mode>di2, extend<mode>di2 and related splits): New.
   15074 	(thumb1_zero_extendhisi2): Remove code to handle LABEL_REFs.
   15075 	Remove pool_range attribute.
   15076 	(arm_zero_extendhisi2, arm_zero_extendhisi2_v6, arm_zero_extendqisi2,
   15077 	arm_zero_extendqisi2_v6, thumb1_zero_extendqisi2_v6): Remove
   15078 	pool_range and neg_pool_range attributes.
   15079 	* config/arm/thumb2.md (thumb2_zero_extendsidi2,
   15080 	thumb2_zero_extendhidi2, thumb2_zero_extendqidi2, thumb2_extendsidi2,
   15081 	thumb2_extendhidi2, thumb2_extendqidi2): Delete.
   15082 
   15083 2010-09-06  H.J. Lu  <hongjiu.lu (a] intel.com>
   15084 
   15085 	* config/i386/linux-unwind.h (x86_fallback_frame_state): Properly
   15086 	check glibc.
   15087 
   15088 2010-09-06  Uros Bizjak  <ubizjak (a] gmail.com>
   15089 
   15090 	PR target/22152
   15091 	* config/i386/mmx.md (*mov<mode>_internal_rex64,
   15092 	*mov<mode>_internal_avx, *mov<mode>_internal,
   15093 	*movv2sf_internal_rex64_avx, *movv2sf_internal_rex64,
   15094 	*movv2sf_internal_avx, *movv2sf_internal): Split out !y-!y alternative.
   15095 
   15096 2010-09-06  Mark Mitchell  <mark (a] codesourcery.com>
   15097 
   15098 	* c-typeck.c (do_warn_double_promotion): Remove.
   15099 	* doc/invoke.texi (-Wdouble-promotion): Note available for C++ and
   15100 	Objective-C++ too.
   15101 
   15102 2010-09-06  Anatoly Sokolov  <aesok (a] post.ru>
   15103 
   15104 	* config/frv/frv.h (CLASS_LIKELY_SPILLED_P): Remove.
   15105 	* config/frv/frv-protos.h (frv_class_likely_spilled_p): Remove.
   15106 	* config/frv/frv.c (frv_class_likely_spilled_p): Make static. Change
   15107 	argument type to reg_class_t. Change result type to bool.
   15108 	(TARGET_CLASS_LIKELY_SPILLED_P): Define.
   15109 
   15110 2010-09-06  Nicola Pero  <nicola.pero (a] meta-innovation.com>
   15111 
   15112 	PR libobjc/19850
   15113 	* gthr-posix.h (__gthread_objc_thread_detach): Use
   15114 	_objc_thread_attribs when detaching a thread.
   15115 	* gthr-posix95.h (__gthread_objc_thread_detach): Same change.
   15116 
   15117 2010-09-06  H.J. Lu  <hongjiu.lu (a] intel.com>
   15118 
   15119 	PR target/45524
   15120 	* configure.ac (enable_decimal_float): Set to $default_decimal_float.
   15121 	* configure: Regenerated.
   15122 
   15123 2010-09-06  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   15124 
   15125 	* combine.c (try_combine): Set subst_low_luid to i0.
   15126 
   15127 2010-09-06  Richard Guenther  <rguenther (a] suse.de>
   15128 
   15129 	* tree.def (MISALIGNED_INDIRECT_REF): Remove.
   15130 	* tree.h (INDIRECT_REF_P): Only check for INDIRECT_REF.
   15131 	(build_aligned_type): Declare.
   15132 	* tree.c (check_qualified_type): Also compare TYPE_ALIGN.
   15133 	(check_aligned_type): New function.
   15134 	(build_aligned_type): Likewise.
   15135 	* expr.c (expand_assignment): Handle misaligned stores via
   15136 	TARGET_MEM_REF and MEM_REF using movmisalign_optab.
   15137 	(expand_expr_real_1): Likewise.
   15138 	(safe_from_p): Remove MISALIGNED_INDIRECT_REF handling.
   15139 	* tree-vect-stmts.c (vectorizable_store): Do not build
   15140 	MISALIGNED_INDIRECT_REF but initialize alignment information.
   15141 	(vectorizable_load): Likewise.
   15142 	* builtins.c (get_object_alignment): Remove MISALIGNED_INDIRECT_REF
   15143 	handling.
   15144 	* cfgexpand.c (expand_debug_expr): Likewise.
   15145 	* dwarf2out.c (loc_list_from_tree): Likewise.
   15146 	* fold-const.c (maybe_lvalue_p): Likewise.
   15147 	(operand_equal_p): Likewise.
   15148 	(build_fold_addr_expr_with_type_loc): Likewise.
   15149 	* gimplify.c (gimplify_addr_expr): Likewise.
   15150 	(gimplify_expr): Likewise.
   15151 	* tree-cfg.c (verify_types_in_gimple_min_lval): Likewise.
   15152 	(verify_gimple_assign_single): Likewise.
   15153 	* tree-dump.c (dequeue_and_dump): Likewise.
   15154 	(tree_could_trap_p): Likewise.
   15155 	* tree-predcom.c (ref_at_iteration): Likewise.
   15156 	* tree-pretty-print.c (dump_generic_node): Likewise.
   15157 	(op_code_prio): Likewise.
   15158 	(op_symbol_code): Likewise.
   15159 	* tree-ssa-ccp.c (get_value_from_alignment): Likewise.
   15160 	* tree-ssa-loop-im.c (for_each_index): Likewise.
   15161 	(gen_lsm_tmp_name): Likewise.
   15162 	* tree-ssa-loop-ivopts.c (idx_find_step): Likewise.
   15163 	(find_interesting_uses_address): Likewise.
   15164 	* tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
   15165 	* tree-ssa-operands.c (get_expr_operands): Likewise.
   15166 	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
   15167 	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
   15168 	(ao_ref_init_from_vn_reference): Likewise.
   15169 	* tree.c (staticp): Likewise.
   15170 	(build1_stat): Likewise.
   15171 	(reference_alias_ptr_type): Likewise.
   15172 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
   15173 	* config/rs6000/rs6000.c (rs6000_check_sdmode): Remove
   15174 	MISALIGNED_INDIRECT_REF handling.
   15175 
   15176 2010-09-06  Richard Guenther  <rguenther (a] suse.de>
   15177 
   15178 	PR tree-optimization/45534
   15179 	* tree-ssa-address.c (create_mem_ref_raw): Add verify parameter.
   15180 	(create_mem_ref): Do verify the created TARGET_MEM_REF is valid
   15181 	on the target.
   15182 	(maybe_fold_tmr): Do not verify the created TARGET_MEM_REF is
   15183 	valid on the target.
   15184 
   15185 2010-09-06  Andreas Schwab  <schwab (a] redhat.com>
   15186 
   15187 	* configure.ac: Quote argument of AC_MSG_WARN.
   15188 	* configure: Regenerate.
   15189 
   15190 2010-09-06  Alexander Monakov  <amonakov (a] ispras.ru>
   15191 
   15192 	* sel-sched.c (move_cond_jump): Correct arguments to
   15193 	maybe_tidy_empty_bb.
   15194 	* sel-sched-ir.c (maybe_tidy_empty_bb): Export.
   15195 
   15196 2010-09-06  Andrey Belevantsev  <abel (a] ispras.ru>
   15197 
   15198 	PR rtl-optimization/44919
   15199 	* sel-sched.c (move_cond_jump): Remove assert, check that
   15200 	the several blocks case can only happen with mutually exclusive
   15201 	insns instead.  Rewrite the movement code to support moving through
   15202 	several basic blocks.
   15203 
   15204 2010-09-06  Uros Bizjak  <ubizjak (a] gmail.com>
   15205 
   15206 	* config/i386/i386.md (iptrsize): New mode attribute.
   15207 	(tp_seg): Ditto.
   15208 	(*load_tp_<mode>): Macroize insn from *load_tp_{si,di} using P
   15209 	mode iterator.
   15210 	(*add_tp_<mode>): Ditto from *add_tp_{si,di}.
   15211 	(stack_protect_set_<mode>): Ditto from stack_protect_set_{si,di}.
   15212 	(stack_protect_test_<mode>): Ditto from stack_protect_test_{si,di}.
   15213 	(stack_tls_protect_set_<mode>): Ditto from
   15214 	stack_tls_protect_set_{si,di}.  Use %@ to output segment register
   15215 	of thread base pointer load.
   15216 	(stack_tls_protect_test_<mode>): Ditto from
   15217 	stack_tls_protect_test_{si,di}.  Use %@ to output segment register
   15218 	of thread base pointer load.
   15219 	(stack_protect_set): Rewrite using indirect functions.
   15220 	(stack_protect_test): Ditto.
   15221 	* config/i386/i386.c (ix86_print_operand_punct_valid): Add '@'.
   15222 	(ix86_print_operand): Handle '@'.
   15223 
   15224 2010-09-05  Giuseppe Scrivano  <gscrivano (a] gnu.org>
   15225 
   15226 	* tree-tailcall.c (process_assignment): Handle NEGATE_EXPR and
   15227 	MINUS_EXPR.
   15228 
   15229 2010-09-05  Mark Mitchell  <mark (a] codesourcery.com>
   15230 
   15231 	* doc/invoke.texi: Document -Wdouble-promotion.
   15232 	* c-typeck.c (convert_arguments): Check for implicit conversions
   15233 	from float to double.
   15234 	(do_warn_double_promotion): New function.
   15235 	(build_conditional_expr): Use it.
   15236 	(build_binary_op): Likewise.
   15237 
   15238 2010-09-05  Richard Guenther  <rguenther (a] suse.de>
   15239 
   15240 	PR tree-optimization/45535
   15241 	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
   15242 	handle TMR_INDEX2.  Make sure TMR_INDEX is not NULL before
   15243 	dereferencing it.
   15244 	(indirect_refs_may_alias_p): Likewise.
   15245 
   15246 2010-09-05  Naveen H.S  <naveen.S (a] kpitcummins.com>
   15247 
   15248 	* config/sh/sh.c (sh_option_override): Make static.
   15249 	Adjust comments.  Declare.
   15250 	(sh_function_value_regno_p): Likewise.
   15251 	(sh_register_move_cost): Modify the arguments, make static.
   15252 	Adjust comments.  Declare.
   15253 	(TARGET_OPTION_OVERRIDE, TARGET_REGISTER_MOVE_COST
   15254 	TARGET_FUNCTION_VALUE_REGNO_P): Define.
   15255 	* config/sh/sh.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P
   15256 	REGISTER_MOVE_COST): Delete.
   15257 	* config/sh/sh-protos.h (sh_override_options): Delete.
   15258 	(sh_register_move_cost): Delete.
   15259 	(sh_function_value_regno_p): Delete.
   15260 
   15261 2010-09-04  Anatoly Sokolov  <aesok (a] post.ru>
   15262 
   15263 	* config/m32r/m32r.c (m32r_function_value, m32r_libcall_value,
   15264 	m32r_function_value_regno_p): New functions.
   15265 	(TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
   15266 	TARGET_FUNCTION_VALUE_REGNO_P): Declare.
   15267 	* config/m32r/m32r.h: (FUNCTION_VALUE, LIBCALL_VALUE,
   15268 	FUNCTION_VALUE_REGNO_P): Remove.
   15269 
   15270 2010-09-04  Jan Hubicka  <jh (a] suse.cz>
   15271 
   15272 	* gimple-fold.c (maybe_fold_reference): Use fold_const_aggregate_ref.
   15273 	* tree-ssa-ccp.c (fold_const_aggregate_ref): Use
   15274 	fold_read_from_constant_string.
   15275 
   15276 	* gimple.h (canonicalize_constructor_val): Declare.
   15277 	* gimple-fold.c (canonicalize_constructor_val): New function.
   15278 	(get_symbol_constant_value):Use it.
   15279 	* tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
   15280 
   15281 2010-09-04  Jan Hubicka  <jh (a] suse.cz>
   15282 
   15283 	* tree-switch-conversion.c (build_one_array): Set constructor to be
   15284 	static.
   15285 	* varpool.c (varpool_finalize_decl): Compute const_value_known.
   15286 
   15287 2010-09-04  Richard Guenther  <rguenther (a] suse.de>
   15288 
   15289 	PR bootstrap/45519
   15290 	* tree-flow.h (force_gimple_operand_1): Declare.
   15291 	(force_gimple_operand_gsi_1): Likewise.
   15292 	* gimplify.c (force_gimple_operand_1): New worker taking a
   15293 	gimple predicate for ...
   15294 	(force_gimple_operand): ... which now wraps it.
   15295 	(force_gimple_operand_gsi_1, force_gimple_operand_gsi): Likewise.
   15296 	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Revert
   15297 	last change.
   15298 	* tree-ssa-address.c (gimplify_mem_ref_parts): Use
   15299 	force_gimple_operand_gsi_1 with is_gimple_mem_ref_addr.
   15300 	(create_mem_ref): Likewise.
   15301 
   15302 2010-09-04  Uros Bizjak  <ubizjak (a] gmail.com>
   15303 
   15304 	* config/i386/predicates.md (sse_reg_operand): New predicate.
   15305 	* config/i386/i386.md (TFmode push splitter): Use sse_reg_operand
   15306 	predicate for operand 1.
   15307 	(XFmode push splitter): Use fp_register_operand predicate
   15308 	for operand 1.
   15309 	(*dummy_extendsfdf2, *dummy_extendsfxf2): Remove disabled patterns.
   15310 	(SF-DF float_extend push splitter): Add reload_completed insn
   15311 	predicate.
   15312 	({SF,DF}-XF float_extend_push splitter): Macroize splitter using
   15313 	MODEF mode macro.  Add reload_completed insn predicate.
   15314 
   15315 2010-09-04  Paolo Bonzini  <bonzini (a] gnu.org>
   15316 
   15317 	* df.h (enum df_ref_class): Remove DF_REF_EXTRACT.
   15318 	(struct df_extract_ref): Remove.
   15319 	(union df_ref_d): Remove extract_ref member.
   15320 	(df_ref_create): Remove last three arguments.
   15321 	(DF_REF_LOC): Remove DF_REF_EXTRACT case.
   15322 	* df-scan.c (df_ref_record): Remove last three arguments, do not
   15323 	pass them to df_ref_create_structure.
   15324 	(df_uses_record): Remove first and last three arguments.  Replace
   15325 	first argument with DF_REF_REGULAR, adjust calls to remove the
   15326 	width, offset and mode.  Always call recursively on the second
   15327 	and third argument of ZERO_EXTRACT and SIGN_EXTRACT.
   15328 	(df_ref_create_structure): Remove first argument.
   15329 	(struct df_scan_problem_data): Remove ref_extract_pool.
   15330 	(df_scan_free_internal): Do not free it.
   15331 	(df_scan_alloc): Do not allocate it.
   15332 	(df_ref_create): Remove last three arguments, do not pass them to
   15333 	df_ref_create_structure.
   15334 	(df_free_ref): Remove DF_REF_EXTRACT case.
   15335 	(df_notes_rescan): Adjust call to df_uses_record.
   15336 	(df_ref_equal_p, df_ref_compare, df_ref_create_structure):
   15337 	Remove DF_REF_EXTRACT case.
   15338 	(df_def_record_1): Do not special case class for a ZERO_EXTRACT lhs.
   15339 	Adjust calls to df_ref_record, using DF_REF_REGULAR for all REG
   15340 	and SUBREG definitions.
   15341 	(df_get_conditional_uses): Remove references to width/offset/mode,
   15342 	adjust call to df_ref_create_structure.
   15343 	(df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect,
   15344 	df_entry_block_defs_collect, df_exit_block_uses_collect): Adjust
   15345 	calls to df_uses_record and df_ref_record.
   15346 	* fwprop.c (update_df): Remove references to width/offset/mode,
   15347 	adjust call to df_ref_create.
   15348 
   15349 2010-09-03  Jan Hubicka  <jh (a] suse.cz>
   15350 
   15351 	* ipa.c (build_cdtor): Take VECtor as argument; fix array walk.
   15352 	(build_cdtor_fns): Update use of build_cdtor.
   15353 
   15354 2010-09-03  Joseph Myers  <joseph (a] codesourcery.com>
   15355 
   15356 	* doc/options.texi (SeparateAlias): Document.
   15357 	* opt-functions.awk (switch_flags): Handle SeparateAlias.
   15358 	* opth-gen.awk: Generate enumeration names for options marked
   15359 	SeparateAlias, but not for those marked Ignore.
   15360 	* opts-common.c (generate_canonical_option): Don't output separate
   15361 	argument for options marked CL_SEPARATE_ALIAS.
   15362 	(decode_cmdline_option): Handle CL_SEPARATE_ALIAS.
   15363 	* opts.h (CL_SEPARATE_ALIAS): New.
   15364 	(CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
   15365 	CL_COMMON): Adjust definitions.
   15366 	* config/i386/darwin.opt, config/mips/sde.opt: New.
   15367 	* common.opt (fdump-final-insns): New.
   15368 	* config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
   15369 	i386/darwin.opt.
   15370 	(mips*-sde-elf*): Add mips/sde.opt.
   15371 	* config/mips/sde.h (DRIVER_SELF_SPECS): Don't handle
   15372 	-mno-data-in-code and -mcode-xonly here.
   15373 	* defaults.h (DEFAULT_SWITCH_TAKES_ARG): Add 'd'.
   15374 	* gcc.c (option_map): Add "j" to --dump entry.
   15375 	(translate_options): Don't translate -d to -foutput-class-dir= here.
   15376 
   15377 2010-09-03  Sebastian Pop  <sebastian.pop (a] amd.com>
   15378 
   15379 	* tree-data-ref.c (dr_may_alias_p): Replace !DR_IS_READ with
   15380 	DR_IS_WRITE.
   15381 	(compute_all_dependences): Same.
   15382 	(create_rdg_edge_for_ddr): Same.
   15383 	* tree-data-ref.h (DR_IS_WRITE): New.
   15384 	(ddr_is_anti_dependent): Replace !DR_IS_READ with DR_IS_WRITE.
   15385 	* tree-if-conv.c (write_memrefs_written_at_least_once): Same.
   15386 	(write_memrefs_written_at_least_once): Same.
   15387 	* tree-predcom.c (suitable_component_p): Same.
   15388 	(determine_roots_comp): Same.
   15389 	(execute_load_motion): Same.
   15390 	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Same.
   15391 	(vect_enhance_data_refs_alignment): Same.
   15392 	(vect_analyze_group_access): Same.
   15393 
   15394 2010-09-03  Joern Rennecke  <joern.rennecke (a] embecosm.com>
   15395 
   15396 	PR testsuite/42843
   15397 	* Makefile.in (PLUGINCC): Define in terms of @CC@ / @CXX@
   15398 	(PLUGINCFLAGS): Define in terms of @CFLAGS@ / @CXXFLAGS@
   15399 
   15400 2010-09-03  Marcin Baczynski  <marbacz (a] gmail.com>
   15401 
   15402 	* dwarf2out.c (file scope): Remove #if0'd code.
   15403 	(gen_subprogram_die): Same.
   15404 
   15405 2010-09-03  Jakub Jelinek  <jakub (a] redhat.com>
   15406 
   15407 	PR middle-end/45484
   15408 	* dwarf2out.c (flush_queued_reg_saves): Rename to...
   15409 	(dwarf2out_flush_queued_reg_saves): ... this.  No longer static.
   15410 	(dwarf2out_frame_debug_expr, dwarf2out_frame_debug): Adjust callers.
   15411 	* dwarf2out.h (dwarf2out_flush_queued_reg_saves): New prototype.
   15412 	* config/i386/i386.c (output_set_got): Call it.
   15413 
   15414 2010-09-03  Michael Matz  <matz (a] suse.de>
   15415 
   15416 	PR middle-end/45415
   15417 	* tree-sra.c (sra_modify_assign): If we modify the statement,
   15418 	say so.
   15419 
   15420 	* tree-ssa.c (verify_ssa): Check number of operands and links
   15421 	per statement to agree.
   15422 
   15423 2010-09-03  Uros Bizjak  <ubizjak (a] gmail.com>
   15424 	    Iain Sandoe  <iains (a] gcc.gnu.org>
   15425 
   15426 	PR target/45476
   15427 	* config/i386/t-darwin (LIB2FUNCS_EXCLUDE): New.
   15428 	* config/i386/darwin.h (LIBGCC2_HAS_TF_MODE,
   15429 	LIBGCC2_TF_CEXT, TF_SIZE): New defines.
   15430 
   15431 2010-09-03  Richard Guenther  <rguenther (a] suse.de>
   15432 
   15433 	* lto-streamer-out.c (output_function): Output function
   15434 	start and end loci.
   15435 	* lto-streamer-in.c (input_function): Input function start
   15436 	and end loci.
   15437 
   15438 2010-09-03  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   15439 
   15440 	* configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
   15441 	* Makefile.in: Add aclocal.m4 dependency to dfp.m4.
   15442 	* configure: Regenerate.
   15443 	* aclocal.m4: Regenerate.
   15444 
   15445 2010-09-03  Jan Hubicka  <jh (a] suse.cz>
   15446 
   15447 	PR lto/44812
   15448 	* lto-cgraph.c (intput_node, input_varpool_node): Set DECL_EXTERNAL
   15449 	on functions/variables in other partition.
   15450 
   15451 2010-09-03  Jan Hubicka  <jh (a] suse.cz>
   15452 
   15453 	* cgraph.h (struct varpool_node): Add const_value_known.
   15454 	(varpool_decide_const_value_known): Declare.
   15455 	* tree-ssa-ccp.c (fold_const_aggregate_ref): Update initializer folding.
   15456 	* lto-cgraph.c (lto_output_varpool_node): Store const_value_known.
   15457 	(input_varpool_node): Restore const_value_known.
   15458 	* tree-ssa-loop-ivcanon (constant_after_peeling): Check varpool for
   15459 	initializer folding.
   15460 	* ipa.c (ipa_discover_readonly_nonaddressable_var,
   15461 	function_and_variable_visibility): Compute const_value_known.
   15462 	* gimple-fold.c (get_symbol_constant_value): Use varpool for
   15463 	initializer folding.
   15464 	* varpool.c (varpool_decide_const_value_known): New function.
   15465 
   15466 2010-09-03  Uros Bizjak  <ubizjak (a] gmail.com>
   15467 
   15468 	* config/i386/i386.md: Remove empty preparation statements
   15469 	from splitters.
   15470 
   15471 2010-09-03  Jan Hubicka  <jh (a] suse.cz>
   15472 
   15473 	* passes.c (rest_of_decl_compilation): Do not add local vars into
   15474 	varpool.
   15475 	* varpool.c (varpool_get_node, varpool_node): Sanity check that only
   15476 	static or extern vars are in varpool.
   15477 	(varpool_finalize_decl): Sanity check that only static vars are
   15478 	finalized.
   15479 
   15480 2010-09-03  Jakub Jelinek  <jakub (a] redhat.com>
   15481 
   15482 	PR debug/45500
   15483 	* dwarf2out.c (rtl_for_decl_init): Give up for all generic vectors,
   15484 	not just generic vectors with BLKmode.
   15485 
   15486 2010-09-03  Richard Guenther  <rguenther (a] suse.de>
   15487 
   15488 	* tree.def (TARGET_MEM_REF): Merge TMR_SYMBOL and TMR_BASE.
   15489 	Move TMR_OFFSET to second operand.  Add TMR_INDEX2.
   15490 	* tree.h (TMR_SYMBOL): Remove.
   15491 	(TMR_BASE, TMR_OFFSET): Adjust.
   15492 	(TMR_INDEX2): New.
   15493 	* alias.c (ao_ref_from_mem): Use TMR_BASE.
   15494 	* builtins.c (get_object_alignment): Merge TMR_BASE and
   15495 	TMR_SYMBOL handling.
   15496 	* cfgexpand.c (expand_debug_expr): Use TMR_BASE.
   15497 	* gimple.c (get_base_address): Merge MEM_REF and TARGET_MEM_REF
   15498 	handling.  Also allow TARGET_MEM_REF as base address.
   15499 	(walk_stmt_load_store_addr_ops): TMR_BASE is always non-NULL.
   15500 	* gimplify.c (gimplify_expr): Gimplify TMR_BASE like MEM_REF
   15501 	base.  Gimplify TMR_INDEX2.
   15502 	* tree-cfg.c (verify_types_in_gimple_reference): Adjust.
   15503 	* tree-dfa.c (get_ref_base_and_extent): Likewise.
   15504 	(get_addr_base_and_unit_offset): Likewise.
   15505 	* tree-eh.c (tree_could_trap_p): Likewise.
   15506 	* tree-pretty-print.c (dump_generic_node): Likewise.
   15507 	* tree-ssa-address.c (tree_mem_ref_addr): Simplify.  Handle TMR_INDEX2.
   15508 	(create_mem_ref_raw): Merge symbol and base.  Move 2ndary
   15509 	base to index2.
   15510 	(get_address_description): Reconstruct addres description
   15511 	from merged TMR_BASE and TMR_INDEX2.
   15512 	(maybe_fold_tmr): Fold propagated addresses.
   15513 	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Merge
   15514 	MEM_REF and TARGET_MEM_REF paths.
   15515 	(indirect_refs_may_alias_p): Likewise.
   15516 	* tree-ssa-live.c (mark_all_vars_used_1): Handle TMR_INDEX2
   15517 	instead of TMR_SYMBOL.
   15518 	* tree-ssa-operands.c (get_tmr_operands): Simplify.
   15519 	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Adjust
   15520 	according to changes ...
   15521 	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): ... here.
   15522 	Split TARGET_MEM_REF into two fields plus the base.
   15523 	* tree.c (mem_ref_offset): Simplify.
   15524 	* tree-ssa-loop-im.c (for_each_index): Handle TMR_INDEX2.
   15525 	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
   15526 	Strip NOPs when folding MEM_REF addresses.
   15527 	* tree-ssa-sink.c (is_hidden_global_store): Handle TARGET_MEM_REF.
   15528 	* gimple-fold.c (maybe_fold_reference): Fold TARGET_MEM_REF here ...
   15529 	(fold_gimple_assign): ... not here.
   15530 
   15531 2010-09-03  Mingjie Xing  <mingjie.xing (a] gmail.com>
   15532 
   15533 	* config/mips/mips.h (SHIFT_COUNT_TRUNCATED): Change the definition.
   15534 	* config/mips/mips.c (mips_shift_truncation_mask): New function.
   15535 	(TARGET_SHIFT_TRUNCATION_MASK): Define.
   15536 
   15537 2010-09-02  Richard Henderson  <rth (a] redhat.com>
   15538 
   15539 	* configure.ac (gcc_cv_as_cfi_advance_working): Use objdump
   15540 	instead of readelf in the test.
   15541 	(gcc_cv_as_cfi_sections_directive): Check for correct relocation
   15542 	in the .debug_frame section for coff targets.
   15543 	* configure: Rebuild.
   15544 
   15545 2010-09-02  Anatoly Sokolov  <aesok (a] post.ru>
   15546 
   15547 	* config/m32c/m32c.h (CLASS_LIKELY_SPILLED_P): Remove.
   15548 	* config/m32c/m32c-protos.h (m32c_class_likely_spilled_p): Remove.
   15549 	* config/m32c/m32c.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
   15550 	(m32c_class_likely_spilled_p): Make static. Change argument type to
   15551 	reg_class_t. Change result type to bool.
   15552 
   15553 2010-09-02  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   15554 
   15555 	* config/rs6000/rs6000.opt (-mfriz): New switch to control whether
   15556 	to convert (double)(long) into a single FRIZ instruction or not
   15557 	when -ffast-math is used.
   15558 
   15559 	* config/rs6000/vsx.md (VSX_DF): New iterator for DF/V2DF modes.
   15560 	(vsx_float_fix_<mode>2): Optimize (double)(long) into X{S,V}RDPIZ
   15561 	or FRIZ instruction if -ffast-math.
   15562 	* config/rs6000/rs6000.md (friz): Ditto.
   15563 
   15564 	* doc/invoke.texi (RS/6000 and PowerPC Options): Document -mfriz.
   15565 
   15566 2010-09-02  Joseph Myers  <joseph (a] codesourcery.com>
   15567 
   15568 	* opth-gen.awk (quote, comma): Remove unused variables.
   15569 
   15570 2010-09-02  Ryan Mansfield  <rmansfield (a] qnx.com>
   15571 
   15572 	* arm.c (arm_override_options): Correct fall-back code to use
   15573 	SUBTARGET_CPU_DEFAULT.
   15574 
   15575 2010-09-02  Julian Brown  <julian (a] codesourcery.com>
   15576 
   15577 	* config/arm/neon.md (UNSPEC_VCLE, UNSPEC_VCLT): New constants for
   15578 	unspecs.
   15579 	(vcond<mode>, vcondu<mode>): New expanders.
   15580 	(neon_vceq<mode>, neon_vcge<mode>, neon_vcgt<mode>): Support
   15581 	comparisons with zero.
   15582 	(neon_vcle<mode>, neon_vclt<mode>): New patterns.
   15583 	* config/arm/constraints.md (Dz): New constraint.
   15584 
   15585 2010-09-02  Anatoly Sokolov  <aesok (a] post.ru>
   15586 
   15587 	* target.def (class_likely_spilled_p): New hook.
   15588 	* doc/tm.texi.in (TARGET_CLASS_LIKELY_SPILLED_P): Document.
   15589 	* doc/tm.texi: Regenerate.
   15590 	* targhooks.c (default_class_likely_spilled_p): New function.
   15591 	* targhooks.h (default_class_likely_spilled_p): Declare.
   15592 	* regs.h (CLASS_LIKELY_SPILLED_P): Remove.
   15593 	* combine.c (cant_combine_insn_p, likely_spilled_retval_p): Use
   15594 	TARGET_CLASS_LIKELY_SPILLED_P target hook. Use HARD_REGISTER_P macro.
   15595 	Use fixed_reg_set instead of fixed_regs.
   15596 	* cse.c (hash_rtx_cb): Use TARGET_CLASS_LIKELY_SPILLED_P target hook.
   15597 	* calls.c (avoid_likely_spilled_reg): Ditto.
   15598 	* ira-conflicts.c (ira_build_conflicts): Ditto.
   15599 	* ira.c (update_equiv_regs): Ditto.
   15600 	* mode-switching.c (create_pre_exit): Ditto.
   15601 	* regmove.c (find_matches): Ditto.
   15602 	(regclass_compatible_p): Use TARGET_CLASS_LIKELY_SPILLED_P target hook.
   15603 	* reload.c (SMALL_REGISTER_CLASS_P): Remove macro.
   15604 	(small_register_class_p): New inline function.
   15605 	(push_secondary_reload, find_reusable_reload, find_reloads): Use
   15606 	small_register_class_p instead of SMALL_REGISTER_CLASS_P.
   15607 
   15608 	* config/i386/i386.h (CLASS_LIKELY_SPILLED_P): Remove.
   15609 	* config/i386/i386.c (ix86_class_likely_spilled_p): New.
   15610 	(TARGET_CLASS_LIKELY_SPILLED_P): Define.
   15611 
   15612 2010-09-02  Richard Guenther  <rguenther (a] suse.de>
   15613 
   15614 	PR tree-optimization/44937
   15615 	PR tree-optimization/45412
   15616 	* ipa-split.c (split_function): Properly remove PHI nodes.
   15617 
   15618 2010-09-02  Joseph Myers  <joseph (a] codesourcery.com>
   15619 
   15620 	* opts.h (struct cl_option): Add warn_message field.
   15621 	(struct cl_decoded_option): Add warn_message field.
   15622 	* doc/options.texi (Ignore, Warn): Document.
   15623 	* opt-functions.awk (needs_state_p): Don't consider aliases or
   15624 	ignored options to need state saved.
   15625 	* optc-gen.awk: Handle Warn and Ignore.
   15626 	* opth-gen.awk: Output OPT_SPECIAL_ignore.
   15627 	* opts-common.c (decode_cmdline_option): Set warn_message field.
   15628 	Handle ignored options.
   15629 	(decode_cmdline_options_to_array, generate_option,
   15630 	generate_option_input_file): Set warn_message field.
   15631 	(read_cmdline_option): Generate warnings from warn_message field.
   15632 	Handle ignored options.
   15633 	* common.opt (Wunreachable-code, fargument-alias,
   15634 	fargument-noalias, fargument-noalias-global,
   15635 	fargument-noalias-anything, fcse-skip-blocks, fforce-addr,
   15636 	floop-optimize, frerun-loop-opt, fsched2-use-traces, fsee,
   15637 	fstrength-reduce, ftree-store-ccp, ftree-store-copy-prop,
   15638 	ftree-salias): Mark Ignore.
   15639 	* config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -mcpu,
   15640 	-mintel-syntax and -mno-intel-syntax here.
   15641 	* config/i386/i386.opt (mcpu=, mintel-syntax): Define as aliases
   15642 	using Warn.
   15643 	* opts.c (common_handle_option): Don't handle options marked as
   15644 	ignored.
   15645 	(enable_warning_as_error): Handle ignored options.
   15646 
   15647 2010-09-02  Joseph Myers  <joseph (a] codesourcery.com>
   15648 
   15649 	PR driver/44076
   15650 	* opts.h (struct cl_option): Add alias_arg, neg_alias_arg and
   15651 	alias_target fields.
   15652 	* opt-functions.awk (opt_sanitized_name): Don't handle
   15653 	finline-limit=, Wlarger-than= and ftemplate-depth= specially.
   15654 	* optc-gen.awk: Generate alias fields.
   15655 	* opth-gen.awk: Explicitly give values for OPT_* enum constants.
   15656 	Don't generate such constants for aliases.
   15657 	* opts-common.c (generate_canonical_option): New.
   15658 	(decode_cmdline_option): Handle aliases.  Use
   15659 	generate_canonical_option for known options instead of copying the
   15660 	input option text.
   15661 	* doc/options.texi (Alias): Document.
   15662 	* common.opt (W, Wlarger-than-, aux-info=, finline-limit-,
   15663 	fstack-check, specs): Mark as aliases.
   15664 	* gcc.c (driver_handle_option): Canonicalize -L options to joined
   15665 	arguments.
   15666 	(driver_handle_option): Don't handle OPT_specs.
   15667 	* opts.c (common_handle_option): Don't handle options marked as
   15668 	aliases.
   15669 	(enable_warning_as_error): Handle aliases.
   15670 	* stor-layout.c (layout_decl): Use OPT_Wlarger_than_ instead of
   15671 	OPT_Wlarger_than_eq.
   15672 	* tree-optimize.c (tree_rest_of_compilation): Use
   15673 	OPT_Wlarger_than_ instead of OPT_Wlarger_than_eq.
   15674 
   15675 2010-09-02  Uros Bizjak  <ubizjak (a] gmail.com>
   15676 
   15677 	* config/i386/i386.md (nonmemory_operand): New mode attribute.
   15678 	(push memory peephole2): Macroize peepholes using SWI mode iterator.
   15679 	(move immediate to memory peephole2): Macroize peepholes using
   15680 	SWI124 mode iterator.
   15681 	(non-pairable NOT peephole2): Macroize peepholes using SWI124
   15682 	mode iterator.
   15683 	(simple lea add peephole2): Macroize peepholes using SWI48
   15684 	mode iterator.
   15685 	(simple lea mult peephole2): Ditto.
   15686 	(imul by 3,5,9 to lea peephole2): Ditto.
   15687 	(mov $-1, reg peephole2): Macroize peepholes using SWI248
   15688 	mode iterator.
   15689 	(imul $32bit_imm,mem,reg peephole2): Ditto.
   15690 	(imul $8/16bit_imm,regmem,reg peephole2): Ditto.
   15691 
   15692 2010-09-02  Ian Bolton  <ian.bolton (a] arm.com>
   15693 
   15694 	* tree-ssa-loop-prefetch.c: Fix comment at head of file.
   15695 
   15696 2010-09-02  Olivier Hainque  <hainque (a] adacore.com>
   15697 
   15698 	PR middle-end/44763
   15699 	* ira-color.c (SORTGT): New macro, helper for qsort callbacks.
   15700 	(allocno_priority_compare_func): Use it instead of a straight
   15701 	difference computation over priorities.
   15702 
   15703 2010-09-02  Andi Kleen  <ak (a] linux.intel.com>
   15704 
   15705 	* opts.c (common_handle_option): Fix OPT_fwhopr/fwhopr_ handling.
   15706 
   15707 2010-09-02  Ira Rosen  <irar (a] il.ibm.com>
   15708 
   15709 	* tree-vectorizer.h (get_later_stmt): New function.
   15710 	(vect_analyze_data_ref_dependences): Add argument.
   15711 	* tree-vect-loop.c (vect_analyze_loop): Update call to
   15712 	vect_analyze_data_ref_dependences.
   15713 	* tree-vect-data-refs.c (vect_drs_dependent_in_basic_block):
   15714 	New function.
   15715 	(vect_analyze_data_ref_dependence): Add argument for basic block
   15716 	dependencies. Check dependencies in basic block vectorization.
   15717 	(vect_analyze_data_ref_dependences): Add argument and update call to
   15718 	vect_analyze_data_ref_dependences.
   15719 	* tree-vect-slp.c (vect_find_last_store_in_slp_instance): New.
   15720 	(vect_bb_vectorizable_with_dependencies): New.
   15721 	(vect_slp_analyze_bb): Check dependencies in basic block.
   15722 	(vect_schedule_slp_instance): Insert stores before the last store in
   15723 	SLP instance.
   15724 
   15725 2010-09-02  Uros Bizjak  <ubizjak (a] gmail.com>
   15726 
   15727 	PR target/45476
   15728 	* config/i386/freebsd.h (LIBGCC2_HAS_TF_MODE,
   15729 	LIBGCC2_TF_CEXT, TF_SIZE): New defines.
   15730 
   15731 2010-09-01  Jakub Jelinek  <jakub (a] redhat.com>
   15732 
   15733 	PR middle-end/45458
   15734 	* bb-reorder.c (add_labels_and_missing_jumps): Treat
   15735 	bbs ending with throwing insns like blocks ending with a call.
   15736 	(fix_up_fall_thru_edges): Likewise.
   15737 
   15738 2010-09-01  Nathan Froyd  <froydnj (a] codesourcery.com>
   15739 
   15740 	* config/m32c/m32c-protos.h (m32c_function_arg): Delete.
   15741 	(m32c_function_arg_advance): Delete.
   15742 	* config/m32c/m32c.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   15743 	* config/m32c/m32c.c (m32c_function_arg): Make static.  Adjust
   15744 	comments.  Take a const_tree and a bool.  Declare.
   15745 	(m32c_function_arg_advance): Likewise.
   15746 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   15747 
   15748 2010-09-01  Uros Bizjak  <ubizjak (a] gmail.com>
   15749 
   15750 	PR target/45476
   15751 	* config/i386/cygming.h (LIBGCC2_HAS_TF_MODE,
   15752 	LIBGCC2_TF_CEXT, TF_SIZE): Move from ...
   15753 	* config/i386/mingw32.h: ... here.
   15754 
   15755 2010-09-01  Andi Kleen	<ak (a] linux.intel.com>
   15756 
   15757 	PR lto/45475
   15758 	* lto-streamer-in.c (lto_input_ts_target_option): Add.
   15759 	(lto_input_tree_pointers): Call lto_input_ts_target_option.
   15760 	* lto-streamer-out (lto_output_ts_target_option): Add.
   15761 	(lto_output_tree_pointers): Call lto_output_ts_target_option.
   15762 
   15763 2010-09-01  Kai Tietz  <kai.tietz (a] onevision.com>
   15764 
   15765 	PR/target 45452
   15766 	* config/i386/cygwin.h: Change order of specified import libraries.
   15767 	* config/i386/mingw32.h: Likewise.
   15768 	* config/i386/t-cygwin: Likewise.
   15769 	* config/i386/t-mingw32: Likewise.
   15770 	* config/i386/t-mingw-w32: Likewise.
   15771 	* config/i386/t-mingw-w64: Likewise.
   15772 
   15773 2010-09-01  Ramana Radhakrishnan  <ramana.radhakrishnan (a] arm.com>
   15774 
   15775 	* config/arm/neon-schedgen.ml (core): New type.
   15776 	(allCores): List of supported cores.
   15777 	(availability_table): Add supported cores.
   15778 	(collate_bypasses): Accept core as a parameter.
   15779 	(worst_case_latencies_and_bypasses): Accept core as a parameter.
   15780 	(emit_insn_reservations): Accept core as a parameter.  Use tuneStr
   15781 	and coreStr to get tune attribute and prefix for functional units.
   15782 	(emit_bypasses): Accept core name and use it.
   15783 	(calculate_per_core_availability_table): New.
   15784 	(filter_core): New.
   15785 	(calculate_core_availability_table): New.
   15786 	(main): Use calculate_core_availablity_table.
   15787 	* config/arm/cortex-a8-neon.md: Update copyright year.
   15788 	Regenerated from ml file and merged in.
   15789 	(neon_mrrc, neon_mrc): Rename to cortex_a8_neon_mrrc and
   15790 	cortex_a8_neon_mrc.
   15791 
   15792 2010-09-01  Ian Bolton  <ian.bolton (a] arm.com>
   15793 
   15794 	* Makefile.in (tree-switch-conversion.o): Update dependencies.
   15795 
   15796 2010-09-01  Richard Guenther  <rguenther (a] suse.de>
   15797 
   15798 	* alias.c (ao_ref_from_mem): Adjust.
   15799 	* builtins.c (get_object_alignment): Likewise.
   15800 	* cfgexpand.c (expand_debug_expr): Likewise.
   15801 	* gimple.c (get_base_address): Likewise.
   15802 	* tree-dfa.c (get_ref_base_and_extent): Likewise.
   15803 	(get_addr_base_and_unit_offset): Likewise.  Fix for
   15804 	both TMR_SYMBOL and TMR_BASE being set.
   15805 	* tree-eh.c (tree_could_trap_p): Likewise.
   15806 	* gimplify.c (gimplify_expr): Do not attempt to gimplify
   15807 	TMR_SYMBOL.  Always gimplify TMR_BASE.
   15808 	* tree-cfg.c (verify_types_in_gimple_reference): Verify
   15809 	TMR_BASE if there is a TMR_SYMBOL.
   15810 	* tree-pretty-print.c (dump_generic_node): Adjust.
   15811 	* tree-ssa-address.c (addr_for_mem_ref): Likewise.
   15812 	(tree_mem_ref_addr): Likewise.
   15813 	(create_mem_ref_raw): Likewise.
   15814 	(move_fixed_address_to_symbol): Likewise.
   15815 	(create_mem_ref): Likewise.
   15816 	(dump_mem_address): Likewise.
   15817 	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Adjust.
   15818 	Fix for both TMR_SYMBOL and TMR_BASE being set.
   15819 	(indirect_refs_may_alias_p): Likewise.
   15820 	* tree-ssa-operands.c (get_tmr_operands): Adjust.
   15821 	* tree.def (TARGET_MEM_REF): Adjust documentation.
   15822 
   15823 2010-09-01  Uros Bizjak  <ubizjak (a] gmail.com>
   15824 
   15825 	* config/i386/i386.h (enum ix86_tune_indices) <X86_TUNE_SINGLE_POP>:
   15826 	Rename from X86_TUNE_ADD_ESP_4.
   15827 	<IX86_TUNE_DOUBLE_POP>: Rename from X86_TUNE_ADD_ESP_8.
   15828 	<IX86_TUNE_SINGLE_PUSH>: Rename from X86_TUNE_SUB_ESP_4.
   15829 	<IX86_TUNE_DOUBLE_PUSH>: Rename from X86_TUNE_SUB_ESP_8.
   15830 	(TARGET_SINGLE_POP): Rename from TARGET_ADD_ESP_4.
   15831 	(TARGET_DOUBLE_POP): Rename from TARGET_ADD_ESP_8.
   15832 	(TARGET_SINGLE_PUSH): Rename from TARGET_SUB_ESP_4.
   15833 	(TARGET_DOUBLE_POP): Rename from TARGET_SUB_ESP_8.
   15834 	* config/i386/i386.c (initial_ix86_tune_features)
   15835 	<X86_TUNE_SINGLE_POP>: Invert members.
   15836 	<X86_TUNE_DOUBLE_POP>: Ditto.
   15837 	<X86_TUNE_SINGLE_PUSH>: Ditto.
   15838 	<X86_TUNE_DOUBLE_PUSH>: Ditto.
   15839 	* config/i386/i386.md (*pop<mode>1): Rename from pop<mode>1.
   15840 	No longer exported.
   15841 	(push peephole2 patterns): Macroize peepholes using P mode iterator.
   15842 	Adjust for renamed TARGET_{SINGLE,DOUBLE}_PUSH defines.
   15843 	(pop peephole2 patterns): Macroize peepholes using P mode iterator.
   15844 	Adjust for renamed TARGET_{SINGLE,DOUBLE}_POP defines.
   15845 
   15846 2010-09-01  Eric Botcazou  <ebotcazou (a] adacore.com>
   15847 
   15848 	* gimplify.c (gimplify_init_constructor): Do not create a temporary for
   15849 	a volatile LHS if the constructor has only one element.
   15850 
   15851 2010-09-01  Mikael Pettersson  <mikpe (a] it.uu.se>
   15852 
   15853 	PR bootstrap/45321
   15854 	* tree.c (stdarg_p): Make fntype parameter const.
   15855 	* tree.h (stdarg_p): Likewise.
   15856 	(function_args_iterator): Remove unused fntype field.
   15857 	(function_args_iter_init): Do not initialize fntype
   15858 	field.  Make fntype parameter const.
   15859 
   15860 2010-09-01  Richard Guenther  <rguenther (a] suse.de>
   15861 
   15862 	* tree-vrp.c (adjust_range_with_scev): Use number of iteration
   15863 	estimate.
   15864 	(vrp_visit_phi_node): Delay using SCEV till we balloon the range.
   15865 	(execute_vrp): Compute number of iteration estimates.
   15866 	* cfgloop.h (estimate_numbers_of_iterations_loop): Adjust prototype.
   15867 	* tree-flow.h (estimate_numbers_of_iterations): Likewise.
   15868 	* tree-data-ref.c (estimated_loop_iterations): Adjust.
   15869 	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
   15870 	Infer loop bounds from undefined behavior based on a new parameter.
   15871 	(estimate_numbers_of_iterations): Likewise.
   15872 	(scev_probably_wraps_p): Adjust.
   15873 	* tree-ssa-loop.c (tree_ssa_loop_bounds): Likewise.
   15874 
   15875 2010-09-01  Nick Clifton  <nickc (a] redhat.com>
   15876 
   15877 	* config/stormy16/stormy16.c: Use REG_P, MEM_P and CONST_INT_P
   15878 	where appropriate.
   15879 	(xstormy16_legitimate_address_p): Use true and false instead of 1
   15880 	and 0.
   15881 	(xstormy16_expand_prologue): Delete unused local variable 'insn'.
   15882 	(xstormy16_function_arg): Use FIRST_ARGUMENT_REGNUM in place of
   15883 	magic constant 2.
   15884 	(xstormy16_expand_call): Fix comment at start of function.
   15885 
   15886 2010-09-01  Nick Clifton  <nickc (a] redhat.com>
   15887 
   15888 	* config/rx/rx.c (rx_expand_prologue): Do not adjust frame size
   15889 	when pushing accumulator register.
   15890 	(rx_get_stack_layout): Always save call clobbered registers inside
   15891 	interrupt handlers.
   15892 	* config/rx/rx-modes.def: Fix descriptive comment at start of file.
   15893 
   15894 2010-09-01  Uros Bizjak  <ubizjak (a] gmail.com>
   15895 
   15896 	* config.gcc (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add
   15897 	i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file.
   15898 
   15899 	* libgcc-std.ver (GCC_4.6.0): Define version.
   15900 
   15901 2010-08-31  Eric Botcazou  <ebotcazou (a] adacore.com>
   15902 
   15903 	* tree-nested.c (convert_all_function_calls): Iterate until after the
   15904 	sum of static chains in the nest doesn't change.
   15905 
   15906 2010-08-31  Anatoly Sokolov  <aesok (a] post.ru>
   15907 
   15908 	* config/m32c/m32c.c (classes_intersect): Remove.
   15909 	(m32c_preferred_reload_class, m32c_secondary_reload_class): Use
   15910 	reg_classes_intersect_p instead of classes_intersect.
   15911 	(class_can_hold_mode): Change arguments type from enum reg_class to
   15912 	reg_class_t.  Use reg_class_contents instead of class_contents.
   15913 	(m32c_register_move_cost): Make static. Change arguments type from
   15914 	enum reg_class to reg_class_t. Use reg_classes_intersect_p instead of
   15915 	classes_intersect. Use reg_class_contents instead of class_contents.
   15916 	(m32c_memory_move_cost): Make static. Change arguments type from
   15917 	enum reg_class to reg_class_t.
   15918 	(TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
   15919 	* config/m32c/m32c.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
   15920 	* config/m32c/m32c-protos.h (m32c_register_move_cost,
   15921 	m32c_memory_move_cost): Remove.
   15922 
   15923 2010-08-31  Nathan Froyd  <froydnj (a] codesourcery.com>
   15924 
   15925 	* config/arm/arm-protos.h (arm_function_arg_advance): Delete.
   15926 	(arm_function_arg): Delete.
   15927 	(arm_needs_doubleword_align): Take a const_tree.
   15928 	* config/arm/arm.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   15929 	* config/arm/arm.c (aapcs_select_call_coproc): Take a const_tree.
   15930 	(aapcs_layout_arg, arm_needs_doubleword_align): Likewise.
   15931 	(arm_function_arg): Make static.  Take a const_tree and a bool.
   15932 	(arm_function_arg_advance): Likewise.
   15933 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   15934 
   15935 2010-08-31  Andi Kleen  <ak (a] linux.intel.com>
   15936 
   15937 	* common.opt (fwhopr=): Update for -fwhopr=jobserver
   15938 	* doc/invoke.texi (fwhopr): Document -fwhopr=jobserver.
   15939 	* lto-wrapper.c (run_gcc): Add jobserver mode.
   15940 	* opts.c (common_handle_option): Fix OPT_fwhopr for non numeric
   15941 	argument.
   15942 
   15943 2010-08-31  Uros Bizjak  <ubizjak (a] gmail.com>
   15944 
   15945 	* config/i386/i386.md (popdi1): Rewrite using POST_INC memory operand.
   15946 	(popsi1): Ditto.
   15947 	(*popdi1_epilogue): Ditto.
   15948 	(*popsi1_epilogue): Ditto.
   15949 	(popsi, popdi peephole2 patterns): Update peepholes for changed
   15950 	pop{si,di}1 and *pop{si,di}1_epilogue patterns.
   15951 
   15952 	(pop<mode>1): Macroize insn from pop{si,di}1 using P code iterator.
   15953 	(*pop<mode>1_epilogue): Ditto from *pop{si,di}1_epilogue.
   15954 
   15955 	* config/i386/i386.c (*ix86_gen_pop1): Remove indirect function.
   15956 	(override_options): Do not initialize removed ix86_gen_pop1.
   15957 	(gen_pop): New static function.
   15958 	(ix86_expand_prologue): Use gen_pop instead of ix86_gen_pop1.
   15959 	(release_scratch_register_on_entry): Ditto.
   15960 	(ix86_restore_reg_using_pop): Ditto.
   15961 	(ix86_expand_epilogue): Ditto.
   15962 
   15963 2010-08-31  Jakub Jelinek  <jakub (a] redhat.com>
   15964 
   15965 	PR middle-end/45461
   15966 	* builtins.c (dummy_object): Return a MEM_REF instead of INDIRECT_REF.
   15967 
   15968 2010-08-31  Nathan Froyd  <froydnj (a] codesourcery.com>
   15969 
   15970 	* config/fr30/fr30.c (fr30_move_double): Delete `dregno' and extra
   15971 	semicolons.
   15972 
   15973 2010-08-31  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
   15974 
   15975 	* doc/extend.texi: Fix documentation of the return value of
   15976 	__builtin_choose_expr.
   15977 
   15978 2010-08-31  Nathan Froyd  <froydnj (a] codesourcery.com>
   15979 
   15980 	* config/v850/v850-protos.h (function_arg): Delete.
   15981 	* config/v850/v850.h (FUNCTION_ARG): Delete.
   15982 	(FUNCTION_ARG_ADVANCE): Move code to...
   15983 	* config/v850/v850.c (v850_function_arg_advance): ...here.
   15984 	(v850_function_arg): Make static.  Take a const_tree and a bool.
   15985 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   15986 
   15987 2010-08-31  Nathan Froyd  <froydnj (a] codesourcery.com>
   15988 
   15989 	* config/m32r/m32r.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Move
   15990 	these...
   15991 	(ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P):
   15992 	...and these...
   15993 	* config/m32r/m32r.c (m32r_function_arg, m32r_function_arg_advance):
   15994 	..to here..
   15995 	(ROUND_ADVANCE, ROUND_ADVANCE_ARG, ROUND_ADVANCE_CUM, PASS_IN_REG_P):
   15996 	...and here.
   15997 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   15998 
   15999 2010-08-31  Nathan Froyd  <froydnj (a] codesourcery.com>
   16000 
   16001 	* config/rx/rx-protos.h (rx_function_arg, rx_function_arg_size):
   16002 	Delete.
   16003 	* config/rx/rx.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   16004 	* config/rx/rx.c (rx_function_arg_size): Make static.
   16005 	(rx_function_arg): Likewise.
   16006 	(rx_function_arg_advance): New function.
   16007 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   16008 
   16009 2010-08-31  John Tytgat  <John.Tytgat (a] aaug.net>
   16010 
   16011 	* config/arm/arm.c (arm_override_options): Remove superfluous test.
   16012 	Fix indentation.
   16013 
   16014 2010-08-31  Eric Botcazou  <ebotcazou (a] adacore.com>
   16015 
   16016 	* dwarf2out.c (gen_decl_die) <CONST_DECL>: Do not skip in Ada.
   16017 	(dwarf2out_decl) <CONST_DECL>: Likewise.
   16018 
   16019 2010-08-30  Eric Botcazou  <ebotcazou (a] adacore.com>
   16020 
   16021 	Stack usage support
   16022 	* common.opt (-fstack-usage): New option.
   16023 	* doc/invoke.texi (Debugging options): Document it.
   16024 	* builtins.c (expand_builtin_apply): Pass TRUE as 4th argument to
   16025 	allocate_dynamic_stack_space.
   16026 	(expand_builtin_alloca): Add 4th bool parameter CANNOT_ACCUMULATE
   16027 	and propagate it to allocate_dynamic_stack_space.
   16028 	(expand_builtin) <BUILT_IN_ALLOCA>: Adjust for above change.
   16029 	* calls.c (initialize_argument_information): Pass TRUE as 4th
   16030 	argument to allocate_dynamic_stack_space.
   16031 	(expand_call): Set current_function_has_unbounded_dynamic_stack_size
   16032 	to 1 when pushing a variable-sized argument onto the stack.  Pass
   16033 	TRUE as 4th argument to allocate_dynamic_stack_space.
   16034 	Update current_function_pushed_stack_size.
   16035 	(emit_library_call_value_1): Likewise.
   16036 	* explow.c (allocate_dynamic_stack_space): Add 4th bool parameter
   16037 	CANNOT_ACCUMULATE.  If flag_stack_usage, look into the size and
   16038 	attempt to find an upper bound.  Remove redundant code for the
   16039 	SETJMP_VIA_SAVE_AREA case.
   16040 	* expr.h (allocate_dynamic_stack_space): Add 4th bool parameter.
   16041 	* function.h (struct stack_usage): New structure.
   16042 	(current_function_static_stack_size): New macro.
   16043 	(current_function_dynamic_stack_size): Likewise.
   16044 	(current_function_pushed_stack_size): Likewise.
   16045 	(current_function_dynamic_alloc_count): Likewise.
   16046 	(current_function_has_unbounded_dynamic_stack_size): Likewise.
   16047 	(current_function_allocates_dynamic_stack_space): Likewise.
   16048 	(struct function): Add new field 'su'.
   16049 	* function.c (instantiate_virtual_regs): If SETJMP_VIA_SAVE_AREA,
   16050 	add the value of the dynamic offset to the dynamic stack usage.
   16051 	(gimplify_parameters): Set ALLOCA_FOR_VAR_P on call to BUILT_IN_ALLOCA
   16052 	for variable-sized objects.
   16053 	(prepare_function_start): Allocate cfun->su if flag_stack_usage.
   16054 	(rest_of_handle_thread_prologue_and_epilogue): Call output_stack_usage.
   16055 	* gimplify.c (gimplify_decl_expr): Set ALLOCA_FOR_VAR_P on call to
   16056 	BUILT_IN_ALLOCA for variable-sized objects.
   16057 	* output.h (output_stack_usage): Declare.
   16058 	* toplev.c (stack_usage_file): New file pointer.
   16059 	(output_stack_usage): New function.
   16060 	(open_auxiliary_file): Likewise.
   16061 	(lang_dependent_init): Open file if flag_stack_usage is set.
   16062 	(finalize): Close file if stack_usage_file is not null.
   16063 	* tree.h (ALLOCA_FOR_VAR_P): New macro.
   16064 	* config/alpha/alpha.c (compute_frame_size): New function.
   16065 	(alpha_expand_prologue): Use it.
   16066 	(alpha_start_function): Likewise.
   16067 	(alpha_expand_epilogue): Likewise.  Set stack usage info.
   16068 	* config/i386/i386.c (ix86_expand_prologue): Likewise.
   16069 	* config/ia64/ia64.c (ia64_expand_prologue): Likewise.
   16070 	* config/mips/mips.c (mips_expand_prologue): Likewise.
   16071 	* config/pa/pa.c (hppa_expand_prologue): Likewise.
   16072 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
   16073 	* config/sparc/sparc.c (sparc_expand_prologue): Likewise.
   16074 
   16075 2010-08-30  Zdenek Dvorak  <ook (a] ucw.cz>
   16076 
   16077 	PR tree-optimization/45427
   16078 	* tree-ssa-loop-niter.c (number_of_iterations_ne_max): Rewritten.
   16079 	Handle the case that the exit is never taken correctly.
   16080 	(number_of_iterations_ne): Pass exit_must_be_taken to
   16081 	number_of_iterations_ne_max.
   16082 
   16083 2010-08-30  Catherine Moore  <clm (a] codesourcery.com>
   16084 
   16085 	* config/mips/mips.h (BASE_DRIVER_SELF_SPECS):
   16086 	Infer -mdspr2 for the the 74K.
   16087 
   16088 2010-08-30  Jakub Jelinek  <jakub (a] redhat.com>
   16089 
   16090 	PR debug/45419
   16091 	* tree-ssa-live.c (dump_enumerated_decls): Clear the whole wi variable.
   16092 
   16093 	PR middle-end/45423
   16094 	* gimplify.c (goa_stabilize_expr): Handle TRUTH_NOT_EXPR
   16095 	and TRUTH_{AND,OR,XOR}_EXPR.
   16096 	* c-parser.c (c_parser_omp_atomic): Handle boolean
   16097 	{PRE,POST}_{INC,DEC}REMENT.
   16098 
   16099 2010-08-30  Nathan Froyd  <froydnj (a] codesourcery.com>
   16100 
   16101 	* config/xtensa/xtensa-protos.h (function_arg_advance): Delete.
   16102 	(function_arg): Delete.
   16103 	* config/xtensa/xtensa.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   16104 	(FUNCTION_INCOMING_ARG): Delete.
   16105 	* config/xtensa/xtensa.c (function_arg_advance): Rename to...
   16106 	(xtensa_function_arg_advance): ...this.  Make static. Take a const_tree
   16107 	and a bool.
   16108 	(function_arg): Rename to...
   16109 	(xtensa_function_arg_1): ...this.  Make static.  Take a const_tree and
   16110 	a bool.
   16111 	(xtensa_function_arg, xtensa_function_incoming_arg): Nex functions.
   16112 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   16113 	(TARGET_FUNCTION_INCOMING_ARG): Define.
   16114 
   16115 2010-08-30  Richard Guenther  <rguenther (a] suse.de>
   16116 
   16117 	PR tree-optimization/21602
   16118 	* builtins.c (fold_builtin_memory_op): Fold memmove to memcpy
   16119 	using points-to information.
   16120 
   16121 2010-08-30  H.J. Lu  <hongjiu.lu (a] intel.com>
   16122 
   16123 	* config/linux.h (TARGET_HAS_SINCOS): Replace | with ||.
   16124 
   16125 2010-08-30  Richard Guenther  <rguenther (a] suse.de>
   16126 
   16127 	PR tree-optimization/45449
   16128 	* tree-ssa-live.c (remove_unused_locals): Also remove address-taken
   16129 	variables.
   16130 
   16131 2010-08-30  Joseph Myers  <joseph (a] codesourcery.com>
   16132 
   16133 	* opts.h (CL_ERR_NEGATIVE): Define.
   16134 	* opts.c (unknown_option_callback): Don't postpone warnings for
   16135 	options marked with CL_ERR_NEGATIVE.
   16136 	* opts-common.c (decode_cmdline_option): Set CL_ERR_NEGATIVE error
   16137 	for negative versions of CL_REJECT_NEGATIVE options.
   16138 
   16139 2010-08-30  Uros Bizjak  <ubizjak (a] gmail.com>
   16140 
   16141 	* config/i386/i386.md (zero_extendsidi2_1): Rename from
   16142 	zero_extendsidi2_32.
   16143 	(zero_extend<mode>di2): Macroize insn from zero_extend{qi,hi}di2
   16144 	using SWI12 mode iterator.
   16145 	(zero_extendhisi2_and): Merge insn pattern and corresponding spliter
   16146 	to define_insn_and_split pattern.
   16147 	(zero_extendqi<mode>2): Macroize expander from zero_extendqi{hi,si}2
   16148 	using SWI24 mode iterator.
   16149 	(*zero_extendqi<mode>2_and): Macroize insn from
   16150 	*zero_extendqi{hi,si}2_and using SWI24 mode iterator.
   16151 	(*zero_extendqi<mode>2_movzbl_and): Macroize insn from
   16152 	*zero_extendqihi2_movzbw_and and *zero_extendqisi2_movzbl_and using
   16153 	SWI24 mode iterator.
   16154 	(*zero_extendqi<mode>2_movzbl): Ditto from
   16155 	*zero_extendqi{hi,si}2_movzbl.
   16156 	(extendsidi2_1): Rename from extendsidi2_32.
   16157 	(extend<mode>di2): Macroize insn from extend{qi,hi}di2 using
   16158 	SWI12 mode iterator.
   16159 
   16160 2010-08-29  Eric Botcazou  <ebotcazou (a] adacore.com>
   16161 
   16162 	* config/ia64/ia64.h (HARD_REGNO_NREGS): Return 1 for CCImode in
   16163 	general purpose registers.
   16164 	(HARD_REGNO_MODE_OK): Accept CCImode in general purpose registers.
   16165 	* config/ia64/ia64.md (*movcci): Change to named pattern.  Deal
   16166 	with general purpose registers and memory operands.  Add associated
   16167 	CCImode post-reload splitter.
   16168 	* config/ia64/div.md: Change BImode to CCImode throughout.
   16169 
   16170 2010-08-28  Eric Botcazou  <ebotcazou (a] adacore.com>
   16171 
   16172 	* config/ia64/ia64.md (cstorebi4): Fix thinko.
   16173 
   16174 2010-08-28  Hariharan Sandanagobalane  <hariharan (a] picochip.com>
   16175 
   16176 	* config/picochip/picochip.c (reorder_var_tracking_notes): This
   16177 	function was dropping debug insns which caused PR45299.
   16178 
   16179 2010-08-28  Uros Bizjak  <ubizjak (a] gmail.com>
   16180 
   16181 	* config/i386/sse.md (extsuffix): New code attribute.
   16182 	(sse4_1_<code>v8qiv8hi2): Macroize insn from sse4_1_extendv8qiv8hi2
   16183 	and sse4_1_zero_extendv8qiv8hi2 using any_extend code iterator.
   16184 	(sse4_1_<code>v4qiv4si2): Ditto from sse4_1_extendv4qiv4si2
   16185 	and sse4_1_zero_extendv4qiv4si2.
   16186 	(sse4_1_<code>v2qiv2di2): Ditto from sse4_1_extendv2qiv2di2
   16187 	and sse4_1_zero_extendv2qiv2di2.
   16188 	(sse4_1_<code>v4hiv4si2): Ditto from sse4_1_extendv4hiv4si2
   16189 	and sse4_1_zero_extendv4hiv4si2.
   16190 	(sse4_1_<code>v2hiv2di2): Ditto from sse4_1_extendv2hiv2di2
   16191 	and sse4_1_zero_extendv2hiv2di2.
   16192 	(sse4_1_extendv2siv2di2): Ditto from sse4_1_extendv2siv2di2
   16193 	and sse4_1_zero_extendv2siv2di2
   16194 
   16195 	(<s>mulv8hi3_highpart): Macroize expander from {u,s}mulv8hi3_highpart
   16196 	using any_extend code iterator.
   16197 	(*avx_<s>mulv8hi3_highpart): Macroize insn from
   16198 	*avx_{u,s}mulv8hi3_highpart using any_extend code iterator.
   16199 	(*<s>mulv8hi3_highpart): Ditto from *{u,s}mulv8hi3_highpart.
   16200 
   16201 	* config/i386/i386.c (ix86_expand_sse4_unpack): Update for renamed
   16202 	gen_sse4_1_sign_extend* functions.
   16203 	(struct builtin_description bdesc_args): Ditto.
   16204 
   16205 2010-08-27  Xinliang David Li  <davidxl (a] google.com>
   16206 
   16207 	PR/45422
   16208 	* tree-ssa-loop-ivopts.c (iv_ca_get_num_inv_exprs): Remove.
   16209 	(iv_ca_set_no_cp): Update used inv expr count.
   16210 	(iv_ca_set_cp): Ditto.
   16211 	(iv_ca_new): Initialize new member.
   16212 	(iv_ca_free): Free memory.
   16213 
   16214 2010-08-27  Nathan Froyd  <froydnj (a] codesourcery.com>
   16215 
   16216 	* config/sh/sh-protos.h (sh_function_arg): Delete.
   16217 	(sh_function_arg_advance): Delete.
   16218 	* config/sh/sh.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   16219 	(PASS_IN_REG_P): Eliminate cast.
   16220 	* config/sh/sh.c (sh_function_arg_advance): Make static.  Take a
   16221 	const_tree and a bool.
   16222 	(sh_function_arg): Likewise.
   16223 	(sh_output_mi_thunk): Call sh_function_arg_advance) and
   16224 	sh_function_arg.
   16225 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   16226 
   16227 2010-08-27  Naveen H.S  <naveen.S (a] kpitcummins.com>
   16228 	    Kaz Kojima  <kkojima (a] gcc.gnu.org>
   16229 
   16230 	* config/sh/sh.c (push_regs): Emit movml for interrupt handler
   16231 	when possible.
   16232 	(sh_expand_epilogue): Likewise.
   16233 	* config/sh/sh.md (movml_push_banked): New insn.
   16234 	(movml_pop_banked): Likewise.
   16235 
   16236 2010-08-28  Bernd Schmidt  <bernds (a] codesourcery.com>
   16237 
   16238 	* genautomata.c (gen_regexp_repeat, gen_regexp_allof,
   16239 	gen_regexp_oneof, gen_regexp_sequence): Use the string found
   16240 	in vector element 0 rather than the original string when there's
   16241 	only one element.
   16242 	(gen_regexp): Remove extra semicolon.
   16243 
   16244 	* config/arm/vfp.md (arm_movsi_vfp, thumb2_movsi_vfp, movsf_vfp,
   16245 	thumb2_movsf_vfp): Set attribute "insn".
   16246 	* config/arm/arm.md (arm_ashrdi3_1bit, arm_lshrdi3_1bit, not_shiftsi,
   16247 	not_shiftsi_compare0, not_shiftsi_compare0_scratch, arm_one_cmplsi2,
   16248 	thumb1_one_cmplsi2, notsi_compare0, notsi_compare0_scratch,
   16249 	arm_zero_extendsidi2, arm_extendsidi2, thumb1_movdi_insn,
   16250 	arm_movsi_insn, movhi_insn_arch4, movhi_bytes, arm_movqi_insn,
   16251 	thumb1_movqi_insn arm32_movhf, thumb1_movhf, arm_movsf_soft_insn,
   16252 	thumb1_movsf_insn, thumb_movdf_insn, mov_scc, mov_negscc, mov_notscc,
   16253 	movsicc_insn, movsfcc_soft_insn, and_scc, cond_move, if_move_not,
   16254 	if_not_move, if_shift_move, if_move_shift, if_shift_shift,
   16255 	if_not_arith, if_arith_not, cond_move_not): Likewise.
   16256 
   16257 2010-08-23  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   16258 
   16259 	* config/rs6000/rs6000-protos.h (rs6000_address_for_fpconvert):
   16260 	New declaration.
   16261 	(rs6000_allocate_stack_temp): Ditto.
   16262 	(rs6000_expand_convert_si_to_sfdf): Ditto.
   16263 
   16264 	* config/rs6000/rs6000.c (rs6000_override_options): Adjust long
   16265 	line.  Update the options set if power6 or power7 server/embedded
   16266 	type options are used.  If we give a warning for no vsx under
   16267 	-mcpu=power7 -mno-altivec, mark -mvsx as an explicit option.
   16268 	(rs6000_allocate_stack_temp): New function to allocate a stack
   16269 	tempoary and adjust the address so it meets either REG+OFFSET or
   16270 	REG+REG addressing requirements.
   16271 	(rs6000_address_for_fpconvert): Adjust REG+OFFSET addresses so
   16272 	that they can be used with the LFIWAX/LFIWZX instrucitons.
   16273 	(rs6000_expand_convert_si_to_sfdf): New helper funciton for
   16274 	converting signed/unsigned SImode to either SFmode/DFmode.
   16275 
   16276 	* config/rs6000/rs6000.h (TARGET_FCFID): New macros to determine
   16277 	whether certain instructions can be generated.
   16278 	(TARGET_FCTIDZ): Ditto.
   16279 	(TARGET_STFIWX): Ditto.
   16280 	(TARGET_LFIWAX): Ditto.
   16281 	(TARGET_LFIWZX): Ditto.
   16282 	(TARGET_FCFIDS): Ditto.
   16283 	(TARGET_FCFIDU): Ditto.
   16284 	(TARGET_FCFIDUS): Ditto.
   16285 	(TARGET_FCTIDUZ): Ditto.
   16286 	(TARGET_FCTIWUZ): Ditto.
   16287 
   16288 	* config/rs6000/rs6000.md (UNSPEC_FCTIW): New unspec constants.
   16289 	(UNSPEC_FCTID): Ditto.
   16290 	(UNSPEC_LFIWAX): Ditto.
   16291 	(UNSPEC_LFIWZX): Ditto.
   16292 	(UNSPEC_FCTIWUZ): Ditto.
   16293 	(rreg): Use correct constraints.
   16294 	(SI_CONVERT_FP): New mode attribute for floating point conversion
   16295 	tests.
   16296 	(E500_CONVERT): Ditto.
   16297 	(lfiwax): New insns for converting from integer to floating point
   16298 	utilizing newer instructions.  Attempt to optimize conversions
   16299 	that come from memory so that we don't load the value into a GPR,
   16300 	spill it to the stack and reload it into a FPR.
   16301 	(floatsi<mode>2_lfiwax): Ditto.
   16302 	(floatsi<mode>2_lfiwax_mem): Ditto.
   16303 	(floatsi<mode>2_lfiwax_mem2): Ditto.
   16304 	(lfiwzx): Ditto.
   16305 	(floatunssi<mode>2_lfiwzx): Ditto.
   16306 	(floatunssi<mode>2_lfiwzx_mem): Ditto.
   16307 	(floatunssi<mode>2_lfiwzx_mem2): Ditto.
   16308 	(floatdidf2_mem): Ditto.
   16309 	(floatunsdidf2_fcfidu): Ditto.
   16310 	(floatunsdidf2_mem): Ditto.
   16311 	(floatunsdisf2): Ditto.
   16312 	(floatunsdisf2_fcfidus): Ditto.
   16313 	(floatunsdisf2_mem): Ditto.
   16314 	(floatsidf2): Add support for LFIWAX/LFIWZX/FCFIDS/FCFIDU/FCFIDUS.
   16315 	Use FCFID on 32-bit hosts that support it.
   16316 	(floatsidf2_internal): Ditto.
   16317 	(floatunssisf2): Ditto.
   16318 	(floatunssidf2): Ditto.
   16319 	(floatunssidf2_internal): Ditto.
   16320 	(floatsisf2): Ditto.
   16321 	(floatdidf2): Ditto.
   16322 	(floatdidf2_fpr): Ditto.
   16323 	(floatunsdidf2): Ditto.
   16324 	(floatdisf2): Ditto.
   16325 	(floatdisf2_fcfids): Ditto.
   16326 	(floatdisf2_internal1): Ditto.
   16327 	(fixuns_truncsfsi2): Delete, merge into common pattern for both
   16328 	SF/DF.  Add power7 support.
   16329 	(fix_truncsfsi2): Ditto.
   16330 	(fixuns_truncdfsi2): Ditto.
   16331 	(fixuns_truncdfdi2): Ditto.
   16332 	(fix_truncdfsi2): Ditto.
   16333 	(fix_truncdfsi2_internal): Ditto.
   16334 	(fix_truncdfsi2_internal_gfxopt): Ditto.
   16335 	(fix_truncdfsi2_mfpgpr): Ditto.
   16336 	(fctiwz): Ditto.
   16337 	(btruncdf2): Ditto.
   16338 	(btruncdf2_fpr): Ditto.
   16339 	(btructsf2): Ditto.
   16340 	(ceildf2): Ditto.
   16341 	(ceildf2_fpr): Ditto.
   16342 	(ceilsf2): Ditto.
   16343 	(floordf2): Ditto.
   16344 	(floordf2_fpr): Ditto.
   16345 	(floorsf2): Ditto.
   16346 	(rounddf2): Ditto.
   16347 	(rounddf2_fpr): Ditto.
   16348 	(roundsf2): Ditto.
   16349 	(fix_trunc<mode>si2): Combine SF/DF conversion into one insn.
   16350 	(fix_trunc<mode>di2): Ditto.
   16351 	(fixuns_trunc<mode>si2): Ditto.
   16352 	(fixuns_trunc<mode>di2): Ditto.
   16353 	(fctiwz_<mode>): Ditto.
   16354 	(btrunc<mode>2): Ditto.
   16355 	(btrunc<mode>2_fpr): Ditto.
   16356 	(ceil<mode>2): Ditto.
   16357 	(ceil<mode>2_fpr): Ditto.
   16358 	(floor<mode>2): Ditto.
   16359 	(float<mode>2_fpr): Ditto.
   16360 	(round<mode>2): Ditto.
   16361 	(round<mode>2_fpr): Ditto.
   16362 	(fix_trunc<mode>si2_stfiwx): New insn for machines with STFIWX.
   16363 	(fixuns_trunc<mode>si2_stfiwx): Ditto.
   16364 	(fix_truncdfsi2_internal): Ditto.
   16365 	(fix_trunc<mode>si2_mem): Combiner pattern to eliminate storing
   16366 	converted value on stack, loaded into GPR, and then stored into
   16367 	the final destination.
   16368 	(fix_trunc<mode>di2_fctidz): New pattern for targets supporting
   16369 	FCTIDZ.
   16370 	(lrint<mode>di2): New insn, provide the lrint builtin functions.
   16371 	(ftruncdf2): Delete, unused.
   16372 	(fix_trunctfsi2_internal): Use gen_fctiwz_df, not gen_fctiwz.
   16373 
   16374 	* config/rs6000/vsx.md (toplevel): Update copyright year.
   16375 	(VSr2): Use "ws" contraint for DFmode, not "!r#r".
   16376 	(VSr3): Ditto.
   16377 
   16378 2010-08-27  Basile Starynkevitch  <basile (a] starynkevitch.net>
   16379 	    Jeremie Salvucci  <jeremie.salvucci (a] free.fr>
   16380 
   16381 	* gengtype.c (output_type_enum): Test the right union member.
   16382 
   16383 2010-08-27  Uros Bizjak  <ubizjak (a] gmail.com>
   16384 
   16385 	PR target/41484
   16386 	* config/i386/sse.md (sse4_1_extendv8qiv8hi2): Also accept memory
   16387 	operands for operand 1.
   16388 	(sse4_1_extendv4qiv4si2): Ditto.
   16389 	(sse4_1_extendv2qiv2di2): Ditto.
   16390 	(sse4_1_extendv4hiv4si2): Ditto.
   16391 	(sse4_1_extendv2hiv2di2): Ditto.
   16392 	(sse4_1_extendv2siv2di2): Ditto.
   16393 	(sse4_1_zero_extendv8qiv8hi2): Ditto.
   16394 	(sse4_1_zero_extendv4qiv4si2): Ditto.
   16395 	(sse4_1_zero_extendv2qiv2di2): Ditto.
   16396 	(sse4_1_zero_extendv4hiv4si2): Ditto.
   16397 	(sse4_1_zero_extendv2hiv2di2): Ditto.
   16398 	(sse4_1_zero_extendv2siv2di2): Ditto.
   16399 	(*sse4_1_extendv8qiv8hi2): Remove insn pattern.
   16400 	(*sse4_1_extendv4qiv4si2): Ditto.
   16401 	(*sse4_1_extendv2qiv2di2): Ditto.
   16402 	(*sse4_1_extendv4hiv4si2): Ditto.
   16403 	(*sse4_1_extendv2hiv2di2): Ditto.
   16404 	(*sse4_1_extendv2siv2di2): Ditto.
   16405 	(*sse4_1_zero_extendv8qiv8hi2): Ditto.
   16406 	(*sse4_1_zero_extendv4qiv4si2): Ditto.
   16407 	(*sse4_1_zero_extendv2qiv2di2): Ditto.
   16408 	(*sse4_1_zero_extendv4hiv4si2): Ditto.
   16409 	(*sse4_1_zero_extendv2hiv2di2): Ditto.
   16410 	(*sse4_1_zero_extendv2siv2di2): Ditto.
   16411 
   16412 2010-08-27  Nathan Froyd  <froydnj (a] codesourcery.com>
   16413 
   16414 	* config/mips/mips-protos.h (mips_function_arg_advance): Delete
   16415 	(mips_function_arg): Delete.
   16416 	(mips_function_arg_boundary): Take a const_tree.
   16417 	* config/mips/mips.c (mips_function_arg_boundary): Likewise.
   16418 	(mips_arg_info): Likewise.
   16419 	(mips_setup_incoming_varargs): Call mips_function_arg_advance
   16420 	instead of FUNCTION_ARG_ADVANCE.
   16421 	(mips_function_arg_advance): Adjust prototype.  Make static.
   16422 	(mips_function_arg): Likewise.
   16423 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   16424 	* config/mips/mips.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.
   16425 
   16426 2010-08-27  Nathan Froyd  <froydnj (a] codesourcery.com>
   16427 
   16428 	* config/rs6000/rs6000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
   16429 	* config/rs6000/rs6000-protos.h (function_arg_advance): Delete.
   16430 	(function_arg): Delete.
   16431 	(function_arg_boundary): Take a const_tree.
   16432 	* config/rs6000/rs6000.c (function_arg_boundary): Likewise.
   16433 	(rs6000_spe_function_arg): Likewise.
   16434 	(rs6000_parm_start): Likewise.
   16435 	(rs6000_arg_size): Likewise.
   16436 	(rs6000_darwin64_record_arg_advance_recurse): Likewise.
   16437 	(rs6000_darwin64_record_arg): Likewise.  Take a bool instead of an int.
   16438 	(rs6000_mixed_function_arg): Likewise.
   16439 	(function_arg): Rename to...
   16440 	(rs6000_function_arg): ...this.
   16441 	(function_arg_advance): Rename to...
   16442 	(rs6000_function_arg_advance_1): ...this
   16443 	(rs6000_function_arg_advance): New function.  Call it.
   16444 	(setup_incoming_varargs): Call rs6000_function_arg_advance_1.
   16445 	(rs6000_return_in_memory): Adjust call to rs6000_darwin64_record_arg.
   16446 	(rs6000_function_value): Likewise.
   16447 	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
   16448 
   16449 2010-08-27  Ramana Radhakrishnan  <ramana.radhakrishnan (a] arm.com>
   16450 
   16451 	* config/arm/arm.md (enabled): Test the value of arch_enabled
   16452 	rather than just using it.
   16453 
   16454 2010-08-27  Olivier Hainque  <hainque (a] adacore.com>
   16455 	    Eric Botcazou  <ebotcazou (a] adacore.com>
   16456 
   16457 	* dse.c (group_info.base_mem, get_group_info): Use BLKmode to
   16458 	cover all the possible offsets from this base.
   16459 	(scan_reads_nospill): Pass base_mem's mode to canon_true_dependence.
   16460 
   16461 2010-08-26  Jakub Jelinek  <jakub (a] redhat.com>
   16462 
   16463 	PR tree-optimization/44485
   16464 	* calls.c (flags_from_decl_or_type): For const or pure
   16465 	noreturn functions return ECF_LOOPING_CONST_OR_PURE|ECF_NORETURN
   16466 	together with ECF_CONST resp. ECF_PURE.
   16467 	* builtins.c (expand_builtin): Use flags_from_decl_or_type
   16468 	instead of querying flags directly.
   16469 	* tree-ssa-loop-niter.c (finite_loop_p): Likewise.
   16470 	* tree-ssa-dce.c (find_obviously_necessary_stmts): Likewise.
   16471 
   16472 2010-08-26  Richard Guenther  <rguenther (a] suse.de>
   16473 
   16474 	PR tree-optimization/45255
   16475 	* tree.c (decl_address_invariant_p): DECL_DLLIMPORT_P statics
   16476 	and externals are also invariant.
   16477 
   16478 2010-08-25  Jakub Jelinek  <jakub (a] redhat.com>
   16479 
   16480 	PR rtl-optimization/44858
   16481 	* combine.c (try_combine): If recog_for_combine added CLOBBERs to
   16482 	newi2pat, make sure they don't affect newpat.
   16483 
   16484 	PR rtl-optimization/45400
   16485 	* combine.c (simplify_shift_const_1) <case SUBREG>: Only use
   16486 	SUBREG_REG if both modes are of MODE_INT class.
   16487 
   16488 2010-08-25  Julian Brown  <julian (a] codesourcery.com>
   16489 
   16490 	* config/arm/arm.c (arm_issue_rate): Return 2 for Cortex-A5.
   16491 	* config/arm/arm.md (generic_sched): No for Cortex-A5.
   16492 	(generic_vfp): Likewise.
   16493 	(cortex-a5.md): Include.
   16494 	* config/arm/cortex-a5.md: New.
   16495 
   16496 2010-08-25  Richard Guenther  <rguenther (a] suse.de>
   16497 
   16498 	* alias.c (get_alias_set): Assign a single alias-set to all pointers.
   16499 	* gimple.c (gimple_get_alias_set): Remove special handling
   16500 	for pointers.
   16501 
   16502 2010-08-25  Bernd Schmidt  <bernds (a] codesourcery.com>
   16503 
   16504 	PR middle-end/45355
   16505 	* combine.c (try_combine): Use reg_overlap_mentioned_p rather than
   16506 	dead_or_set_p when computing i0_feeds_i2_n.
   16507 
   16508 	* combine.c (find_split_point): Undo canonicalization of multiply-add
   16509 	to (minus x (mult)) when it seems likely that this will increase the
   16510 	chances of a split.
   16511 
   16512 2010-08-25  Richard Guenther  <rguenther (a] suse.de>
   16513 
   16514 	PR lto/44562
   16515 	* lto-streamer.c (lto_record_common_node): Do not mess with
   16516 	TYPE_CANONICAL when not in lto.
   16517 	* gimple.c (gimple_register_type): Likewise.
   16518 
   16519 2010-08-25  Richard Guenther  <rguenther (a] suse.de>
   16520 
   16521 	PR tree-optimization/45316
   16522 	* tree-ssa-pre.c (eliminate): Properly clean EH info.
   16523 
   16524 2010-08-25  Richard Guenther  <rguenther (a] suse.de>
   16525 
   16526 	PR tree-optimization/45393
   16527 	* tree-ssa-math-opts.c (execute_cse_sincos_1): Properly transfer
   16528 	and clean EH info.  Avoid SSA update.
   16529 	(execute_cse_sincos): Cleanup the CFG if it has changed.
   16530 
   16531 2010-08-25  Richard Guenther  <rguenther (a] suse.de>
   16532 
   16533 	PR middle-end/45379
   16534 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Handle
   16535 	TARGET_MEM_REF in alignment computation.
   16536 
   16537 2010-08-25  Jakub Jelinek  <jakub (a] redhat.com>
   16538 
   16539 	PR tree-optimization/45059
   16540 	* tree-ssa-reassoc.c (eliminate_redundant_comparison): Strip useless
   16541 	type conversions from newop{1,2}.  Assert t is a comparison and
   16542 	newop{1,2} after the stripping are gimple vals.
   16543 
   16544 2010-08-25  Tejas Belagod  <tejas.belagod (a] arm.com>
   16545 
   16546 	* config/arm/iterators.md (VU, SE, V_widen_l): New.
   16547 	(V_unpack, US): New.
   16548 	* config/arm/neon.md (vec_unpack<US>_hi_<mode>): Expansion for vmovl.
   16549 	(vec_unpack<US>_lo_<mode>): Likewise.
   16550 	(neon_vec_unpack<US>_hi_<mode>): Instruction pattern for vmovl.
   16551 	(neon_vec_unpack<US>_lo_<mode>): Likewise.
   16552 	(vec_widen_<US>mult_lo_<mode>): Expansion for vmull.
   16553 	(vec_widen_<US>mult_hi_<mode>): Likewise.
   16554 	(neon_vec_<US>mult_lo_<mode>"): Instruction pattern for vmull.
   16555 	(neon_vec_<US>mult_hi_<mode>"): Likewise.
   16556 	(neon_unpack<US>_<mode>): Widening move intermediate step for
   16557 	vectorizing without -mvectorize-with-neon-quad.
   16558 	(neon_vec_<US>mult_<mode>): Widening multiply intermediate step
   16559 	for vectorizing without -mvectorize-with-neon-quad.
   16560 	* config/arm/predicates.md (vect_par_constant_high): Check for
   16561 	high-half lanes of a vector.
   16562 	(vect_par_constant_low): Check for low-half lanes of a vector.
   16563 
   16564 2010-08-24  Sebastian Pop  <sebastian.pop (a] amd.com>
   16565 
   16566 	* tree-if-conv.c (struct ifc_dr): New.
   16567 	(IFC_DR): New.
   16568 	(DR_WRITTEN_AT_LEAST_ONCE): New.
   16569 	(DR_RW_UNCONDITIONALLY): New.
   16570 	(memref_read_or_written_unconditionally): Use the cached values
   16571 	when possible.
   16572 	(write_memref_written_at_least_once): Same.
   16573 	(if_convertible_loop_p): Initialize and free DR->aux fields.
   16574 
   16575 2010-08-24  Sebastian Pop  <sebastian.pop (a] amd.com>
   16576 
   16577 	* gimple.c (gimple_could_trap_p_1): Not static anymore.
   16578 	Pass an extra bool parameter include_mem.
   16579 	(gimple_could_trap_p): Adjust call to gimple_could_trap_p_1.
   16580 	(gimple_assign_rhs_could_trap_p): Same.
   16581 	* gimple.h (gimple_could_trap_p_1): Declared.
   16582 	* tree-data-ref.h (same_data_refs_base_objects): New.
   16583 	(same_data_refs): New.
   16584 	* tree-if-conv.c (memrefs_read_or_written_unconditionally): New.
   16585 	(write_memrefs_written_at_least_once): New.
   16586 	(ifcvt_memrefs_wont_trap): New.
   16587 	(operations_could_trap): New.
   16588 	(ifcvt_could_trap_p): New.
   16589 	(if_convertible_gimple_assign_stmt_p): Call ifcvt_could_trap_p.
   16590 	Gets a vector of data refs.
   16591 	(if_convertible_stmt_p): Same.
   16592 	(if_convertible_loop_p_1): New.
   16593 	(if_convertible_loop_p): Call if_convertible_loop_p_1.
   16594 
   16595 2010-08-24  Sebastian Pop  <sebastian.pop (a] amd.com>
   16596 
   16597 	* common.opt (ftree-loop-if-convert-stores): New flag.
   16598 	* doc/invoke.texi (ftree-loop-if-convert-stores): Documented.
   16599 	* tree-if-conv.c (ifc_temp_var): Pass an extra parameter GSI.  Insert
   16600 	the created statement before GSI.
   16601 	(if_convertible_phi_p): Allow virtual phi nodes when
   16602 	flag_loop_if_convert_stores is set.
   16603 	(if_convertible_gimple_assign_stmt_p): Allow memory reads and writes
   16604 	Do not handle types that do not match is_gimple_reg_type.
   16605 	Remove loop and bb parameters.  Call gimple_could_trap_p instead of
   16606 	when flag_loop_if_convert_stores is set, as LHS can contain
   16607 	memory refs.
   16608 	(if_convertible_stmt_p): Remove loop and bb parameters.  Update calls
   16609 	to if_convertible_gimple_assign_stmt_p.
   16610 	(if_convertible_loop_p): Update call to if_convertible_stmt_p.
   16611 	(replace_phi_with_cond_gimple_assign_stmt): Renamed
   16612 	predicate_scalar_phi.  Do not handle virtual phi nodes.
   16613 	(ifconvert_phi_nodes): Renamed predicate_all_scalar_phis.
   16614 	Call predicate_scalar_phi.
   16615 	(insert_gimplified_predicates): Insert the gimplified predicate of a BB
   16616 	just after the labels for flag_loop_if_convert_stores, otherwise
   16617 	insert the predicate in the end of the BB.
   16618 	(predicate_mem_writes): New.
   16619 	(combine_blocks): Call predicate_all_scalar_phis.  When
   16620 	flag_loop_if_convert_stores is set, call predicate_mem_writes.
   16621 	(tree_if_conversion): Call mark_sym_for_renaming when
   16622 	flag_loop_if_convert_stores is set.
   16623 	(main_tree_if_conversion): Return TODO_update_ssa_only_virtuals when
   16624 	flag_loop_if_convert_stores is set.
   16625 
   16626 2010-08-24  Anatoly Sokolov  <aesok (a] post.ru>
   16627 
   16628 	* config/pa/pa.c (hppa_register_move_cost, pa_libcall_value,
   16629 	pa_function_value_regno_p, pa_print_operand_punct_valid_p): New.
   16630 	(pa_function_value): Make static.
   16631 	(override_options): Rename to...
   16632 	(pa_option_override): ...this. Make static.
   16633 	(TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_REGISTER_MOVE_COST,
   16634 	TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P,
   16635 	TARGET_OPTION_OVERRIDE): Define.
   16636 	* config/pa/pa.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P,
   16637 	LIBCALL_VALUE, REGISTER_MOVE_COST, PRINT_OPERAND_PUNCT_VALID_P):
   16638 	Remove.
   16639 	* config/pa/pa-protos.h (override_options): Remove.
   16640 
   16641 2010-08-24  Richard Guenther  <rguenther (a] suse.de>
   16642 
   16643 	PR middle-end/45379
   16644 	* tree-ssa-address.c (create_mem_ref_raw): Drop to MEM_REF
   16645 	if addr->index is NULL or zero.
   16646 	* tree-ssa-alias.c (indirect_refs_may_alias_p): Handle
   16647 	TARGET_MEM_REF more properly.
   16648 	(indirect_ref_may_alias_decl_p): Likewise.
   16649 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Keep TARGET_MEM_REFs.
   16650 	* alias.c (ao_ref_from_mem): Handle TARGET_MEM_REF more properly.
   16651 
   16652 2010-08-23  Anatoly Sokolov  <aesok (a] post.ru>
   16653 
   16654 	* config/m32c/m32c.c (m32c_function_value_regno_p): Make static.
   16655 	(m32c_override_options): Rename to...
   16656 	(m32c_option_override): ...this. Make static.
   16657 	(TARGET_FUNCTION_VALUE_REGNO_P, TARGET_OPTION_OVERRIDE): Define.
   16658 	* config/m32c/m32c.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P):
   16659 	Remove.
   16660 	* config/m32c/m32c-protos.h (m32c_override_options,
   16661 	m32c_function_value_regno_p): Remove.
   16662 
   16663 2010-08-23  Changpeng Fang  <changpeng.fang (a] amd.com>
   16664 
   16665 	* tree-ssa-loop-prefetch.c (gather_memory_references_ref) :
   16666 	Fix a typo in a previous commit.
   16667 
   16668 2010-08-23  Kai Tietz  <kai.tietz (a] onevision.com>
   16669 
   16670 	* tree-vect-loop.c (vect_get_single_scalar_iteraion_cost):
   16671 	Pre-initialize innerloop_iters to one.
   16672 
   16673 2010-08-23  Changpeng Fang  <changpeng.fang (a] amd.com>
   16674 
   16675 	* tree-flow.h (may_be_nonaddressable_p): New definition. Make the
   16676 	existing static function global.
   16677 
   16678 	* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): This function
   16679 	is changed to global.
   16680 
   16681 	* tree-ssa-loop-prefetch.c (gather_memory_references_ref): Call
   16682 	may_be_nonaddressable_p on base, and don't collect this reference
   16683 	if the address of the base could not be taken.
   16684 
   16685 2010-08-23  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   16686 
   16687 	* config/rs6000/rs6000.opt (-mveclibabi=mass): New option to
   16688 	enable the compiler to autovectorize mathmetical functions for
   16689 	power7 using the Mathematical Acceleration Subsystem library.
   16690 
   16691 	* config/rs6000/rs6000.c (rs6000_veclib_handler): New variable to
   16692 	handle which vector math library we have.
   16693 	(rs6000_override_options): Add -mveclibabi=mass support.
   16694 	(rs6000_builtin_vectorized_libmass): New function to handle auto
   16695 	vectorizing math functions that are in the MASS library.
   16696 	(rs6000_builtin_vectorized_function): Call it.
   16697 
   16698 	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
   16699 	-mveclibabi=mass.
   16700 
   16701 2010-08-22  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   16702 
   16703 	PR boehm-gc/34544
   16704 	* gthr-posix.h (__gthread_active_init): Delete.
   16705 	(__gthread_active_p): Do activity check here.
   16706 	Don't include errno.h on hppa-hpux.  Update comment.
   16707 	* gthr-posix95.h (__gthread_active_init): Delete.
   16708 	(__gthread_active_p): Do activity check here.
   16709 	Don't include errno.h on hppa-hpux.  Update comment.
   16710 	* config.gcc (hppa[12]*-*-hpux11*): Define extra_parts.
   16711 	* config/pa/pa64-hpux.h (LIB_SPEC): When -static is specified, only
   16712 	add -lpthread when -mt or -pthread is specified.
   16713 	* config/pa/pa-hpux11.h (LIB_SPEC): likewise.
   16714 	(LINK_GCC_C_SEQUENCE_SPEC): Define.
   16715 	* config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS): Define.
   16716 	(stublib.c, pthread_default_stacksize_np-stub.o,
   16717 	pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o,
   16718 	$(T)libgcc_stub.a): Add methods.
   16719 	* config/pa/t-pa64 (LIBGCCSTUB_OBJS): Add pthread stubs.
   16720 	(stublib.c, pthread_default_stacksize_np-stub.o,
   16721 	pthread_mutex_lock-stub.o, pthread_mutex_unlock-stub.o): Add methods.
   16722 	* config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
   16723 	pthread_mutex_unlock): New stubs.
   16724 
   16725 2010-08-22  Joseph Myers  <joseph (a] codesourcery.com>
   16726 
   16727 	* Makefile.in (gccspec.o, cppspec.o): Update dependencies.
   16728 	* common.opt (L, nodefaultlibs, nostdlib, pg, static): New
   16729 	options.
   16730 	* config/avr/avr.h (LIBSTDCXX): Remove initial "-l".
   16731 	* config/freebsd.h (MATH_LIBRARY_PROFILE): Remove initial "-l".
   16732 	* config/i386/djgpp.h (LIBSTDCXX): Remove initial "-l".
   16733 	* config/rs6000/aix.h (LIBSTDCXX_STATIC): Remove initial "-l".
   16734 	* config/s390/tpf.h (MATH_LIBRARY, LIBSTDCXX): Remove initial
   16735 	"-l".
   16736 	* cppspec.c: Include opts.h.
   16737 	(lang_specific_driver): Use cl_decoded_option structures.
   16738 	* doc/tm.texi.in (MATH_LIBRARY): Update documentation.
   16739 	* doc/tm.texi: Regenerate.
   16740 	* gcc.c (translate_options): Translate -d to -foutput-class-dir=.
   16741 	(driver_handle_option): Allow driver options needing no special
   16742 	processing.
   16743 	(process_command): Decode options before call to
   16744 	lang_specific_driver.  Pass decoded options to
   16745 	lang_specific_driver.
   16746 	* gcc.h (lang_specific_driver): Update prototype.
   16747 	* gccspec.c: Include opts.h.
   16748 	(lang_specific_driver): Use cl_decoded_option structures.
   16749 	* opts-common.c (option_ok_for_language, generate_option,
   16750 	generate_option_input_file): New.
   16751 	(decode_cmdline_option): Use option_ok_for_language.
   16752 	(decode_cmdline_options_to_array): Use generate_option_input_file.
   16753 	(handle_generated_option): Use generate_option.
   16754 	* opts.h (generate_option, generate_option_input_file): Declare.
   16755 
   16756 2010-08-22  Anatoly Sokolov  <aesok (a] post.ru>
   16757 
   16758 	* config/mips/mips.c (mips_override_options): Rename to...
   16759 	(mips_option_override): ...this. Make static.
   16760 	(TARGET_OPTION_OVERRIDE): Define.
   16761 	(mips_in_small_data_p): Update comment.
   16762 	* config/mips/mips.h (OVERRIDE_OPTIONS): Remove.
   16763 	(FIXED_REGISTERS): Update comment.
   16764 	* config/mips/mips-protos.h (mips_override_options): Remove.
   16765 
   16766 2010-08-21  Olivier Hainque  <hainque (a] adacore.com>
   16767 
   16768 	* config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Define __PPC__.
   16769 
   16770 2010-08-21  Olivier Hainque  <hainque (a] adacore.com>
   16771 
   16772 	* config/rs6000/vxworks.h (PREFERRED_STACK_BOUNDARY,
   16773 	ABI_STACK_BOUNDARY): Ensure STACK_BOUNDARY is honored despite EABI.
   16774 
   16775 2010-08-20  Jan Hubicka  <jh (a] suse.cz>
   16776 
   16777 	* tree-pass.h (pass_ipa_cdtor_merge): New function.
   16778 	* cgraphunit.c (static_ctors, static_dtors): Move to ipa.c; make
   16779 	heap allocated.
   16780 	(record_cdtor_fn): Move to ipa.c; do not test for
   16781 	have_ctors_dtors.
   16782 	(build_cdtor): Move to ipa.c; add code avoiding construction
   16783 	when target have ctors/dtors and there is only one ctor/dtor at given
   16784 	priority.
   16785 	(compare_ctor, compare_dtor): Move to ipa.c; use DECL_UID to stabilize
   16786 	sort; reverse order of constructors.
   16787 	(cgraph_build_cdtor_fns): Move to ipa.c; rename to build_cdtor_fns.
   16788 	(cgraph_finalize_function): Do not call record_cdtor_fn.
   16789 	(cgraph_finalize_compilation_unit): Do not call cgraph_build_cdtor_fns.
   16790 	(cgraph_build_static_cdtor): Move to ipa.c.
   16791 	* ipa.c: Include target.h and tree-iterator.h.
   16792 	(cgraph_build_static_cdtor, static_ctors, static_dtors,
   16793 	record_cdtor_fn, build_cdtor, compare_ctor, compare_dtor,
   16794 	build_cdtor_fns, ipa_cdtor_merge, gate_ipa_cdtor_merge,
   16795 	pass_ipa_cdtor_merge): New.
   16796 	* passes.c (init_optimization_passes): Enqueue pass_ipa_cdtor_merge.
   16797 	* ipa-prop.c (update_indirect_edges_after_inlining): Avoid out of
   16798 	bounds access.
   16799 
   16800 2010-08-20  Jan Hubicka  <jh (a] suse.cz>
   16801 
   16802 	PR c++/45307
   16803 	PR c++/17736
   16804 	* cgraph.h (cgraph_only_called_directly_p,
   16805 	cgraph_can_remove_if_no_direct_calls_and_refs_p): Handle
   16806 	static cdtors.
   16807 	* cgraphunit.c (cgraph_decide_is_function_needed): Static cdtors
   16808 	are not needed.
   16809 	(cgraph_finalize_function): Static cdtors are reachable.
   16810 	(cgraph_mark_functions_to_output): Use cgraph_only_called_directly_p.
   16811 
   16812 2010-08-20  Jan Hubicka  <jh (a] suse.cz>
   16813 
   16814 	* lto-cgraph.c (lto_output_edge): Use gimple_has_body_p instead of
   16815 	flag_wpa.
   16816 	* lto-streamer-out.c (lto_output): Likewise.
   16817 	* passes.c (ipa_write_optimization_summaries): Initialize statement
   16818 	uids.
   16819 
   16820 2010-08-20  Olivier Hainque  <hainque (a] adacore.com>
   16821 
   16822 	* tree.h (alias_diag_flags): New enum.
   16823 	(alias_pair): Add an 'emitted_diags' field.
   16824 	* varasm.c (finish_aliases_1): Honor and update p->emitted_diags.
   16825 	(assemble_alias): Initialize emitted_diags of new pairs.
   16826 
   16827 2010-08-20  Eric Botcazou  <ebotcazou (a] adacore.com>
   16828 
   16829 	* config/rs6000/aix.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
   16830 	* config/rs6000/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
   16831 	* config/rs6000/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
   16832 	(STACK_CHECK_PROTECT): Define.
   16833 	* config/rs6000/rs6000.c (rs6000_emit_probe_stack_range): New function.
   16834 	(output_probe_stack_range): Likewise.
   16835 	(rs6000_emit_prologue): Invoke rs6000_emit_probe_stack_range if static
   16836 	builtin stack checking is enabled.
   16837 	* config/rs6000/rs6000-protos.h (output_probe_stack_range): Declare.
   16838 	* config/rs6000/rs6000.md (UNSPECV_PROBE_STACK_RANGE): New constant.
   16839 	(probe_stack_range): New insn.
   16840 
   16841 2010-08-20  H.J. Lu  <hongjiu.lu (a] intel.com>
   16842 
   16843 	PR target/45336
   16844 	* config/i386/emmintrin.h (_mm_extract_epi16): Cast to unsigned
   16845 	short first.
   16846 
   16847 	* config/i386/smmintrin.h (_mm_extract_epi8): Cast to unsigned
   16848 	char first.
   16849 
   16850 2010-08-20  Jakub Jelinek  <jakub (a] redhat.com>
   16851 
   16852 	PR target/45336
   16853 	* config/i386/sse.md (*sse4_1_pextrb): Add SWI48 mode iterator
   16854 	to cover zero extension into 64-bit register.
   16855 	(*sse2_pextrw): Likewise.
   16856 	(*sse4_1_pextrd_zext): New insn.
   16857 
   16858 2010-08-20  Iain Sandoe  <iains (a] gcc.gnu.org>
   16859 
   16860 	revert r163410, partially revert r163267.
   16861 	* config/rs6000/darwin.h (LIB_SPEC): Remove.
   16862 	* config/darwin.h (REAL_LIBGCC_SPEC): Link lgcc for all
   16863 	Darwin versions.
   16864 
   16865 2010-08-20  Jakub Jelinek  <jakub (a] redhat.com>
   16866 
   16867 	PR middle-end/44974
   16868 	* builtins.c (expand_builtin): Don't optimize away
   16869 	calls to DECL_LOOPING_CONST_OR_PURE_P builtins.
   16870 
   16871 2010-08-20  Uros Bizjak  <ubizjak (a] gmail.com>
   16872 
   16873 	* config/i386/i386.md (ashift %rsp splitter): Remove splitter.
   16874 	(pro_epilogue_adjust_stack_di_2): Use "l" constraint for
   16875 	alternative 1 of operand 2.
   16876 
   16877 2010-08-20  Jakub Jelinek  <jakub (a] redhat.com>
   16878 	    Paolo Bonzini  <bonzini (a] gnu.org>
   16879 
   16880 	* simplify-rtx.c (simplify_unary_operation_1): Optimize
   16881 	(sign_extend (zero_extend (...)) and
   16882 	({sign,zero}_extend (lshiftrt (ashift X (const_int I)) (const_int I))).
   16883 
   16884 2010-08-20  Jakub Jelinek  <jakub (a] redhat.com>
   16885 
   16886 	PR rtl-optimization/45353
   16887 	* sel-sched-ir.c (sel_bb_head): Return NULL even if next_nonnote_insn
   16888 	after bb_note is a BARRIER.
   16889 
   16890 2010-08-20  Iain Sandoe  <iains (a] gcc.gnu.org>
   16891 
   16892 	* config/rs6000/darwin.h (LIB_SPEC): New. Provide saveFP/restFP by
   16893 	linking libgcc.a.
   16894 
   16895 2010-08-20  Jakub Jelinek  <jakub (a] redhat.com>
   16896 	    Michael Matz  <matz (a] suse.de>
   16897 
   16898 	* tree-ssa-address.c (tree_mem_ref_addr): Convert offset to sizetype.
   16899 
   16900 2010-08-20  Nathan Froyd  <froydnj (a] codesourcery.com>
   16901 
   16902 	* ggc-common.c (ggc_mark_root_tab): New function, split out from...
   16903 	(ggc_mark_roots): ...here.
   16904 
   16905 2010-08-20  Nathan Froyd  <froydnj (a] codesourcery.com>
   16906 
   16907 	* vec.h (FOR_EACH_VEC_ELT): Define.
   16908 	* c-decl.c: Use it.
   16909 	* cfgloop.c: Likewise.
   16910 	* cfgloopmanip.c: Likewise.
   16911 	* cgraph.c: Likewise.
   16912 	* cgraphunit.c: Likewise.
   16913 	* combine.c: Likewise.
   16914 	* config/bfin/bfin.c: Likewise.
   16915 	* config/mips/mips.c: Likewise.
   16916 	* config/rs6000/rs6000.c: Likewise.
   16917 	* dbxout.c: Likewise.
   16918 	* df-scan.c: Likewise.
   16919 	* dominance.c: Likewise.
   16920 	* dse.c: Likewise.
   16921 	* dwarf2out.c: Likewise.
   16922 	* except.c: Likewise.
   16923 	* expr.c: Likewise.
   16924 	* function.c: Likewise.
   16925 	* gcse.c: Likewise.
   16926 	* genattr.c: Likewise.
   16927 	* ggc-common.c: Likewise.
   16928 	* gimplify.c: Likewise.
   16929 	* graphite-blocking.c: Likewise.
   16930 	* graphite-clast-to-gimple.c: Likewise.
   16931 	* graphite-dependences.c: Likewise.
   16932 	* graphite-interchange.c: Likewise.
   16933 	* graphite-poly.c: Likewise.
   16934 	* graphite-scop-detection.c: Likewise.
   16935 	* graphite-sese-to-poly.c: Likewise.
   16936 	* graphite.c: Likewise.
   16937 	* haifa-sched.c: Likewise.
   16938 	* ifcvt.c: Likewise.
   16939 	* implicit-zee.c: Likewise.
   16940 	* ipa-prop.c: Likewise.
   16941 	* ipa-struct-reorg.c: Likewise.
   16942 	* ipa.c: Likewise.
   16943 	* ira-build.c: Likewise.
   16944 	* ira-color.c: Likewise.
   16945 	* ira-emit.c: Likewise.
   16946 	* lambda-code.c: Likewise.
   16947 	* loop-invariant.c: Likewise.
   16948 	* loop-unroll.c: Likewise.
   16949 	* lower-subreg.c: Likewise.
   16950 	* lto-cgraph.c: Likewise.
   16951 	* lto-opts.c: Likewise.
   16952 	* lto-streamer-in.c: Likewise.
   16953 	* lto-streamer-out.c: Likewise.
   16954 	* lto-streamer.c: Likewise.
   16955 	* lto-symtab.c: Likewise.
   16956 	* matrix-reorg.c: Likewise.
   16957 	* opts.c: Likewise.
   16958 	* predict.c: Likewise.
   16959 	* print-tree.c: Likewise.
   16960 	* sdbout.c: Likewise.
   16961 	* sel-sched-dump.c: Likewise.
   16962 	* sel-sched-ir.c: Likewise.
   16963 	* sel-sched.c: Likewise.
   16964 	* sese.c: Likewise.
   16965 	* stor-layout.c: Likewise.
   16966 	* tree-cfg.c: Likewise.
   16967 	* tree-cfgcleanup.c: Likewise.
   16968 	* tree-chrec.c: Likewise.
   16969 	* tree-data-ref.c: Likewise.
   16970 	* tree-emutls.c: Likewise.
   16971 	* tree-inline.c: Likewise.
   16972 	* tree-into-ssa.c: Likewise.
   16973 	* tree-loop-distribution.c: Likewise.
   16974 	* tree-loop-linear.c: Likewise.
   16975 	* tree-mudflap.c: Likewise.
   16976 	* tree-outof-ssa.c: Likewise.
   16977 	* tree-parloops.c: Likewise.
   16978 	* tree-predcom.c: Likewise.
   16979 	* tree-pretty-print.c: Likewise.
   16980 	* tree-scalar-evolution.c: Likewise.
   16981 	* tree-ssa-live.c: Likewise.
   16982 	* tree-ssa-loop-im.c: Likewise.
   16983 	* tree-ssa-loop-ivcanon.c: Likewise.
   16984 	* tree-ssa-loop-ivopts.c: Likewise.
   16985 	* tree-ssa-loop-manip.c: Likewise.
   16986 	* tree-ssa-loop-niter.c: Likewise.
   16987 	* tree-ssa-loop-prefetch.c: Likewise.
   16988 	* tree-ssa-phiprop.c: Likewise.
   16989 	* tree-ssa-pre.c: Likewise.
   16990 	* tree-ssa-reassoc.c: Likewise.
   16991 	* tree-ssa-sccvn.c: Likewise.
   16992 	* tree-ssa-structalias.c: Likewise.
   16993 	* tree-ssa.c: Likewise.
   16994 	* tree-vect-data-refs.c: Likewise.
   16995 	* tree-vect-loop-manip.c: Likewise.
   16996 	* tree-vect-loop.c: Likewise.
   16997 	* tree-vect-patterns.c: Likewise.
   16998 	* tree-vect-slp.c: Likewise.
   16999 	* tree-vect-stmts.c: Likewise.
   17000 	* tree-vrp.c: Likewise.
   17001 	* tree.c: Likewise.
   17002 	* value-prof.c: Likewise.
   17003 	* var-tracking.c: Likewise.
   17004 	* varasm.c: Likewise.
   17005 	* vmsdbgout.c: Likewise.
   17006 
   17007 2010-08-19  Nathan Sidwell  <nathan (a] codesourcery.com>
   17008 	    Richard Guenther  <richard.guenther (a] gmail.com>
   17009 
   17010 	* gimplify.c (gimplify_modify_expr): When assigning to volatiles,
   17011 	copy the src value and return a copy.
   17012 	* doc/extend.texi (Volatiles): Move from C++ to C and expand.
   17013 	(C++ Volatiles): Adjust to describe C++ semantics only.
   17014 
   17015 2010-08-20  Joseph Myers  <joseph (a] codesourcery.com>
   17016 
   17017 	* doc/tm.texi.in (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Document to
   17018 	be zero or nonzero.
   17019 	* doc/tm.texi: Regenerate.
   17020 	* defaults.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define.
   17021 	* df-scan.c (df_get_exit_block_use_set), reginfo.c
   17022 	(init_reg_sets_1), rtlanal.c (rtx_unstable_p, rtx_varies_p):
   17023 	Handle new PIC_OFFSET_TABLE_REG_CALL_CLOBBERED semantics.
   17024 	* config/ia64/ia64.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define
   17025 	to 1.
   17026 
   17027 2010-08-20  Olivier Hainque  <hainque (a] adacore.com>
   17028 
   17029 	* config/sparc/sparc.c (sparc_asm_function_epilogue): Don't output
   17030 	an extra nop past a sibling call at the very end.
   17031 
   17032 2010-08-19  Bernd Schmidt  <bernds (a] codesourcery.com>
   17033 
   17034 	PR bootstrap/45350
   17035 	* combine.c (try_combine): Initialize i1_is_used and i2_is_used.  Fix
   17036 	a comment.
   17037 
   17038 2010-08-19  Nathan Froyd  <froydnj (a] codesourcery.com>
   17039 
   17040 	* target.def (function_arg, function_incoming_arg): Remove const
   17041 	qualifier on CUMULATIVE_ARGS parameter.
   17042 	* targhooks.h (default_function_arg, default_function_incoming_arg):
   17043 	Likewise.
   17044 	* targhooks.c (default_function_arg, default_function_incoming_arg):
   17045 	Likewise.
   17046 	* config/i386/i386.c (ix86_function_arg): Likewise.
   17047 
   17048 2010-08-19  Jakub Jelinek  <jakub (a] redhat.com>
   17049 
   17050 	PR target/45336
   17051 	* simplify-rtx.c (simplify_unary_operation_1): Optimize nested
   17052 	SIGN_EXTENDs or ZERO_EXTENDs.
   17053 
   17054 2010-08-19  Bernd Schmidt  <bernds (a] codesourcery.com>
   17055 
   17056 	PR target/42172
   17057 	* combine.c (combine_validate_cost): New arg I0.  All callers changed.
   17058 	Take its cost into account if nonnull.
   17059 	(insn_a_feeds_b): New static function.
   17060 	(combine_instructions): Look for four-insn combinations.
   17061 	(can_combine_p): New args PRED2, SUCC2.  All callers changed.  Take
   17062 	them into account when computing all_adjacent and looking for other
   17063 	uses.
   17064 	(combinable_i3pat): New args I0DEST, I0_NOT_IN_SRC.  All callers
   17065 	changed.  Treat them like I1DEST and I1_NOT_IN_SRC.
   17066 	(try_combine): New arg I0.  Handle four-insn combinations.
   17067 	(distribute_notes): New arg ELIM_I0.  All callers changed.  Treat it
   17068 	like ELIM_I1.
   17069 
   17070 2010-08-19  Jason Merrill  <jason (a] redhat.com>
   17071 
   17072 	PR c++/45307
   17073 	* gimplify.c (gimplify_init_constructor): Just return GS_UNHANDLED
   17074 	if ctor is empty.
   17075 	(gimplify_modify_expr_rhs): Adjust.
   17076 
   17077 2010-08-19  Nathan Froyd  <froydnj (a] codesourcery.com>
   17078 
   17079 	* cfgloop.c (get_loop_body_in_bfs_order): Avoid redundant call to
   17080 	bitmap_bit_p.
   17081 	* config/bfin/bifn.c (bfin_discover_loop): Likewise.
   17082 	* dominance.c (iterate_fix_dominators): Likewise.
   17083 	* dse.c (set_usage_bits): Likewise.
   17084 	(set_position_unneeded, record_store): Likewise.
   17085 	* gimple-fold.c (get_maxval_strlen): Likewise.
   17086 	* haifa-sched.c (fix_inter_tick, fix_recovery_deps): Likewise.
   17087 	* ipa-inline.c (update_caller_keys): Likewise.
   17088 	* ipa-split.c (verify_non_ssa_vars): Likewise.
   17089 	* ipa-type-escape.c (mark_type, close_type_seen): Likewise.
   17090 	(close_type_exposed_parameter, close_type_full_escape): Likewise.
   17091 	(close_addressof_down): Likewise.
   17092 	* ira-color.c (assign_hard_reg, push_allocno_to_stack): Likewise.
   17093 	(setup_allocno_left_conflicts_size): Likewise.
   17094 	(ira_reassign_conflict_allocnos): Likewise.
   17095 	(ira_reassign_pseudos): Likewise.
   17096 	* ira-emit.c (change_loop): Likewise.
   17097 	* loop-invariant.c (mark_regno_live, mark_regno_death): Likewise.
   17098 	* lto-streamer-out.c (write_symbol): Likewise.
   17099 	* predict.c (expr_expected_value_1): Likewise.
   17100 	* regstat.c (regstat_bb_compute_ri): Likewise.
   17101 	* sel-sched.c (create_block_for_bookkeeping): Likewise.
   17102 	(track_scheduled_insns_and_blocks, sel_sched_region_1): Likewise.
   17103 	* stmt.c (expand_case): Likewise.
   17104 	* tree-eh.c (emit_eh_dispatch): Likewise.
   17105 	* tree-into-ssa.c (prune_unused_phi_nodes): Likewise.
   17106 	* tree-loop-distribution.c (make_nodes_having_upstream_mem_writes):
   17107 	Likewise.
   17108 	(rdg_flag_vertex, rdg_flag_loop_exits): Likewise.
   17109 	(rdg_build_components): Likewise.
   17110 	* tree-object-size.c (collect_object_sizes_for): Likewise.
   17111 	* tree-sra.c (convert_callers): Likewise.
   17112 	* tree-ssa-coalesce.c (live_track_add_partition): Likewise.
   17113 	* tree-ssa-live.c (mark_all_vars_used_1): Likewise.
   17114 	* tree-ssa-pre.c (bitmap_set_replace_value): Likewise.
   17115 
   17116 2010-08-19  Uros Bizjak  <ubizjak (a] gmail.com>
   17117 
   17118 	* config/i386/i386.md (*lea_1): Use P mode iterator.
   17119 	(lea add splitter): Also handle DImode operands.
   17120 	(DImode lea add splitter): Use x86_64_immediate_operand for operand 2
   17121 	predicate.  Do not use ix86_lea_for_add_ok.
   17122 	(zext DImode lea add splitter): Use ix86_lea_for_add_ok.
   17123 	(lea ashift splitter): Also handle DImode operands.
   17124 	(DImode lea ashift splitter): Remove splitter.
   17125 
   17126 2010-08-19  Uros Bizjak  <ubizjak (a] gmail.com>
   17127 
   17128 	* config/i386/i386.md (*add<SWI:mode>3_cconly_overflow): Do not use
   17129 	ix86_binary_operator_ok.
   17130 
   17131 2010-08-19  Andrey Belevantsev  <abel (a] ispras.ru>
   17132 
   17133 	PR rtl-optimization/44691
   17134 	* sel-sched.c (count_occurrences_1): Also punt when SUBREG_REG
   17135 	is not a register.
   17136 
   17137 2010-08-19  Ian Bolton  <ian.bolton (a] arm.com>
   17138 
   17139 	PR target/45070
   17140 	* config/arm/arm.c (arm_output_epilogue): Ensure that return
   17141 	 value of size 1-3 is handled correctly.
   17142 
   17143 2010-08-19  Ian Bolton  <ian.bolton (a] arm.com>
   17144 
   17145 	* tree-switch-conversion.c (gen_inbound_check): Ensure that the
   17146 	type for the conditional has wide enough range.
   17147 
   17148 2010-08-18  Uros Bizjak  <ubizjak (a] gmail.com>
   17149 
   17150 	PR target/45327
   17151 	* config/i386/i386.md (<any_or:code><SWI:mode>_3): Do not use
   17152 	ix86_binary_operator_ok.
   17153 
   17154 2010-08-18  Uros Bizjak  <ubizjak (a] gmail.com>
   17155 
   17156 	* config/i386/i386.md (*add<mode>_1) <TYPE_LEA>: Split insn to lea.
   17157 	<default>:  Swap operands 1 and 2 for alternative 2 to use existing
   17158 	code to output insn mnemonic.  Fix comment.
   17159 	(*addsi_1_zext): Add r-r-0 alternative 1.
   17160 	<TYPE_LEA>: Split insn to lea.
   17161 	<default>: Handle alternative 1.
   17162 	(*addhi_1_lea): Add r-r-0 alternative 2.  Use cond RTX instead of
   17163 	multi-level if_then_else RTX to set "type" attribute.
   17164 	<default>: Handle alternative 2.
   17165 	(*addqi_1_lea): Add q-q-0 alternative 2 and r-r-0 alternative 4.
   17166 	Use cond RTX instead of multi-level if_then_else RTX to set
   17167 	"type" attribute.
   17168 	<default>: Handle alternatives 2 and 4.
   17169 	(lea splitters): Update calls to ix86_lea_for_add_ok.
   17170 
   17171 	* config/i386/i386.c (ix86_lea_for_add_ok): Remove unused "code"
   17172 	argument.
   17173 	* config/i386/i386-protos.h (ix86_lea_for_add_ok): Update prototype.
   17174 
   17175 2010-08-18  Richard Guenther  <rguenther (a] suse.de>
   17176 
   17177 	* tree-ssa-uninit.c (find_uninit_use): Disregard debug stmts,
   17178 	use operand helpers.
   17179 
   17180 2010-08-18  Paolo Bonzini  <bonzini (a] gnu.org>
   17181 
   17182 	PR middle-end/45292
   17183 	* optabs.c (expand_bool_compare_and_swap): Expand pending
   17184 	pops before trying the optab.
   17185 
   17186 2010-08-18  Yao Qi  <yao (a] codesourcery.com>
   17187 
   17188 	PR target/45094
   17189 	* config/arm/arm.c (output_move_double): Fix typo generating
   17190 	instructions ('ldr'->'str').
   17191 
   17192 2010-08-18  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   17193 
   17194 	PR rtl-optimization/42575
   17195 	* optabs.c (expand_doubleword_mult): Generate new pseudos to shorten
   17196 	live ranges.
   17197 
   17198 2010-08-18  Marcus Shawcroft  <marcus.shawcroft (a] arm.com>
   17199 
   17200 	* config/arm/arm-protos.h (arm_expand_sync): New.
   17201 	(arm_output_memory_barrier, arm_output_sync_insn): New.
   17202 	(arm_sync_loop_insns): New.
   17203 	* config/arm/arm.c (FL_ARCH7): New.
   17204 	(FL_FOR_ARCH7): Include FL_ARCH7.
   17205 	(arm_arch7): New.
   17206 	(arm_print_operand): Support %C markup.
   17207 	(arm_legitimize_sync_memory): New.
   17208 	(arm_emit, arm_insn_count, arm_count, arm_output_asm_insn): New.
   17209 	(arm_process_output_memory_barrier, arm_output_memory_barrier): New.
   17210 	(arm_ldrex_suffix, arm_output_ldrex, arm_output_strex): New.
   17211 	(arm_output_op2, arm_output_op3, arm_output_sync_loop): New.
   17212 	(arm_get_sync_operand, FETCH_SYNC_OPERAND): New.
   17213 	(arm_process_output_sync_insn, arm_output_sync_insn): New.
   17214 	(arm_sync_loop_insns,arm_call_generator, arm_expand_sync): New.
   17215 	* config/arm/arm.h (struct arm_sync_generator): New.
   17216 	(TARGET_HAVE_DMB, TARGET_HAVE_DMB_MCR): New.
   17217 	(TARGET_HAVE_MEMORY_BARRIER): New.
   17218 	(TARGET_HAVE_LDREX, TARGET_HAVE_LDREXBHD): New.
   17219 	* config/arm/arm.md: Include sync.md.
   17220 	(UNSPEC_MEMORY_BARRIER): New.
   17221 	(VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK): New.
   17222 	(VUNSPEC_SYNC_OP):New.
   17223 	(VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): New.
   17224 	(sync_result, sync_memory, sync_required_value): New attributes.
   17225 	(sync_new_value, sync_t1, sync_t2): Likewise.
   17226 	(sync_release_barrier, sync_op): Likewise.
   17227 	(length): Add logic to length attribute defintion to call
   17228 	arm_sync_loop_insns when appropriate.
   17229 	* config/arm/sync.md: New file.
   17230 
   17231 2010-08-17  Jakub Jelinek  <jakub (a] redhat.com>
   17232 
   17233 	* tree.h (host_integerp): Add ATTRIBUTE_PURE when not
   17234 	ENABLE_TREE_CHECKING.
   17235 	(tree_low_cst): Add inline version for !ENABLE_TREE_CHECKING
   17236 	and GCC >= 4.3.
   17237 
   17238 2010-08-17  H.J. Lu  <hongjiu.lu (a] intel.com>
   17239 
   17240 	* config/i386/i386.c (ix86_lea_for_add_ok): For !TARGET_OPT_AGU
   17241 	or optimizing for size, always avoid lea if possible.
   17242 
   17243 	* config/i386/i386.md (*add<mode>_1): Always avoid lea if possible.
   17244 
   17245 2010-08-17  Iain Sandoe  <iains (a] gcc.gnu.org>
   17246 
   17247 	* unwind-dw2-fde-darwin.c (_darwin10_Unwind_FindEnclosingFunction):
   17248 	Dunmmy function with NULL return unless the target is
   17249 	OSX >= 10.6 (Darwin10).
   17250 
   17251 2010-08-17  Jack Howarth  <howarth (a] bromo.med.uc.edu>
   17252 
   17253 	PR target/45258
   17254 	* gcc.c (spec_function): Add remove-outfile.
   17255 	(remove_outfile_spec_function): New function.
   17256 	* config/darwin.h (LINK_SPEC): Add removal of -ldl, -lm and -lpthread.
   17257 	* invoke.texi (replace-outfile): Document.
   17258 
   17259 2010-08-17  Uros Bizjak  <ubizjak (a] gmail.com>
   17260 
   17261 	PR target/45296
   17262 	* reginfo.c (globalize_reg): Reject stack registers.
   17263 
   17264 2010-08-17  Richard Guenther  <rguenther (a] suse.de>
   17265 
   17266 	* tree-ssa-dom.c (struct edge_info): Use a VEC for the
   17267 	list of conditional equivalences.
   17268 	(free_all_edge_infos): Adjust.
   17269 	(record_equivalences_from_incoming_edge): Likewise.
   17270 	(record_cond): Likewise.
   17271 	(build_and_record_new_cond): Likewise.
   17272 	(record_conditions): Likewise.
   17273 	(dom_opt_leave_block): Likewise.
   17274 
   17275 2010-08-17  Kai Tietz  <kai.tietz (a] onevision.com>
   17276 
   17277 	* doc/invoke.texi (ms-extension): Add documentation.
   17278 
   17279 2010-08-17  Richard Guenther  <rguenther (a] suse.de>
   17280 
   17281 	* fold-const.c (fold_comparison): Strip nops inside POINTER_PLUS_EXPR.
   17282 
   17283 2010-08-17  Shujing Zhao  <pearly.zhao (a] oracle.com>
   17284 
   17285 	PR c/40563
   17286 	* c-decl.c (diagnose_uninitialized_cst_member): New function.
   17287 	(finish_decl): Use it to issue a -Wc++-compat warning about
   17288 	uninitialized const field in struct or union.
   17289 
   17290 	(finish_struct): Use strip_array_types.
   17291 
   17292 2010-08-17  Jakub Jelinek  <jakub (a] redhat.com>
   17293 
   17294 	* function.c (block_fragments_nreverse, blocks_nreverse_all): New
   17295 	functions.
   17296 	(reorder_blocks): Use blocks_nreverse_all instead of blocks_nreverse.
   17297 	(reorder_blocks_1): Assert BLOCK_FRAGMENT_ORIGIN is NULL.  Don't
   17298 	call block_nreverse here.
   17299 	(blocks_nreverse): Rename decl temporary to block.
   17300 
   17301 2010-08-16  Bernd Schmidt  <bernds (a] codesourcery.com>
   17302 
   17303 	* config/arm/thumb2.md (thumb2_notsi_shiftsi,
   17304 	thumbsi_notsi_shiftsi_compare0, thumb2_not_shiftsi_compare0_scratch,
   17305 	thumb2_cmpsi_shiftsi, thumb2_cmpsi_shiftsi_swp, thumb2_arith_shiftsi,
   17306 	thumb2_arith_shiftsi splitter, thumb2_arith_shiftsi_compare0,
   17307 	thumb2_arith_shiftsi_compare0_scratch, thumb2_sub_shiftsi,
   17308 	thumb2_sub_shiftsi_compare0, thumb2_sub_shiftsi_compare0_scratch,
   17309 	thumb2_iorsi3): Delete.
   17310 	(orsi_notsi_si): No longer a named pattern.
   17311 	(orsi_not_shiftsi_si): Renamed from thumb_orsi_not_shiftsi_si.
   17312 	* config/arm/predicates.md (shift_amount_operand): New.
   17313 	(mult_operator): New.
   17314 	* config/arm/arm.md (attr arch, attr arch_enabled, attr insn_enabled,
   17315 	attr enabled): New.
   17316 	(iorsi3_insn): Renamed from arm_iorsi3.  Handle a new alternative if
   17317 	arch matches t2.
   17318 	(not_shiftsi): Renamed from arm_notsi_shiftsi.  Handle Thumb2 variant.
   17319 	(not_shiftsi_compare0): Likewise, renamed from
   17320 	arm_notsi_shiftsi_compare0.
   17321 	(not_shiftsi_compare0_scratch): Likweise, renamed from
   17322 	arm_notsi_shiftsi_compare0_scratch.
   17323 	(cmpsi_shiftsi): Likewise, renamed from arm_cmpsi_shiftsi.
   17324 	(cmpsi_shiftsi_swp): Likewise, renamed from arm_cmpsi_shiftsi_swp.
   17325 	(arith_shiftsi): Handle Thumb2 variant.  Set insn_enabled attribute
   17326 	so that the register alternative is disabled when the shift_operator
   17327 	is MULT.  Use "M" as the constraint for constants.
   17328 	(arith_shiftsi splitter): Enable for TARGET_32BIT.
   17329 	(arith_shiftsi_compare0): Handle Thumb2 variant.  Use "M" as the
   17330 	constraint for constants.
   17331 	(arith_shiftsi_compare0_scratch): Likewise.
   17332 	(sub_shiftsi, sub_shiftsi_compare0, sub_shiftsi_compare0_scratch):
   17333 	Handle Thumb2 alternative.
   17334 
   17335 2010-08-16  Joseph Myers  <joseph (a] codesourcery.com>
   17336 
   17337 	* doc/options.texi (NoDriverArg): Document.
   17338 	* gcc.c (cpp_unique_options): Generate -MD and -MMD instead of
   17339 	-MDX and -MMDX.
   17340 	* opt-functions.awk (switch_flags): Handle NoDriverArg.
   17341 	* opts-common.c (decode_cmdline_option): Ignore CL_SEPARATE
   17342 	marking for CL_NO_DRIVER_ARG options when in the driver.
   17343 	* opts.h (CL_NO_DRIVER_ARG): Define.
   17344 	(CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
   17345 	CL_COMMON): Update values.
   17346 
   17347 2010-08-16  Joseph Myers  <joseph (a] codesourcery.com>
   17348 
   17349 	* common.opt: Add driver options.
   17350 	(auxbase, auxbase-strip, quiet, version): Mark RejectDriver.
   17351 	* doc/options.texi (Driver, RejectDriver): Document.
   17352 	* gcc.c (pass_exit_codes, print_search_dirs, print_file_name,
   17353 	print_prog_name, print_multi_directory, print_sysroot,
   17354 	print_multi_os_directory, print_multi_lib,
   17355 	print_sysroot_headers_suffix, report_times, combine_flag,
   17356 	use_pipes, wrapper_string): Remove.
   17357 	(save_switch, driver_unknown_option_callback,
   17358 	driver_wrong_lang_callback, driver_post_handling_callback,
   17359 	driver_handle_option): New.
   17360 	(spec_lang, last_language_n_infiles): Make file-scope static
   17361 	instead of local to process_command.
   17362 	(process_command): Use decode_cmdline_options_to_array and
   17363 	read_cmdline_option for option processing.  Compute have_c in
   17364 	prescan of decoded options.
   17365 	* opt-functions.awk (switch_flags): Handle Driver and
   17366 	RejectDriver.
   17367 	(var_type, var_type_struct): Handle Separate options as generating
   17368 	const char * variables.
   17369 	* opts-common.c (decode_cmdline_option): Expect CL_COMMON and
   17370 	CL_TARGET to be passed by caller if required.
   17371 	(decode_cmdline_options_to_array): Update comment.
   17372 	* opts.c (complain_wrong_lang): Handle options only valid for the
   17373 	driver.
   17374 	(decode_options): Update call to decode_cmdline_options_to_array.
   17375 	(print_filtered_help): Ignore driver-only options.
   17376 	(print_specific_help): Ignore CL_DRIVER.
   17377 	(common_handle_option): Don't call print_specific_help for CL_DRIVER.
   17378 	* opts.h (CL_DRIVER, CL_REJECT_DRIVER): Define.
   17379 	(CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_TARGET, CL_COMMON):
   17380 	Update values.
   17381 
   17382 2010-08-16  Richard Guenther  <rguenther (a] suse.de>
   17383 
   17384 	* tree-cfg.c (verify_types_in_gimple_reference): Verify
   17385 	TARGET_MEM_REF a bit.
   17386 	* tree-ssa-address.c (addr_for_mem_ref): Adjust.
   17387 	(create_mem_ref_raw): Always create TMR_OFFSET, store the
   17388 	alias pointer type via it.
   17389 	(copy_mem_ref_info): Adjust.
   17390 	(maybe_fold_tmr): Likewise.
   17391 	* tree.c (mem_ref_offset): Also handle TARGET_MEM_REF.
   17392 	(reference_alias_ptr_type): Likewise.
   17393 	* tree.def (TARGET_MEM_REF): Remove TMR_ORIGINAL operand,
   17394 	adjust documentation of TMR_OFFSET operand.
   17395 	* alias.c (get_alias_set): Do not look at TMR_ORIGINAL but
   17396 	use the alias pointer type.
   17397 	* expr.c (expand_expr_real_1): Do not use TMR_ORIGINAL to
   17398 	initialize mem attrs but the TMR itself.
   17399 	* tree-eh.c (tree_could_trap_p): Handle TARGET_MEM_REF
   17400 	similar to MEM_REF.
   17401 	* tree-pretty-print.c (dump_generic_node): Do not dump TMR_ORIGINAL.
   17402 	* tree-ssa-loop-ivopts.c (idx_remove_ssa_names): Remove.
   17403 	(unshare_and_remove_ssa_names): Likewise.
   17404 	(copy_ref_info): Adjust.
   17405 	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Simplify
   17406 	TARGET_MEM_REF case.
   17407 	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Do not look
   17408 	at TMR_ORIGINAL.
   17409 	* tree.h (TMR_ORIGINAL): Remove.
   17410 	* gimple.c (get_base_address): For TARGET_MEM_REF with a
   17411 	symbol return that.
   17412 	* tree-dfa.c (get_ref_base_and_extent): Handle TARGET_MEM_REF
   17413 	with a symbol.
   17414 	(get_addr_base_and_unit_offset): Likewise.
   17415 	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Handle
   17416 	TARGET_MEM_REFs.
   17417 	(indirect_ref_may_alias_decl_p): Likewise.
   17418 	(refs_may_alias_p_1): Do not bail out for TARGET_MEM_REFs.
   17419 
   17420 2010-08-15  Uros Bizjak  <ubizjak (a] gmail.com>
   17421 
   17422 	* doc/invoke.texi (-fomit-frame-pointer): Document that starting
   17423 	with GCC version 4.6, the default setting (when not optimizing
   17424 	for size) for 32-bit Linux x86 and 32-bit Darwin x86 targets has
   17425 	been changed to -fomit-frame-pointer.
   17426 
   17427 2010-08-15  Iain Sandoe  <iains (a] gcc.gnu.org>
   17428 
   17429 	* config/darwin.h (REAL_LIBGCC_SPEC): Remove libgcc_s.10.5 stub for
   17430 	Darwin10.  Do not link libgcc.a for Darwin >= 9.
   17431 
   17432 2010-08-15  Gerald Pfeifer  <gerald (a] pfeifer.com>
   17433 
   17434 	* doc/invoke.texi (Warning Options): Fix terminology and markup
   17435 	in the description of how unknown warning options are handled.
   17436 
   17437 2010-08-15  Ira Rosen  <irar (a] il.ibm.com>
   17438 
   17439 	* tree-vect-data-refs.c (vect_setup_realignment): Support realignment
   17440 	in basic blocks.
   17441 	(vect_supportable_dr_alignment): Check alignment for basic blocks.
   17442 	* tree-vect-slp.c (vect_build_slp_tree): Allow different codes for
   17443 	data references.
   17444 	(vect_bb_vectorization_profitable_p): New function.
   17445 	(vect_slp_analyze_bb): Call vect_bb_vectorization_profitable_p() to
   17446 	check if it's worthwhile to vectorize the basic block.
   17447 
   17448 2010-08-14  Anatoly Sokolov  <aesok (a] post.ru>
   17449 
   17450 	* reload.h (register_move_cost, memory_move_secondary_cost,
   17451 	secondary_reload_class): Adjust prototype.
   17452 	* rtl.h (reg_class_subset_p): Adjust prototype.
   17453 	* reload.c (secondary_reload_class): Change arguments type from
   17454 	enum reg_class to reg_class_t. Change result type to reg_class_t.
   17455 	* reginfo.c (register_move_cost, reg_class_subset_p): Change
   17456 	arguments type from enum reg_class to reg_class_t.
   17457 	(memory_move_secondary_cost): Change arguments type from
   17458 	enum reg_class to reg_class_t. Change type of saved_flags to
   17459 	reg_class_t.
   17460 
   17461 	* config/mips/mips.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
   17462 	Remove macros.
   17463 	(mips_cost): Remove.
   17464 	(struct mips_rtx_cost_data): Moved to mips.c.
   17465 	* config/mips/mips-protos.h (mips_register_move_cost): Remove.
   17466 	* config/mips/mips.c (struct mips_rtx_cost_data): Moved from mips.h.
   17467 	(mips_cost): Make static.
   17468 	(mips_canonicalize_move_class): Change argument type to reg_class_t.
   17469 	Change result type to reg_class_t.
   17470 	(mips_move_to_gpr_cost, mips_move_from_gpr_cost): Change arguments
   17471 	type from enum reg_class to reg_class_t.
   17472 	(mips_register_move_cost): Make static. Change arguments
   17473 	type from enum reg_class to reg_class_t.
   17474 	(mips_memory_move_cost): New function.
   17475 	(TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
   17476 
   17477 2010-08-14  Richard Sandiford  <rdsandiford (a] googlemail.com>
   17478 
   17479 	PR rtl-optimization/43358
   17480 	* ira-lives.c (process_single_reg_class_operands): Adjust the costs
   17481 	of a single hard register, using simplify_subreg_regno to decide
   17482 	what that register should be.
   17483 
   17484 2010-08-14  Mingjie Xing  <mingjie.xing (a] gmail.com>
   17485 
   17486 	* config/mips/mips.c (CODE_FOR_loongson_pmullh): Define.
   17487 	* config/mips/loongson.md (UNSPEC_LOONGSON_PMULL): Delete.
   17488 	(loongson_pmull<V_suffix>): Rename to...
   17489 	(mul<mode>3): ...this and use MULT instead of an UNSPEC.
   17490 
   17491 2010-08-13  Jack Howarth  <howarth (a] bromo.med.uc.edu>
   17492 
   17493 	* configure.ac: Enable -fomit-frame-pointer on darwin
   17494 	which support dwarf2.
   17495 	* config/i386/i386.c (override_options): Same.
   17496 
   17497 2010-08-13  Jie Zhang  <jie (a] codesourcery.com>
   17498 
   17499 	* config/arm/arm.md (cstoredf4): Only valid when !TARGET_VFP_SINGLE.
   17500 
   17501 2010-08-12  Joseph Myers  <joseph (a] codesourcery.com>
   17502 
   17503 	* gcc.c (cpp_unique_options): Generate -MDX and -MMDX from -MD and
   17504 	-MMD.
   17505 
   17506 2010-08-12  Changpeng Fang  <changpeng.fang (a] amd.com>
   17507 
   17508 	* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Give
   17509 	up dot_prod pattern searching if a stmt is outside the loop.
   17510 
   17511 2010-08-12  H.J. Lu  <hongjiu.lu (a] intel.com>
   17512 	    Uros Bizjak  <ubizjak (a] gmail.com>
   17513 
   17514 	* config.gcc: Handle --enable-frame-pointer.
   17515 
   17516 	* configure.ac: Add --enable-frame-pointer.
   17517 	* configure: Regenerated.
   17518 
   17519 	* config/i386/i386.c (USE_IX86_FRAME_POINTER): Default to 0.
   17520 	(override_options): If not configured with --enable-frame-pointer,
   17521 	enable -fomit-frame-pointer (but not for TARGET_MACHO or when
   17522 	optimizing for size), -fasynchronous-unwind-tables and
   17523 	-maccumulate-outgoing-args by default.
   17524 
   17525 2010-08-12  Jakub Jelinek  <jakub (a] redhat.com>
   17526 
   17527 	* builtins.c (fold_builtin_memory_op): Avoid -Wsign-compare warning.
   17528 
   17529 	PR middle-end/45262
   17530 	* fold-const.c (make_range) <case NEGATE_EXPR>: Punt if
   17531 	-a overflows.  Normalize the range.
   17532 
   17533 2010-08-12  Richard Guenther  <rguenther (a] suse.de>
   17534 
   17535 	PR tree-optimization/45232
   17536 	* tree-ssa-reassoc.c (can_reassociate_p): Disable re-association
   17537 	for types with undefined overflow.
   17538 	(reassociate_bb): Allow re-associating of bit and min/max
   17539 	operations for types with undefined overflow.
   17540 	* tree-ssa-forwprop.c (associate_plusminus): New function.
   17541 	(tree_ssa_forward_propagate_single_use_vars): Call it.
   17542 
   17543 2010-08-12  Richard Guenther  <rguenther (a] suse.de>
   17544 
   17545 	* tree-flow.h (struct ptr_info_def): Add align and misalign fields.
   17546 	* tree-ssa-alias.c (get_ptr_info): Move ...
   17547 	* tree-ssanames.c (get_ptr_info): ... here.  Initialize
   17548 	align and misalign fields conservatively.
   17549 	* tree-ssa-ccp.c (ccp_finalize): From partially constant pointers
   17550 	derive alignment information.
   17551 	(evaluate_stmt): Derive alignment information from memory
   17552 	allocation functions.
   17553 	* tree.h (get_pointer_alignment): Make unsigned.
   17554 	* builtins.c (get_object_alignment): Use alignment information we
   17555 	have computed for pointers.
   17556 	(get_pointer_alignment): Likewise.  Make conservative, return
   17557 	and unsigned value.
   17558 	(expand_builtin_strlen): Adjust.
   17559 	(expand_builtin_memcmp): Likewise.
   17560 	(expand_builtin_strcmp): Likewise.
   17561 	(expand_builtin_strncmp): Likewise.
   17562 	(get_builtin_sync_mem): Use at least mode alignment.
   17563 	(fold_builtin_memset): Adjust.
   17564 	(fold_builtin_memory_op): Likewise.
   17565 	* gimple-pretty-print.c (dump_gimple_phi): Alongside alias
   17566 	information also dump pointer alignment knowledge.
   17567 	(dump_gimple_stmt): Likewise.
   17568 
   17569 2010-08-12  Uros Bizjak  <ubizjak (a] gmail.com>
   17570 
   17571 	* config/i386/i386.c (LONG_TYPE_SIZE): Remove.
   17572 	(EMPTY_FIELD_BOUNDARY): Remove.
   17573 	* config/i386/i386-interix.h (PCC_BITFIELD_TYPE_MATTERS): Remove.
   17574 
   17575 2010-08-12  Jakub Jelinek  <jakub (a] redhat.com>
   17576 
   17577 	PR debug/45259
   17578 	* caller-save.c (save_call_clobbered_regs): Only swap notes with
   17579 	DEBUG_INSNs if n_regs_saved.
   17580 
   17581 2010-08-12  Wei Guozhi  <carrot (a] google.com>
   17582 
   17583 	PR target/44999
   17584 	* config/arm/arm.md (andsi3): Change to zero extension if possible.
   17585 	* config/arm/thumb2.md (thumb2_zero_extendqisi2_v6): Change the name.
   17586 
   17587 2010-08-11  Vladimir Makarov  <vmakarov (a] redhat.com>
   17588 
   17589 	* ira-int.h (ira_remove_allocno_copy_from_list): Remove.
   17590 
   17591 	* ira-build.c (ira_remove_allocno_copy_from_list): Remove.
   17592 
   17593 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17594 
   17595 	* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add back
   17596 	the case removed in the previous patch, when the only phi argument
   17597 	is defined in the same loop as the phi node itself.  Handle it
   17598 	separately from the invariant case by both propagating it outside
   17599 	the region and replacing the phi node with an assign.
   17600 
   17601 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17602 
   17603 	* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): The only
   17604 	constant phi nodes with one argument are is_gimple_min_invariant
   17605 	and SSA_NAME_IS_DEFAULT_DEF.
   17606 
   17607 2010-08-11  Andreas Simbuerger  <simbuerg (a] fim.uni-passau.de>
   17608 
   17609 	* graphite-cloog-util.c (oppose_constraint):
   17610 	Extend loop counter's value range (CLOOG_ORG).
   17611 	(cloog_matrix_to_ppl_constraint): Same.
   17612 	(new_Constraint_System_from_Cloog_matrix): Same.
   17613 	* graphite-cloog-compat.h (matrix_num_type): New.
   17614 
   17615 2010-08-11  Andreas Simbuerger  <simbuerg (a] fim.uni-passau.de>
   17616 
   17617 	* graphite.c (graphite_initialize): Do not initialize
   17618 	CLooG and initialize the Parma Polyhedra Library
   17619 	manually when using CLOOG_ORG.
   17620 	(graphite_finalize): Do not finalize CLooG and finalize
   17621 	the Parma Polyhedra Library manually when using CLOOG_ORG.
   17622 	* graphite-cloog-compat.h (cloog_initialize): Hide function
   17623 	when using CLOOG_ORG.
   17624 	(cloog_finalize): Same.
   17625 
   17626 2010-08-11  Andreas Simbuerger  <simbuerg (a] fim.uni-passau.de>
   17627 
   17628 	* graphite-clast-to-gimple.c (free_scattering): Change
   17629 	CloogDomainList/CloogDomain to CloogScatteringList/CloogScattering
   17630 	(CLOOG_ORG).
   17631 	(build_cloog_prog): Same.
   17632 	* graphite-cloog-compat.h (cloog_domain): Removed.
   17633 	(cloog_scattering): New.
   17634 	(cloog_set_domain): Removed.
   17635 	(cloog_set_scattering): New.
   17636 	(cloog_next_domain): Removed.
   17637 	(cloog_next_scattering): New.
   17638 	(cloog_set_next_domain): Removed.
   17639 	(cloog_set_next_scattering): New.
   17640 	(CloogScatteringList): New.
   17641 	(CloogScattering): New.
   17642 	(cloog_scattering_free): New.
   17643 	(new_Cloog_Scattering_from_ppl_Polyhedron): New.
   17644 	* graphite-cloog-util.c (new_Cloog_Scattering_from_ppl_Polyhedron):
   17645 	New.
   17646 
   17647 2010-08-11  Andreas Simbuerger  <simbuerg (a] fim.uni-passau.de>
   17648 
   17649 	* graphite-clast-to-gimple.c (build_cloog_prog): Extend with
   17650 	CloogState.
   17651 	(set_cloog_options): Same.
   17652 	(print_clast_stmt): Same.
   17653 	(scop_to_clast): Same.
   17654 	(print_generated_program): Same.
   17655 	(gloog): Same.
   17656 	* graphite-clast-to-gimple.h: Include graphite-cloog-util.h.
   17657 	(scop_to_clast): Extend with CloogState.
   17658 	* graphite-cloog-util.c: Include graphite-cloog-compat.h
   17659 	(new_Cloog_Domain_from_ppl_Polyhedron):
   17660 	Extend with CloogState.  Use cloog_domain_from_cloog_matrix (CLOOG_ORG).
   17661 	(new_Cloog_Domain_from_ppl_Pointset_Powerset): Extend with CloogState.
   17662 	(new_Cloog_Domain_from_ppl_Polyhedron): Same.
   17663 	* graphite-cloog-util.h (build_cloog_prog): Same.
   17664 	* graphite-cloog-copat.h (build_cloog_prog): New.
   17665 	(CloogState): New.
   17666 	(cloog_state_malloc): New.
   17667 	(cloog_state_free): New.
   17668 	(cloog_loop_malloc): New.
   17669 	(cloog_options_malloc): New.
   17670 	(cloog_statement_alloc): New.
   17671 	(cloog_domain_from_cloog_matrix): New.
   17672 	(new_Cloog_Domain_from_ppl_Pointset_Powerset): New.
   17673 	(new_Cloog_Domain_from_ppl_Polyhedron): New.
   17674 
   17675 2010-08-11  Andreas Simbuerger  <simbuerg (a] fim.uni-passau.de>
   17676 
   17677 	* graphite-clast-to-gimple.c (clast_name_to_gcc): Parameter
   17678 	type of NAME now depends on used CLooG version.
   17679 	(clast_to_gcc_expression): Replace expr_* with clast_expr_*.
   17680 	(gcc_type_for_clast_expr): Same.
   17681 	(print_clast_stmt): Replace pprint with clast_pprint.
   17682 	* graphite-cloog-compat.h: Provide compatibility macros for
   17683 	CLooG Legacy.
   17684 	(clast_name_p): New.
   17685 	(clast_expr_term): New.
   17686 	(clast_expr_red): New.
   17687 	(clast_expr_bin): New.
   17688 	(clast_pprint): New.
   17689 
   17690 2010-08-11  Andreas Simbuerger  <simbuerg (a] fim.uni-passau.de>
   17691 
   17692 	* graphite-clast-to-gimple.c (set_cloog_options): Make CLooG options
   17693 	compatible to newer CLooG releases (CLOOG_ORG).
   17694 	(build_cloog_prog): Pass CloogOptions to more functions (CLOOG_ORG).
   17695 	(scop_to_clast): Pass CloogOptions to build_cloog_prog (CLOOG_ORG).
   17696 	* graphite-cloog-compat.h: Add compatibility macros for CLooG Legacy.
   17697 	(build_cloog_prog) : New.
   17698 	(cloog_program_extract_scalars): New.
   17699 	(cloog_program_scatter): New.
   17700 
   17701 2010-08-11  Andreas Simbuerger  <simbuerg (a] fim.uni-passau.de>
   17702 
   17703 	* graphite-clast-to-gimple.c: Include graphite-cloog-compat.h
   17704 	conditionally (CLOOG_ORG).
   17705 	* graphite-cloog-compat.h: New.  Include graphite-cloog-compat.h.
   17706 	(cloog_statement_usr): New.
   17707 	(cloog_domain): Same.
   17708 	(cloog_set_domain): Same.
   17709 	(cloog_next_domain): Same.
   17710 	(cloog_set_next_domain): Same.
   17711 	(cloog_program_nb_scattdims): Same.
   17712 	(cloog_program_set_nb_scattdims): Same.
   17713 	(cloog_program_names): Same.
   17714 	(cloog_program_set_names): Same.
   17715 	(cloog_program_set_context): Same.
   17716 	(cloog_program_set_loop): Same.
   17717 	(cloog_program_blocklist): Same.
   17718 	(cloog_program_set_blocklist): Same.
   17719 	(cloog_program_scaldims): Same.
   17720 	(cloog_program_set_scaldims): Same.
   17721 	(cloog_names_nb_parameters): Same.
   17722 	(cloog_names_set_nb_parameters): Same.
   17723 	(cloog_names_parameters): Same.
   17724 	(cloog_names_set_parameters): Same.
   17725 	(cloog_names_set_nb_iterators): Same.
   17726 	(cloog_names_set_iterators): Same.
   17727 	(cloog_names_set_nb_scattering): Same.
   17728 	(cloog_names_set_scattering): Same.
   17729 	(cloog_statement_set_usr): Same.
   17730 	(cloog_loop_set_next): Same.
   17731 	(cloog_loop_set_domain): Same.
   17732 	(cloog_loop_set_block): Same.
   17733 	(cloog_block_list_next): Same.
   17734 	(cloog_block_list_set_next):
   17735 	(cloog_block_list_set_block): Same.
   17736 
   17737 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17738 
   17739 	* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Returns
   17740 	a bool.
   17741 	(rewrite_commutative_reductions_out_of_ssa_close_phi): Same.
   17742 	(rewrite_commutative_reductions_out_of_ssa_loop): Same.
   17743 	(rewrite_cross_bb_scalar_deps_out_of_ssa): Call scev_reset_htab
   17744 	when something has been changed.
   17745 	(rewrite_commutative_reductions_out_of_ssa): Same.
   17746 
   17747 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17748 
   17749 	* graphite-sese-to-poly.c (propagate_expr_outside_region): Also
   17750 	handle the case when def is in the sese region.
   17751 	(rewrite_close_phi_out_of_ssa): Call propagate_expr_outside_region
   17752 	for invariant expressions.
   17753 	(rewrite_cross_bb_phi_deps): Removed.
   17754 	(rewrite_cross_bb_scalar_deps): Also handle GIMPLE_PHI nodes.
   17755 	(rewrite_cross_bb_scalar_deps_out_of_ssa): Do not call
   17756 	rewrite_cross_bb_phi_deps.
   17757 
   17758 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17759 
   17760 	* graphite-sese-to-poly.c
   17761 	(rewrite_commutative_reductions_out_of_ssa_loop): Call
   17762 	scev_analyzable_p only on is_gimple_reg
   17763 
   17764 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17765 
   17766 	* graphite-sese-to-poly.c (propagate_expr_outside_region): New.
   17767 	(rewrite_close_phi_out_of_ssa): Propagate constant values or
   17768 	parametric expressions outside the scop region.
   17769 	(rewrite_cross_bb_scalar_deps): Same.
   17770 	* sese.c (rename_uses): Use NULL_TREE instead of NULL for trees.
   17771 
   17772 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17773 
   17774 	* graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Use
   17775 	SSA_NAME_DEF_STMT only on SSA_NAMEs.
   17776 
   17777 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17778 
   17779 	* tree-scalar-evolution.c (instantiate_scev_name): Do not
   17780 	instantiate default definitions.
   17781 
   17782 2010-08-11  Vladimir Kargov  <kargov (a] gmail.com>
   17783 	    Sebastian Pop  <sebastian.pop (a] amd.com>
   17784 
   17785 	* cfgloop.c (is_loop_exit): Renamed loop_exits_to_bb_p.
   17786 	(loop_exits_from_bb_p): New.
   17787 	* cfgloop.h (is_loop_exit): Renamed loop_exits_to_bb_p.
   17788 	(loop_exits_from_bb_p): Declared.
   17789 	* graphite-scop-detection.c (scopdet_basic_block_info): Call
   17790 	loop_exits_to_bb_p.
   17791 
   17792 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17793 
   17794 	* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add an
   17795 	extra parameter for the region.  Call scev_analyzable_p.
   17796 	(rewrite_reductions_out_of_ssa): Update call to
   17797 	rewrite_close_phi_out_of_ssa.
   17798 	(rewrite_cross_bb_phi_deps): Same.
   17799 	(rewrite_commutative_reductions_out_of_ssa_loop): Add an extra
   17800 	parameter for the region.  Call scev_analyzable_p.
   17801 	(rewrite_commutative_reductions_out_of_ssa): Update call to
   17802 	rewrite_commutative_reductions_out_of_ssa_loop.
   17803 
   17804 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17805 
   17806 	* sese.c (rename_uses): Call unshare_expr before force_gimple_operand.
   17807 
   17808 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17809 
   17810 	* graphite-sese-to-poly.c (reduction_phi_p): Do not rewrite out of
   17811 	SSA scalar phi nodes that can be scev_analyzable_p.
   17812 
   17813 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17814 
   17815 	* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Correctly
   17816 	handle SSA_NAME_IS_DEFAULT_DEF.
   17817 
   17818 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17819 
   17820 	* sese.c (rename_uses): Handl unconditionally gimple_debug statements.
   17821 
   17822 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17823 
   17824 	* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Special
   17825 	case non close-phi nodes with one argument.
   17826 
   17827 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17828 
   17829 	* sese.h (scev_analyzable_p): Scevs could be expressions without
   17830 	chrecs and still be scev_analyzable_p.
   17831 
   17832 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17833 
   17834 	* params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
   17835 
   17836 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17837 
   17838 	* cfgloop.c (alloc_loop): Remove initialization of loop->single_iv.
   17839 	* cfgloop.h (struct loop): Remove single_iv field.
   17840 	* graphite-sese-to-poly.c (graphite_loop_normal_form): Removed.
   17841 	(scop_canonicalize_loops): Removed.
   17842 	(scop_ivs_can_be_represented): Do not use loop->single_iv.  Iterate
   17843 	over all the loop phi nodes in loop->header.
   17844 	(build_poly_scop): Remove use of scop_canonicalize_loops.
   17845 
   17846 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17847 
   17848 	* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Also
   17849 	handle GIMPLE_CALL.
   17850 
   17851 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17852 
   17853 	* tree-chrec.c (chrec_apply): Should only apply to the specified
   17854 	variable.  Also handle multivariate chains of recurrences that
   17855 	satisfy evolution_function_is_affine_p.  Also handle CASE_CONVERT.
   17856 
   17857 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17858 
   17859 	* graphite-clast-to-gimple.c (debug_clast_name_index): Removed.
   17860 	(debug_clast_name_indexes_1): Removed.
   17861 	(debug_clast_name_indexes): Removed.
   17862 	(pbb_to_depth_to_oldiv): Removed.
   17863 	(build_iv_mapping): Replace the use of rename_map with iv_map.
   17864 	(translate_clast_user): Remove uses of rename_map.  Allocate and
   17865 	free iv_map.
   17866 	(translate_clast_for_loop): Remove uses of rename_map.
   17867 	(translate_clast_for): Same.
   17868 	(translate_clast_guard): Same.
   17869 	(translate_clast): Same.
   17870 	(gloog): Same.
   17871 	* graphite-clast-to-gimple.h (debug_clast_name_indexes): Removed.
   17872 	* graphite-sese-to-poly.c (scev_analyzable_p): Moved...
   17873 	* sese.c (set_rename): Now static.
   17874 	(rename_variables_in_stmt): Removed.
   17875 	(rename_uses): New.
   17876 	(is_parameter): Removed.
   17877 	(is_iv): Removed.
   17878 	(expand_scalar_variables_call): Removed.
   17879 	(expand_scalar_variables_ssa_name): Removed.
   17880 	(expand_scalar_variables_expr): Removed.
   17881 	(expand_scalar_variables_stmt): Removed.
   17882 	(expand_scalar_variables): Removed.
   17883 	(rename_variables): Removed.
   17884 	(remove_condition): Removed.
   17885 	(get_true_edge_from_guard_bb): Removed.
   17886 	(get_false_edge_from_guard_bb): Removed.
   17887 	(struct igp): Removed.
   17888 	(default_before_guard): Removed.
   17889 	(convert_for_phi_arg): Removed.
   17890 	(add_guard_exit_phis): Removed.
   17891 	(insert_guard_phis): Removed.
   17892 	(graphite_copy_stmts_from_block): Now also uses iv_map and a
   17893 	region.  Do not copy conditions.  Do not copy induction variables.
   17894 	Call rename_uses.
   17895 	(copy_bb_and_scalar_dependences): Allocate a local rename_map for
   17896 	the translated statement.  Use the iv_map for the induction
   17897 	variable renaming.
   17898 	* sese.h (copy_bb_and_scalar_dependences): Update declaration.
   17899 	(set_rename): Removed declaration.
   17900 	(scev_analyzable_p): ...here.
   17901 	* tree-chrec.c (chrec_apply_map): New.
   17902 	* tree-chrec.h (chrec_apply_map): Declared.
   17903 
   17904 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   17905 
   17906 	* graphite-clast-to-gimple.c (translate_clast_for_loop): Do not call
   17907 	insert_loop_close_phis.
   17908 	* sese.c (name_defined_in_loop_p): Removed.
   17909 	(expr_defined_in_loop_p): Removed.
   17910 	(alive_after_loop): Removed.
   17911 	(close_phi_not_yet_inserted_p): Removed.
   17912 	(struct alep): Removed.
   17913 	(add_loop_exit_phis): Removed.
   17914 	(insert_loop_close_phis): Removed.
   17915 
   17916 2010-08-11  Andreas Simbuerger  <simbuerg (a] fim.uni-passau.de>
   17917 
   17918 	* graphite-cloog-util.c
   17919 	(cloog_matrix_to_ppl_constraint): Fix flipped condition.
   17920 	* graphite-poly.c
   17921 	(psct_scattering_dim_for_loop_depth): Same.
   17922 
   17923 2010-08-11  Andreas Simbuerger  <simbuerg (a] fim.uni-passau.de>
   17924 
   17925 	* graphite-cloog-util.h: Added cloog.h.
   17926 	* graphite-blocking.c: Removed cloog.h.
   17927 	* graphite-dependences.c: Same.
   17928 	* graphite-interchange.c: Same.
   17929 	* graphite-poly.c: Same.
   17930 	* graphite-ppl.c: Same.
   17931 	* graphite-scop-detection.c: Same.
   17932 	* graphite-sese-to-poly.c:
   17933 	Removed cloog.h.
   17934 	Removed graphite-clast-to-gimple.h.
   17935 	(check_poly_representation): Removed (unused).
   17936 	* graphite-sese-to-poly.h
   17937 	(check_poly_representation): Removed (unused).
   17938 
   17939 2010-08-11  Andreas Simbuerger  <simbuerg (a] fim.uni-passau.de>
   17940 
   17941 	* Makefile.in (OBJS-common): Added graphite-cloog-util.o.
   17942 	(graphite-clast-to-gimple.o): Added graphite-cloog-util.h.
   17943 	(graphite-cloog-util.o): New.
   17944 	(graphite-ppl.o): Added graphite-cloog-util.h.
   17945 	* graphite-clast-to-gimple.c:
   17946 	Added graphite-cloog-util.h to include statements.
   17947 	* graphite-cloog-util.c: New.
   17948 	(new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.c.
   17949 	(new_Cloog_Domain_from_ppl_Polyhedron): Same.
   17950 	(new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
   17951 	(new_C_Polyhedron_from_Cloog_Matrix): Same.
   17952 	(insert_constraint_into_matrix): Same.
   17953 	(ppl_Constrain_System_number_of_constraints): Same.
   17954 	(new_Cloog_Matrix_from_ppl_Constraint_System): Same.
   17955 	(oppose_constraint): Same.
   17956 	(cloog_matrix_to_ppl_constraint): Same.
   17957 	(new_Constraint_System_from_Cloog_Matrix): Same.
   17958 	* graphite-cloog-util.h: New.
   17959 	(new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.h.
   17960 	(new_Cloog_Domain_from_ppl_Polyhedron): Same.
   17961 	(new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
   17962 	(new_C_Polyhedron_from_Cloog_Matrix): Same.
   17963 	(insert_constraint_into_matrix): Same.
   17964 	* graphite-ppl.c:
   17965 	Added graphite-cloog-util.h to include statements.
   17966 	(new_Cloog_Matrix_from_ppl_Polyhedron): Moved to graphite-cloog-util.c.
   17967 	(new_Cloog_Domain_from_ppl_Polyhedron): Same.
   17968 	(new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
   17969 	(new_C_Polyhedron_from_Cloog_Matrix): Same.
   17970 	(insert_constraint_into_matrix): Same.
   17971 	(ppl_Constrain_System_number_of_constraints): Same.
   17972 	(new_Cloog_Matrix_from_ppl_Constraint_System): Same.
   17973 	(oppose_constraint): Same.
   17974 	(cloog_matrix_to_ppl_constraint): Same.
   17975 	(new_Constraint_System_from_Cloog_Matrix): Same.
   17976 	* graphite-ppl.h:
   17977 	(new_Cloog_Matrix_from_ppl_Polyhedron): Moved to
   17978 	graphite-cloog-util.h.
   17979 	(new_Cloog_Domain_from_ppl_Polyhedron): Same.
   17980 	(new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
   17981 	(new_C_Polyhedron_from_Cloog_Matrix): Same.
   17982 	(insert_constraint_into_matrix): Same.
   17983 
   17984 2010-08-11  Andreas Simbuerger  <simbuerg (a] fim.uni-passau.de>
   17985 
   17986 	* graphite-clast-to-gimple.c
   17987 	(precision_for_value): Resolve value_* calls to matching mpz_* calls.
   17988 	(precision_for_interval): Same.
   17989 	(gcc_type_for_interval): Same.
   17990 	(compute_type_for_level): Same.
   17991 	* graphite-interchange.c
   17992 	(lst_interchange_profitable_p): Same.
   17993 	* graphite-poly.c
   17994 	(psct_scattering_dim_for_loop_depth): Same.
   17995 	* graphite-ppl.c
   17996 	(ppl_max_for_le_pointset): Same.
   17997 	(ppl_min_for_le_pointset): Same.
   17998 
   17999 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   18000 
   18001 	* graphite-sese-to-poly.c (rewrite_degenerate_phi): New.
   18002 	(rewrite_reductions_out_of_ssa): Call it for degenerate_phi_result.
   18003 
   18004 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   18005 
   18006 	* graphite-sese-to-poly.c (rewrite_cross_bb_phi_deps): Call
   18007 	rewrite_close_phi_out_of_ssa.
   18008 
   18009 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   18010 
   18011 	* graphite-sese-to-poly.c (rewrite_cross_bb_phi_deps): Remove dead code.
   18012 
   18013 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   18014 
   18015 	* graphite-clast-to-gimple.c (build_iv_mapping): Rename map with
   18016 	rename_map.
   18017 	* sese.c (debug_rename_map): Same.
   18018 	(get_rename): Same.
   18019 	(set_rename): Same.
   18020 	(rename_variables_in_stmt): Same.
   18021 	(expand_scalar_variables_call): Same.
   18022 	(expand_scalar_variables_ssa_name): Same.
   18023 	(expand_scalar_variables_expr): Same.
   18024 	(expand_scalar_variables_stmt): Same.
   18025 	(expand_scalar_variables): Same.
   18026 	(rename_variables): Same.
   18027 	(graphite_copy_stmts_from_block): Same.
   18028 	(copy_bb_and_scalar_dependences): Same.
   18029 
   18030 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   18031 
   18032 	* graphite-clast-to-gimple.c (copy_renames): Removed.
   18033 	(translate_clast_for): Do not call copy_renames.
   18034 	(translate_clast_guard): Same.
   18035 
   18036 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   18037 
   18038 	* graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Moved up.
   18039 	(rewrite_cross_bb_phi_deps): Split out of rewrite_cross_bb_scalar_deps.
   18040 	(rewrite_cross_bb_scalar_deps_out_of_ssa): Run rewrite_cross_bb_phi_deps
   18041 	before rewrite_cross_bb_scalar_deps.
   18042 
   18043 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   18044 
   18045 	* graphite-sese-to-poly.c (rewrite_commutative_reductions_out_of_ssa):
   18046 	Early return in when flag_associative_math is not set.
   18047 
   18048 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   18049 
   18050 	* graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Always insert out
   18051 	of SSA copies on edges except for loop->latch.
   18052 
   18053 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   18054 
   18055 	* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps_out_of_ssa):
   18056 	Split out of rewrite_reductions_out_of_ssa.
   18057 	* graphite-sese-to-poly.h (rewrite_cross_bb_scalar_deps_out_of_ssa):
   18058 	Declared.
   18059 	* graphite.c (graphite_transform_loops): Call it.
   18060 
   18061 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   18062 
   18063 	* graphite.c (graphite_transform_loops): Add two more dbg_cnt calls.
   18064 
   18065 2010-08-11  Alexander Monakov  <amonakov (a] ispras.ru>
   18066 
   18067 	* dbgcnt.def (graphite_scop): New counter.
   18068 	* graphite.c: Include dbgcnt.h.
   18069 	(graphite_transform_loops): Use new counter to limit transformations.
   18070 	* Makefile.in (graphite.o): Depend on DBGCNT_H.
   18071 
   18072 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   18073 
   18074 	* passes.c (init_optimization_passes): Add pass_graphite.
   18075 	Schedule a pass_copy_prop before pass_graphite_transforms.
   18076 	* timevar.def (TV_GRAPHITE): Declared.
   18077 	* tree-pass.h (pass_graphite): Declared.
   18078 	* tree-ssa-loop.c (pass_graphite): New.
   18079 
   18080 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   18081 
   18082 	* graphite-clast-to-gimple.c (gloog): Do not pass scops in parameter.
   18083 	Remove calls to rename_nb_iterations and rename_sese_parameters.
   18084 	* graphite-clast-to-gimple.h (gloog): Update declaration.
   18085 	* graphite.c (graphite_transform_loops): Update call to gloog.
   18086 	* sese.c (rename_variables_in_expr): Removed.
   18087 	(rename_nb_iterations): Removed.
   18088 	(rename_sese_parameters): Removed.
   18089 	* sese.h (rename_nb_iterations): Removed.
   18090 	(rename_sese_parameters): Removed.
   18091 
   18092 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   18093 
   18094 	* graphite-clast-to-gimple.c (gloog): Remove call to
   18095 	sese_adjust_liveout_phis.
   18096 	* graphite-sese-to-poly.c (scev_analyzable_p): When scev returns an
   18097 	SSA_NAME, allow it to be handled by rewrite_cross_bb_scalar_deps.
   18098 	(rewrite_cross_bb_scalar_deps): Handle GIMPLE_PHI nodes: call
   18099 	rewrite_phi_out_of_ssa.
   18100 	* sese.c (get_vdef_before_sese): Removed.
   18101 	(sese_adjust_vphi): Removed.
   18102 	(sese_adjust_liveout_phis): Removed.
   18103 	* sese.h (sese_adjust_liveout_phis): Removed.
   18104 
   18105 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   18106 
   18107 	* graphite-sese-to-poly.c (insert_out_of_ssa_copy): Pass an extra
   18108 	argument for the place after which to insert the out of SSA copy.
   18109 	(rewrite_close_phi_out_of_ssa): Update calls to insert_out_of_ssa_copy.
   18110 	(rewrite_phi_out_of_ssa): Same.
   18111 	(rewrite_cross_bb_scalar_deps): Same.
   18112 	(insert_copyout): Removed.
   18113 	(insert_copyin): Removed.
   18114 	(translate_scalar_reduction_to_array): Call insert_out_of_ssa_copy and
   18115 	insert_out_of_ssa_copy_on_edge instead of insert_copyout and
   18116 	insert_copyin.
   18117 
   18118 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   18119 
   18120 	* graphite-sese-to-poly.c (build_scop_bbs): Not static anymore.
   18121 	(rewrite_reductions_out_of_ssa): Same.
   18122 	(rewrite_commutative_reductions_out_of_ssa): Same.
   18123 	(build_poly_scop): Do not call these functions.
   18124 	* graphite-sese-to-poly.h (build_poly_scop): Declared.
   18125 	(rewrite_reductions_out_of_ssa): Declared.
   18126 	(rewrite_commutative_reductions_out_of_ssa): Declared.
   18127 	* graphite.c (graphite_transform_loops): Call on every scop
   18128 	rewrite_commutative_reductions_out_of_ssa before calling
   18129 	rewrite_reductions_out_of_ssa and build_scop_bbs.
   18130 
   18131 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   18132 
   18133 	* graphite-dependences.c (dot_deps): Make system call to dotty run
   18134 	in background.
   18135 	(dot_deps_stmt): Same.
   18136 	* graphite-poly.c (dot_lst): Same.
   18137 
   18138 2010-08-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   18139 
   18140 	* graphite-sese-to-poly.c (loop_entry_phi_arg): Renamed
   18141 	phi_arg_in_outermost_loop.
   18142 	(remove_simple_copy_phi): Call phi_arg_in_outermost_loop.
   18143 	(remove_invariant_phi): Same.
   18144 
   18145 2010-08-11  Anatoly Sokolov  <aesok (a] post.ru>
   18146 
   18147 	* target.def (output_addr_const_extra): New hook.
   18148 	* doc/tm.texi.in (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Document.
   18149 	* doc/tm.texi: Regenerate.
   18150 	* targhooks.c (default_asm_output_addr_const_extra): New function.
   18151 	* targhooks.h (default_asm_output_addr_const_extra): Declare.
   18152 	* final.c (output_addr_const): Use TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA
   18153 	target hook.
   18154 
   18155 	* config/i386/i386.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
   18156 	* config/i386/i386-protos.h (output_addr_const_extra): Remove.
   18157 	* config/i386/i386.h (output_addr_const_extra): Rename to...
   18158 	(i386_asm_output_addr_const_extra): ...this. Make static.
   18159 	(TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
   18160 
   18161 2010-08-11  Richard Henderson  <rth (a] redhat.com>
   18162 
   18163 	* config/i386/i386.h (HARD_REGNO_CALL_PART_CLOBBERED): New.
   18164 
   18165 2010-08-11  Nick Clifton  <nickc (a] redhat.com>
   18166 
   18167 	* config/stormy16/stormy16-lib2.c (__cmpsi2): New function.
   18168 	* config/stormy16/stormy16-lib2-cmpsi2.c: New file.
   18169 	* config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
   18170 	stormy16-lib2-cmpsi.c.
   18171 
   18172 	* config/stormy16/t-stormy16 (TARGET_LIBGCC2_CFLAGS): Change to
   18173 	-O2.
   18174 
   18175 2010-08-11  Joseph Myers  <joseph (a] codesourcery.com>
   18176 
   18177 	* opts.h (struct cl_option_handler_func): Make handler take
   18178 	cl_decoded_option structure as parameter, not individual elements.
   18179 	(struct cl_option_handlers): Make callbacks take cl_decoded_option
   18180 	structure as parameter, not individual elements.
   18181 	(handle_option): Take cl_decoded_option structure as parameter,
   18182 	not individual elements.
   18183 	(handle_generated_option): Declare.
   18184 	* opts-common.c (handle_option): Take cl_decoded_option structure
   18185 	as parameter, not individual elements.  Update calls to callback
   18186 	and handler functions.
   18187 	(handle_generated_option): New.
   18188 	(read_cmdline_option): Update calls to callback functions and
   18189 	handle_option.
   18190 	* opts.c (common_handle_option, complain_wrong_lang,
   18191 	unknown_option_callback, post_handling_callback,
   18192 	lang_handle_option, target_handle_option): Take cl_decoded_option
   18193 	structure as parameter, not individual elements.
   18194 	(lang_handle_option, target_handle_option, common_handle_option):
   18195 	Assert option has at most one argument.
   18196 	(enable_warning_as_error): Call handle_generated_option instead of
   18197 	handle_option.  Do not pass -Werror argument as argument of
   18198 	generated option.
   18199 
   18200 2010-08-10  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   18201 
   18202 	* config/pa/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with
   18203 	'unsigned short' and 'unsigned char' instead of 'short' and 'char'.
   18204 	(SUBWORD_BOOL_CAS): Likewise.
   18205 	(SUBWORD_SYNC_OP): Likewise.
   18206 	(SUBWORD_TEST_AND_SET): Likewise.
   18207 	(FETCH_AND_OP_WORD): Parenthesise INF_OP
   18208 	(SUBWORD_SYNC_OP): Likewise.
   18209 	(OP_AND_FETCH_WORD): Likewise.
   18210 
   18211 2010-08-10  Xinliang David Li  <davidxl (a] google.com>
   18212 
   18213 	* tree-ssa-loop-ivopts.c (get_address_cost): Properly
   18214 	compute max/min offset in address.
   18215 
   18216 2010-08-10  Vladimir Makarov  <vmakarov (a] redhat.com>
   18217 
   18218 	* ira-live.c: Include sbitmap.h.
   18219 	(remove_some_program_points_and_update_live_ranges): Use sbitmaps.
   18220 	Compress live ranges even more.
   18221 
   18222 2010-08-10  Nathan Froyd  <froydnj (a] codesourcery.com>
   18223 
   18224 	* coverage.c (ctr_labels): Delete.
   18225 
   18226 2010-08-10  Bernd Schmidt  <bernds (a] codesourcery.com>
   18227 
   18228 	PR bootstrap/45177
   18229 	* config/arm/arm.c (multiple_operation_profitable_p): Move xscale
   18230 	test here from arm_gen_load_multiple_1.
   18231 	(arm_gen_load_multiple_1, arm_gen_store_multiple_1): Use
   18232 	multiple_operation_profitable_p.
   18233 
   18234 2010-08-10  Nathan Froyd  <froydnj (a] codesourcery.com>
   18235 
   18236 	* tree-ssa-pre.c (init_pre): Call alloc_aux_for_blocks.
   18237 	(fini_pre): Call free_aux_for_blocks.  Delete unused bb variable.
   18238 
   18239 2010-08-10  Richard Henderson  <rth (a] redhat.com>
   18240 
   18241 	* config/i386/i386.c (ix86_compute_frame_layout): Re-align stack
   18242 	after saving registers.  Assert that SSE registers are only saved
   18243 	with a sufficiently aligned frame.
   18244 	(ix86_emit_save_reg_using_mov): Assert realigned only with DRAP;
   18245 	remove stack_realign_fp handling.
   18246 	(ix86_expand_prologue): Save int registers before stack_realign_fp,
   18247 	and do not mark the stack alignment as frame related.
   18248 	(ix86_expand_epilogue): SP is now invalid with stack_realign_fp.
   18249 
   18250 	* dwarf2out.c (dwarf2out_frame_debug_expr): Flush queued register
   18251 	saves when re-aligning the stack.
   18252 
   18253 2010-08-10  Nathan Froyd  <froydnj (a] codesourcery.com>
   18254 
   18255 	* basic-block.h (alloc_aux_for_block, alloc_aux_for_edge): Delete.
   18256 	* cfg.c (alloc_aux_for_block, alloc_aux_for_edge): Make static.
   18257 	(alloc_aux_for_blocks, clear_aux_for_blocks): Use FOR_ALL_BB.
   18258 
   18259 2010-08-10  Nathan Froyd  <froydnj (a] codesourcery.com>
   18260 
   18261 	* dwarf2out.c (struct die_struct): Move die_tag to the end.
   18262 
   18263 2010-08-09  Sofiane Naci  <sofiane.naci (a] arm.com>
   18264 
   18265 	* config/arm/iterators.md: New file.
   18266 	* config/arm/arm.md: Include iterators.md.
   18267 	(QHSI): Move to new file.
   18268 	(LTUGEU, cnb, optab, ior_xor): Likewise.
   18269 	* config/arm/iwmmxt.md (VMMX): Move to new file.
   18270 	(VSHFT, MMX_char): Likewise.
   18271 	* config/arm/neon.md (VD): Move to new file.
   18272 	(VDX, VDI, VQ, VQX, VQI, VQXMOV, VSTRUCT, VTAB, V_TAB_n, VW): Likewise.
   18273 	(VN, VDQ, VDQW, VDQIW, VCVTF, VCVTI, VMD, VMQ, VMDQ, VMDI): Likewise.
   18274 	(VMDQI, VX, VE, V64, V32, V_CVTTO, V_elem, V_ext): Likewise.
   18275 	(V_two_elem, V_three_elem, V_four_elem, V_req, V_widen): Likewise.
   18276 	(V_narrow, V_HALF, V_half,V_DOUBLE, V_double): Likewise.
   18277 	(V_double_width, V_cmp_result, V_if_elem, V_s_elem): Likewise.
   18278 	(V_u_elem, V_uf_sclr, V_sz_elem, VD_dup): Likewise.
   18279 	(V_PAIR, vqh_ops, vqhs_ops, VQH_mnem, VQH_sign, V_suf64): Likewise.
   18280 	(scalar_mul_constraint,Is_float_mode, Scalar_mul_8_16): Likewise.
   18281 	(Is_d_reg, V_mode_nunits): Likewise.
   18282 	* config/arm/vec-common.md (VALL): Move to new file.
   18283 	(VALLW, VINT, VINTW): Likewise.
   18284 
   18285 2010-08-10  Bernd Schmidt  <bernds (a] codesourcery.com>
   18286 
   18287 	PR middle-end/45182
   18288 	* combine.c (make_compound_operation): Don't try to convert
   18289 	shifts into multiplications for modes that aren't SCALAR_INT_MODE_P.
   18290 
   18291 2010-08-10  Richard Guenther  <rguenther (a] suse.de>
   18292 
   18293 	* tree.h (get_object_alignment): Adjust prototype.
   18294 	* builtins.c (get_object_alignment): Return unsigned int,
   18295 	drop the align parameter.  Handle MEM_REF, MISALIGNED_INDIRECT_REF
   18296 	and TARGET_MEM_REF properly.
   18297 	(get_pointer_alignment): Adjust.
   18298 	* emit-rtl.c (get_mem_align_offset): Adjust comment.
   18299 	(set_mem_attributes_minus_bitpos): Adjust.
   18300 	* tree-ssa-ccp.c (get_value_from_alignment): Adjust.
   18301 
   18302 2010-08-10  Richard Guenther  <rguenther (a] suse.de>
   18303 
   18304 	* tree-ssa-copy.c (set_copy_of_val): Use operand_equal_p.
   18305 	(copy_prop_visit_assignment): Simplify.
   18306 	(copy_prop_visit_stmt): Also visit assignments from
   18307 	constants.
   18308 	(copy_prop_visit_phi_node): Use operand_equal_p.
   18309 
   18310 2010-08-09  Nathan Froyd  <froydnj (a] codesourcery.com>
   18311 
   18312 	* ipa-split.c (find_split_points): Free stack.
   18313 
   18314 2010-08-09  Nathan Froyd  <froydnj (a] codesourcery.com>
   18315 
   18316 	* tree.h (tree_node_kind) [perm_list_kind,temp_list_kind]: Delete.
   18317 	* tree.c (tree_node_kind): Delete corresponding entries.
   18318 
   18319 2010-08-09  H.J. Lu  <hongjiu.lu (a] intel.com>
   18320 
   18321 	* alias.c (may_alias_p): Remove unused ret.
   18322 
   18323 2010-08-09  Bingfeng Mei  <bmei (a] broadcom.com>
   18324 
   18325 	* ddg.c (walk_mems_2): Moved from alias.c, use may_alias_p instead of
   18326 	alias_sets_conflict_p.
   18327 	(walk_mems_1): Moved from alias.c.
   18328 	(insns_may_alias_p): New function, originally insn_alias_sets_conflict_p
   18329 	in alias.c.
   18330 	(add_inter_loop_mem_dep): Use insns_may_alias_p now.
   18331 	* cse.c (cse_insn): New argument in calling nonoverlapping_memrefs_p.
   18332 	* alias.c (walk_mems_2): Moved to ddg.c.
   18333 	(walk_mems_1): Ditto.
   18334 	(insn_alias_sets_conflict_p): Renamed to insns_may_alias_p and moved
   18335 	to ddg.c.
   18336 	(nonoverlapping_memrefs_p): Add flag to guard offset-based memory
   18337 	disambiguation.
   18338 	*(may_alias_p): New function to check whether two memory expression
   18339 	may alias or not. Currently used in buidling inter-iteration memory
   18340 	dependence.
   18341 	*alias.h (nonoverlapping_memrefs_p): New flag as third argument.
   18342 	(insn_alias_sets_conflict_p): Removed
   18343 	*rtl.h (may_alias_p): New function prototype.
   18344 
   18345 2010-08-09  Nathan Froyd  <froydnj (a] codesourcery.com>
   18346 
   18347 	* tree.c (nreverse): Assert that we don't have a BLOCK.
   18348 
   18349 2010-08-09  Nathan Froyd  <froydnj (a] codesourcery.com>
   18350 
   18351 	* builtins.c (fold_builtin_next_arg): Use stdarg_p.
   18352 	* config/arm/arm.c (arm_get_pcs_model): Likewise.
   18353 	* config/avr/avr.c (init_cumulative_args): Likewise.
   18354 	* config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
   18355 	* config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.
   18356 	* config/m68k/m68k.c (m68k_return_pops_args): Likewise.
   18357 	* config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
   18358 	* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
   18359 	* config/pa/som.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
   18360 	* config/rs6000/rs6000.c (init_cumulative_args): Likewise.
   18361 	* dwarf2out.c (gen_subprogram_die): Likewise.
   18362 	* function.c (allocate_struct_function): Likewise.
   18363 	* c-aux-info.c (gen_formal_list_for_func_dec): Likewise.
   18364 	(deserves_ellipsis): Delete.
   18365 
   18366 2010-08-09  Richard Guenther  <rguenther (a] suse.de>
   18367 
   18368 	* tree-ssa-copy.c (cached_last_copy_of): Remove.
   18369 	(valueize_val): New function.
   18370 	(get_last_copy_of): Remove.
   18371 	(set_copy_of_val): Simplify.
   18372 	(dump_copy_of): Likewise.
   18373 	(copy_prop_visit_cond_stmt): Use valueize_val.
   18374 	(copy_prop_visit_phi_node): Properly handle unvisited names.
   18375 	Drop code managing copy-of chains.
   18376 	(init_copy_prop): Adjust.
   18377 	(fini_copy_prop): Likewise.
   18378 	(execute_copy_prop): Remove obsolete comment.
   18379 
   18380 2010-08-09  Richard Guenther  <rguenther (a] suse.de>
   18381 
   18382 	PR middle-end/44632
   18383 	* function.c (gimplify_parameters): Do not clear addressable
   18384 	bit of the original parameter.
   18385 
   18386 2010-08-09  Richard Guenther  <rguenther (a] suse.de>
   18387 
   18388 	PR middle-end/45212
   18389 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust
   18390 	alignment from MEM_REF offset only if we took it from the
   18391 	base object.
   18392 
   18393 2010-08-09  Eric Fisher  <joefoxreal (a] gmail.com>
   18394 
   18395 	* doc/sourcebuild.texi (vect_int_mult): Remove duplicate entry.
   18396 
   18397 2010-08-08  Nathan Froyd  <froydnj (a] codesourcery.com>
   18398 
   18399 	* c-tree.h (build_arg_info): Declare.
   18400 	* c-decl.c (build_arg_info): Define.
   18401 	(get_parm_info): Call it.  Delete initialization code.
   18402 	* c-parser.c (c_parser_parms_declarator): Likewise.
   18403 	(c_parser_parms_list_declaractor): Likewise.
   18404 
   18405 2010-08-08  Nathan Froyd  <froydnj (a] codesourcery.com>
   18406 
   18407 	* c-tree.h (c_arg_tag): Define.  Define a VEC containing it.
   18408 	(struct c_arg_info): Change type of tags field.
   18409 	* c-decl.c (grokdeclarator): Update for changed type of tags field.
   18410 	(get_parm_info): Likewise.
   18411 	(store_parm_decls_newstyle): Likewise.
   18412 
   18413 2010-08-08  Nathan Froyd  <froydnj (a] codesourcery.com>
   18414 
   18415 	* config/rs6000/rs6000.c (branch_island): Define.  Define a VEC of it.
   18416 	(branch_island_list): Delete.
   18417 	(branch_islands): Declare.
   18418 	(add_compiler_branch_island): Adjust for branch_islands instead of
   18419 	branch_island_list.
   18420 	(macho_branch_islands): Likewise.
   18421 	(no_previous_def): Likewise.
   18422 	(get_prev_label): Likewise.
   18423 
   18424 2010-08-08  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   18425 
   18426 	PR boehm-gc/34544
   18427 	* gthr-posix.h (__gthread_start): Delete.
   18428 	(__gthread_active_init): Use pthread_default_stacksize_np instead of
   18429 	pthread_create to determine if hpux pthreads are active.
   18430 	* gthr-posix95.h (__gthread_start): Delete.
   18431 	(__gthread_active_init): Likewise use pthread_default_stacksize_np.
   18432 
   18433 2010-08-08  Kai Tietz  <kai.tietz (a] onevision.com>
   18434 
   18435 	* config/i386/mingw32.h ((EXTRA_OS_CPP_BUILTINS): Define
   18436 	_WIN64 not expanded.
   18437 
   18438 2010-08-07  Uros Bizjak  <ubizjak (a] gmail.com>
   18439 	    H.J. Lu  <hongjiu.lu (a] intel.com>
   18440 
   18441 	PR target/45213
   18442 	* config/i386/i386.c (ix86_print_operand): Handle 'q' operand modifier
   18443 	to output 32bit SFmode immediate as 8 byte sign extended value.
   18444 
   18445 2010-08-07  Marcus Shawcroft  <marcus.shawcroft (a] arm.com>
   18446 
   18447 	* config/arm/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with
   18448 	'unsigned short' and 'unsigned char' instead of 'short' and 'char'.
   18449 	(SUBWORD_BOOL_CAS): Likewise.
   18450 	(SUBWORD_SYNC_OP): Likewise.
   18451 	(SUBWORD_TEST_AND_SET): Likewise.
   18452 	(FETCH_AND_OP_WORD): Parenthesise INF_OP
   18453 	(SUBWORD_SYNC_OP): Likewise.
   18454 	(OP_AND_FETCH_WORD): Likewise.
   18455 
   18456 2010-08-07  Ramana Radhakrishnan  <ramana.radhakrishnan (a] arm.com>
   18457 
   18458 	* config/arm/cortex-a9.md: Rewrite VFP Pipeline description.
   18459 	* config/arm/arm.c (arm_xscale_tune): Initialize sched_adjust_cost.
   18460 	(arm_fastmul_tune,arm_slowmul_tune, arm_9e_tune): Likewise.
   18461 	(arm_adjust_cost): Split into xscale_sched_adjust_cost and a
   18462 	generic part.
   18463 	(cortex_a9_sched_adjust_cost): New function.
   18464 	(xscale_sched_adjust_cost): New function.
   18465 	* config/arm/arm-protos.h (struct tune_params): New field
   18466 	sched_adjust_cost.
   18467 	* config/arm/arm-cores.def: Adjust costs for cortex-a9.
   18468 
   18469 2010-08-06  Eric Botcazou  <ebotcazou (a] adacore.com>
   18470 
   18471 	PR target/44942
   18472 	* config/sparc/sparc.c (function_arg_advance): Always take into account
   18473 	the padding, if any.
   18474 
   18475 2010-08-06  Richard Guenther  <rguenther (a] suse.de>
   18476 
   18477 	* tree-ssa-ccp.c (struct prop_value_d): Add mask member.
   18478 	(dump_lattice_value): Dump it.
   18479 	(get_default_value): Adjust.
   18480 	(get_constant_value): Likewise.
   18481 	(set_value_varying): Likewise.
   18482 	(set_lattice_value): Make sure to not go up the lattice
   18483 	with bitwise constant values.
   18484 	(get_value_for_expr): Handle ADDR_EXPRs.
   18485 	(value_to_double_int): New function.
   18486 	(get_value_from_alignment): Likewise.
   18487 	(do_dbg_cnt): Adjust.
   18488 	(ccp_lattice_meet): Handle partially constant values.
   18489 	(bit_value_unop_1): New function.
   18490 	(bit_value_binop_1): Likewise.
   18491 	(bit_value_unop): Likewise.
   18492 	(bit_value_binop): Likewise.
   18493 	(evaluate_stmt): Track partially constant values if
   18494 	flag_tree_bit_ccp is set.
   18495 	(ccp_fold_stmt): Dump if we folded a predicate.
   18496 	(ccp_visit_stmt): Adjust.
   18497 	* common.opt (ftree-bit-ccp): New flag.
   18498 	* doc/invoke.texi (ftree-bit-ccp): Document.
   18499 	* opts.c (decode_options): Enable bit-CCP at -O1.
   18500 
   18501 2010-08-06  Alan Modra  <amodra (a] gmail.com>
   18502 
   18503 	* doc/invoke.texi (RS/6000 and PowerPC Options): Rewrite -mrelocatable
   18504 	and -mrelocatable-lib description.
   18505 
   18506 2010-08-05  Bernd Schmidt  <bernds (a] codesourcery.com>
   18507 
   18508 	From Martin Thuresson  <martint (a] google.com>
   18509 	* postreload.c (reload_cse_simplify_operands): Use
   18510 	SET_REGNO_RAW instead of SET_REGNO.
   18511 	* caller-save.c (reg_save_code): Use SET_REGNO_RAW instead of
   18512 	SET_REGNO.
   18513 	* ira.c (setup_prohibited_mode_move_regs): Use SET_REGNO_RAW
   18514 	instead of SET_REGNO.
   18515 	* rtl.h (SET_REGNO_RAW): New macro.
   18516 
   18517 2010-08-05  Eric Botcazou  <ebotcazou (a] adacore.com>
   18518 
   18519 	* rtlanal.c (nonzero_bits1): Use unsigned HOST_WIDE_INT in all mask
   18520 	computations.  Fix formatting issues.
   18521 	(num_sign_bit_copies1): Likewise.
   18522 	(canonicalize_condition): Likewise.
   18523 
   18524 2010-08-05  Richard Henderson  <rth (a] redhat.com>
   18525 
   18526 	* toplev.h (ctz_hwi, clz_hwi, ffs_hwi): New.
   18527 	(floor_log2): Use clz_hwi.
   18528 	(exact_log2): Use ctz_hwi.
   18529 	* toplev.c (ctz_hwi, clz_hwi, ffs_hwi): New.
   18530 	* builtins.c (fold_builtin_bitop): Use them.
   18531 	* simplify-rtx.c (simplify_const_unary_operation): Likewise.
   18532 	* combine.c (get_pos_from_mask): Use ctz_hwi.
   18533 	* double-int.c (double_int_ctz): Likewise.
   18534 	* explow.c (force_reg): Likewise.
   18535 	* tree.h (SET_DECL_OFFSET_ALIGN): Use ffs_hwi.
   18536 
   18537 2010-08-05  Richard Henderson  <rth (a] redhat.com>
   18538 
   18539 	PR target/45189
   18540 	* config/i386/i386.c (ix86_emit_save_reg_using_mov): Make sure
   18541 	the alignment constant is properly sign-extended.
   18542 
   18543 2010-08-05  Richard Guenther  <rguenther (a] suse.de>
   18544 
   18545 	* expr.c (store_expr): Use emit_block_move only if both
   18546 	source and target are MEMs.  Use store_bit_field if only
   18547 	the target is a MEM.
   18548 
   18549 2010-08-05  Richard Henderson  <rth (a] redhat.com>
   18550 
   18551 	PR debug/45188
   18552 	* dwarf2out.c (DWARF2_UNWIND_INFO): Provide default definition.
   18553 	(INCOMING_RETURN_ADDR_RTX): Likewise.
   18554 	(dwarf2out_do_frame): Remove conditional compilation.
   18555 	(dwarf2out_frame_init): Likewise.
   18556 
   18557 2010-08-05  Nicolas Setton  <setton (a] adacore.com>
   18558 
   18559 	* gcov.c (flag_display_progress): New static variable.
   18560 	(main): Display progress info on standard output if requested.
   18561 	(options): Add -d/--display-progress.
   18562 	(print_usage): Print them.
   18563 	(process_args): Handle them.
   18564 	* doc/gcov.texi: Document them.
   18565 
   18566 2010-08-05  Martin Jambor  <mjambor (a] suse.cz>
   18567 
   18568 	* ipa-cp.c (ipcp_discover_new_direct_edges): New function.
   18569 	(ipcp_insert_stage): Redirect only edges not flagged with
   18570 	indirect_inlining_edge.  Call ipcp_discover_new_direct_edges for all
   18571 	discovered constants.
   18572 
   18573 2010-08-05  Martin Jambor  <mjambor (a] suse.cz>
   18574 
   18575 	* ipa-prop.h (enum ipa_lattice_type): Changed comments.
   18576 	(struct ipa_param_descriptor): New fields types and
   18577 	cannot_devirtualize.
   18578 	(ipa_param_cannot_devirtualize_p): New function.
   18579 	(ipa_param_types_vec_empty): Likewise.
   18580 	(ipa_make_edge_direct_to_target): Declare.
   18581 	* ipa-cp.c: Fixed first stage driver name in initial comment,
   18582 	described devirtualization there too.
   18583 	(ipcp_analyze_node): Call ipa_analyze_params_uses.
   18584 	(ipcp_print_all_lattices): Print devirtualization info.
   18585 	(ipa_set_param_cannot_devirtualize): New function.
   18586 	(ipcp_initialize_node_lattices): Set cannot_devirtualize when setting
   18587 	lattice to BOTTOM.
   18588 	(ipcp_init_stage): Merged into...
   18589 	(ipcp_generate_summary): ...its caller.
   18590 	(ipcp_change_tops_to_bottom): Also process type lists.
   18591 	(ipcp_add_param_type): New function.
   18592 	(ipcp_copy_types): Likewise.
   18593 	(ipcp_propagate_types): Likewise.
   18594 	(ipcp_propagate_stage): Also propagate types.
   18595 	(ipcp_need_redirect_p): Variable jump_func moved to its scope block.
   18596 	Also return true if propagated types require it.
   18597 	(ipcp_update_callgraph): Dump redirection info.
   18598 	(ipcp_process_devirtualization_opportunities): New function.
   18599 	(ipcp_const_param_count): Include known type information.
   18600 	(ipcp_insert_stage): Call ipcp_process_devirtualization_opportunities
   18601 	on new node.  Fixed formatting.
   18602 	* ipa-prop.c (make_edge_direct_to_target): Renamed to
   18603 	ipa_make_edge_direct_to_target and changed all callers.  Made
   18604 	externally visible.
   18605 	(ipa_node_duplication_hook): Duplicate types vector.
   18606 	* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Also try to
   18607 	redirect outgoing calls for which we can't get a decl from the
   18608 	statement.  Check that we can get a decl from the call statement.
   18609 	* ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
   18610 	ipa_analyze_params_uses only when ipa-cp is disabled.
   18611 	* tree-inline.c (get_indirect_callee_fndecl): Removed.
   18612 	(expand_call_inline): Do not call get_indirect_callee_fndecl.
   18613 	* params.def (PARAM_DEVIRT_TYPE_LIST_SIZE): New parameter.
   18614 	* Makefile.in (ipa-cp.o): Add gimple.h to dependencies.
   18615 
   18616 2010-08-05  Uros Bizjak  <ubizjak (a] gmail.com>
   18617 
   18618 	* expmed.c (expand_mult_const) <case alg_shift>: Expand shift into
   18619 	temporary. Emit move from temporary to accum, so REG_EQUAL note will
   18620 	be attached to this insn in correct mode.
   18621 
   18622 2010-08-05  Uros Bizjak  <ubizjak (a] gmail.com>
   18623 
   18624 	* config/i386/i386.c (ix86_decompose_address): Check for SI_REG
   18625 	using REGNO of base_reg directly.
   18626 
   18627 2010-08-05  Jie Zhang  <jie (a] codesourcery.com>
   18628 
   18629 	PR tree-optimization/45144
   18630 	* tree-sra.c (type_consists_of_records_p): Return false
   18631 	if the record contains bit-field.
   18632 
   18633 2010-08-04  Richard Henderson  <rth (a] redhat.com>
   18634 
   18635 	* config/i386/i386.c (struct ix86_frame): Remove padding and
   18636 	to_allocate members.
   18637 	(ix86_compute_frame_layout): Don't store them.
   18638 	(ix86_can_use_return_insn_p): Use a more direct and more obviously
   18639 	correct condition for the position of the stack pointer.
   18640 	(ix86_expand_prologue): Compute remaining stack allocation based
   18641 	on the ultimate stack pointer offset.
   18642 	(ix86_expand_epilogue): Use more obvious expressions testing for
   18643 	the stack pointer already pointing to the saved registers.
   18644 
   18645 	* config/i386/i386.c (ix86_expand_epilogue): Eliminate code
   18646 	duplication deconstructing the frame pointer.  Simplify
   18647 	deallocation of the local stack frame.
   18648 
   18649 	* reg-notes.def (CFA_EXPRESSION): New.
   18650 	* dwarf2out.c (dwarf2out_frame_debug): Handle it.
   18651 	(dwarf2out_frame_debug_cfa_expression): New.
   18652 	(dwarf2out_frame_debug_def_cfa): Handle simple MEMs.
   18653 
   18654 	* config/i386/i386.h (struct machine_frame_state): Add realigned flag.
   18655 	* config/i386/i386.c (ix86_expand_prologue): Set it.
   18656 	(ix86_expand_epilogue): Clear it.
   18657 	(ix86_emit_save_reg_using_mov):	For registers saved in a realigned
   18658 	context, add REG_CFA_EXPRESSION notes.
   18659 
   18660 	* config/i386/i386.h (struct machine_frame_state): Rename from
   18661 	machine_cfa_state.  Add members tracking SP and FP regardless
   18662 	of the current CFA register.
   18663 	(ix86_cfa_state): Remove.
   18664 	* config/i386/i386.c (struct ix86_frame): Add reg_save_offset
   18665 	and sse_reg_save_offset members.
   18666 	(ix86_compute_frame_layout): Set them.
   18667 	(gen_push): Increment sp_offset too.
   18668 	(choose_baseaddr_len, choose_baseaddr): New.
   18669 	(ix86_emit_save_reg_using_mov): New.
   18670 	(ix86_emit_save_regs_using_mov): Use it.
   18671 	(ix86_emit_save_sse_regs_using_mov): Likewise.
   18672 	(ix86_add_cfa_restore_note): Take cfa_offset not red_offset argument;
   18673 	compare vs the saved red_zone_offset.
   18674 	(pro_epilogue_adjust_stack): Adjust sp_offset.
   18675 	(ix86_adjust_stack_and_probe): Likewise.
   18676 	(ix86_expand_prologue): Set up, use, and validate the new
   18677 	frame_state_info members.  Use gen_frame_mem.
   18678 	(ix86_emit_restore_regs_using_pop): Remove red_offset parameter.
   18679 	(ix86_emit_restore_reg_using_pop): Likewise.  Use and update the
   18680 	new frame_state_info members.
   18681 	(ix86_emit_leave): Likewise.
   18682 	(ix86_emit_restore_regs_using_mov): Likewise.  Don't check for
   18683 	out-of-range stack pointer offsets here.
   18684 	(ix86_emit_restore_sse_regs_using_mov): Likewise.
   18685 	(ix86_expand_epilogue): Use and validate the new frame_state_info
   18686 	members.  Break up and simplify the logic selecting the
   18687 	restore_regs_via_mov code path.  Ensure that there will be no
   18688 	out-of-range stack pointer offsets.
   18689 
   18690 	* config/i386/cygming.h (TARGET_64BIT_MS_ABI): Remove.
   18691 
   18692 	* config/i386/i386.c (ix86_function_ms_hook_prologue): Fix
   18693 	argument name to reflect the expected tree; fix indentation.
   18694 	(ix86_asm_output_function_label): Output the entire 32-bit
   18695 	ms_hook here as bytes ...
   18696 	(ix86_expand_prologue): ... not here as insns.  Attach the
   18697 	unwind info for the ms_hook to a blockage insn.
   18698 	(ix86_handle_fndecl_attribute): Don't check HAVE_AS_IX86_SWAP.
   18699 	(ix86_ms_bitfield_layout_p): Fix indentation.
   18700 	* config/i386/i386.md (UNSPECV_VSWAPMOV, vswapmov): Remove.
   18701 
   18702 	* config/i386/i386.c (ix86_using_red_zone): New.
   18703 	(ix86_compute_frame_layout, ix86_add_cfa_restore_note,
   18704 	ix86_expand_prologue, ix86_force_to_memory): Use it.
   18705 
   18706 	* config/i386/i386.c (ix86_expand_prologue): Simplify logic
   18707 	saving the int registers.
   18708 
   18709 	* dwarf2out.c: Remove most of the DWARF2_DEBUGGING_INFO
   18710 	and DWARF2_UNWIND_INFO conditional compilation.
   18711 
   18712 2010-08-04  Richard Henderson  <rth (a] redhat.com>
   18713 
   18714 	PR debug/45171
   18715 	* dwarf2out.c (gen_typedef_die): Don't re-generate the die of
   18716 	an is_naming_typedef_decl.
   18717 
   18718 2010-08-04  Bernd Schmidt  <bernds (a] codesourcery.com>
   18719 
   18720 	PR rtl-optimization/45162
   18721 	* df-problems.c (df_word_lr_bb_local_compute): Ignore DEBUG_INSNs.
   18722 	* dce.c (word_dce_process_block): Likewise.
   18723 
   18724 2010-08-04  Steve Ellcey  <sje (a] cup.hp.com>
   18725 
   18726 	PR target/44583
   18727 	* config/ia64/constraints.md (Z): New.
   18728 	* config/ia64/predicates.md (fr_reg_or_signed_fp01_operand): New.
   18729 	(xfreg_or_signed_fp01_operand): New.
   18730 	* config/ia64/ia64.md (addsf3): Replace fr_reg_or_fp01_operand
   18731 	with fr_reg_or_signed_fp01_operand and constraint G with Z.
   18732 	(subsf3): Ditto.
   18733 	(*maddsf4): Ditto.
   18734 	(*msubsf4): Ditto.
   18735 	(adddf3): Ditto.
   18736 	(adddf3_trunc): Ditto.
   18737 	(subdf3): Ditto.
   18738 	(*subdf3_trunc): Ditto.
   18739 	(*madddf4): Ditto.
   18740 	(*madddf4_trunc): Ditto.
   18741 	(*msubdf4): Ditto.
   18742 	(*msubdf4_trunc): Ditto.
   18743 	(addxf3): Replace xfreg_or_fp01_operand with
   18744 	xfreg_or_signed_fp01_operand and constraint G with Z.
   18745 	(*addxf3_truncsf): Ditto.
   18746 	(*addxf3_truncdf): Ditto.
   18747 	(subxf3): Ditto.
   18748 	(*subxf3_truncsf): Ditto.
   18749 	(*subxf3_truncdf): Ditto.
   18750 	(*maddxf4): Ditto.
   18751 	(*maddxf4_truncsf): Ditto.
   18752 	(*maddxf4_truncdf): Ditto.
   18753 	(*msubxf4): Ditto.
   18754 	(*msubxf4_truncsf): Ditto.
   18755 	(*msubxf4_truncdf): Ditto.
   18756 
   18757 2010-08-04  Richard Guenther  <rguenther (a] suse.de>
   18758 
   18759 	* alias.c (rtx_refs_may_alias_p): Do not resort to TBAA
   18760 	if either alias-set is zero.
   18761 
   18762 2010-08-04  Richard Guenther  <rguenther (a] suse.de>
   18763 
   18764 	* tree-ssa-propagate.h (struct prop_value_d, prop_value_t): Move ...
   18765 	* tree-ssa-ccp.c: ... here.
   18766 	* tree-ssa-copy.c: ... and here.
   18767 	* tree-ssa-propagate.h (enum value_range_type, struct value_range_d,
   18768 	value_range_t): Move ...
   18769 	* tree-vrp.c: ... here.
   18770 	* tree-ssa-propagate.h (ssa_prop_get_value_fn): New typedef.
   18771 	(substitute_and_fold): Adjust prototype.
   18772 	* tree-ssa-propagate.c (replace_uses_in): Adjust.
   18773 	(replace_phi_args_in): Likewise.
   18774 	(substitute_and_fold): Take callback to query lattice instead
   18775 	of pointer to lattice.  Replace SSA name defs with lattice
   18776 	values first.
   18777 	* tree-ssa-ccp.c (ccp_finalize): Adjust.
   18778 	* tree-ssa-copy.c (copy_prop_visit_phi_node): Adjust.
   18779 	(get_value): New function.
   18780 	(fini_copy_prop): Adjust.
   18781 	* tree-vrp.c (vrp_finalize): Adjust.
   18782 
   18783 2010-08-04  Richard Guenther  <rguenther (a] suse.de>
   18784 
   18785 	PR middle-end/45176
   18786 	* expr.c (expand_expr_real_1): Also preserve TARGET_MEM_REF
   18787 	points-to set for original MEM_REF.
   18788 
   18789 2010-08-04  Richard Guenther  <rguenther (a] suse.de>
   18790 
   18791 	* tree-ssa-ccp.c (get_constant_value): New function.
   18792 	(get_rhs_assign_op_for_ccp): Remove.
   18793 	(valueize_op): New function.
   18794 	(ccp_fold): Use get_constant_value and valueize_op.
   18795 	(fold_const_aggregate_ref): Likewise.
   18796 	(ccp_fold_stmt): Likewise.
   18797 	(visit_assignment): Simplify.
   18798 
   18799 2010-08-04  Richard Guenther  <rguenther (a] suse.de>
   18800 
   18801 	* Makefile.in (double-int.o): Add $(TOPLEV_H) dependency.
   18802 	* double-int.h (double_int_ctz): Declare.
   18803 	* double-int.c (double_int_ctz): New function.
   18804 
   18805 2010-08-04  Hariharan Sandanagobalane  <hariharan (a] picochip.com>
   18806 
   18807 	* config/picochip/picochip.c (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE):
   18808 	Define.
   18809 	picochip_expand_movmemhi : Expand movmem pattern.
   18810 	* config/picochip/picochip-protos.h (picochip_expand_movmemhi) :
   18811 	Declare.
   18812 	* config/picochip/picochip.md (movmemhi) : New pattern.
   18813 
   18814 2010-08-03  Uros Bizjak  <ubizjak (a] gmail.com>
   18815 
   18816 	* config/i386/unix.h (GLOBAL_ASM_OPS): Add tabs around .globl.
   18817 
   18818 2010-08-03  Bernd Schmidt  <bernds (a] codesourcery.com>
   18819 
   18820 	* simplify-rtx.c (simplify_binary_operation_1): Try to simplify away
   18821 	NEG as operand of a MULT by merging it with the other operand.
   18822 	* combine.c (make_compound_operation): Use trunc_int_for_mode when
   18823 	generating a MULT with constant.  Canonicalize PLUS and MINUS involving
   18824 	MULT.
   18825 	* config/arm/constraints.md (M): Examine only 32 bits of a
   18826 	HOST_WIDE_INT.
   18827 	* config/arm/predicates.md (power_of_two_operand): Likewise.
   18828 
   18829 2010-08-03  Ulrich Weigand  <Ulrich.Weigand (a] de.ibm.com>
   18830 
   18831 	* config/spu/spu.c (spu_emit_branch_hint): Do not access NOTE_KIND of
   18832 	non-NOTE insns.
   18833 
   18834 2010-08-03  Jan Hubicka  <jh (a] suse.cz>
   18835 
   18836 	* ipa-split.c (struct split_point): Add split_part_set_retval.
   18837 	(find_retval): Forward declare.
   18838 	(test_nonssa_use, mark_nonssa_use): Special case return by reference.
   18839 	(consider_split): Compute current->split_part_set_retval.
   18840 	(visit_bb): Do not look into return value.
   18841 	(split_function): Handle !split_part_set_retval
   18842 
   18843 2010-08-03  Martin Jambor  <mjambor (a] suse.cz>
   18844 
   18845 	* tree-sra.c (completely_scalarize_record): New parameter REF, create
   18846 	its own access->expr intead of using build_ref_for_offset.
   18847 
   18848 2010-08-03  Joseph Myers  <joseph (a] codesourcery.com>
   18849 
   18850 	* config/alpha/alpha.h (SWITCH_TAKES_ARG): Define.
   18851 	* config/alpha/osf5.h (LIB_SPEC): Don't handle -a.
   18852 	* config/bfin/bfin.h (ASM_SPEC, LINK_SPEC): Don't pass -G* options.
   18853 	* config/darwin.h (WORD_SWITCH_TAKES_ARG): Handle -iframework.
   18854 	* config/ia64/ia64.h (SWITCH_TAKES_ARG): Define.
   18855 	* config/iq2000/iq2000.h (SWITCH_TAKES_ARG): Remove.
   18856 	* config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Define using
   18857 	DEFAULT_SWITCH_TAKES_ARG.
   18858 	* config/rx/rx.opt (-patch=): Remove option.
   18859 	* config/rx/rx.c (rx_handle_option): Don't handle OPT_patch_.
   18860 	* defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Handle -imultilib.
   18861 	* doc/invoke.texi (RX Options): Remove -patch=.
   18862 	* gcc.c (cc1_options): Pass -aux-info* instead of -a* options.
   18863 	(option_map): Remove --profile-blocks, --quiet and --silent.
   18864 
   18865 2010-08-03  Uros Bizjak  <ubizjak (a] gmail.com>
   18866 
   18867 	* config/i386/i386.h (ix86_compare_op0, ix86_compare_op1): Remove.
   18868 	* config/i386/i386.c (ix86_compare_op0, ix86_compare_op1): Remove.
   18869 	(ix86_expand_branch): Add op0 and op1 arguments.  Do not access
   18870 	ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead.
   18871 	Update calls to ix86_expand_compare and ix86_expand_branch.
   18872 	(ix86_expand_setcc): Add op0 and op1 arguments.  Update calls to
   18873 	ix86_expand_compare.
   18874 	(ix86_expand_compare): Add op0 and op1 arguments.  Do not access
   18875 	ix86_compare_op0 and ix86_compare_op1, use op0 and op1 instead.
   18876 	Make static.
   18877 	(ix86_expand_carry_flag_compare): Do not set ix86_compare_op0
   18878 	and ix86_compare_op1.  Update calls to ix86_expand_compare.
   18879 	(ix86_expand_int_movcc): Ditto.
   18880 	(ix86_expand_fp_movcc): Ditto.  Update calls to ix86_expand_setcc.
   18881 	* config/i386/i386-protos.h (ix86_expand_branch): Update prototype.
   18882 	(ix86_expand_setcc): Ditto.
   18883 	(ix86_expand_compare): Remove prototype.
   18884 	* config/i386/i386.md (cbranch<SDWIM:mode>4): Do not set
   18885 	ix86_compare_op0 and ix86_compare_op1.  Update calls
   18886 	to ix86_expand_branch to directly pass operands[1] and operands[2].
   18887 	(cbranchxf4): Ditto.
   18888 	(cbranch<MODEF:mode>4): Ditto.
   18889 	(cbranchcc4): Ditto.
   18890 	(cstore<SWIM:mode>4): Do not set ix86_compare_op0 and ix86_compare_op1.
   18891 	Update calls to ix86_expand_setcc to directly pass operands[2] and
   18892 	operands[3].
   18893 	(cstorexf4): Ditto.
   18894 	(cstore<MODEF:mode>4): Ditto.
   18895 	(cstorecc4): Ditto.
   18896 
   18897 2010-08-02  Bernd Schmidt  <bernds (a] codesourcery.com>
   18898 
   18899 	PR target/45063
   18900 	* caller-save.c (save_call_clobbered_regs): Remove regs from
   18901 	hard_regs_saved when they are set.
   18902 
   18903 2010-08-02  Uros Bizjak  <ubizjak (a] gmail.com>
   18904 
   18905 	PR target/41089
   18906 	* config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
   18907 	as volatile.
   18908 
   18909 2010-08-02  Sebastian Pop  <sebastian.pop (a] amd.com>
   18910 
   18911 	* common.opt (ftree-loop-distribute-patterns): New.
   18912 	* invoke.texi (-ftree-loop-distribute-patterns): Documented.
   18913 	* opts.c (decode_options): Enable flag_tree_loop_distribute_patterns
   18914 	at -O3.
   18915 	* tree-data-ref.c (stores_zero_from_loop): New.
   18916 	* tree-data-ref.h (stores_zero_from_loop): Declared.
   18917 	* tree-loop-distribution.c (tree_loop_distribution): Call
   18918 	stores_zero_from_loop.
   18919 	(tree_loop_distribution): Check flag_tree_loop_distribute_patterns.
   18920 
   18921 2010-08-02  Bernd Schmidt  <bernds (a] codesourcery.com>
   18922 
   18923 	* postreload.c (reload_cse_simplify_operands): Take attribute enabled
   18924 	into account.
   18925 
   18926 	* final.c (final_scan_insn): Call CC_STATUS_INIT unconditionally.
   18927 	* config/arm/arm.c (thumb1_code): New variable.
   18928 	(arm_override_options): Set it.
   18929 	(thumb1_final_prescan_insn): Keep track of condition code status.
   18930 	(arm_adjust_cost): For Thumb, try to keep cc-setting insns next to
   18931 	jumps that depend on them.
   18932 	* config/arm/arm.h (thumb1_code): Declare variable.
   18933 	(struct machine_function): Guard with #ifndef GENERATOR_FILE.  Add
   18934 	members thumb1_cc_insn, thumb1_cc_op0, thumb1_cc_op1 and
   18935 	thumb1_cc_mode.
   18936 	(CC_STATUS_INIT): New macro.
   18937 	* config/arm/constraints.md (Pd): New constraint.
   18938 	* config/arm/predicates.md (noov_comparison_operator): New predicate.
   18939 	* config/arm/arm.md (is_thumb1): New define_attr.
   18940 	(conds): Set default to "clob" when generating Thumb1 code.
   18941 	(thumb1_bicsi3): Renamed from bicsi3.  All uses changed.  Condition
   18942 	code are set.  Use two-operand assembly syntax.
   18943 	(thumb1_subsi3_insn): Condition codes are set.  Now a properly named
   18944 	pattern.
   18945 	(thumb1_andsi3_insn, thumb1_iorsi3_insn, thumb1_xorsi3_insn): Condition
   18946 	codes are set.  Use two-operand assembly syntax.
   18947 	(zero_extendhisi splitter): Remove constraints.
   18948 	(thumb1_movsi_insn, thumb1_movhi_insn, thumb1_movqi_insn, thumb1_movhf,
   18949 	thumb1_movsf_insn): Set conds attribute as appropriate.
   18950 	(cbranchsi4_insn): Use condition code status from struct
   18951 	machine_function to determine whether the comparison can be eliminated.
   18952 	Discourage the alternative using high registers.
   18953 	(movsi_cbranchsi4, andsi3_cbranch, orrsi3_cbranch_scratch,
   18954 	orrsi3_cbranch, xorsi3_cbranch_scratch, xorsi3_cbranch,
   18955 	bicsi3_cbranch_scratch, bicsi3_cbranch, subsi3_cbranch_scratch,
   18956 	subsi3_cbranch): Delete.
   18957 	(movsi_cbranchsi4 peepholes): Rewrite to generate a sequence of
   18958 	one subtract and one cbranch insn.
   18959 
   18960 	* config/arm/thumb2.md (thumb2_movdi, thumb2_movsf_soft_insn,
   18961 	thumb2_movdf_soft_insn): Delete patterns.
   18962 	* config/arm/arm.md (arm_pool_range, thumb2_pool_range,
   18963 	arm_neg_pool_range, thumb2_neg_pool_range): New attributes.
   18964 	(pool_range, neg_pool_range): Use them to define defaults.
   18965 	(movdi, arm_movsf_soft_insn, arm_movdf_soft_insn): Define them
   18966 	and allow for TARGET_32BIT.
   18967 
   18968 	PR target/40457
   18969 	* config/arm/arm.h (arm_regs_in_sequence): Declare.
   18970 	* config/arm/arm-protos.h (emit_ldm_seq, emit_stm_seq,
   18971 	load_multiple_sequence, store_multiple_sequence): Delete
   18972 	declarations.
   18973 	(arm_gen_load_multiple, arm_gen_store_multiple): Adjust
   18974 	declarations.
   18975 	* config/arm/ldmstm.md: New file.
   18976 	* config/arm/arm.c (arm_regs_in_sequence): New array.
   18977 	(load_multiple_sequence): Now static.  New args SAVED_ORDER,
   18978 	CHECK_REGS.  All callers changed.
   18979 	If SAVED_ORDER is nonnull, copy the computed order into it.
   18980 	If CHECK_REGS is false, don't sort REGS.  Handle Thumb mode.
   18981 	(store_multiple_sequence): Now static.  New args NOPS_TOTAL,
   18982 	SAVED_ORDER, REG_RTXS and CHECK_REGS.  All callers changed.
   18983 	If SAVED_ORDER is nonnull, copy the computed order into it.
   18984 	If CHECK_REGS is false, don't sort REGS.  Set up REG_RTXS just
   18985 	like REGS.  Handle Thumb mode.
   18986 	(arm_gen_load_multiple_1): New function, broken out of
   18987 	arm_gen_load_multiple.
   18988 	(arm_gen_store_multiple_1): New function, broken out of
   18989 	arm_gen_store_multiple.
   18990 	(arm_gen_multiple_op): New function, with code from
   18991 	arm_gen_load_multiple and arm_gen_store_multiple moved here.
   18992 	(arm_gen_load_multiple, arm_gen_store_multiple): Now just
   18993 	wrappers around arm_gen_multiple_op.  Remove argument UP, all callers
   18994 	changed.
   18995 	(gen_ldm_seq, gen_stm_seq, gen_const_stm_seq): New functions.
   18996 	* config/arm/predicates.md (commutative_binary_operator): New.
   18997 	(load_multiple_operation, store_multiple_operation): Handle more
   18998 	variants of these patterns with different starting offsets.  Handle
   18999 	Thumb-1.
   19000 	* config/arm/arm.md: Include "ldmstm.md".
   19001 	(ldmsi_postinc4, ldmsi_postinc4_thumb1, ldmsi_postinc3, ldmsi_postinc2,
   19002 	ldmsi4, ldmsi3, ldmsi2, stmsi_postinc4, stmsi_postinc4_thumb1,
   19003 	stmsi_postinc3, stmsi_postinc2, stmsi4, stmsi3, stmsi2 and related
   19004 	peepholes): Delete.
   19005 	* config/arm/ldmstm.md: New file.
   19006 	* config/arm/arm-ldmstm.ml: New file.
   19007 
   19008 	* config/arm/arm.c (arm_rtx_costs_1): Remove second clause from the
   19009 	if statement which adds extra costs to frame-related expressions.
   19010 
   19011 2010-08-02  Ramana Radhakrishnan  <ramana.radhakrishnan (a] arm.com>
   19012 
   19013 	* config/arm/arm.c (COSTS_N_INSNS): Remove definition.
   19014 
   19015 2010-08-01  Uros Bizjak  <ubizjak (a] gmail.com>
   19016 
   19017 	PR target/45142
   19018 	* config/i386/sse.md (vec_set<mode>_0): Do not set mode attribute for
   19019 	alternative 2.
   19020 	(vec_set<mode>_0 splitter): Use SSEMODE4S mode iterator to also
   19021 	split V4SI operands.
   19022 
   19023 2010-08-01  Anatoly Sokolov  <aesok (a] post.ru>
   19024 
   19025 	* config/mmix/mmix.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
   19026 	* config/mmix/mmix-protos.h (mmix_asm_output_source_filename): Remove.
   19027 	* config/mmix/mmix.c (mmix_asm_output_source_filename): Make static.
   19028 	(TARGET_ASM_OUTPUT_SOURCE_FILENAME): Define.
   19029 
   19030 2010-07-31  Kai Tietz  <kai.tietz (a] onevision.com>
   19031 
   19032 	* cppdefault.c (cpp_include_defaults): Move GCC_INCLUDE_DIR before
   19033 	LOCAL_INCLUDE_DIR.
   19034 
   19035 2010-07-31  Richard Sandiford  <rdsandiford (a] googlemail.com>
   19036 
   19037 	* tree-ssa-math-opts.c (convert_plusminus_to_widen): Fix type
   19038 	used in the call to optab_for_tree_code.  Fix the second
   19039 	is_widening_mult_p call.  Check that both unwidened operands
   19040 	have the same sign.
   19041 
   19042 2010-07-31  John Tytgat  <John.Tytgat (a] aaug.net>
   19043 
   19044 	* config/arm/arm.c (arm_function_arg): Remove superfluous test.
   19045 
   19046 2010-07-31  Anatoly Sokolov  <aesok (a] post.ru>
   19047 
   19048 	* config/spu/spu.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
   19049 
   19050 2010-07-30  DJ Delorie  <dj (a] redhat.com>
   19051 
   19052 	* config/rx/predicates.md (rx_constshift_operand): New.
   19053 	* config/rx/rx.md (zs_cond): New.
   19054 	(cbranchsi4): Remove mode.
   19055 	(*cbranchsi4_<code>): Likewise.
   19056 	(*tstbranchsi4_<code>): New.
   19057 	(*tstbranchsi4r_<code>): New.
   19058 	(*tstbranchsi4m_eq): New.
   19059 	(*tstbranchsi4m_ne): New.
   19060 	(cbranchsf4): Remove mode.
   19061 	(*cbranchsf4_<code>): Likewise.
   19062 
   19063 2010-07-30  Bernd Schmidt  <bernds (a] codesourcery.com>
   19064 
   19065 	* rtlanal.c (simplify_subreg_regno): Don't treat
   19066 	HARD_FRAME_POINTER_REGNUM specially.
   19067 
   19068 2010-07-30  Joseph Myers  <joseph (a] codesourcery.com>
   19069 
   19070 	* common.opt (-G): Don't define option here.
   19071 	* config/g.opt: New.
   19072 	* config.gcc: Use g.opt for alpha, frv, ia64, lm32, m32r, mips,
   19073 	rs6000/powerpc and score targets.
   19074 	* opts.c (common_handle_option): Don't handle -G here.
   19075 	* config/alpha/alpha.c (alpha_handle_option): Handle -G.
   19076 	* config/frv/frv.c (frv_handle_option): Handle -G.
   19077 	* config/ia64/ia64.c (ia64_handle_option): Handle -G.
   19078 	* config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION): New.
   19079 	* config/m32r/m32r.c (m32r_handle_option): Handle -G.
   19080 	* config/mips/mips.c (mips_handle_option): Handle -G.
   19081 	* config/rs6000/rs6000.c (rs6000_handle_option) Handle -G.
   19082 	* config/score/score.c (score_handle_option): Handle -G.
   19083 
   19084 2010-07-30  Anatoly Sokolov  <aesok (a] post.ru>
   19085 
   19086 	* config/mmix/mmix.c: Include basic-block.h.
   19087 
   19088 2010-07-30  Jakub Jelinek  <jakub (a] redhat.com>
   19089 
   19090 	PR debug/45055
   19091 	PR rtl-optimization/45137
   19092 	* rtl.h (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): New
   19093 	prototypes.
   19094 	* emit-rtl.c (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn):
   19095 	New functions.
   19096 	* combine.c (next_nonnote_nondebug_insn): Removed.
   19097 	* ifcvt.c (noce_process_if_block): Use prev_nonnote_nondebug_insn.
   19098 	* haifa-sched.c (queue_to_ready): Use next_nonnote_nondebug_insn.
   19099 	* sched-deps.c (sched_analyze_insn): Likewise.
   19100 	(fixup_sched_groups, deps_start_bb): Use prev_nonnote_nondebug_insn.
   19101 	* rtlanal.c (canonicalize_condition): Likewise.
   19102 	* postreload.c (reload_combine_recognize_pattern): Likewise.
   19103 	(reload_cse_move2add): Use next_nonnote_nondebug_insn.
   19104 
   19105 2010-07-29  Uros Bizjak  <ubizjak (a] gmail.com>
   19106 
   19107 	* config/i386/i386.md (int_cond): Remove code iterator.
   19108 	(fp_cond): Ditto.
   19109 	(cbranch<mode>4): Use ordered_comparison_operator predicate
   19110 	for operator0.
   19111 	(cstore<mode>4): Ditto for operator1.
   19112 	(mov<SWIM:mode>cc and corresponding splitter): Ditto.
   19113 	(add<mode>cc): ditto.
   19114 
   19115 2010-07-30  Richard Guenther  <rguenther (a] suse.de>
   19116 
   19117 	PR middle-end/45141
   19118 	* expr.c (expand_expr_real_1): Check for not handled base address.
   19119 
   19120 2010-07-30  Richard Guenther  <rguenther (a] suse.de>
   19121 
   19122 	* ipa-prop.c (ipa_modify_formal_parameters): Use
   19123 	build_distinct_type_copy.
   19124 
   19125 2010-07-30  Anthony Green  <green (a] moxielogic.com>
   19126 
   19127 	* config/moxie/rtems.h: New file.
   19128 	* config.gcc: Add moxie-rtems support.
   19129 
   19130 2010-07-29  Bernd Schmidt  <bernds (a] codesourcery.com>
   19131 
   19132 	* dce.c (run_word_dce): Take flag_dce into account.  Clear and restore
   19133 	df flags as in run_fast_df_dce.
   19134 
   19135 2010-07-29  Jakub Jelinek  <jakub (a] redhat.com>
   19136 
   19137 	Revert:
   19138 	2010-07-27  Bernd Schmidt  <bernds (a] codesourcery.com>
   19139 
   19140 	* rtl.def (NOTE): Swap operands 4 and 5.
   19141 	* rtl.h (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK,
   19142 	NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_KIND):
   19143 	Adjust accordingly.
   19144 	* gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of NOTEs.
   19145 
   19146 2010-07-29  Jakub Jelinek  <jakub (a] redhat.com>
   19147 
   19148 	PR debug/45110
   19149 	* dwarf2out.c (dwarf_attr_name): Handle DW_AT_object_pointer.
   19150 	(gen_formal_types_die): Add DW_AT_object_pointer in methods.
   19151 	(gen_subprogram_die): Likewise.  Remove it when removing declaration's
   19152 	formal parameters.
   19153 	(gen_decl_die): Change return type to dw_die_ref, return what
   19154 	gen_formal_parameter_die returned.
   19155 
   19156 2010-07-29  Martin Jambor  <mjambor (a] suse.cz>
   19157 
   19158 	* dbgcnt.def (eipa_sra): New counter.
   19159 	* tree-sra.c (ipa_early_sra_gate): Also check eipa_sra debug counter.
   19160 
   19161 2010-07-29  Xinliang David Li  <davidxl (a] google.com>
   19162 
   19163 	PR bootstrap/45119
   19164 	* tree-ssa-loop-ivopts.c (get_address_cost): Revert change
   19165 	in revision 162652.
   19166 
   19167 2010-07-29  Richard Guenther  <rguenther (a] suse.de>
   19168 
   19169 	* timevar.def (TV_TREE_STORE_COPY_PROP): Remove.
   19170 	(TV_TREE_STORE_CCP): Likewise.
   19171 	(TV_TREE_REDPHI): Likewise.
   19172 
   19173 2010-07-29  Richard Guenther  <rguenther (a] suse.de>
   19174 
   19175 	* double-int.h (double_int_and_not): New function.
   19176 	* combine.c (try_combine): Use it.
   19177 	* tree-vrp.c (simplify_bit_ops_using_ranges): Likewise.
   19178 
   19179 2010-07-29  Bernd Schmidt  <bernds (a] codesourcery.com>
   19180 
   19181 	PR rtl-optimization/42575
   19182 	* dce.c (word_dce_process_block): Renamed from byte_dce_process_block.
   19183 	Argument AU removed.  All callers changed.  Ignore artificial refs.
   19184 	Use return value of df_word_lr_simulate_defs to decide whether an insn
   19185 	is necessary.
   19186 	(fast_dce): Rename arg to WORD_LEVEL.
   19187 	(run_word_dce): Renamed from rest_of_handle_fast_byte_dce.  No longer
   19188 	static.
   19189 	(pass_fast_rtl_byte_dce): Delete.
   19190 	* dce.h (run_word_dce): Declare.
   19191 	* df-core.c (df_print_word_regset): Renamed from df_print_byteregset.
   19192 	All callers changed.  Simplify code to only deal with two-word regs.
   19193 	* df.h (DF_WORD_LR): Renamed from DF_BYTE_LR.
   19194 	(DF_WORD_LR_BB_INFO): Renamed from DF_BYTE_LR_BB_INFO.
   19195 	(DF_WORD_LR_IN): Renamed from DF_BYTE_LR_IN.
   19196 	(DF_WORD_LR_OUT): Renamed from DF_BYTE_LR_OUT.
   19197 	(struct df_word_lr_bb_info): Renamed from df_byte_lr_bb_info.
   19198 	(df_word_lr_mark_ref): Declare.
   19199 	(df_word_lr_add_problem, df_word_lr_mark_ref, df_word_lr_simulate_defs,
   19200 	df_word_lr_simulate_uses): Declare or rename from byte variants.
   19201 	(df_byte_lr_simulate_artificial_refs_at_top,
   19202 	df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start,
   19203 	df_byte_lr_get_regno_len, df_compute_accessed_bytes): Delete
   19204 	declarations.
   19205 	(df_word_lr_get_bb_info): Rename from df_byte_lr_get_bb_info.
   19206 	(enum df_mm): Delete.
   19207 	* df-byte-scan.c: Delete file.
   19208 	* df-problems.c (df_word_lr_problem_data): Renamed from
   19209 	df_byte_lr_problem_data, all members deleted except for
   19210 	WORD_LR_BITMAPS, which is renamed from BYTE_LR_BITMAPS.  Uses changed.
   19211 	(df_word_lr_expand_bitmap, df_byte_lr_simulate_artificial_refs_at_top,
   19212 	df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start,
   19213 	df_byte_lr_get_regno_len, df_byte_lr_check_regs,
   19214 	df_byte_lr_confluence_0): Delete functions.
   19215 	(df_word_lr_free_bb_info): Renamed from df_byte_lr_free_bb_info; all
   19216 	callers changed.
   19217 	(df_word_lr_alloc): Renamed from df_byte_lr_alloc; all callers changed.
   19218 	Don't initialize members that were deleted, don't try to discover data
   19219 	about registers.  Ignore hard regs.
   19220 	(df_word_lr_reset): Renamed from df_byte_lr_reset; all callers changed.
   19221 	(df_word_lr_mark_ref): New function.
   19222 	(df_word_lr_bb_local_compute): Renamed from
   19223 	df_byte_bb_lr_local_compute; all callers changed.  Use
   19224 	df_word_lr_mark_ref.  Assert that artificial refs don't include
   19225 	pseudos.  Ignore hard registers.
   19226 	(df_word_lr_local_compute): Renamed from df_byte_lr_local_compute.
   19227 	Assert that exit block uses don't contain pseudos.
   19228 	(df_word_lr_init): Renamed from df_byte_lr_init; all callers changed.
   19229 	(df_word_lr_confluence_n): Renamed from df_byte_lr_confluence_n; all
   19230 	callers changed.  Ignore hard regs.
   19231 	(df_word_lr_transfer_function): Renamed from
   19232 	df_byte_lr_transfer_function; all callers changed.
   19233 	(df_word_lr_free): Renamed from df_byte_lr_free; all callers changed.
   19234 	(df_word_lr_top_dump): Renamed from df_byte_lr_top_dump; all callers
   19235 	changed.
   19236 	(df_word_lr_bottom_dump): Renamed from df_byte_lr_bottom_dump; all
   19237 	callers changed.
   19238 	(problem_WORD_LR): Renamed from problem_BYTE_LR; uses changed;
   19239 	confluence operator 0 set to NULL.
   19240 	(df_word_lr_add_problem): Renamed from df_byte_lr_add_problem; all
   19241 	callers changed.
   19242 	(df_word_lr_simulate_defs): Renamed from df_byte_lr_simulate_defs.
   19243 	Return bool, true if bitmap changed or insn otherwise necessary.
   19244 	All callers changed.  Simplify using df_word_lr_mark_ref.
   19245 	(df_word_lr_simulate_uses): Renamed from df_byte_lr_simulate_uses;
   19246 	all callers changed.  Simplify using df_word_lr_mark_ref.
   19247 	* lower-subreg.c: Include "dce.h"
   19248 	(decompose_multiword_subregs): Call run_word_dce if df available.
   19249 	* Makefile.in (lower-subreg.o): Adjust dependencies.
   19250 	(df-byte-scan.o): Delete.
   19251 	* timevar.def (TV_DF_WORD_LR): Renamed from TV_DF_BYTE_LR.
   19252 
   19253 2010-07-29  Richard Guenther  <rguenther (a] suse.de>
   19254 
   19255 	* tree.c (build_vector): Assert that the vector constant
   19256 	has enough elements.
   19257 	(build_vector_from_ctor): Pad with trailing zeros.
   19258 
   19259 2010-07-29  Richard Guenther  <rguenther (a] suse.de>
   19260 
   19261 	PR tree-optimization/45120
   19262 	* tree-ssa-structalias.c (get_constraint_for_component_ref):
   19263 	Handle offset in DEREFs properly.
   19264 	(get_constraint_for_1): Handle MEM_REF offset properly.
   19265 
   19266 2010-07-29  Richard Guenther  <rguenther (a] suse.de>
   19267 
   19268 	PR middle-end/45034
   19269 	* convert.c (convert_to_integer): Always use an unsigned
   19270 	type for narrowed negate and bitwise not.
   19271 
   19272 2010-07-29  Ira Rosen  <irar (a] il.ibm.com>
   19273 
   19274 	* tree-vect-loop.c (vect_create_epilog_for_reduction): Switch
   19275 	to outer loop when creating reduction epilogue for double reduction,
   19276 	and switch back to the inner loop when updating the phi nodes.
   19277 	Update uses of outer loop exit phi nodes in double reduction (instead
   19278 	of uses of reduction).
   19279 
   19280 2010-07-28  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   19281 
   19282 	* config/rs6000/rs6000.c (rs6000_rtx_costs): Update costs for
   19283 	popcount on power7 and parity on power6 systems.
   19284 	(rs6000_emit_popcount): Rename gen_popcntwsi2 to gen_popcntddi2.
   19285 	(rs6000_emit_parity): Add support for power6 prtyd/prtyw
   19286 	instructions.
   19287 
   19288 	* config/rs6000/rs6000.md (UNSPEC_COPYSIGN): New unspec.
   19289 	(UNSPEC_PARITY): Ditto.
   19290 	(SFDF): New iterator for SF/DF.
   19291 	(rreg2): New mode attribute for floating register constraint.
   19292 	(TARGET_FLOAT): New mode attribute for whether single/double float
   19293 	is supported.
   19294 	(popcntd<mode>2): Combine popcntwsi2 and popcntddi2 into one
   19295 	pattern.
   19296 	(parity<mode>2_cmpb): New insn for parity on power6 and newer
   19297 	machines.
   19298 	(copysign<mode>3): Combine copysignsf3, copysigndf3 into one
   19299 	pattern.  Add support for fcpsgn instruction added in power6.
   19300 	(copysignsf3): Delete.
   19301 	(copysigndf3): Delete.
   19302 	(copysign<mode>3_fcpsgn): New insn to generate fcpsgn.  Use UNSPEC
   19303 	instead of if_then_else in RTL to avoid problems with -0.
   19304 
   19305 	* config/rs6000/vsx.md (vsx_copysign<mode>3): Use UNSPEC instead
   19306 	of if_then_else to mirror scalar code.
   19307 	(vsx_copysignsf3): Delete, use copysign<mode>3_fcpsgn in
   19308 	rs6000.md.
   19309 
   19310 	* config/rs6000/vector.md (vector_copysign<mode>3): Use UNSPEC
   19311 	instead of if_then_else.
   19312 
   19313 2010-07-28  Xinliang David Li  <davidxl (a] google.com>
   19314 
   19315 	* tree-ssa-loop-ivopts.c (avg_loop_niter): New function.
   19316 	(dump_cand): Dump var_before/after.
   19317 	(htab_inv_expr_eq): New function.
   19318 	(htab_inv_expr_hash): New function.
   19319 	(tree_ssa_iv_optimize_init): Support pseudo invariants.
   19320 	(add_candidate_1): consider base type precision.
   19321 	(set_use_iv_cost): New parameter.
   19322 	(adjust_setup_cost): Use profile information.
   19323 	(get_address_cost): Do not hard code width in computing address
   19324 	offset limits.
   19325 	(compare_aff_trees): New function.
   19326 	(get_loop_invariant_expr_id): New function.
   19327 	(get_computation_cost_at): New parameter and use profile information.
   19328 	(get_computation_cost): New parameter.
   19329 	(determine_use_iv_cost_generic): Pass new parameter.
   19330 	(determine_use_iv_cost_address): Ditto.
   19331 	(determine_use_iv_cost_condition): Ditto.
   19332 	(autoinc_possible_for_pair): Ditto.
   19333 	(determine_use_iv_costs): More dumps.
   19334 	(iv_ca_get_num_inv_exprs): New function.
   19335 	(iv_ca_recount_cost): Consider loop invariants in register pressure
   19336 	cost.
   19337 	(iv_ca_add_use): New parameter.
   19338 	(iv_ca_dump): Better dumping.
   19339 	(iv_ca_extend): New parameter.
   19340 	(try_add_cand_for): Attempt to get better partial solution.
   19341 	(try_improve_iv_set): Pass new parameter to iv_ca_extend.
   19342 	(create_new-ivs): More dumps.
   19343 	(rewrite_use_compare): Ditto.
   19344 	(free_loop_data): More cleanup.
   19345 	(treee_ssa_iv_optimize_finalize): Ditto.
   19346 
   19347 2010-07-28  Kai Tietz  <kai.tietz (a] onevision.com>
   19348 
   19349 	* config/i386/i386.h (MCOUNT_NAME_BEFORE_PROLOGUE): New.
   19350 	* config/i386/i386.c (ix86_profile_before_prologue): New.
   19351 	(override_options): Add special handling for -mfentry.
   19352 	(ix86_function_regparm): Likewise.
   19353 	(ix86_function_sseregparm): Likewise.
   19354 	(ix86_frame_pointer_required): Likewise.
   19355 	(ix86_expand_prologue): Check for ms_hook_prologue.
   19356 	(x86_function_profiler): Adjust mcount output.
   19357 	(TARGET_PROFILE_BEFORE_PROLOGUE): Define hook.
   19358 	* config/i386/i386.opt (mfentry): New.
   19359 	* doc/invoke.texi (mfentry): Add documentation.
   19360 	* doc/tm.texi: Regenerated..
   19361 	* doc/tm.texi.in (TARGET_PROFILE_BEFORE_PROLOGUE): New.
   19362 	* final.c (final_start_function): Replace macro
   19363 	PROFILE_BEFORE_PROLOGUE by target hook.
   19364 	* function.c (thread_prologue_and_epilogue_insns): Likewise.
   19365 	* target.def (profile_before_prologue): New hook.
   19366 	* targhooks.c (default_profile_before_prologue): New.
   19367 	* targhooks.h (default_profile_before_prologue): New.
   19368 
   19369 2010-07-28  Jakub Jelinek  <jakub (a] redhat.com>
   19370 
   19371 	PR debug/45105
   19372 	* gcse.c (hoist_code): Use FOR_BB_INSNS macro.
   19373 
   19374 	PR debug/45103
   19375 	* dwarf2out.c (dwarf2out_var_location): Always consider
   19376 	NOTE_DURING_CALL_P notes, even when not followed by real instructions.
   19377 
   19378 2010-07-28  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   19379 
   19380 	PR rtl-optimization/45107
   19381 	* gcse.c (hash_scan_set): Use max_distance for gcse-las.
   19382 
   19383 2010-07-28  Richard Guenther  <rguenther (a] suse.de>
   19384 
   19385 	* tree-ssa-ccp.c: Remove comment regarding STORE-CCP.
   19386 	(set_lattice_value): Do not query an old default value.
   19387 	(get_value_for_expr): New function.  Properly canonicalize
   19388 	float values.
   19389 	(ccp_visit_phi_node): Use it.
   19390 
   19391 2010-07-28  Chung-Lin Tang  <cltang (a] codesourcery.com>
   19392 
   19393 	* config/arm/arm.c (arm_pcs_default): Remove static.
   19394 	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_PCS or
   19395 	__ARM_PCS_VFP to indicate soft/hard-float calling convention.
   19396 	(arm_pcs_default): Declare.
   19397 
   19398 2010-07-28  Iain Sandoe  <iains (a] gcc.gnu.org>
   19399 
   19400 	* config/rs6000/rs6000.c (rs6000_override_options):
   19401 	Use TARGET_MACHO inline, move darwin_one_byte_bool from here...
   19402 	... to darwin_rs6000_override_options.
   19403 	(rs6000_return_in_memory): Update preceding comment for darwin
   19404 	64 bit ABI.  Use TARGET_MACHO inline.
   19405 	(rs6000_darwin64_struct_check_p): New.
   19406 	(function_arg_advance): Use rs6000_darwin64_struct_check_p.
   19407 	(function_arg): Likewise.
   19408 	(rs6000_arg_partial_bytes): Likewise.
   19409 	(rs6000_function_value): Likewise.
   19410 
   19411 2010-07-28  Andi Kleen  <ak (a] linux.intel.com>
   19412 
   19413 	* lto-opts.c (lto_file_read_options): Add loop over all inputs.
   19414 
   19415 2010-07-28  Richard Guenther  <rguenther (a] suse.de>
   19416 
   19417 	PR middle-end/44903
   19418 	* builtins.c (fold_builtin_memory_op): On STRICT_ALIGNMENT
   19419 	targets try harder to not generate unaligned accesses.
   19420 
   19421 2010-07-28  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   19422 
   19423 	PR rtl-optimization/45101
   19424 	* gcse.c (hash_scan_set): Fix argument ordering of insert_expr_in_table
   19425 	for gcse-las.
   19426 
   19427 2010-07-28  Eric Botcazou  <ebotcazou (a] adacore.com>
   19428 
   19429 	PR tree-optimization/44885
   19430 	* tree-sra.c (find_param_candidates): Skip pointer types to arrays
   19431 	with non-aliased component.
   19432 
   19433 2010-07-28  Joseph Myers  <joseph (a] codesourcery.com>
   19434 
   19435 	* config/darwin-driver.c (SWITCH_TAKES_ARG,
   19436 	WORD_SWITCH_TAKES_ARG): Remove.
   19437 	* cppspec.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
   19438 	* defaults.h (DEFAULT_SWITCH_TAKES_ARG,
   19439 	DEFAULT_WORD_SWITCH_TAKES_ARG): Move from gcc.h.
   19440 	(SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move default
   19441 	definitions from gcc.c.
   19442 	* gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move to
   19443 	defaults.h.
   19444 	* gcc.h (DEFAULT_SWITCH_TAKES_ARG, DEFAULT_WORD_SWITCH_TAKES_ARG):
   19445 	Move to defaults.h.
   19446 	* opts-common.c: Include tm.h.
   19447 	(decode_cmdline_option): Use SWITCH_TAKES_ARG and
   19448 	WORD_SWITCH_TAKES_ARG to count arguments to unknown options.
   19449 	Handle more than one argument.  Set canonical_option_num_elements.
   19450 	(decode_cmdline_options_to_array): Set
   19451 	canonical_option_num_elements and trailing elements of
   19452 	canonical_option.
   19453 	* opts.h (struct cl_decoded_option): Allow four elements in
   19454 	canonical_option.  Add field canonical_option_num_elements.
   19455 	* Makefile.in (opts-common.o): Update dependencies.
   19456 
   19457 2010-07-28  Eric Botcazou  <ebotcazou (a] adacore.com>
   19458 
   19459 	PR middle-end/44790
   19460 	PR middle-end/44993
   19461 	* expr.c (expand_expr_real_1) <MEM_REF>: Revert latest change.  Make
   19462 	sure the base has address_mode before adding the offset.
   19463 
   19464 2010-07-27  Xinliang David Li  <davidxl (a] google.com>
   19465 
   19466 	* tree-flow.h (create_mem_ref): Add one new parameter.
   19467 	* tree-ssa-address.c (create_mem_ref): New parameter.
   19468 	(addr_to_parts): Ditto.
   19469 	(move_variant_to_index): New function.
   19470 	* tree-ssa-loop-ivopts.c (rewrite_use_address): Pass new argument.
   19471 
   19472 2010-07-27  Bernd Schmidt  <bernds (a] codesourcery.com>
   19473 
   19474 	* rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, NOTE): Swap operands
   19475 	4 and 5.
   19476 	* rtl.h (PATTERN, INSN_LOCATOR, NOTE_DATA, NOTE_DELETED_LABEL_NAME,
   19477 	NOTE_BLOCK, NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION,
   19478 	NOTE_KIND, LABEL_NUSES, LABEL_REFS): Adjust accordingly.
   19479 	* gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of
   19480 	CODE_LABELs and NOTEs.
   19481 	* caller-save.c (init_caller_save): Fix up gen_rtx_INSN call.
   19482 	* combine.c (try_combine): Likewise.
   19483 	* ira.c (setup_prohibited_mode_move_regs): Likewise.
   19484 	* print-rtl.c (print_rtx): Start REG_NOTES on a new line.
   19485 
   19486 2010-07-27  Joseph Myers  <joseph (a] codesourcery.com>
   19487 
   19488 	* coretypes.h (struct cl_option_handlers): Declare.
   19489 	* hooks.c (hook_int_size_t_constcharptr_int_0): Remove.
   19490 	* hooks.h (hook_int_size_t_constcharptr_int_0): Remove.
   19491 	* langhooks-def.h (lhd_handle_option): Declare.
   19492 	(LANG_HOOKS_HANDLE_OPTION): Use lhd_handle_option.
   19493 	* langhooks.c (lhd_handle_option): New.
   19494 	* langhooks.h (struct lang_hooks): Update prototype and return
   19495 	value type of handle_option hook.
   19496 	* optc-gen.awk: Generate target_flags_explicit definition for the
   19497 	driver.
   19498 	* opts-common.c: Include diagnostic.h.
   19499 	(handle_option): Move from opts.c.  Update prototype and return
   19500 	value type.  Use handlers structure.
   19501 	(read_cmdline_option): Move from opts.c.  Update prototype.  Use
   19502 	handlers structure.
   19503 	(set_option): Move from opts.c.
   19504 	* opts.c (common_handle_option): Update prototype and return value
   19505 	type.  Update calls to handle_option and enable_warning_as_error.
   19506 	(unknown_option_callback, post_handling_callback,
   19507 	lang_handle_option, target_handle_option): New.
   19508 	(handle_option, read_cmdline_option): Move to opts-common.c.
   19509 	(read_cmdline_options): Update prototype.  Update call to
   19510 	read_cmdline_option.
   19511 	(decode_options): Initialize and use handlers structure.
   19512 	(set_option): Move to opts-common.c.
   19513 	(enable_warning_as_error): Update prototype.  Update call to
   19514 	handle_option.
   19515 	* opts.h (struct cl_option_handler_func, struct
   19516 	cl_option_handlers): New.
   19517 	(handle_option, enable_warning_as_error): Update prototypes.
   19518 	(read_cmdline_option): Declare.
   19519 	* Makefile.in (opts-common.o): Update dependencies.
   19520 
   19521 2010-07-27  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   19522 
   19523 	* config/arm/arm.c (params.h): Include.
   19524 	(arm_override_options): Tune gcse-unrestricted-cost.
   19525 	* config/arm/t-arm (arm.o): Define dependencies.
   19526 
   19527 2010-07-27  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   19528 
   19529 	PR target/42495
   19530 	PR middle-end/42574
   19531 	* basic-block.h (get_dominated_to_depth): Declare.
   19532 	* dominance.c (get_dominated_to_depth): New function, use
   19533 	get_all_dominated_blocks as a base.
   19534 	(get_all_dominated_blocks): Use get_dominated_to_depth.
   19535 
   19536 	* gcse.c (occr_t, VEC (occr_t, heap)): Define.
   19537 	(hoist_exprs): Remove.
   19538 	(alloc_code_hoist_mem, free_code_hoist_mem): Update.
   19539 	(compute_code_hoist_vbeinout): Add debug print outs.
   19540 	(hoist_code): Partially rewrite, simplify.  Use get_dominated_to_depth.
   19541 
   19542 	* params.def (PARAM_MAX_HOIST_DEPTH): New parameter to avoid
   19543 	quadratic behavior.
   19544 	* params.h (MAX_HOIST_DEPTH): New macro.
   19545 	* doc/invoke.texi (max-hoist-depth): Document.
   19546 
   19547 2010-07-27  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   19548 
   19549 	PR rtl-optimization/40956
   19550 	* config/arm/arm.c (thumb1_size_rtx_costs): Fix cost of simple
   19551 	constants.
   19552 
   19553 2010-07-27  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   19554 
   19555 	PR target/42495
   19556 	PR middle-end/42574
   19557 	* config/arm/arm.c (legitimize_pic_address): Use
   19558 	gen_calculate_pic_address pattern to emit calculation of PIC address.
   19559 	(will_be_in_index_register): New function.
   19560 	(arm_legitimate_address_outer_p, thumb2_legitimate_address_p,)
   19561 	(thumb1_legitimate_address_p): Use it provided !strict_p.
   19562 	* config/arm/arm.md (calculate_pic_address): New expand and split.
   19563 
   19564 2010-07-27  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   19565 
   19566 	PR target/42495
   19567 	PR middle-end/42574
   19568 	* config/arm/arm.c (thumb1_size_rtx_costs): Add cost for "J" constants.
   19569 	* config/arm/arm.md (define_split "J", define_split "K"): Make
   19570 	IRA/reload friendly.
   19571 
   19572 2010-07-27  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   19573 
   19574 	* gcse.c (insert_insn_end_basic_block): Update signature, remove
   19575 	unused checks.
   19576 	(pre_edge_insert, hoist_code): Update.
   19577 
   19578 2010-07-27  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   19579 
   19580 	PR target/42495
   19581 	PR middle-end/42574
   19582 	* gcse.c (hoist_expr_reaches_here_p): Remove excessive check.
   19583 
   19584 2010-07-27  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   19585 
   19586 	* gcse.c (hoist_code): Generate new pseudo for every new set insn.
   19587 
   19588 2010-07-27  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   19589 
   19590 	PR rtl-optimization/40956
   19591 	PR target/42495
   19592 	PR middle-end/42574
   19593 	* gcse.c (compute_code_hoist_vbeinout): Consider more expressions
   19594 	for hoisting.
   19595 	(hoist_code): Count occurences in current block too.
   19596 
   19597 2010-07-27  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   19598 
   19599 	* gcse.c (struct expr:max_distance): New field.
   19600 	(doing_code_hoisting_p): New static variable.
   19601 	(want_to_gcse_p): Change signature.  Allow constrained hoisting of
   19602 	simple expressions, don't change behavior for PRE.  Set max_distance.
   19603 	(insert_expr_in_table): Set new max_distance field.
   19604 	(hash_scan_set): Update.
   19605 	(hoist_expr_reaches_here_p): Stop search after max_distance
   19606 	instructions.
   19607 	(find_occr_in_bb): New static function.  Use it in ...
   19608 	(hoist_code): Calculate sizes of basic block before any changes are
   19609 	done.  Pass max_distance to hoist_expr_reaches_here_p.
   19610 	(one_code_hoisting_pass): Set doing_code_hoisting_p.
   19611 
   19612 	* params.def (PARAM_GCSE_COST_DISTANCE_RATIO,)
   19613 	(PARAM_GCSE_UNRESTRICTED_COST): New parameters.
   19614 	* params.h (GCSE_COST_DISTANCE_RATIO, GCSE_UNRESTRICTED_COST): New
   19615 	macros.
   19616 	* doc/invoke.texi (gcse-cost-distance-ratio, gcse-unrestricted-cost):
   19617 	Document.
   19618 
   19619 2010-07-27  Jeff Law  <law (a] redhat.com>
   19620 	    Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   19621 
   19622 	* gcse.c (compute_transpout, transpout): Remove, move logic
   19623 	to prune_expressions.
   19624 	(compute_pre_data): Move pruning of trapping expressions ...
   19625 	(prune_expressions): ... here.  New static function.
   19626 	(compute_code_hoist_data): Use it.
   19627 	(alloc_code_hoist_mem, free_code_hoist_mem, hoist_code): Update.
   19628 
   19629 2010-07-27  Xinliang David Li  <davidxl (a] google.com>
   19630 
   19631 	* tree-ssa-loop-ivopts.c (adjust_iv_update_pos): New function.
   19632 	(rewrite_use_address): Adjust iv update position when needed.
   19633 
   19634 2010-07-27  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   19635 
   19636 	* dbgcnt.def (hoist_insn): New debug counter.
   19637 	* gcse.c (hoist_code): Use it.
   19638 
   19639 2010-07-27  Xinliang David Li  <davidxl (a] google.com>
   19640 
   19641 	* tree-ssa-loop-ivopts.c (niter_for_exit): New parameter.
   19642 	(niter_for_single_dom_exit): Passes additional parameter.
   19643 	(iv_period): Fix comments.
   19644 	(may_eliminate_iv): Handles multiple exit loops properly.
   19645 	(free_tree_niter_desc): New function.
   19646 	(free_loop_data): Frees up loop iteration descriptors.
   19647 
   19648 2010-07-27  Jakub Jelinek  <jakub (a] redhat.com>
   19649 
   19650 	PR target/44542
   19651 	* cfgexpand.c (expand_one_stack_var_at): Limit align to maximum
   19652 	of max_used_stack_slot_alignment and PREFERRED_STACK_BOUNDARY
   19653 	instead of MAX_SUPPORTED_STACK_ALIGNMENT.
   19654 	(expand_one_var): Don't consider DECL_ALIGN for variables for
   19655 	which expand_one_stack_var_at has been already called.
   19656 
   19657 	PR testsuite/44701
   19658 	* doc/md.texi: Clarify m and es constraints on PowerPC and m and S
   19659 	constraints on IA-64.
   19660 
   19661 2010-07-27  Jie Zhang  <jie (a] codesourcery.com>
   19662 
   19663 	PR target/44290
   19664 	Revert:
   19665 	2010-07-23  Jie Zhang  <jie (a] codesourcery.com>
   19666 
   19667 	* tree-sra.c (ipa_sra_preliminary_function_checks): Return
   19668 	false if ! tree_versionable_function_p.
   19669 
   19670 2010-07-27  Jakub Jelinek  <jakub (a] redhat.com>
   19671 
   19672 	* dwarf2out.c (add_data_member_location_attribute): Use
   19673 	add_AT_unsigned instead of add_AT_int if offset is non-negative.
   19674 
   19675 2010-07-27  Bernd Schmidt  <bernds (a] codesourcery.com>
   19676 
   19677 	* postreload.c (try_replace_in_use): New static function.
   19678 	(reload_combine_recognize_const_pattern): Use it here.  Allow
   19679 	substituting into a final add insn, and substituting into a memory
   19680 	reference in an insn that sets the reg.
   19681 
   19682 2010-07-27  Joseph Myers  <joseph (a] codesourcery.com>
   19683 
   19684 	* common.opt (o): Add MissingArgError.
   19685 	* doc/options.texi (MissingArgError): Document.
   19686 	* hooks.c (hook_bool_constcharptr_size_t_false): Remove.
   19687 	* hooks.h (hook_bool_constcharptr_size_t_false): Remove.
   19688 	* langhooks-def.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
   19689 	(LANG_HOOKS_INITIALIZER): Remove missing_argument hook initializer.
   19690 	* langhooks.h (struct lang_hooks): Remove missing_argument.
   19691 	* optc-gen.awk: Handle MissingArgError and output new structure
   19692 	field initializers.
   19693 	* opts.c (read_cmdline_option): Use missing_argument_error field
   19694 	instead of missing_argument langhook.
   19695 	* opts.h (struct cl_option): Add missing_argument_error field.
   19696 	* system.h (LANG_HOOKS_MISSING_ARGUMENT): Poison.
   19697 
   19698 2010-07-27  Iain Sandoe  <iains (a] gcc.gnu.org>
   19699 
   19700 	PR target/29090
   19701 	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Special-case the
   19702 	Darwin64 ABI, for zero-sized objects.
   19703 
   19704 2010-07-27  Iain Sandoe  <iains (a] gcc.gnu.org>
   19705 
   19706 	PR target/35491
   19707 	PR target/29090
   19708 
   19709 	Merge from Apple local 4.2.1.
   19710 	2005-05-11  Stan Shebs  <shebs (a] apple.com>
   19711 	Fix 64-bit varargs for Darwin (Radar 4028089).
   19712 	* config/rs6000/rs6000.h (rs6000_args): New field floats_in_gpr.
   19713 	* config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush):
   19714 	Add argument, add case for 8-byte register half-filled with a float.
   19715 	(rs6000_darwin64_record_arg_advance_recurse): Detect and handle
   19716 	single-precision floats specially.
   19717 
   19718 2010-07-27  Ira Rosen  <irar (a] il.ibm.com>
   19719 
   19720 	PR tree-optimization/44152
   19721 	* tree-vect-slp.c (vect_build_slp_tree): Collect nodes with
   19722 	complex numbers for further check.
   19723 	(vect_supported_load_permutation_p): Check nodes with
   19724 	complex numbers.
   19725 
   19726 2010-07-27  Joseph Myers  <joseph (a] codesourcery.com>
   19727 
   19728 	* langhooks-def.h (lhd_init_options, LANG_HOOKS_OPTION_LANG_MASK,
   19729 	LANG_HOOKS_COMPLAIN_WRONG_LANG_P): New.
   19730 	(LANG_HOOKS_INIT_OPTIONS): Update default definition.
   19731 	(LANG_HOOKS_INITIALIZER): Add new hooks.
   19732 	* langhooks.c (lhd_init_options, lhd_complain_wrong_lang_p): New.
   19733 	* langhooks.h (struct lang_hooks): Add new hooks option_lang_mask
   19734 	and complain_wrong_lang_p.  Update init_options prototype.
   19735 	* c-objc-common.c (c_initialize_diagnostics): First call
   19736 	c_common_initialize_diagnostics.
   19737 	* c-objc-common.h (LANG_HOOKS_OPTION_LANG_MASK,
   19738 	LANG_HOOKS_COMPLAIN_WRONG_LANG_P): Define.
   19739 	* coretypes.h (struct cl_option, struct cl_decoded_option): Declare.
   19740 	* hooks.c (hook_uint_uint_constcharptrptr_0): Remove.
   19741 	(hook_uint_void_0): New.
   19742 	* hooks.h (hook_uint_uint_constcharptrptr_0): Remove.
   19743 	(hook_uint_void_0): New.
   19744 	* opts-common.c (decode_cmdline_option,
   19745 	decode_cmdline_options_to_array): Also fill in canonical_option field.
   19746 	* opts.c (complain_wrong_lang): Use langhook to determine whether
   19747 	to complain instead of special-casing LTO.
   19748 	(decode_options): Separate lang_mask determination with
   19749 	option_lang_mask hook from call of init_options hook.
   19750 	* opts.h (struct cl_decoded_option): Add canonical_option.
   19751 
   19752 2010-07-27  Jakub Jelinek  <jakub (a] redhat.com>
   19753 
   19754 	PR tree-optimization/45083
   19755 	* tree-inline.c (add_local_variables): Also remap DECL_DEBUG_EXPR.
   19756 
   19757 2010-07-27  Bernd Schmidt  <bernds (a] codesourcery.com>
   19758 
   19759 	* postreload.c (reload_combine_recognize_const_pattern): Move test
   19760 	for limiting the insn movement to the right scope.
   19761 
   19762 	PR rtl-optimization/45051
   19763 	* reload1.c (delete_output_reload): Use refers_to_regno_p rather
   19764 	than reg_mentioned_p.
   19765 
   19766 2010-07-26  Richard Henderson  <rth (a] redhat.com>
   19767 
   19768 	PR target/44132
   19769 	* tree-emutls.c: New file.
   19770 	* Makefile.in (OBJS-common): Add it.
   19771 	* tree-pass.h (pass_ipa_lower_emutls): Declare.
   19772 	* passes.c (init_optimization_passes): Add it.
   19773 
   19774 	* dwarf2out.c (loc_list_from_tree): If emutls.debug_form_tls_address,
   19775 	pull the control variable from DECL_VALUE_EXPR, not emutls_decl.
   19776 	* expr.c (emutls_var_address): Delete.
   19777 	(expand_expr_addr_expr_1, expand_expr_real_1): Don't use it.
   19778 	* output.h (SECCAT_EMUTLS_VAR, SECCAT_EMUTLS_TMPL): Delete.
   19779 	(emutls_finish): Delete.
   19780 	* toplev.c (compile_file): Don't call it.
   19781 	* tree.h (emutls_decl): Delete.
   19782 	* varasm.c (emutls_htab, DECL_EMUTLS_VAR_P): Delete.
   19783 	(emutls_finish, emutls_finalize_control_var): Delete.
   19784 	(emutls_object_type): Move to tree-emutls.c.
   19785 	(EMUTLS_SEPARATOR, prefix_name, get_emutls_object_name,
   19786 	default_emutls_var_fields, get_emutls_object_type,
   19787 	get_emutls_init_templ_addr, emutls_decl, emutls_common_1
   19788 	default_emutls_var_init): Likewise.
   19789 	(get_variable_section): Don't special case emutls.
   19790 	(assemble_variable, do_assemble_alias, categorize_decl_for_section,
   19791 	default_elf_select_section, default_unique_section,
   19792 	default_encode_section_info): Likewise.
   19793 	* varpool.c (decide_is_variable_needed): Likewise.
   19794 	* gimple-iterator.c (update_call_edge_frequencies): New
   19795 	(gsi_insert_on_edge_immediate): Use it.
   19796 	(gsi_insert_seq_on_edge_immediate): Likewise.
   19797 	(gsi_commit_one_edge_insert): Likewise.
   19798 
   19799 	* config/i386/i386.c (x86_64_elf_select_section): Don't handle
   19800 	SECCAT_EMUTLS_VAR, SECCAT_EMUTLS_TMPL.
   19801 	(x86_64_elf_unique_section): Likewise.
   19802 
   19803 2010-07-26  Jan Hubicka  <jh (a] suse.cz>
   19804 
   19805 	* lto-streamer.h (struct lto_file_decl_data): Mark resolutions with
   19806 	GTY((skip)).
   19807 
   19808 2010-07-26  Anatoly Sokolov  <aesok (a] post.ru>
   19809 
   19810 	* target.def (output_source_filename): New hook.
   19811 	* doc/tm.texi.in (TARGET_ASM_OUTPUT_SOURCE_FILENAME): Document.
   19812 	* doc/tm.texi: Regenerate.
   19813 	* toplev.c (output_file_directive) Remove function.
   19814 	* toplev.h (output_file_directive) Remove.
   19815 	* output.h (default_asm_output_source_filename,
   19816 	output_file_directive): Declare.
   19817 	* varasm.h (default_asm_output_source_filename,
   19818 	output_file_directive): New functions.
   19819 
   19820 	* config/mips/mips.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
   19821 	* config/mips/mips-protos.h (mips_output_filename): Remove.
   19822 	* config/mips/mips.c (mips_output_filename): Make Static.
   19823 	(TARGET_ASM_OUTPUT_SOURCE_FILENAME): Define.
   19824 
   19825 2010-07-26  Richard Guenther  <rguenther (a] suse.de>
   19826 
   19827 	PR tree-optimization/43784
   19828 	* tree-nrv.c (dest_safe_for_nrv_p): It's not safe to NRV
   19829 	if the destination is used by the call.
   19830 
   19831 2010-07-26  Richard Guenther  <rguenther (a] suse.de>
   19832 
   19833 	PR middle-end/45073
   19834 	* gimple-fold.c (gimplify_and_update_call_from_tree): Conditionalize
   19835 	SSA updating on being in SSA form.
   19836 
   19837 2010-07-26  Richard Guenther  <rguenther (a] suse.de>
   19838 
   19839 	PR middle-end/45056
   19840 	* gimple-fold.c (fold_stmt_1): Also fold references in debug stmts.
   19841 
   19842 2010-07-26  Richard Guenther  <rguenther (a] suse.de>
   19843 
   19844 	PR tree-optimization/45071
   19845 	* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Always
   19846 	adjust op->opcode.
   19847 
   19848 2010-07-26  Naveen.H.S  <naveen.S (a] kpitcummins.com>
   19849 
   19850 	* config/v850/lib1funcs.asm (save_r2_r31, return_r2_r31,
   19851 	save_r20_r31, return_r20_r31, save_r21_r31, return_r21_r31,
   19852 	save_r22_r31, return_r22_r31, save_r23_r31, return_r23_r31,
   19853 	save_r24_r31, return_r24_r31, save_r25_r31, return_r25_r31,
   19854 	save_r26_r31, return_r26_r31, save_r27_r31, return_r27_r31,
   19855 	save_r28_r31, return_r28_r31, save_r29_r31, return_r29_r31,
   19856 	save_r31, return_r31, save_interrupt, return_interrupt,
   19857 	save_all_interrupt, return_all_interrupt, L_save_r2_r31,
   19858 	L_return_interrupt, callt_return_interrupt, L_restore_all_interrupt,
   19859 	L_save_##START##_r31c, L_callt_save_r31c): Updated as per the
   19860 	new ABI requirements.
   19861 	(save_r6_r9, L_callt_save_r6_r9): Remove.
   19862 	* config/v850/predicates.md (even_reg_operand, disp23_operand,
   19863 	const_float_1_operand const_float_0_operand): New Predicates.
   19864 	(pattern_is_ok_for_prepare, pattern_is_ok_for_prologue,
   19865 	pattern_is_ok_for_epilogue): Update as per the ABI requirements.
   19866 	* config/v850/t-v850: Update multilibs for new target variants.
   19867 	(save_varargs, callt_save_varargs, callt_save_r6_r9): Remove.
   19868 	* config/v850/t-v850e: Likewise.
   19869 	* config/v850/v850.c (v850_issue_rate): New.
   19870 	(v850_strict_argument_naming): New.
   19871 	(function_arg): Modify to generate a different ABI.
   19872 	(print_operand): Update case 'z' to support float modes.
   19873 	(output_move_single): Modify to generate appropriate and better
   19874 	assembly.
   19875 	(v850_float_z_comparison_operator, v850_select_cc_mode,
   19876 	v850_float_nz_comparison_operator,  v850_gen_float_compare,
   19877 	v850_gen_compare): New functions to support comparison of float values.
   19878 	(ep_memory_offset): Add support for V850E2 targets.
   19879 	(INTERRUPT_FIXED_NUM, INTERRUPT_ALL_SAVE_NUM): Update.
   19880 	(INTERRUPT_REGPARM_NUM): Remove.
   19881 	(compute_register_save_size): Add extra case to save/restore long call.
   19882 	(use_prolog_function): New function to support prologue.
   19883 	(expand_prologue): Add support for V850E2 targets and modified
   19884 	as per the current ABI requirements.
   19885 	(expand_epilogue): Likewise.
   19886 	(construct_restore_jr): Modify based on TARGET_LONG_CALLS.
   19887 	(construct_save_jarl): Likewise.
   19888 	(construct_dispose_instruction): Update as per the current ABI
   19889 	requirements.
   19890 	(construct_prepare_instruction): Likewise.
   19891 	* config/v850/v850.h (TARGET_CPU_DEFAULT): Add target predefines.
   19892 	(TARGET_CPU_v850e2, TARGET_CPU_v850e2v3): Define
   19893 	(CPP_SPEC): Updated to support v850e2 targets.
   19894 	(STRICT_ALIGNMENT): Modified.
   19895 	(FIRST_PSEUDO_REGISTER): Updated to add even registers.
   19896 	(FIXED_REGISTERS): Likewise.
   19897 	(CALL_USED_REGISTERS): Likewise.
   19898 	(CONDITIONAL_REGISTER_USAGE): Updated.
   19899 	(HARD_REGNO_MODE_OK): Updated.
   19900 	(reg_class): Updated to add even registers.
   19901 	(REG_CLASS_NAMES): Likewise.
   19902 	(REG_CLASS_CONTENTS): Likewise.
   19903 	(REGNO_REG_CLASS): Updated for CC registers.
   19904 	(REG_CLASS_FROM_LETTER): Added support for even registers.
   19905 	(REGNO_OK_FOR_BASE_P): Updated for CC registers.
   19906 	(STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM, LINK_POINTER_REGNUM,
   19907 	ARG_POINTER_REGNUM): Updated.
   19908 	(FUNCTION_ARG_ADVANCE): Define.
   19909 	(REG_PARM_STACK_SPACE): Update as per the current ABI requirements.
   19910 	(OUTGOING_REG_PARM_STACK_SPACE): Remove.
   19911 	(EXTRA_CONSTRAINT): Add new constraint 'W' for 23-bit displacement.
   19912 	(GO_IF_LEGITIMATE_ADDRESS): Updated.
   19913 	(SELECT_CC_MODE): Define.
   19914 	(REGISTER_NAMES): Updated to add psw and fcc registers.
   19915 	(ADDITIONAL_REGISTER_NAMES): Updated.
   19916 	(ASM_OUTPUT_ADDR_DIFF_ELT): Updated to support new targets.
   19917 	(JUMP_TABLES_IN_TEXT_SECTION): Updated.
   19918 	* config/v850/v850.md (define_constants): Define new constants.
   19919 	(type): Update store,bit1,macc,div,fpu and single attributes.
   19920 	(cpu): New attribute.
   19921 	(cc): Add set_z attribute.
   19922 	(unsign23byte_load, sign23byte_load, unsign23hword_load,
   19923 	sign23hword_load, 23word_load, 23byte_store, 23hword_store,
   19924 	23word_store): New instructions for 23-bit displacement load and store.
   19925 	(movqi_internal, movhi_internal): Update the attributes.
   19926 	(movsi, movsi_internal_v850e): Updated to support v850e2 targets.
   19927 	(movsi_internal_v850e, movsi_internal, movsf_internal): Update
   19928 	the attributes.
   19929 	(v850_tst1): Modified using CC_REGNUM.
   19930 	(tstsi): Remove.
   19931 	(cmpsi): Modified as define_expand from define_insn.
   19932 	(cmpsi_insn, cmpsf, cmpdf): New instructions.
   19933 	(addsi3, subsi3, negsi2, divmodsi4, udivmodsi4, divmodhi4,
   19934 	udivmodhi4, v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3,
   19935 	v850_set1_1, v850_set1_3, iorsi3, v850_not1_1, v850_not1_3, xorsi3,
   19936 	one_cmplsi2): Clobber the CC_REGNUM register.
   19937 	(v850_clr1_1, v850_clr1_2, v850_clr1_3, andsi3, v850_set1_1,
   19938 	v850_set1_2, v850_set1_3, iorsi3, v850_not1_1, v850_not1_2,
   19939 	v850_not1_3, xorsi3, one_cmplsi2): Update the attributes accordingly.
   19940 	(setf_insn, set_z_insn, set_nz_insn): New instructions for
   19941 	v850e2v3 target.
   19942 	(movsicc_normal_cc, movsicc_reversed_cc): New instructions.
   19943 	(movsicc, movsicc_normal, movsicc_reversed): Add support for V850E2
   19944 	targets.
   19945 	(sasf_1, sasf_2): Remove.
   19946 	(sasf): New instruction.
   19947 	(rotlhi3, rotlhi3_8, rotlsi3, rotlsi3_16): Update to support V850E2
   19948 	targets. CC_REGNUM register is clobbered and attributes are
   19949 	updated.
   19950 	(branch_z_normal, branch_z_invert, branch_nz_normal,
   19951 	branch_nz_invert): New branch related instructions.
   19952 	(jump): Updated the attributes.
   19953 	(switch): Update to support new targets. CC_REGNUM register is
   19954 	clobbered and attributes are updated.
   19955 	(call_internal_short, call_internal_long, call_value_internal_short,
   19956 	call_value_internal_long): Updated the attributes.
   19957 	(zero_extendhisi2, zero_extendqisi2): CC_REGNUM register is
   19958 	clobbered and attributes are updated.
   19959 	(extendhisi_insn, extendhisi2, extendqisi_insn, extendqisi2):
   19960 	Update to support new targets. CC_REGNUM register is clobbered.
   19961 	(ashlsi3_v850e2, lshrsi3_v850e2, ashrsi3_v850e2): New shift
   19962 	instructions.
   19963 	(lshrsi3, ashrsi3): CC_REGNUM register is clobbered and attributes
   19964 	are updated.
   19965 	(ffssi2, addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, divsf3,
   19966 	divdf3, minsf3, mindf3, maxsf3, maxdf3, abssf2, absdf2, negsf2,
   19967 	negdf2, sqrtsf2, sqrtdf2, truncsfsi2, truncdfsi2, floatsisf2,
   19968 	floatsidf2, extendsfdf2, extenddfsf2, recipsf2, recipdf2,
   19969 	rsqrtsf2, rsqrtdf2, maddsf4, msubsf4, nmaddsf4, nmsubsf4,
   19970 	cmpsf_le_insn, cmpsf_lt_insn, cmpsf_ge_insn, cmpsf_gt_insn,
   19971 	cmpsf_eq_insn, cmpsf_ne_insn, cmpdf_le_insn, cmpdf_lt_insn,
   19972 	cmpdf_ge_insn, cmpdf_gt_insn, cmpdf_eq_insn, cmpdf_ne_insn, trfsr,
   19973 	movsfcc, movdfcc, movsfcc_z_insn, movsfcc_nz_insn, movdfcc_z_insn,
   19974 	movdfcc_nz_insn, movedfcc_z_zero, movedfcc_nz_zero): New floating
   19975 	point instructions defined for V850e2v3 target.
   19976 	(callt_save_interrupt, callt_return_interrupt, return_interrupt):
   19977 	Add support for V850E2 targets and CC_REGNUM register is clobbered.
   19978 	(callt_save_all_interrupt, callt_restore_all_interrupt): Add
   19979 	support for new targets.
   19980 	* config/v850/v850-modes.def: New file.
   19981 	* config/v850/v850.opt(mstrict-align): Remove.
   19982 	(mno-strict-align, mjump-tables-in-data-section, mv850e2,
   19983 	mv850e2v3): New command line options for V850.
   19984 	* config.gcc: Update the newly added files.
   19985 	* doc/invoke.texi: Update the newly added command line options for
   19986 	V850 target.
   19987 
   19988 2010-07-26  Richard Guenther  <rguenther (a] suse.de>
   19989 
   19990 	PR tree-optimization/45052
   19991 	* ipa-pure-const.c (check_stmt): Check volatileness.
   19992 
   19993 2010-07-25  Eric Botcazou  <ebotcazou (a] adacore.com>
   19994 
   19995 	PR target/44707
   19996 	* config/sparc/sparc-protos.h (sparc_legitimize_reload_address): New.
   19997 	* config/sparc/sparc.c: Include reload.h.
   19998 	(legitimize_tls_address): Rename into...
   19999 	(sparc_legitimize_tls_address): ...this.
   20000 	(legitimize_pic_address): Rename into...
   20001 	(sparc_legitimize_pic_address): ...this.
   20002 	(sparc_expand_move): Adjust to above renaming.
   20003 	(sparc_tls_referenced_p): Likewise.
   20004 	(sparc_legitimize_tls_address): Likewise.
   20005 	(sparc_legitimize_pic_address): Likewise.
   20006 	(sparc_legitimize_address): Likewise.
   20007 	(sparc_output_mi_thunk): Likewise.
   20008 	(sparc_legitimize_reload_address): New global function.  Recognize
   20009 	(lo_sum (high ...) ...) patterns generated by earlier passes.
   20010 	* config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Use above function.
   20011 
   20012 2010-07-25  Eric Botcazou  <ebotcazou (a] adacore.com>
   20013 
   20014 	PR target/44484
   20015 	* config/sparc/predicates.md (memory_reg_operand): Delete.
   20016 	* config/sparc/sync.md (sync_compare_and_swap): Minor tweaks.
   20017 	(*sync_compare_and_swap): Encode the address form in the pattern.
   20018 	(*sync_compare_and_swapdi_v8plus): Likewise.
   20019 
   20020 2010-07-24  Gerald Pfeifer  <gerald (a] pfeifer.com>
   20021 
   20022 	* doc/install.texi (Specific, *-*-freebsd*): Adjust to recent changes.
   20023 	Streamline paragraph on compatibility with the system compiler.
   20024 
   20025 2010-07-24  Steven Bosscher  <steven (a] gcc.gnu.org>
   20026 
   20027 	PR middle-end/45035
   20028 	* alias.c (true_dependence_1): Fix thinko in merge of old
   20029 	true_dependence and canon_true_dependence.
   20030 
   20031 2010-07-23  Jan Hubicka  <jh (a] suse.cz>
   20032 
   20033 	* lto-streamer-out.c (write_symbol): Fix visibilities of external
   20034 	references.
   20035 
   20036 2010-07-23  Le-Chun Wu  <lcwu (a] google.com>
   20037 
   20038 	* omega.c (omega_eliminate_redundant): Remove a self-assign statement.
   20039 	* tree-ssa-ccp.c (ccp_lattice_meet): Remove a self-assign statement
   20040 	and an unnecessary assignment.
   20041 	* dbxout.c (DEBUGGER_ARG_OFFSET): Change OFFSET to OFFSET+0 to avoid
   20042 	self-assign warning.
   20043 	* config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Remove
   20044 	unnecessary self-init.
   20045 
   20046 2010-07-23  Richard Guenther  <rguenther (a] suse.de>
   20047 
   20048 	PR lto/43071
   20049 	* gcc.c (LINK_COMMAND_SPEC): Filter out -fcompare-debug
   20050 	for -flto and -fwhopr.
   20051 
   20052 2010-07-23  Kai Tietz  <kai.tietz (a] onevision.com>
   20053 
   20054 	PR target/41943
   20055 	* Makefile.in (USER_H_INC_NEXT_PRE, USER_H_INC_NEXT_POST): New.
   20056 	(stmp-int-hdrs): Prefix/postfix headers by include_next.
   20057 	* config.gcc (user_headers_inc_next_pre): New.
   20058 	(user_headers_inc_next_post): Likewise.
   20059 	(*-w64-mingw*): Use for float.h post-fixing, and for
   20060 	stddef.h/stdarg.h pre-fixing by include_next.
   20061 	* configure.ac (user_headers_inc_next_post): New.
   20062 	(user_headers_inc_next_pre): New.
   20063 	* configure: Regenerated.
   20064 
   20065 2010-07-23  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   20066 
   20067 	* configure.ac: Don't disable TLS on Solaris 8/9 by default
   20068 	Set tga_func for Solaris 2/x86 resp. SPARC.
   20069 	Remove duplicate parts of sparc*-sun-solaris2.* TLS check.
   20070 	(LIB_THREAD_LDFLAGS_SPEC): Define.
   20071 	(LIB_TLS_SPEC): Define.  Check for required Sun ld version.
   20072 	* configure: Regenerate.
   20073 	* config.in: Regenerate.
   20074 	* config/sol2.h (LIB_SPEC): Use LIB_THREAD_LDFLAGS_SPEC with
   20075 	-pthread, -threads, LIB_TLS_SPEC with -pthread.
   20076 	* doc/install.texi (Specific, *-*-solaris2*): Document use of
   20077 	alternate thread libraries on Solaris 8.
   20078 	Document TLS patch requirements.
   20079 	* doc/sourcebuild.texi (Add Options): Sort alphabetically.
   20080 	Document tls.
   20081 
   20082 	PR target/18788
   20083 	* config/sol2.h (LIB_SPEC): Link with thread libraries even with
   20084 	-shared.
   20085 
   20086 2010-07-23  Jakub Jelinek  <jakub (a] redhat.com>
   20087 
   20088 	* tree.h (struct tree_base): Add nameless_flag bitfield.
   20089 	(TYPE_NAMELESS, DECL_NAMELESS): Define.
   20090 	* omp-low.c (create_omp_child_function, scan_omp_parallel,
   20091 	scan_omp_task, lower_omp_taskreg): Set DECL_NAMELESS and/or
   20092 	DECL_ARTIFICIAL where needed.
   20093 	* dwarf2out.c (dwarf2_name): Return NULL if DECL_NAMELESS.
   20094 	(type_tag): Return NULL if TYPE_NAMELESS or if TYPE_DECL
   20095 	has DECL_NAMELESS set.
   20096 
   20097 2010-07-23  Martin Jambor  <mjambor (a] suse.cz>
   20098 
   20099 	PR tree-optimization/44915
   20100 	* ipa-cp.c (cgraph_gate_cp): Also check that optimize is true.
   20101 	* ipa-inline.c (cgraph_mark_inline_edge): Likewise.
   20102 	(analyze_function): Likewise.
   20103 
   20104 2010-07-23  Martin Jambor  <mjambor (a] suse.cz>
   20105 
   20106 	PR tree-optimization/44914
   20107 	* tree-sra.c (sra_modify_function_body): Return true if CFG was
   20108 	changed, add purging dead eh edges.
   20109 	(ipa_sra_modify_function_body): Return true if CFG was changed,
   20110 	simplify purging dead eh edges.
   20111 	(modify_function): Return true if CFG was changed.
   20112 	(perform_intra_sra): Add TODO_cleanup_cfg to the return value if CFG
   20113 	was changed.
   20114 	(ipa_early_sra): Likewise.
   20115 
   20116 2010-07-23  Jie Zhang  <jie (a] codesourcery.com>
   20117 
   20118 	PR target/44290
   20119 	* attribs.c (decl_attributes): Insert "noinline" and "noclone"
   20120 	if "naked".
   20121 	* tree-sra.c (ipa_sra_preliminary_function_checks): Return
   20122 	false if ! tree_versionable_function_p.
   20123 
   20124 2010-07-23  Nathan Froyd  <froydnj (a] codesourcery.com>
   20125 
   20126 	* builtins.def (BUILT_IN_ARGS_INFO): Remove.
   20127 	* ipa-pure-const.c (special_builtlin_state): Remove
   20128 	BUILT_IN_ARGS_INFO case.
   20129 	* tree-stdarg.c (execute_optimize_stdarg): Likewise.
   20130 	* builtins.c (expand_builtin): Likewise.
   20131 	(expand_builtin_args_info): Remove.
   20132 	* doc/tm.texi (__builtin_args_info): Remove.
   20133 	(__builtin_next_arg): Adjust to not refer to __builtin_args_info.
   20134 	* doc/tm.text.in: Likewise.
   20135 
   20136 2010-07-23  Richard Guenther  <rguenther (a] suse.de>
   20137 
   20138 	* lto-symtab.c (lto_symtab_merge): Use gtc_mode enum values.
   20139 	(lto_symtab_merge_decls_2): Likewise.
   20140 	* tree-ssa.c (useless_type_conversion_p): Likewise.
   20141 	* lto-streamer-in.c (input_gimple_stmt): Likewise.
   20142 	* gimple.c (gtc_visited2, gtc_ob2): Remove.
   20143 	(struct type_pair_d): Make same_p an array indexed by mode.
   20144 	Update comment.
   20145 	(lookup_type_pair): Update initialization.
   20146 	(struct sccs): Adjust same_p type.
   20147 	(gimple_types_compatible_p_1, gtc_visit, gimple_types_compatible_p):
   20148 	Adjust.
   20149 	(print_gimple_types_stats): Likewise.
   20150 	* gimple.h (enum gtc_mode): New.
   20151 	(gimple_types_compatible_p): Adjust prototype.
   20152 
   20153 2010-07-23  Daniel Jacobowitz  <dan (a] codesourcery.com>
   20154 
   20155 	* dwarf2out.c (dwarf2out_frame_debug): Check for queued saves
   20156 	again after processing insn.
   20157 
   20158 2010-07-23  Jie Zhang  <jie (a] codesourcery.com>
   20159 
   20160 	* tree-sra.c (ipa_sra_preliminary_function_checks): Dump
   20161 	proper words when !tree_versionable_function_p.
   20162 
   20163 2010-07-23  Richard Guenther  <rguenther (a] suse.de>
   20164 
   20165 	PR tree-optimization/45037
   20166 	* tree-ssa-loop-ivopts.c (copy_ref_info): Handle NULL base.
   20167 
   20168 2010-07-23  Jie Zhang  <jie (a] codesourcery.com>
   20169 
   20170 	* doc/extend.texi: Remove IP2K from the description of naked attribute.
   20171 	Add MCORE instead.
   20172 
   20173 2010-07-10  Andi Kleen  <ak (a] linux.intel.com>
   20174 
   20175 	PR lto/44992
   20176 	* lto-opts.c (lto_write_options): Add NULL file_data argument to
   20177 	lto_get_section_name.
   20178 	* lto-section-out.c (lto_destroy_simple_output_block): Likewise.
   20179 	* lto-streamer-out.c (produce_asm): Likewise.
   20180 	(copy_function): Likewise.
   20181 	(produce_symtab): Likewise.
   20182 	(produce_asm_for_decls): Likewise.
   20183 	* lto-streamer.c (lto_get_section_name): Add file_data argument.
   20184 	Rewrite to add random postfix to LTO sections.
   20185 	* lto-streamer.h (lto_file_decl_data): Add next, id, resolutions.
   20186 	(lto_get_section_name): Add file_data argument to prototype.
   20187 
   20188 2010-07-10  Andi Kleen  <ak (a] linux.intel.com>
   20189 
   20190 	* lto-section-in.c (lto_section_name): Synchronize names
   20191 	with lto_get_section_name.
   20192 
   20193 2010-07-10  Andi Kleen  <ak (a] linux.intel.com>
   20194 
   20195 	* lto-opts.c (lto_read_file_options): Check for missing section.
   20196 
   20197 2010-07-22  Bernd Schmidt  <bernds (a] codesourcery.com>
   20198 
   20199 	* ira.c (check_allocation): Correctly handle the case where an allocno
   20200 	with two objects was allocated to a single reg.
   20201 
   20202 2010-07-22  Richard Sandiford  <rdsandiford (a] googlemail.com>
   20203 
   20204 	* tree-ssa-math-opts.c (is_widening_mult_rhs_p): New function.
   20205 	(is_widening_mult_p): Likewise.
   20206 	(convert_to_widen): Use them.
   20207 	(convert_plusminus_to_widen): Likewise.  Handle fixed-point types as
   20208 	well as integer ones.
   20209 
   20210 2010-07-22  Steven Bosscher  <steven (a] gcc.gnu.org>
   20211 
   20212 	* alias.c (true_dependence_1): New function, merged version of
   20213 	true_dependence and canon_true_dependence.
   20214 	(true_dependence): Simplify.
   20215 	(canon_true_dependence): Simplify.
   20216 
   20217 2010-07-22  Richard Henderson  <rth (a] redhat.com>
   20218 
   20219 	PR target/45027
   20220 	* config/i386/i386.c (setup_incoming_varargs_64): Force the use
   20221 	of V4SFmode for the SSE saves; increase stack alignment if needed.
   20222 	(ix86_gimplify_va_arg): Don't increase stack alignment here.
   20223 
   20224 2010-07-22  Jakub Jelinek  <jakub (a] redhat.com>
   20225 
   20226 	PR bootstrap/45028
   20227 	* recgprop.c (copyprop_hardreg_forward_1): If changed is true,
   20228 	call cprop_find_used_regs again via note_uses.
   20229 
   20230 2010-07-22  Eric Botcazou  <ebotcazou (a] adacore.com>
   20231 
   20232 	* alias.c (get_alias_set): Fix formatting issues.
   20233 
   20234 2010-07-22  Steve Ellcey  <sje (a] cup.hp.com>
   20235 
   20236 	PR middle-end/44878
   20237 	* stmt.c (expand_value_return):  Call promote_function_mode with
   20238 	a for_return argument of 2 when returning by reference.
   20239 
   20240 2010-07-22  Dodji Seketeli  <dodji (a] redhat.com>
   20241 
   20242 	PR debug/45024
   20243 	* dwarf2out.c (scope_die_for): Don't fall back to the compilation
   20244 	unit DIE if we can find the scope DIE.
   20245 
   20246 2010-07-22  Bernd Schmidt  <bernds (a] codesourcery.com>
   20247 
   20248 	* ira-build.c (ira_create_object): New arg SUBWORD; all callers
   20249 	changed.  Initialize OBJECT_SUBWORD.
   20250 	(ira_create_allocno): Clear ALLOCNO_NUM_OBJECTS.
   20251 	(ira_create_allocno_objects): Renamed from ira_create_allocno_object;
   20252 	all callers changed.
   20253 	(merge_hard_reg_conflicts): Iterate over allocno subobjects.
   20254 	(finish_allocno): Likewise.
   20255 	(move_allocno_live_ranges, copy_allocno_live_ranges): Likewise.
   20256 	(remove_low_level_allocnos): Likewise.
   20257 	(update_bad_spill_attribute): Likewise.
   20258 	(setup_min_max_allocno_live_range_point): Likewise.
   20259 	(sort_conflict_id_map): Likewise.
   20260 	(ira_flattening): Likewise.  Use ior_hard_reg_conflicts.
   20261 	(ior_hard_reg_conflicts): New function.
   20262 	(ior_allocate_object_conflicts): Renamed first argument to OBJ.
   20263 	(compress_conflict_vecs): Iterate over objects, not allocnos.
   20264 	(ira_add_live_range_to_object): New function.
   20265 	(object_range_compare_func): Renamed from allocno_range_compare_func.
   20266 	All callers changed.
   20267 	(setup_min_max_conflict_allocno_ids): For allocnos with multiple
   20268 	subobjects, widen the min/max range of the lowest-order object to
   20269 	potentially include all other such low-order objects.
   20270 	* ira.c (ira_bad_reload_regno_1): Iterate over allocno subobjects.
   20271 	(check_allocation): Likewise.  Use more fine-grained tests for register
   20272 	conflicts.
   20273 	* ira-color.c (allocnos_have_intersected_live_ranges_p): Iterate over
   20274 	allocno subobjects.
   20275 	(assign_hard_reg): Keep multiple sets of conflicts.  Make finer-grained
   20276 	choices about which bits to set in each set.  Don't use
   20277 	ira_hard_reg_not_in_set_p, perform a more elaborate test for conflicts
   20278 	using the multiple sets we computed.
   20279 	(push_allocno_to_stack): Iterate over allocno subobjects.
   20280 	(all_conflicting_hard_regs_coalesced): New static function.
   20281 	(setup_allocno_available_regs_num): Use it.
   20282 	(setup_allocno_left_conflicts_size): Likewise.  Iterate over allocno
   20283 	subobjects.
   20284 	(coalesced_allocno_conflict): Test subobject 0 in each allocno.
   20285 	(setup_allocno_priorities): Divide ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
   20286 	by ALLOCNO_NUM_OBJECTS.
   20287 	(calculate_spill_cost): Likewise.
   20288 	(color_pass): Express if statement in a more normal way.
   20289 	(ira_reassign_conflict_allocnos): Iterate over allocno subobjects.
   20290 	(slot_coalesced_allocno_live_ranges_intersect_p): Likewise.
   20291 	(setup_slot_coalesced_allocno_live_ranges): Likewise.
   20292 	(allocno_reload_assign): Likewise.
   20293 	(ira_reassign_pseudos): Likewise.
   20294 	(fast_allocation): Likewise.
   20295 	* ira-conflicts.c (build_conflict_bit_table): Likewise.
   20296 	(print_allocno_conflicts): Likewise.
   20297 	(ira_build_conflicts): Likewise.
   20298 	(allocnos_conflict_for_copy_p): Renamed from allocnos_conflict_p.  All
   20299 	callers changed.  Test subword 0 of each allocno for conflicts.
   20300 	(build_object_conflicts): Renamed from build_allocno_conflicts.  All
   20301 	callers changed.  Iterate over allocno subobjects.
   20302 	* ira-emit.c (modify_move_list): Iterate over allocno subobjects.
   20303 	* ira-int.h (struct ira_allocno): New member: num_objects.
   20304 	Rename object to objects and change it into an array.
   20305 	(ALLOCNO_OBJECT): Add new argument N.
   20306 	(ALLOCNO_NUM_OBJECTS, OBJECT_SUBWORD): New macros.
   20307 	(ira_create_allocno_objects): Renamed from ira_create_allocno_object.
   20308 	(ior_hard_reg_conflicts): Declare.
   20309 	(ira_add_live_range_to_object): Declare.
   20310 	(ira_allocno_object_iterator): New.
   20311 	(ira_allocno_object_iter_init, ira_allocno_object_iter_cond): New.
   20312 	(FOR_EACH_ALLOCNO_OBJECT): New macro.
   20313 	* ira-lives.c (objects_live): Renamed from allocnos_live; all
   20314 	uses changed.
   20315 	(allocnos_processed): New sparseset.
   20316 	(make_object_born): Renamed from make_allocno_born; take an
   20317 	ira_object_t argument.  All callers changed.
   20318 	(make_object_dead): Renamed from make_allocno_dead; take an
   20319 	ira_object_t argument.  All callers changed.
   20320 	(update_allocno_pressure_excess_length): Take an ira_obejct_t argument.
   20321 	All callers changed.
   20322 	(mark_pseudo_regno_live): Iterate over allocno subobjects.
   20323 	(mark_pseudo_regno_dead): Likewise.
   20324 	(mark_pseudo_regno_subword_live, mark_pseudo_regno_subword_dead): New
   20325 	functions.
   20326 	(mark_ref_live): Detect subword accesses and call
   20327 	mark_pseudo_regno_subword_live as appropriate.
   20328 	(mark_ref_dead): Likewise for mark_pseudo_regno_subword_dead.
   20329 	(process_bb_nodes_live): Deal with object-related updates first; set
   20330 	and test bits in allocnos_processed to avoid computing allocno
   20331 	statistics more than once.
   20332 	(create_start_finish_chains): Iterate over objects, not allocnos.
   20333 	(print_object_live_ranges): New function.
   20334 	(print_allocno_live_ranges): Use it.
   20335 	(ira_create_allocno_live_ranges): Allocate and free allocnos_processed
   20336 	and objects_live.
   20337 
   20338 2010-07-22  Richard Guenther  <rguenther (a] suse.de>
   20339 
   20340 	PR lto/42451
   20341 	* gimple.c (gtc_next_dfs_num): New global.
   20342 	(struct sccs): Make value a union, add integer same_p member.
   20343 	(gtc_visit): New function.
   20344 	(gimple_types_compatible_p_1): New function, split out from ...
   20345 	(gimple_types_compatible_p): ... here.  Start a DFS walk here.
   20346 	(iterative_hash_gimple_type): Adjust for sccs change.
   20347 
   20348 2010-07-22  Martin Jambor  <mjambor (a] suse.cz>
   20349 
   20350 	PR tree-optimization/44891
   20351 	* tree-sra.c: Include gimple-pretty-print.h.
   20352 	(replace_uses_with_default_def_ssa_name): Renamed to
   20353 	get_repl_default_def_ssa_name, return the new SSA name instead of
   20354 	replacing the old one.
   20355 	(sra_modify_assign): Dump a message when removing a load, if the LHS
   20356 	is an SSA_NAME, do not do any propagation, just set the RHS to a
   20357 	default definition SSA NAME, type convert if necessary.
   20358 	* Makefile.in (tree-sra.o): Add gimple-pretty-print.h to dependencies.
   20359 
   20360 2010-07-22  Richard Guenther  <rguenther (a] suse.de>
   20361 
   20362 	PR tree-optimization/45017
   20363 	* tree-ssa-sccvn.c (vn_reference_eq): Make sure we honor
   20364 	TYPE_PRECISION of integral types in addition to size.
   20365 
   20366 2010-07-22  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   20367 
   20368 	* config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Default to GLIBC
   20369 	when no C library is specified.
   20370 
   20371 2010-07-22  Martin Jambor  <mjambor (a] suse.cz>
   20372 
   20373 	* ipa-prop.h (struct ipa_node_params): Updated comment.
   20374 	(struct ipa_edge_args): Likewise.
   20375 	* Makefile.in (ipa-prop.o): Remove bogus $(GIMPLE_FOLD_H) dependency.
   20376 
   20377 2010-07-22  Martin Jambor  <mjambor (a] suse.cz>
   20378 
   20379 	* cgraphunit.c (verify_edge_count_and_frequency): New function.
   20380 	(verify_cgraph_node): Verify frequencies of indirect edges.
   20381 	* tree-inline.c (tree_function_versioning): Update frequencies of
   20382 	indirect edges.
   20383 
   20384 2010-07-22  Ramana Radhakrishnan  <ramana.radhakrishnan (a] arm.com>
   20385 
   20386 	PR target/43698
   20387 	* config/arm/arm.md: Split arm_rev into *arm_rev and *thumb1_rev.
   20388 	Set *arm_rev to be predicable.
   20389 
   20390 2010-07-22  Iain Sandoe  <iains (a] gcc.gnu.org>
   20391 
   20392 	* config/darwin.h (LINK_COMMAND_SPEC): Split into...
   20393 	(LINK_COMMAND_SPEC_A): New.
   20394 	(DSYMUTIL): New.
   20395 	(DSYMUTIL_SPEC): New.
   20396 	* config/darwin9.h (LINK_COMMAND_SPEC): Remove.
   20397 	(DSYMUTIL_SPEC): Update for darwin >= 9 requirements.
   20398 
   20399 2010-07-22  Iain Sandoe  <iains (a] gcc.gnu.org>
   20400 
   20401 	* calls.c (load_register_parameters): Move check for zero
   20402 	sized items so that only the call to
   20403 	mem_overlaps_already_clobbered_arg_p () is protected.
   20404 
   20405 2010-07-22  Jan Hubicka  <jh (a] suse.cz>
   20406 
   20407 	* ipa-pure-const.c (varying_state): Break out from ...
   20408 	(get_function_state): ... here; always return varying_state
   20409 	when state would be NULL otherwise.
   20410 	(remove_node_data): Do not free varying state.
   20411 
   20412 2010-07-22  Bernd Schmidt  <bernds (a] codesourcery.com>
   20413 
   20414 	PR bootstrap/44970
   20415 	PR middle-end/45009
   20416 	* postreload.c: Include "target.h".
   20417 	(reload_combine_closest_single_use): Don't take DEBUG_INSNs
   20418 	into account.
   20419 	(fixup_debug_insns): Don't copy the rtx.
   20420 	(reload_combine_recognize_const_pattern): DEBUG_INSNs can't have uses.
   20421 	Don't copy when replacing.  Call fixup_debug_insns in the case where
   20422 	we merged one add with another.
   20423 	(reload_combine_recognize_pattern): Fail if there aren't any uses.
   20424 	Try harder to determine whether we're picking a valid index register.
   20425 	Don't set store_ruid for an insn we're going to scan in the
   20426 	next iteration.
   20427 	(reload_combine): Remove unused code.
   20428 	(reload_combine_note_use): When updating use information for
   20429 	an old insn, ignore a use that occurs after store_ruid.
   20430 	* Makefile.in (postreload.o): Update dependencies.
   20431 
   20432 	* function.c (record_hard_reg_sets): Restrict the previous change
   20433 	to cases where the incoming nominal mode is the same as the
   20434 	incoming promoted mode and everything happens in MODE_INT.
   20435 
   20436 2010-07-21  Jakub Jelinek  <jakub (a] redhat.com>
   20437 
   20438 	PR debug/45015
   20439 	* var-tracking.c (adjust_mems): Ignore ASM_OPERANDS with non-zero
   20440 	ASM_OPERANDS_OUTPUT_IDX.
   20441 	(adjust_insn): For inline asm with multiple sets ensure first
   20442 	ASM_OPERANDS vectors are used by all following ASM_OPERANDS in
   20443 	the insn.
   20444 
   20445 2010-07-21  Richard Henderson  <rth (a] redhat.com>
   20446 
   20447 	* config/i386/i386.c (setup_incoming_varargs_64): Emit a simple
   20448 	comparison for avoiding xmm register saves.  Emit the xmm register
   20449 	saves explicitly.
   20450 	* config/i386/i386.md (UNSPEC_SSE_PROLOGUE_SAVE): Remove.
   20451 	(UNSPEC_SSE_PROLOGUE_SAVE_LOW): Remove.
   20452 	(sse_prologue_save, sse_prologue_save_insn1, sse_prologue_save_insn):
   20453 	Remove patterns and the associated splitters.
   20454 
   20455 2010-07-21  Changpeng Fang  <changpeng.fang (a] amd.com>
   20456 
   20457 	* tree-ssa-loop-prefetch.c (analyze_ref): Strip off the real
   20458 	and imagine parts of a complex, so that they can have the same
   20459 	base and fall into the same group.
   20460 
   20461 2010-07-21  Richard Guenther  <rguenther (a] suse.de>
   20462 
   20463 	PR lto/45018
   20464 	* tree.c (find_decls_types_r): Do not follow TREE_CHAIN
   20465 	of TYPE_DECLs.  Do not follow TYPE_NEXT_VARIANT,
   20466 	TYPE_NEXT_PTR_TO, nor TYPE_NEXT_REF_TO or TYPE_CANONICAL.
   20467 
   20468 2010-07-21  Martin Jambor  <mjambor (a] suse.cz>
   20469 
   20470 	PR tree-optimization/44900
   20471 	* tree-sra.c (load_assign_lhs_subreplacements): Updated comments.
   20472 	(sra_modify_assign): Move gsi to the next statmenent unconditionally.
   20473 
   20474 2010-07-21  Bernd Schmidt  <bernds (a] codesourcery.com>
   20475 
   20476 	PR middle-end/44738
   20477 	* tree-ssa.c (warn_uninit): Avoid emitting an unnecessary message.
   20478 
   20479 2010-07-21  Richard Guenther  <rguenther (a] suse.de>
   20480 
   20481 	PR middle-end/45013
   20482 	* tree-ssa.c (useless_type_conversion_p): Dispatch to
   20483 	gimple_types_compatible_p only when in lto.
   20484 	* gimple.c (gimple_types_compatible_p): Use canonical types
   20485 	to speed up comparison.
   20486 
   20487 2010-07-21  Richard Guenther  <rguenther (a] suse.de>
   20488 
   20489 	* tree-flow.h (referenced_var): Move define ...
   20490 	* tree-flow-inline.h (referenced_var): ... here as an inline
   20491 	function.  Assert here ...
   20492 	* tree-dfa.c (referenced_var_lookup): ... instead of here.
   20493 	* tree-ssa.c (maybe_optimize_var): Check if the variable
   20494 	is in referenced vars.
   20495 	(execute_update_addresses_taken): Remove old broken check.
   20496 	* gimple-pretty-print.c (pp_points_to_solution): Use
   20497 	referenced_var_lookup.
   20498 	* tree-into-ssa.c (dump_decl_set): Likewise.
   20499 
   20500 2010-07-21  Jakub Jelinek  <jakub (a] redhat.com>
   20501 
   20502 	PR debug/45003
   20503 	* var-tracking.c (reverse_op): Also handle {SIGN,ZERO}_EXTEND of a MEM.
   20504 	* dwarf2out.c (loc_descriptor): Don't handle SIGN_EXTEND nor
   20505 	ZERO_EXTEND here.
   20506 
   20507 2010-07-20  Richard Henderson  <rth (a] redhat.com>
   20508 
   20509 	* vxworks.c (vxworks_emutls_var_fields): Pass locus to build_decls.
   20510 
   20511 2010-07-20  Bernd Schmidt  <bernds (a] codesourcery.com>
   20512 
   20513 	* config/arm/arm.md (thumb1_addsi3): Add alternative and split for
   20514 	computing the sum of the stack pointer and a large constant.
   20515 	* config/arm/constraints.md (M): Remove superfluous parentheses.
   20516 	(Pc): New constraint.
   20517 
   20518 2010-07-20  Jakub Jelinek  <jakub (a] redhat.com>
   20519 
   20520 	PR debug/45006
   20521 	* cfgexpand.c (expand_debug_expr): Only look at TYPE_UNSIGNED of
   20522 	operand's type if exp is tcc_unary class tree.
   20523 
   20524 2010-07-20  Nathan Froyd  <froydnj (a] codesourcery.com>
   20525 
   20526 	* config/rs6000/rs6000.md (abs<mode>2_isel, nabs<mode>2_isel):
   20527 	Reverse sense of if_then_else condition.
   20528 
   20529 2010-07-20  Nathan Froyd  <froydnj (a] codesourcery.com>
   20530 
   20531 	* config/rs6000/rs6000.opt (mblock-move-inline-limit): New option.
   20532 	* config/rs6000/rs6000.c (rs6000_override_options): Set
   20533 	rs6000_block_move_inline_limit appropriately.
   20534 	(expand_block_move): Use rs6000_block_move_inline_limit.
   20535 	* doc/invoke.texi (mblock-move-inline-limit): Document.
   20536 
   20537 2010-07-20  Bernd Schmidt  <bernds (a] codesourcery.com>
   20538 
   20539 	* postreload.c (fixup_debug_insns): Remove arg REGNO.  New args
   20540 	FROM and TO.  All callers changed.  Don't look for tracked uses,
   20541 	just scan the RTL for DEBUG_INSNs and substitute.
   20542 	(reload_combine_recognize_pattern): Call fixup_debug_insns.
   20543 	(reload_combine): Ignore DEBUG_INSNs.
   20544 
   20545 2010-07-20  Jakub Jelinek  <jakub (a] redhat.com>
   20546 
   20547 	* var-tracking.c (vt_expand_loc, vt_expand_loc_dummy): Bump maximum
   20548 	depth to 8 from 5.
   20549 
   20550 	PR debug/45003
   20551 	* cfgexpand.c (expand_debug_expr) <case NOP_EXPR>: Use ZERO_EXTEND
   20552 	or SIGN_EXTEND depending on TYPE_UNSIGNED of the operand's type
   20553 	instead of the result's type.
   20554 
   20555 2010-07-20  Richard Guenther  <rguenther (a] suse.de>
   20556 
   20557 	PR tree-optimization/44977
   20558 	* tree-ssa-dom.c (propagate_rhs_into_lhs): Do not create invalid
   20559 	SSA form.
   20560 
   20561 2010-07-20  Richard Guenther  <rguenther (a] suse.de>
   20562 
   20563 	* lto-symtab.c (lto_symtab_merge): Use gimple_types_compatible_p.
   20564 	(lto_symtab_merge_decls_2): Likewise.
   20565 	* gimple.h (gimple_types_compatible_p): Declare.
   20566 	* gimple.c (gimple_queue_type_fixup): Remove.
   20567 	(gimple_fixup_complete_and_incomplete_subtype_p): Likewise.
   20568 	(gimple_compatible_complete_and_incomplete_type_p): New function.
   20569 	(gimple_types_compatible_p): Adjust.
   20570 	(gimple_register_type): Remove type fixup code.
   20571 	(print_gimple_types_stats): Adjust.
   20572 	(free_gimple_type_tables): Likewise.
   20573 	* lto-streamer-in.c (input_gimple_stmt): Use gimple_types_compatible_p.
   20574 	* tree-ssa.c (useless_type_conversion_p): Likewise.
   20575 
   20576 2010-07-20  Richard Guenther  <rguenther (a] suse.de>
   20577 
   20578 	PR middle-end/44971
   20579 	PR middle-end/44988
   20580 	* tree-ssa.c (maybe_optimize_var): New function split out from ...
   20581 	(execute_update_addresses_taken): ... here.
   20582 	(non_rewritable_mem_ref_base): Likewise.
   20583 	(execute_update_addresses_taken): Do not iterate over all referenced
   20584 	vars but just all local decls and parms.
   20585 	Properly check call and asm arguments and rewrite call arguments.
   20586 
   20587 2010-07-20  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   20588 
   20589 	* config.gcc (LIBC_GLIBC, LIBC_UCLIBC, LIBC_BIONIC): Move constants
   20590 	to top level.
   20591 	* config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Move Android-specific
   20592 	definitions ...
   20593 	* config/linux-android.h (ANDROID_TARGET_OS_CPP_BUILTINS): ... here.
   20594 	New macro.
   20595 	* config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Use it.
   20596 
   20597 2010-07-19  Richard Sandiford  <rdsandiford (a] googlemail.com>
   20598 
   20599 	* gengtype.c (start_root_entry): New function, split out from
   20600 	write_root.  Check whether V is null and raise an error if so.
   20601 	(write_field_root): Check for V being null.  Don't raise an error here;
   20602 	set V to null instead.
   20603 	(write_root): Update comment above function.  Use start_root_entry.
   20604 
   20605 2010-07-19  Xinliang David Li  <davidxl (a] google.com>
   20606 
   20607 	PR testsuite/44932
   20608 	* tree-ssa-uninit.c (collect_phi_def_edges): Fix bug collecting
   20609 	def edges.
   20610 	(find_uninit_use): Add dump.
   20611 	(is_use_properly_guarded): Ditto.
   20612 	(warn_uninitialized_phi): Ditto.
   20613 	(execute_late_warn_uninitialized): Ditto.
   20614 
   20615 2010-07-19  Richard Guenther  <rguenther (a] suse.de>
   20616 
   20617 	PR middle-end/44941
   20618 	* expr.c (emit_block_move_hints): Move zero size check first.
   20619 	Move asserts to more useful places.
   20620 	* calls.c (load_register_parameters): Check for zero size.
   20621 
   20622 2010-07-19  Richard Henderson  <rth (a] redhat.com>
   20623 
   20624 	* tree-optimize.c (execute_all_early_local_passes): New.  Change
   20625 	cgraph_state here ...
   20626 	(execute_early_local_optimizations): ... not here.  Remove.
   20627 	(pass_early_local_passes, pass_all_early_optimizations): Update.
   20628 
   20629 2010-07-19  Bernd Schmidt  <bernds (a] codesourcery.com>
   20630 
   20631 	* postreload.c (reload_combine_closest_single_use): Ignore the
   20632 	number of uses for DEBUG_INSNs.
   20633 	(fixup_debug_insns): New static function.
   20634 	(reload_combine_recognize_const_pattern): Use it.  Don't let the
   20635 	main loop be affected by DEBUG_INSNs.
   20636 	Really disallow moving adds past a jump insn.
   20637 	(reload_combine_recognize_pattern): Don't update use_ruid here.
   20638 	(reload_combine_note_use): Do it here.
   20639 	(reload_combine): Use control_flow_insn_p rather than JUMP_P.
   20640 
   20641 2010-07-19  Bingfeng Mei  <bmei (a] broadcom.com>
   20642 
   20643 	* ddg.c (create_ddg): Exclude nodes of debug_insn in counting nodes
   20644 	of a loop.
   20645 	* loop-doloop.c (doloop_condition_get): Skip possible debug_insn.
   20646 
   20647 2010-07-19  Iain Sandoe  <iains (a] gcc.gnu.org>
   20648 
   20649 	* config/i386/darwin.h: Define darwin_emit_branch_islands.
   20650 	(TARGET_MACHO_BRANCH_ISLANDS): New.
   20651 	(FUNCTION_PROFILER): Use TARGET_MACHO_BRANCH_ISLANDS.
   20652 	* config/i386/i386.h (TARGET_MACHO_BRANCH_ISLANDS): Define a
   20653 	default value.
   20654 	* config/i386/i386.c (output_pic_addr_const): Do not emit
   20655 	branch islands unless TARGET_MACHO_BRANCH_ISLANDS is set.
   20656 	(x86_output_mi_thunk): Adjust symbol creation.
   20657 	* config/rs6000/darwin.h: Define darwin_emit_branch_islands.
   20658 	Remove out of date comment.
   20659 	* config/rs6000/rs6000.c (print_operand): Adjust symbol.
   20660 	(DARWIN_LINKER_GENERATES_ISLANDS): Remove.
   20661 	(DARWIN_GENERATE_ISLANDS): Ditto.
   20662 	(output_call):  Do not emit branch islands unless
   20663 	darwin_emit_branch_islands is set.
   20664 	* config/darwin.c: Declare darwin_emit_branch_islands.
   20665 	(machopic_indirect_data_reference): Do not emit unless
   20666 	darwin_emit_branch_islands is set.
   20667 	(darwin_override_options): Set darwin_emit_branch_islands
   20668 	where it is needed.
   20669 	* config/darwin9.h (DARWIN_LINKER_GENERATES_ISLANDS): Remove.
   20670 
   20671 2010-07-19  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   20672 
   20673 	* doc/sourcebuild.texi (Effective-Target Keywords): Document
   20674 	sse_runtime, sse2_runtime.
   20675 
   20676 2010-07-18  Richard Sandiford  <rdsandiford (a] googlemail.com>
   20677 
   20678 	* config/mips/mips.c (mips16_build_call_stub): Zero-extend the
   20679 	low half of a single-register SCmode return value before ORing
   20680 	it with the high half.
   20681 	* config/mips/mips16.S (MERGE_GPRf): Likewise.
   20682 
   20683 2010-07-17  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   20684 
   20685 	PR target/44805
   20686 	* config/pa/pa.h (CONSTANT_ALIGNMENT): Align strings to BITS_PER_WORD
   20687 	on all targets.
   20688 
   20689 2010-07-17  Bernd Schmidt  <bernds (a] codesourcery.com>
   20690 
   20691 	PR target/42235
   20692 	* postreload.c (reload_cse_move2add): Return bool, true if anything.
   20693 	changed.  All callers changed.
   20694 	(move2add_use_add2_insn): Likewise.
   20695 	(move2add_use_add3_insn): Likewise.
   20696 	(reload_cse_regs): If reload_cse_move2add changed anything, rerun
   20697 	reload_combine.
   20698 	(RELOAD_COMBINE_MAX_USES): Bump to 16.
   20699 	(last_jump_ruid): New static variable.
   20700 	(struct reg_use): New members CONTAINING_MEM and RUID.
   20701 	(reg_state): New members ALL_OFFSETS_MATCH and REAL_STORE_RUID.
   20702 	(reload_combine_split_one_ruid, reload_combine_split_ruids,
   20703 	reload_combine_purge_insn_uses, reload_combine_closest_single_use
   20704 	reload_combine_purge_reg_uses_after_ruid,
   20705 	reload_combine_recognize_const_pattern): New static functions.
   20706 	(reload_combine_recognize_pattern): Verify that ALL_OFFSETS_MATCH
   20707 	is true for our reg and that we have available index regs.
   20708 	(reload_combine_note_use): New args RUID and CONTAINING_MEM.  All
   20709 	callers changed.  Use them to initialize fields in struct reg_use.
   20710 	(reload_combine): Initialize last_jump_ruid.  Be careful when to
   20711 	take PREV_INSN of the scanned insn.  Update REAL_STORE_RUID fields.
   20712 	Call reload_combine_recognize_const_pattern.
   20713 	(reload_combine_note_store): Update REAL_STORE_RUID field.
   20714 
   20715 2010-07-16  Jason Merrill  <jason (a] redhat.com>
   20716 
   20717 	* Makefile.in (opts-common.o): Depend on options.h.
   20718 
   20719 2010-07-16  Nathan Froyd  <froydnj (a] codesourcery.com>
   20720 
   20721 	* tree.c (build_common_builtin_nodes): Use build_function_type_list
   20722 	instead of build_function_type.
   20723 	* tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
   20724 	* cgraphunit.c (cgraph_build_static_cdtor): Likewise.
   20725 
   20726 2010-07-16  Nathan Froyd  <froydnj (a] codesourcery.com>
   20727 
   20728 	* config/rs6000/rs6000.c (rs6000_emit_sISEL): Let rs6000_emit_int_cmove
   20729 	do all the work.
   20730 	(rs6000_emit_int_cmove): Use function pointers for insn generation.
   20731 	Don't force values into registers unnecessarily.
   20732 	(output_isel): Assert that we're not given conditions we can't handle.
   20733 	Delete corresponding code.
   20734 	* config/rs6000/rs6000.md (isel_signed_<mode>): Use
   20735 	scc_comparison_operator constraint.  Permit 0 for the consequent
   20736 	operand.  Permit any GPR for the alternative operand.
   20737 	(isel_unsigned_<mode>): Likewise.
   20738 
   20739 2010-07-16  Jakub Jelinek  <jakub (a] redhat.com>
   20740 
   20741 	PR target/44942
   20742 	* config/i386/i386-protos.h (ix86_function_arg_boundary): Change second
   20743 	argument to const_tree.
   20744 	* config/i386/i386.c (function_arg_advance): If padding needs to be
   20745 	inserted before argument, increment cum->words by number of padding
   20746 	words as well.
   20747 	(contains_aligned_value_p): Change argument to const_tree.
   20748 	(ix86_function_arg_boundary): Change second argument to const_tree.
   20749 
   20750 2010-07-16  Bernd Schmidt  <bernds (a] codesourcery.com>
   20751 
   20752 	PR target/42235
   20753 	* function.c (record_hard_reg_sets): New static function.
   20754 	(assign_parm_setup_reg): If an optab for extending exists and the
   20755 	generated code clobbbers no hard regs, emit the insn directly and
   20756 	create a REG_EQUIV note.
   20757 
   20758 2010-07-15  Nathan Froyd  <froydnj (a] codesourcery.com>
   20759 
   20760 	* c-decl.c (detect_field_duplicates): Use DECL_CHAIN insted of
   20761 	TREE_CHAIN.
   20762 	* c-typeck.c (push_init_level): Likewise.
   20763 	(process_init_element): Likewise.
   20764 
   20765 2010-07-15  Anatoly Sokolov  <aesok (a] post.ru>
   20766 
   20767 	* tree.h (enum tree_index): Add TI_INTEGER_THREE.
   20768 	(integer_three_node): Add.
   20769 	* tree.c (build_common_tree_nodes_2): Use integer_type_node insead of
   20770 	NULL_TREE in build_int_cst calls. Initialize the integer_three_node.
   20771 	* builtins.c (expand_builtin_prefetch): Use common tree nodes instead
   20772 	of call build_int_cst.
   20773 	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Ditto.
   20774 	* tree-ssa-loop-ivopts.c (idx_find_step): Ditto.
   20775 	(find_interesting_uses_address): Ditto.
   20776 	* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Ditto.
   20777 	* tree-eh.c (lower_eh_constructs_2): Ditto.
   20778 	* tree-vect-loop.c (get_initial_def_for_induction): Ditto.
   20779 	* c-typeck.c (really_start_incremental_init, push_init_level): Ditto.
   20780 	* expmed.c (expand_divmod): Ditto.
   20781 	* tree-mudflap.c (mx_register_decls): Ditto.
   20782 	* varasm.c (array_size_for_constructor): Ditto.
   20783 	* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Ditto.
   20784 	* c-parser.c (c_parser_postfix_expression): Ditto.
   20785 
   20786 2010-07-15  Bernd Schmidt  <bernds (a] codesourcery.com>
   20787 
   20788 	* postreload.c (last_label_ruid, first_index_reg, last_index_reg):
   20789 	New static variables.
   20790 	(reload_combine_recognize_pattern): New static function, broken out
   20791 	of reload_combine.
   20792 	(reload_combine): Use it.  Only initialize first_index_reg and
   20793 	last_index_reg once.
   20794 
   20795 2010-07-15  Richard Henderson  <rth (a] redhat.com>
   20796 
   20797 	* cgraphunit.c (cgraph_build_static_cdtor): Clear current_function_decl
   20798 	when done.
   20799 
   20800 2010-07-15  Jan Hubicka  <jh (a] suse.cz>
   20801 
   20802 	* lto-symtab.c (lto_symtab_resolve_symbols): Remove hack handling
   20803 	comdats for broken gold.
   20804 	(lto_sy	mtab_merge_decls_1): Set used_from_object_file correctly.
   20805 
   20806 2010-07-15  Nathan Froyd  <froydnj (a] codesourcery.com>
   20807 
   20808 	* tree.h (TREE_RTL_OPERAND_CHECK): Delete.
   20809 
   20810 2010-07-15  Nathan Froyd  <froydnj (a] codesourcery.com>
   20811 
   20812 	* tree.h (DECL_CHAIN): Define.
   20813 	* alias.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
   20814 	* c-decl.c: Likewise.
   20815 	* c-parser.c: Likewise.
   20816 	* c-typeck.c: Likewise.
   20817 	* cfgexpand.c: Likewise.
   20818 	* cgraph.c: Likewise.
   20819 	* cgraphunit.c: Likewise.
   20820 	* combine.c: Likewise.
   20821 	* config/alpha/alpha.c: Likewise.
   20822 	* config/arm/arm.c: Likewise.
   20823 	* config/frv/frv.c: Likewise.
   20824 	* config/i386/i386.c: Likewise.
   20825 	* config/i386/winnt-cxx.c: Likewise.
   20826 	* config/ia64/ia64.c: Likewise.
   20827 	* config/iq2000/iq2000.c: Likewise.
   20828 	* config/mep/mep.c: Likewise.
   20829 	* config/mips/mips.c: Likewise.
   20830 	* config/pa/som.h: Likewise.
   20831 	* config/rs6000/rs6000.c: Likewise.
   20832 	* config/s390/s390.c: Likewise.
   20833 	* config/sh/sh.c: Likewise.
   20834 	* config/sh/symbian-cxx.c: Likewise.
   20835 	* config/sparc/sparc.c: Likewise.
   20836 	* config/spu/spu.c: Likewise.
   20837 	* config/stormy16/stormy16.c: Likewise.
   20838 	* config/vxworks.c: Likewise.
   20839 	* config/xtensa/xtensa.c: Likewise.
   20840 	* coverage.c: Likewise.
   20841 	* dbxout.c: Likewise.
   20842 	* dwarf2out.c: Likewise.
   20843 	* emit-rtl.c: Likewise.
   20844 	* expr.c: Likewise.
   20845 	* function.c: Likewise.
   20846 	* gimple-low.c: Likewise.
   20847 	* gimple-pretty-print.c: Likewise.
   20848 	* gimplify.c: Likewise.
   20849 	* integrate.c: Likewise.
   20850 	* ipa-inline.c: Likewise.
   20851 	* ipa-prop.c: Likewise.
   20852 	* ipa-split.c: Likewise.
   20853 	* ipa-struct-reorg.c: Likewise.
   20854 	* ipa-type-escape.c: Likewise.
   20855 	* langhooks.c: Likewise.
   20856 	* lto-cgraph.c: Likewise.
   20857 	* omp-low.c: Likewise.
   20858 	* stor-layout.c: Likewise.
   20859 	* tree-cfg.c: Likewise.
   20860 	* tree-complex.c: Likewise.
   20861 	* tree-dfa.c: Likewise.
   20862 	* tree-dump.c: Likewise.
   20863 	* tree-inline.c: Likewise.
   20864 	* tree-mudflap.c: Likewise.
   20865 	* tree-nested.c: Likewise.
   20866 	* tree-object-size.c: Likewise.
   20867 	* tree-pretty-print.c: Likewise.
   20868 	* tree-sra.c: Likewise.
   20869 	* tree-ssa-live.c: Likewise.
   20870 	* tree-ssa-loop-niter.c: Likewise.
   20871 	* tree-ssa-math-opts.c: Likewise.
   20872 	* tree-ssa-reassoc.c: Likewise.
   20873 	* tree-ssa-sccvn.c: Likewise.
   20874 	* tree-ssa-structalias.c: Likewise.
   20875 	* tree-tailcall.c: Likewise.
   20876 	* tree-vrp.c: Likewise.
   20877 	* tree.c: Likewise.
   20878 	* var-tracking.c: Likewise.
   20879 	* varasm.c: Likewise.
   20880 
   20881 2010-07-15  Ulrich Weigand  <Ulrich.Weigand (a] de.ibm.com>
   20882 
   20883 	PR target/44877
   20884 	* config/spu/spu.c (spu_expand_builtin_1): Allow references
   20885 	(as well as pointers) as argument to mask_for_load builtins.
   20886 
   20887 2010-07-15  Richard Guenther  <rguenther (a] suse.de>
   20888 
   20889 	PR tree-optimization/44946
   20890 	* tree-ssa-structalias.c (get_constraint_for_component_ref): Deal
   20891 	with accessing only padding properly.
   20892 
   20893 2010-07-15  Jan Hubicka  <jh (a] suse.cz>
   20894 
   20895 	* ipa.c (function_and_variable_visibility): Variables marked as used
   20896 	should not be localized.
   20897 
   20898 2010-07-15  Jan Hubicka  <jh (a] suse.cz>
   20899 
   20900 	* cgraph.c: Include lto-streamer.h
   20901 	(change_decl_assembler_name): Work when assembler name hash is at place.
   20902 	(cgraph_make_decl_local): When localizing COMDAT symbol at WPA stage,
   20903 	be sure to rename it to avoid name clash.
   20904 	* ipa.c (cgraph_externally_visible_p, function_and_variable_visibility):
   20905 	Localize hidden symbols only when locally defined.
   20906 
   20907 2010-07-15  Uros Bizjak  <ubizjak (a] gmail.com>
   20908 
   20909 	* config/i386/i386.h (SHIFT_COUNT_TRUNCATED): Expand comment.
   20910 
   20911 2010-07-15  Magnus Granberg  <zorry (a] gentoo.org>
   20912 	    Kevin F. Quinn  <kevquinn (a] gentoo.org>
   20913 
   20914 	* builtins.c (expand_builtin_init_trampoline): Warn for -Wtrampolines.
   20915 	* common.opt: Add -Wtrampolines.
   20916 	* doc/invoke.texi: Add -Wtrampolines.
   20917 
   20918 2010-07-15  Jie Zhang  <jie (a] codesourcery.com>
   20919 
   20920 	* config/arm/cortex-a8.md (cortex_a8_load_store_2): Reserve
   20921 	cortex_a8_issue_ls.
   20922 
   20923 2010-07-15  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   20924 
   20925 	* config/i386/cygwin.h (LIBGCJ_SONAME): Update.
   20926 	* config/i386/mingw32.h (LIBGCJ_SONAME): Likewise.
   20927 
   20928 2010-07-14  Ulrich Weigand  <Ulrich.Weigand (a] de.ibm.com>
   20929 
   20930 	* config/spu/spu.c (reg_names): Remove prototype.
   20931 	(call_used_regs): Likewise.
   20932 
   20933 2010-07-14  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   20934 
   20935 	* config/i386/cygming-crtend.c (__FRAME_END__): Replace attribute
   20936 	"unused" with attribute "used".
   20937 	(__JCR_END__): Likewise.
   20938 	* config/i386/cygming-crtbegin.c (__EH_FRAME_BEGIN__): Add missing
   20939 	"used" attribute.
   20940 	(__JCR_LIST__): Replace attribute "unused" with attribute "used".
   20941 
   20942 2010-07-14  Richard Guenther  <rguenther (a] suse.de>
   20943 
   20944 	* lto-streamer-in.c (maybe_fixup_handled_component): Remove.
   20945 	(maybe_fixup_decls): Likewise.
   20946 	(input_gimple_stmt): Do not fixup anything.
   20947 	* lto-streamer-out.c (output_gimple_stmt): Make sure all
   20948 	non-automatic variable uses are wrapped inside a MEM_REF.
   20949 
   20950 2010-07-14  Richard Henderson  <rth (a] redhat.com>
   20951 
   20952 	* passes.c (rest_of_decl_compilation): Do not call assemble_variable
   20953 	for functions.
   20954 	* varasm.c (assemble_variable): Remove early exit for functions;
   20955 	assert that we're given a variable.
   20956 
   20957 2010-07-14  Jie Zhang  <jie (a] codesourcery.com>
   20958 
   20959 	* config/arm/cortex-a8.md (cortex_a8_alu): Don't use
   20960 	cortex_a8_default when neon_type is not none.
   20961 
   20962 2010-07-14  Bernd Schmidt  <bernds (a] codesourcery.com>
   20963 
   20964 	* lower-subreg.c (subreg_context): New static bitmap.
   20965 	(decompose_multiword_subregs): Allocate and free it.
   20966 	(find_decomposable_subregs): Set a bit in it for a register that
   20967 	occurs in a subreg that changes mode but not size.
   20968 	(can_decompose_p): Test it instead of non_decomposable_context.
   20969 
   20970 2010-07-14  Richard Guenther  <rguenther (a] suse.de>
   20971 
   20972 	PR tree-optimization/44824
   20973 	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Use
   20974 	is_gimple_mem_ref_addr.
   20975 	(tree_ssa_forward_propagate_single_use_vars): Do not propagate
   20976 	non-decl_address_invariant_p addresses.
   20977 
   20978 2010-07-14  Bernd Schmidt  <bernds (a] codesourcery.com>
   20979 
   20980 	* reload.c (find_reloads): Revert code to penalize small register
   20981 	classes that was brought in with the IRA merge.
   20982 
   20983 2010-07-14  Richard Guenther  <rguenther (a] suse.de>
   20984 
   20985 	* tree-ssa-ccp.c (fold_const_aggregate_ref): Handle MEM_REF
   20986 	as base of ARRAY_REFs.
   20987 
   20988 2010-07-14  Richard Guenther  <rguenther (a] suse.de>
   20989 
   20990 	PR middle-end/44930
   20991 	* tree-pretty-print.c (do_niy): Do not print a newline.
   20992 
   20993 2010-07-14  Bernd Schmidt  <bernds (a] codesourcery.com>
   20994 
   20995 	* ira-int.h (struct ira_object): New.
   20996 	(ira_object_t): New typedef.  Add DEF_VEC_P and DEF_VEC_ALLOC_P for it.
   20997 	(struct ira_allocno): Remove members min, max,
   20998 	conflict_allocno_array, conflict_id, conflict_allocno_array_size,
   20999 	conflict_allocnos_num and conflict_vec_p.  Add new member object.
   21000 	(OBJECT_CONFLICT_ARRAY, OBJECT_CONFLICT_VEC_P,
   21001 	OBJECT_NUM_CONFLICTS, OBJECT_CONFLICT_ARRAY_SIZE,
   21002 	OBJECT_CONFLICT_HARD_REGS, OBJECT_TOTAL_CONFLICT_HARD_REGS,
   21003 	OBJECT_MIN, OBJECT_MAX, OBJECT_CONFLICT_ID): Renamed from
   21004 	ALLOCNO_CONFLICT_ALLOCNO_ARRAY, ALLOCNO_CONFLICT_VEC_P,
   21005 	ALLOCNO_CONFLICT_ALLOCNOS_NUM, ALLOCNO_CONFLICT_ALLOCNO_ARRAY_SIZE,
   21006 	ALLOCNO_CONFLICT_HARD_REGS, ALLOCNO_TOTAL_CONFLICT_HARD_REGS)
   21007 	ALLOCNO_MIN, ALLOCNO_MAX, and ALLOCNO_CONFLICT_ID; now operate on
   21008 	an ira_object_t rather than ira_allocno_t.  All uses changed.
   21009 	(ira_object_id_map): Renamed from ira_conflict_id_allocno_map; now
   21010 	contains a vector of ira_object_t; all uses changed.
   21011 	(ira_objects_num): Declare variable.
   21012 	(ira_create_allocno_object): Declare function.
   21013 	(ira_conflict_vector_profitable_p): Adjust prototype.
   21014 	(ira_allocate_conflict_vec): Renamed from
   21015 	ira_allocate_allocno_conflict_vec; first arg now ira_object_t.
   21016 	(ira_allocate_object_conflicts): Renamed from
   21017 	ira_allocate_allocno_conflicts; first arg now ira_object_t.
   21018 	(struct ira_object_iterator): New.
   21019 	(ira_object_iter_init, ira_object_iter_cond, FOR_EACH_OBJECT): New.
   21020 	(ira_allocno_conflict_iterator): Renamed member allocno_conflict_vec_p
   21021 	to conflict_vec_p.  All uses changed.
   21022 	(ira_allocno_conflict_iter_init, ira_allocno_conflict_iter_cond):
   21023 	Changed to take into account that conflicts are now tracked for
   21024 	objects.
   21025 	* ira-conflicts.c (OBJECTS_CONFLICT_P): Renamed from CONFLICT_ALLOCNO_P.
   21026 	Args changed to accept ira_object_t.  All uses changed.
   21027 	(allocnos_conflict_p): New static function.
   21028 	(collected_conflict_objects): Renamed from collected_allocno_objects;
   21029 	now a vector of ira_object_t.  All uses changed.
   21030 	(build_conflict_bit_table): Changed to take into account that
   21031 	conflicts are now tracked for objects.
   21032 	(process_regs_for_copy, propagate_copies, build_allocno_conflicts)
   21033 	(print_allocno_conflicts, ira_build_conflicts): Likewise.
   21034 	* ira-color.c (assign_hard_reg, setup_allocno_available_regs_num)
   21035 	setup_allocno_left_conflicts_size, allocno_reload_assign,
   21036 	fast_allocation): Likewise.
   21037 	* ira-lives.c (make_hard_regno_born, make_allocno_born)
   21038 	process_single_reg_class_operands, process_bb_node_lives): Likewise.
   21039 	* ira-emit.c (modify_move_list, add_range_and_copies_from_move_list):
   21040 	Likewise.
   21041 	* ira-build.c (ira_objects_num): New variable.
   21042 	(ira_object_id_map): Renamed from ira_conflict_id_allocno_map; now
   21043 	contains a vector of ira_object_t; all uses changed.
   21044 	(ira_object_id_map_vec): Corresponding change.
   21045 	(object_pool): New static variable.
   21046 	(initiate_allocnos): Initialize it.
   21047 	(finish_allocnos): Free it.
   21048 	(ira_create_object, ira_create_allocno_object, create_allocno_objects):
   21049 	New functions.
   21050 	(ira_create_allocno): Don't set members that were removed.
   21051 	(ira_set_allocno_cover_class): Don't change conflict hard regs.
   21052 	(merge_hard_reg_conflicts): Changed to take into account that
   21053 	conflicts are now tracked for objects.
   21054 	(ira_conflict_vector_profitable_p, ira_allocate_conflict_vec,
   21055 	allocate_conflict_bit_vec, ira_allocate_object_conflicts,
   21056 	compress_conflict_vecs, remove_low_level_allocnos, ira_flattening,
   21057 	setup_min_max_allocno_live_range_point, allocno_range_compare_func,
   21058 	setup_min_max_conflict_allocno_ids, ):  Likewise.
   21059 	(add_to_conflicts): Renamed from add_to_allocno_conflicts, args changed
   21060 	to ira_object_t; all callers changed.
   21061 	(ira_add_conflict): Renamed from ira_add_allocno_conflict, args changed
   21062 	to ira_object_t, all callers changed.
   21063 	(clear_conflicts): Renamed from clear_allocno_conflicts, arg changed
   21064 	to ira_object_t, all callers changed.
   21065 	(conflict_check, curr_conflict_check_tick): Renamed from
   21066 	allocno_conflict_check and curr_allocno_conflict_check_tick; all uses
   21067 	changed.
   21068 	(compress_conflict_vec): Renamed from compress_allocno_conflict_vec,
   21069 	arg changed to ira_object_t, all callers changed.
   21070 	(create_cap_allocno): Call ira_create_allocno_object.
   21071 	(finish_allocno): Free the corresponding object.
   21072 	(sort_conflict_id_map): Renamed from sort_conflict_id_allocno_map; all
   21073 	callers changed.  Adjusted for dealing with objects.
   21074 	(ira_build): Call create_allocno_objects after ira_costs.  Adjusted for
   21075 	dealing with objects.
   21076 	* ira.c (ira_bad_reload_regno_1): Adjusted for dealing with objects.
   21077 
   21078 	* ira-int.h (struct live_range): Rename allocno member to object
   21079 	and change type to ira_object_t.
   21080 	(struct ira_object): New member live_ranges.
   21081 	(struct ira_allocno): Remove member live_ranges.
   21082 	(ALLOCNO_LIVE_RANGES): Remove.
   21083 	(OBJECT_LIVE_RANGES): New macro.
   21084 	(ira_create_live_range, ira_copy_live_range_list,
   21085 	ira_merge_live_range_list, ira_live_ranges_intersect_p,
   21086 	ira_finish_live_range, ira_finish_live_range_list): Adjust declarations.
   21087 	* ira-build.c (ira_create_object): Initialize live ranges here.
   21088 	(ira_create_allocno): Not here.
   21089 	(ira_create_live_range): Rename from ira_create_allocno_live_range, arg
   21090 	changed to ira_object_t, all callers changed.
   21091 	(copy_live_range): Rename from copy_allocno_live_range, all callers
   21092 	changed.
   21093 	(ira_copy_live_range_list): Rename from
   21094 	ira_copy_allocno_live_range_list, all callers changed.
   21095 	(ira_merge_live_ranges): Rename from ira_merge_allocno_live_range_list,
   21096 	all callers changed.
   21097 	(ira_live_ranges_intersect_p): Rename from
   21098 	ira_allocno_live_ranges_intersect_p, all callers changed.
   21099 	(ira_finish_live_range): Rename from ira_finish_allocno_live_range, all
   21100 	callers changed.
   21101 	(ira_finish_live_range_list): Rename from
   21102 	ira_finish_allocno_live_range_list, all callers changed.
   21103 	(change_object_in_range_list): Rename from change_allocno_in_range_list,
   21104 	last arg changed to ira_object_t, all callers changed.
   21105 	(finish_allocno): Changed to expect live ranges in the allocno's object.
   21106 	(move_allocno_live_ranges, copy_allocno_live_ranges,
   21107 	update_bad_spill_attribute, setup_min_max_allocno_live_range_point,
   21108 	ira_flattening, ira_build): Likewise.
   21109 	* ira-color.c (allocnos_have_intersected_live_ranges_p,
   21110 	slot_coalesced_allocno_live_ranges_intersect,
   21111 	setup_slot_coalesced_allocno_live_ranges, fast_allocation): Likewise.
   21112 	* ira-conflicts.c (build_conflict_bit_table): Likewise.
   21113 	* ira-emit.c (add_range_and_copies_from_move_list): Likewise.
   21114 	* ira-lives.c (make_allocno_born, update_allocno_pressure_excess_length,
   21115 	make_allocno_dead, create_start_finish_chains,
   21116 	remove_some_program_points_and_update_live_ranges,
   21117 	ira_debug_live_range_list): Likewise.
   21118 
   21119 	* ira-int.h (ira_object_conflict_iterator): Rename from
   21120 	ira_allocno_conflict_iterator.
   21121 	(ira_object_conflict_iter_init): Rename from
   21122 	ira_allocno_conflict_iter_init, second arg changed to
   21123 	* ira.c (check_allocation): Use FOR_EACH_OBJECT_CONFLICT rather than
   21124 	FOR_EACH_ALLOCNO_CONFLICT.
   21125 	* ira-color.c (assign_hard_reg, push_allocno_to_stack)
   21126 	setup_allocno_left_conflicts_size, coalesced_allocno_conflict_p,
   21127 	ira_reassign_conflict_allocnos, ira_reassign_pseudos): Likewise.
   21128 	* ira-conflicts.c (print_allocno_conflicts): Likewise.
   21129 
   21130 2010-07-13  Joern Rennecke  <joern.rennecke (a] embecosm.com>
   21131 
   21132 	PR other/44874
   21133 	* tree-dump.c (dump_options): Add enumerate_locals entry.
   21134 	Add TDF_NOID exclusion to all entry.
   21135 	* tree-dump.h (dump_enumerated_decls): Declare.
   21136 	* tree-pretty-print.c (dump_generic_node): For TDF_NOID,
   21137 	Don't display type uid.
   21138 	(print_declaration): Don't crash on TREE_TYPE (t) == 0.
   21139 	* tree-pass.h (TDF_ENUMERATE_LOCALS): Define.
   21140 	* tree-ssa-live.c: Include gimple.h.
   21141 	(numbered_tree_d): New struct.
   21142 	(numbered_tree): New typedef.
   21143 	(DEF_VEC_O (numbered_tree): New.
   21144 	(DEF_VEC_ALLOC_O (numbered_tree, heap)): Likewise.
   21145 	(compare_decls_by_uid, dump_enumerated_decls_push): New functions.
   21146 	(dump_enumerated_decls): Likewise.
   21147 	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): If comparing
   21148 	debug info and flag_dump_final_insns, call dump_enumerated_decls.
   21149 	* tree-cfg.c (dump_function_to_file): Call dump_enumerated_decls.
   21150 	* Makefile.in (tree-ssa-live.o): Depend on $(GIMPLE_H).
   21151 
   21152 2010-07-13  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21153 
   21154 	* expmed.h (MAX_BITS_PER_WORD): Move to...
   21155 	* defaults.h (MAX_BITS_PER_WORD): ...here.
   21156 
   21157 2010-07-13  DJ Delorie  <dj (a] redhat.com>
   21158 
   21159 	* config/h8300/h8300.c (h8300_init_once): Default to
   21160 	-fstrict_volatile_bitfields.
   21161 
   21162 	* config/sh/sh.c (sh_override_options): Default to
   21163 	-fstrict_volatile_bitfields.
   21164 
   21165 	* config/rx/rx.c (rx_option_override): New.
   21166 
   21167 	* config/m32c/m32c.c (m32c_override_options): Default to
   21168 	-fstrict_volatile_bitfields.
   21169 
   21170 2010-07-13  Nathan Froyd  <froydnj (a] codesourcery.com>
   21171 
   21172 	* tree.h (build_function_call_expr): Delete.
   21173 	(build_call_expr_loc_array): New function.
   21174 	(build_call_expr_loc_vec): New function.
   21175 	* tree-flow.h (struct omp_region): Change type of ws_args field
   21176 	to a VEC.
   21177 	* builtins.c (build_function_call_expr): Delete.
   21178 	(build_call_expr_loc_array): New function.
   21179 	(build_call_expr_loc): Call it.  Use XALLOCAVEC.
   21180 	(build_call_expr): Likewise.
   21181 	(build_call_expr_loc_vec): New function.
   21182 	* cgraphunit.c (build_cdtor): Call build_call_expr instead of
   21183 	build_function_call_expr.
   21184 	* expr.c (emutls_var_address): Likewise.
   21185 	* varasm.c (emutls_common_1): Likewise.
   21186 	* omp-low.c (expand_omp_atomic_mutex): Likewise.
   21187 	(expand_omp_taskreg): Adjust for new type of region->ws_args.
   21188 	(get_ws_args_for): Return a VEC instead of a tree.
   21189 	(expand_parallel_call): Call build_call_expr_loc_vec instead of
   21190 	build_function_call_expr.
   21191 	* stor-layout.c (self_referential_size): Likewise.
   21192 
   21193 2010-07-13  Jakub Jelinek  <jakub (a] redhat.com>
   21194 
   21195 	PR testsuite/44701
   21196 	* recog.c (constrain_operands): Allow side-effects in memory
   21197 	operands if either < or > constraint is used, rather than if
   21198 	both < and > is used.
   21199 
   21200 2010-07-13  Richard Guenther  <rguenther (a] suse.de>
   21201 
   21202 	PR middle-end/44911
   21203 	* tree-pretty-print.c (dump_generic_node): Use TDF_SLIM for
   21204 	MEM_REF pointer type dumping.  Avoid recursing for TYPE_DECLs
   21205 	without name.
   21206 
   21207 2010-07-13  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   21208 
   21209 	PR target/44761
   21210 	* mode-switching.c (optimize_mode_switching): Add ATTRIBUTE_UNUSED
   21211 	to variable emited.
   21212 	* config/sh/sh.c (sh_expand_epilogue): Remove unused variable.
   21213 	* config/sh/sh.md (symGOT_load): Likewise.
   21214 	(symDTPOFF2reg): Likewise.
   21215 	(symTPOFF2reg): Likewise.
   21216 
   21217 2010-07-13  Ramana Radhakrishnan  <ramana.radhakrishnan (a] arm.com>
   21218 
   21219 	* expmed.c (MAX_BITS_PER_WORD): Moved to expmed.h.
   21220 	* expmed.h (MAX_BITS_PER_WORD): Moved from expmed.c.
   21221 
   21222 2010-07-13  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   21223 
   21224 	* config/i386/sol2-unwind.h (x86_64_fallback_frame_state): Correct
   21225 	explanation.
   21226 	Find ucontext_t * on Solaris 11.
   21227 	(x86_fallback_frame_state): Handle Solaris 9 multi-threaded pattern.
   21228 	Handle new Solaris 11 __sighndlr patterns.
   21229 
   21230 2010-07-13  Jakub Jelinek  <jakub (a] redhat.com>
   21231 
   21232 	PR debug/44901
   21233 	* vec.h (VEC_block_remove): Fix comment.
   21234 	* tree-ssa-live.c (remove_unused_locals): Don't use
   21235 	VEC_unordered_remove on local_decls, instead replace a single
   21236 	vector element in each iteration if at least one element had
   21237 	to be removed and VEC_truncate at the end.
   21238 	* omp-low.c (expand_omp_taskreg): Likewise.
   21239 
   21240 2010-07-13  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   21241 
   21242 	* c-decl.c (finish_function): Fix typo in comment.
   21243 
   21244 2010-07-12  H.J. Lu  <hongjiu.lu (a] intel.com>
   21245 
   21246 	PR bootstrap/44921
   21247 	* postreload.c (move2add_use_add3_insn): Silence gcc warning
   21248 	on min_regno.
   21249 
   21250 2010-07-12  Jakub Jelinek  <jakub (a] redhat.com>
   21251 
   21252 	* tree-vrp.c (simplify_bit_ops_using_ranges): New function.
   21253 	(simplify_stmt_using_ranges): Use it.
   21254 
   21255 2010-07-12  Ulrich Weigand  <Ulrich.Weigand (a] de.ibm.com>
   21256 
   21257 	* config/spu/spu.h (struct spu_builtin_description): Remove FNDECL
   21258 	member.  Do not mark as GTY(()).
   21259 	* config/spu/spu.c (spu_builtins): Remove FNDECL initializer elements.
   21260 	(spu_builtin_decls): New static variable.
   21261 	(spu_builtin_decl): Use it instead of spu_builtins[].fndecl.
   21262 	(spu_init_builtins): Likewise.
   21263 	(spu_builtin_mul_widen_even): Likewise.
   21264 	(spu_builtin_mul_widen_odd): Likewise.
   21265 	(spu_builtin_mask_for_load): Likewise.
   21266 	(spu_builtin_vec_perm): Likewise.
   21267 	* config/spu/spu-c.c: Include "target.h".
   21268 	(spu_resolve_overloaded_builtin): Call targetm.builtin_decl instead
   21269 	of using spu_builtins[].fndecl.
   21270 
   21271 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21272 
   21273 	* config/mips/mips.c (mips_override_options): Make -mflip-mips16
   21274 	imply -minterlink-mips16.
   21275 
   21276 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21277 
   21278 	* config/mips/mips.h (mips16_globals): Declare.
   21279 	(SWITCHABLE_TARGET): Define.
   21280 	* config/mips/mips.c: Include target-globals.h.
   21281 	(mips16_globals): New variable.
   21282 	(mips_set_mips16_mode): Use save_target_globals and
   21283 	restore_target_globals instead of target_reinit.
   21284 
   21285 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21286 
   21287 	* reginfo.c (init_reg_sets): Don't zero globals here.  Update comment
   21288 	to say that the function can be called more than once.
   21289 	* target-globals.c (save_target_globals): Call init_reg_sets.
   21290 
   21291 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21292 
   21293 	* Makefile.in (bb-reorder.o, target-globals.o): Depend on bb-reorder.h
   21294 	* bb-reorder.h: New file.
   21295 	* bb-reorder.c (default_target_bb_reorder): New variable.
   21296 	(this_target_bb_reorder): New conditional variable.
   21297 	(uncond_jump_length): Redefine as a macro.
   21298 	* target-globals.h (this_target_bb_reorder): Declare.
   21299 	(target_globals): Add a bb_reorder field.
   21300 	(restore_target_globals): Copy the bb_reorder field to
   21301 	this_target_bb-reorder.
   21302 	* target-globals.c: Include bb-reorder.h.
   21303 	(default_target_globals): Initialize the bb_reorder field.
   21304 	(save_target_globals): Likewise.
   21305 
   21306 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21307 
   21308 	* Makefile.in (gcse.o, target-globals.o): Depend on gcse.h..
   21309 	* gcse.h: New file.
   21310 	* gcse.c: Include gcse.h.
   21311 	(default_target_gcse): New variable.
   21312 	(this_target_gcse): New conditional variable.
   21313 	(can_copy): Redefine as a macro.
   21314 	(can_copy_init_p): New macro.
   21315 	(can_copy_p): Remove can_copy_init_p.
   21316 	* target-globals.h (this_target_gcse): Declare.
   21317 	(target_globals): Add a gcse field.
   21318 	(restore_target_globals): Copy the gcse field to this_target_gcse.
   21319 	* target-globals.c: Include gcse.h.
   21320 	(default_target_globals): Initialize the gcse field.
   21321 	(save_target_globals): Likewise.
   21322 
   21323 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21324 
   21325 	* ira-int.h (target_ira_int): Add x_ira_prohibited_mode_move_regs
   21326 	and x_ira_prohibited_mode_move_regs_initialized_p.
   21327 	(ira_prohibited_mode_move_regs): Redefine as a macro.
   21328 	* ira.c (ira_prohibited_mode_move_regs): Delete.
   21329 	(ira_prohibited_mode_move_regs_initialized_p): Redefine as a macro.
   21330 
   21331 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21332 
   21333 	* reload.h (target_reload): Add x_cached_reg_save_code and
   21334 	x_cached_reg_restore_code.
   21335 	* caller-save.c (cached_reg_save_code, cached_reg_restore_code):
   21336 	Redefine as macros.
   21337 
   21338 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21339 
   21340 	* Makefile.in (target-globals.o): Depend on builtins.h.
   21341 	* builtins.h: New file.
   21342 	* builtins.c: Include builtins.h.
   21343 	(default_target_builtins): New variable.
   21344 	(this_target_builtins): New conditional variable.
   21345 	(apply_args_mode, apply_result_mode): Redefine as macros.
   21346 	* target-globals.h (this_target_builtins): Declare.
   21347 	(target_globals): Add a builtins field.
   21348 	(restore_target_globals): Copy the builtins field to
   21349 	this_target_builtins.
   21350 	* target-globals.c: Include builtins.h.
   21351 	(default_target_globals): Initialize the builtins field.
   21352 	(save_target_globals): Likewise.
   21353 
   21354 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21355 
   21356 	* expmed.h (alg_code, mult_cost, MULT_COST_LESS, CHEAPER_MULT_COST)
   21357 	(algorithm, alg_hash_entry, NUM_ALG_HASH_ENTRIES, alg_hash): Moved
   21358 	from expmed.c.
   21359 	(target_expmed): Add x_alg_hash and x_alg_hash_used_p.
   21360 	(alg_hash, alg_hash_used_p): New macros.
   21361 	* expmed.c (init_expmed): Clear alg_hash if reinitializing.
   21362 	(alg_code, mult_cost, MULT_COST_LESS, CHEAPER_MULT_COST, algorithm)
   21363 	(alg_hash_entry, NUM_ALG_HASH_ENTRIES, alg_hash): Moved to expmed.h.
   21364 
   21365 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21366 
   21367 	* ira-int.h (target_ira_int): Add x_max_struct_costs_size, x_init_cost,
   21368 	x_temp_costs, x_op_costs, x_this_op_costs and x_cost_classes.
   21369 	* ira-costs.c (max_struct_costs_size, init_cost, temp_costs, op_costs)
   21370 	(this_op_costs, costs_classes): Redefine as macros.
   21371 	(record_reg_classes): Don't take op_costs as a parameter.
   21372 	(record_operand_costs): Likewise.  Update calls to record_reg_classes.
   21373 	(scan_one_insn): Update call to record_operand_costs.
   21374 
   21375 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21376 
   21377 	* Makefile.in (target-globals.o): Depend on $(IRA_INT_H).
   21378 	* ira-int.h (ira_max_nregs, ira_important_class_nums): Delete.
   21379 	(target_ira_int): New structure.
   21380 	(default_target_ira_int): Declare.
   21381 	(this_target_ira_int): Declare as a variable or define as a macro.
   21382 	(ira_reg_mode_hard_regset, ira_register_move_cost)
   21383 	(ira_may_move_in_cost, ira_may_move_out_cost, ira_class_subset_p)
   21384 	(ira_non_ordered_class_hard_regs, ira_class_hard_reg_index)
   21385 	(prohibited_class_mode_regs, ira_important_classes_num)
   21386 	(ira_important_classes, ira_reg_class_intersect)
   21387 	(ira_reg_classes_intersect_p, ira_reg_class_super_classes)
   21388 	(ira_reg_class_union): Redefine as macros.
   21389 	* ira.h (target_ira): New structure.
   21390 	(default_target_ira): Declare.
   21391 	(this_target_ira): Declare as a variable or define as a macro.
   21392 	(ira_available_class_regs, ira_hard_regno_cover_class)
   21393 	(ira_reg_class_cover_size, ira_reg_class_cover, ira_class_translate)
   21394 	(ira_reg_class_nregs, ira_memory_move_cost, ira_class_hard_regs)
   21395 	(ira_class_hard_regs_num): Redefine as macros.
   21396 	* ira.c (default_target_ira, default_target_ira_int): New variables.
   21397 	(this_target_ira, this_target_ira_int): New conditional variables.
   21398 	(ira_reg_mode_hard_regset, ira_memory_move_cost)
   21399 	(ira_register_move_cost, ira_may_move_in_cost, ira_may_move_out_cost)
   21400 	(ira_class_subset_p): Delete.
   21401 	(no_unit_alloc_regs): Redefine as a macro.
   21402 	(ira_class_hard_regs, ira_non_ordered_class_hard_regs)
   21403 	(ira_class_hard_regs_num, ira_class_hard_reg_index)
   21404 	(ira_available_class_regs): Delete.
   21405 	(alloc_reg_class_subclasses): Redefine as a macro.
   21406 	(ira_reg_class_cover_size, ira_reg_class_cover)
   21407 	(ira_important_classes_num, ira_important_classes)
   21408 	(ira_important_class_nums, ira_class_translate): Delete.
   21409 	(cover_class_order): Document the variable's lifetime.
   21410 	(reorder_important_classes): Don't set ira_important_class_nums.
   21411 	(ira_reg_class_intersect, ira_reg_classes_intersect_p)
   21412 	(ira_reg_class_super_classes, ira_reg_class_union)
   21413 	(ira_hard_regno_cover_class, ira_reg_class_nregs, ira_max_nregs):
   21414 	Delete.
   21415 	(setup_reg_class_nregs): Don't set ira_max_regs.
   21416 	(prohibited_class_mode_regs): Delete.
   21417 	* target-globals.h (this_target_ira, this_target_ira_int): Declare.
   21418 	(target_globals): Add ira and ira_int fields.
   21419 	(restore_target_globals): Copy the ira field to this_target_ira
   21420 	and the ira_int field to this_target_ira_int.
   21421 	* target-globals.c: Include ira-int.h.
   21422 	(default_target_globals): Initialize the ira and ira_int fields.
   21423 	(save_target_globals): Likewise.
   21424 
   21425 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21426 
   21427 	* Makefile.in (target-globals.o): Depend on $(CFGLOOP_H).
   21428 	* cfgloop.h (target_cfgloop): New structure.
   21429 	(default_target_cfgloop): Declare.
   21430 	(this_target_cfgloop): Declare as a variable or define as a macro.
   21431 	(target_avail_regs, target_clobbered_regs, target_res_regs)
   21432 	(target_reg_cost, target_spill_cost): Redefine as macros.
   21433 	* cfgloopanal.c (default_target_cfgloop): New variable.
   21434 	(this_target_cfgloop): New conditional variable.
   21435 	(target_avail_regs, target_clobbered_regs, target_res_regs)
   21436 	(target_reg_cost, target_spill_cost): Delete.
   21437 	* target-globals.h (this_target_cfgloop): Declare.
   21438 	(target_globals): Add a cfgloop field.
   21439 	(restore_target_globals): Copy the cfgloop field to
   21440 	this_target_cfgloop.
   21441 	* target-globals.c: Include cfgloop.h.
   21442 	(default_target_globals): Initialize the cfgloop field.
   21443 	(save_target_globals): Likewise.
   21444 
   21445 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21446 
   21447 	* regs.h (target_regs): Add x_direct_load, x_direct_store and
   21448 	x_float_extend_from_mem.
   21449 	(direct_load, direct_store, float_extend_from_mem): New macros.
   21450 	* expr.c (direct_load, direct_store, float_extend_from_mem): Delete.
   21451 
   21452 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21453 
   21454 	* Makefile.in (LIBFUNCS_H): Add $(HASHTAB_H).
   21455 	(target-globals.o): Depend on $(LIBFUNCS_H).
   21456 	* libfuncs.h: Include hashtab.h.
   21457 	(libfunc_entry): Moved from optabs.c.
   21458 	(target_libfuncs): New structure.
   21459 	(default_target_libfuncs): Declare.
   21460 	(this_target_libfuncs): Declare as a variable or define as a macro.
   21461 	(libfunc_table): Redefine as a macro.
   21462 	* optabs.c (default_target_libfuncs): New variable.
   21463 	(this_target_libfuncs): New conditional variable.
   21464 	(libfunc_table): Delete.
   21465 	(libfunc_entry): Moved to optabs.h.
   21466 	(libfunc_hash): Redefine as a macro.
   21467 	(hash_libfunc, eq_libfunc): Fix comments.
   21468 	(init_optabs): Use libfunc_hash to detect cases where the function
   21469 	has already been called.  Clear the hash table instead of
   21470 	recreating it.
   21471 	* target-globals.h (this_target_libfuncs): Declare.
   21472 	(target_globals): Add a libfuncs field.
   21473 	(restore_target_globals): Copy the libfuncs field to
   21474 	this_target_libfuncs.
   21475 	* target-globals.c: Include libfuncs.h.
   21476 	(default_target_globals): Initialize the libfuncs field.
   21477 	(save_target_globals): Likewise.
   21478 
   21479 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21480 
   21481 	* Makefile.in (LIBFUNCS_H): New variable.  Use instead of libfuncs.h
   21482 	in all dependency lists.
   21483 
   21484 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21485 
   21486 	* Makefile.in (target-globals.o): Depend on $(EXPR_H) and $(OPTABS_H).
   21487 	* optabs.h (target_optabs): New structure.
   21488 	(default_target_optabs): Declare.
   21489 	(this_target_optabs): Declare as a variable or define as a macro.
   21490 	(optab_table, convert_optab_table, direct_optab_table): Redefine
   21491 	as macros.
   21492 	* optabs.c (default_target_optabs): New variable.
   21493 	(this_target_optabs): New conditional variable.
   21494 	(optab_table, convert_optab_table, direct_optab_table): Delete.
   21495 	* target-globals.h (this_target_optabs): Declare.
   21496 	(target_globals): Add a optabs field.
   21497 	(restore_target_globals): Copy the optabs field to
   21498 	this_target_optabs.
   21499 	* target-globals.c: Include expr.h and optabs.h.
   21500 	(default_target_globals): Initialize the optabs field.
   21501 	(save_target_globals): Likewise.
   21502 
   21503 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21504 
   21505 	* flags.h (target_flagstate): Add x_flag_excess_precision.
   21506 	(flag_excess_precision): Redefine as a macro.
   21507 	* toplev.c (flag_excess_precision): Delete.
   21508 
   21509 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21510 
   21511 	* defaults.h (MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Define if not defined.
   21512 	* libgcc2.c (MIN_UNITS_PER_WORD): Delete.
   21513 	* hard-reg-set.h (target_hard_regs): Add x_no_caller_save_reg_set.
   21514 	(no_caller_save_reg_set): Redefine as a macro.
   21515 	* reload.h (target_reload): Add x_caller_save_initialized_p and
   21516 	x_regno_save_mode.
   21517 	(caller_save_initialized_p): Redefine as a macro.
   21518 	* caller-save.c (caller_save_initialized_p, no_caller_save_reg_set)
   21519 	(MAX_MOVE_MAX, MIN_UNITS_PER_WORD): Delete.
   21520 	(regno_save_mode): Redefine as a macro.
   21521 
   21522 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21523 
   21524 	* Makefile.in (expmed.o, target-globals.o): Depend on expmed.h.
   21525 	* expmed.h: New file.
   21526 	* expmed.c (default_target_costs): New variable.
   21527 	(this_target_costs): New conditional variable.
   21528 	(sdiv_pow2_cheap, smod_pow2_cheap, zero_cost, add_cost, neg_cost)
   21529 	(shift_cost, shiftadd_cost, shiftsub0_cost, shiftsub1_cost, mul_cost)
   21530 	(sdiv_cost, udiv_cost, mul_widen_cost, mul_highpart_cost): Delete.
   21531 	* target-globals.h (this_target_expmed): Declare.
   21532 	(target_globals): Add a expmed field.
   21533 	(restore_target_globals): Copy the expmed field to
   21534 	this_target_expmed.
   21535 	* target-globals.c: Include expmed.h.
   21536 	(default_target_globals): Initialize the expmed field.
   21537 	(save_target_globals): Likewise.
   21538 
   21539 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21540 
   21541 	* Makefile.in (target-globals.o): Depend on reload.h.
   21542 	* reload.h (target_reload): New structure.
   21543 	(default_target_reload): Declare.
   21544 	(this_target_reload): Declare as a variable or define as a macro.
   21545 	(indirect_symref_ok, double_reg_address_ok): Redefine as macros.
   21546 	* reload1.c (default_target_reload): New variable
   21547 	(this_target_reload): New conditional variable.
   21548 	(indirect_symref_ok, double_reg_address_ok): Delete.
   21549 	(spill_indirect_levels): Redefine as a macro.
   21550 	* target-globals.h (this_target_reload): Declare.
   21551 	(target_globals): Add a reload field.
   21552 	(restore_target_globals): Copy the reload field to
   21553 	this_target_reload.
   21554 	* target-globals.c: Include hard-reg-set.h.
   21555 	(default_target_globals): Initialize the reload field.
   21556 	(save_target_globals): Likewise.
   21557 
   21558 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21559 
   21560 	* rtl.h (target_rtl): Add x_static_reg_base_value.
   21561 	* alias.c (static_reg_base_value): Redefine as a macro.
   21562 
   21563 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21564 
   21565 	* Makefile.in (reginfo.o): Don't depend on $(GGC_H) or gt-reginfo.h.
   21566 	(GTFILES): Remove reginfo.c.
   21567 	* rtl.h (target_rtl): Add x_top_of_stack.
   21568 	(top_of_stack): New macro.
   21569 	* reginfo.c: Don't include ggc.h or gt-reginfo.h.
   21570 	(top_of_stack): Delete.
   21571 
   21572 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21573 
   21574 	* regs.h (target_regs): Add x_hard_regs_of_mode,
   21575 	x_contains_reg_of_mode, x_move_cost, x_may_move_in_cost,
   21576 	x_may_move_out_cost and x_last_mode_for_init_move_cost.
   21577 	(have_regs_of_mode, contains_reg_of_mode, move_cost)
   21578 	(may_move_in_cost, may_move_out_cost): Redefine as macros.
   21579 	* reginfo.c (have_regs_of_mode, contains_reg_of_mode, move_cost)
   21580 	(may_move_in_cost, may_move_out_cost): Delete.
   21581 	(last_mode_for_init_move_cost): Redefine as a macro.
   21582 
   21583 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21584 
   21585 	* hard-reg-set.h (target_hard_regs): New structure.
   21586 	(default_target_hard_regs): Declare.
   21587 	(this_target_hard_regs): Declare as a variable or define as a macro.
   21588 	(fixed_regs, fixed_reg_set, call_used_regs, call_really_used_regs)
   21589 	(call_used_reg_set, call_fixed_reg_set, regs_invalidated_by_call)
   21590 	(reg_alloc_order, inv_reg_alloc_order, reg_class_contents)
   21591 	(reg_class_size, reg_class_subclasses, reg_class_subunion)
   21592 	(reg_class_superunion, reg_names): Redefine as macros.
   21593 	* reginfo.c (fixed_regs, fixed_reg_set, call_used_regs)
   21594 	(call_used_reg_set, call_really_used_regs, call_fixed_reg_set)
   21595 	(regs_invalidated_by_call, reg_alloc_order, inv_reg_alloc_order)
   21596 	(reg_class_contents, reg_class_size, reg_class_subclasses)
   21597 	(reg_class_subunion, reg_class_superunion, reg_names): Delete.
   21598 	(default_target_hard_regs): New variable
   21599 	(this_target_hard_regs, initial_call_really_used_regs)
   21600 	(initial_reg_alloc_order): New conditional variables.
   21601 	(initial_reg_names): New variable.
   21602 	(init_reg_sets): Assert that initial_call_really_used_regs,
   21603 	initial_reg_alloc_order and initial_reg_names
   21604 	are all the same size as their variable counterparts.  Use them to
   21605 	initialize those counterparts.
   21606 	* target-globals.h (this_target_hard_regs): Declare.
   21607 	(target_globals): Add a hard_regs field.
   21608 	(restore_target_globals): Copy the hard_regs field to
   21609 	this_target_hard_regs.
   21610 	* target-globals.c: Include hard-reg-set.h.
   21611 	(default_target_globals): Initialize the hard_regs field.
   21612 	(save_target_globals): Likewise.
   21613 
   21614 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21615 
   21616 	* Makefile.in (target-globals.o): Depend on $(RTL_H).
   21617 	* rtl.h (target_rtl): New structure.
   21618 	(default_target_rtl): Declare.
   21619 	(this_target_rtl): Declare as a variable or define as a macro.
   21620 	(global_rtl, pic_offset_table_rtx, return_address_pointer_rtx):
   21621 	Redefine as macros.
   21622 	* emit-rtl.c (default_target_rtl): New variable.
   21623 	(this_target_rtl): New conditional variable.
   21624 	(global_rtl, static_regno_reg_rtx, pic_offset_table_rtx)
   21625 	(return_address_pointer_rtx): Delete.
   21626 	(initial_regno_reg_rtx): New macro.
   21627 	(init_emit): Use initial_regno_reg_rtx instead of static_regno_reg_rtx.
   21628 	(init_emit_regs): Likewise.
   21629 	* target-globals.h (this_target_rtl): Declare.
   21630 	(target_globals): Add a rtl field.
   21631 	(restore_target_globals): Copy the rtl field to this_target_rtl.
   21632 	* target-globals.c: Include rtl.h.
   21633 	(default_target_globals): Initialize the rtl field.
   21634 	(save_target_globals): Likewise.
   21635 
   21636 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21637 
   21638 	* Makefile.in (target-globals.o): Depend on $(REGS_H).
   21639 	* regs.h (target_reg_modes): New structure.
   21640 	(default_target_reg_modes): Declare.
   21641 	(this_target_reg_modes): Declare as a variable or define as a macro.
   21642 	(hard_regno_nregs, reg_raw_mode): Redefine as macros.
   21643 	* reginfo.c (default_target_reg_modes): New variable.
   21644 	(this_target_reg_modes): New conditional variable.
   21645 	(hard_regno_nregs, reg_raw_mode): Delete.
   21646 	* target-globals.h (this_target_regs): Declare.
   21647 	(target_globals): Add a regs field.
   21648 	(restore_target_globals): Copy the regs field to this_target_regs.
   21649 	* target-globals.c: Include regs.h.
   21650 	(default_target_globals): Initialize the regs field.
   21651 	(save_target_globals): Likewise.
   21652 
   21653 2010-07-12  Richard Sandiford  <rdsandiford (a] googlemail.com>
   21654 
   21655 	* doc/tm.texi.in (SWITCHABLE_TARGET): Document.
   21656 	* doc/tm.texi: Regenerate.
   21657 	* Makefile.in (OBJS-common): Add target-globals.o.
   21658 	(gtype-desc.o): Depend on $(IPA_PROP_H), $(LTO_STREAMER_H)
   21659 	and target-globals.h.
   21660 	(target-globals.o): New rule.
   21661 	(GTFILES): Include $(srcdir)/target-globals.h.
   21662 	* defaults.h (SWITCHABLE_TARGET): Define.
   21663 	* gengtype.c (open_base_files): Add target-globals.h to the
   21664 	list of includes.
   21665 	* target-globals.h: New file.
   21666 	* target-globals.c: Likewise.
   21667 
   21668 	* Makefile.in (target-globals.o): Depend on $(FLAGS_H).
   21669 	* flags.h (target_flag_state): New structure.
   21670 	(default_target_flag_state): Declare.
   21671 	(this_target_flag_state): Declare as a variable or define as a macro.
   21672 	(align_loops_log): Redefine as a macro.
   21673 	(align_loops_max_skip, align_jumps_log): Likewise.
   21674 	(align_jumps_max_skip, align_labels_log): Likewise.
   21675 	(align_labels_max_skip, align_functions_log): Likewise.
   21676 	* toplev.c (default_target_flag_state): New variable.
   21677 	(this_target_flag_state): New conditional variable.
   21678 	(align_loops_log): Delete.
   21679 	(align_loops_max_skip, align_jumps_log): Likewise.
   21680 	(align_jumps_max_skip, align_labels_log): Likewise.
   21681 	(align_labels_max_skip, align_functions_log): Likewise.
   21682 	* target-globals.h (this_target_flag_state): Declare.
   21683 	(target_globals): Add a flag_state field.
   21684 	(restore_target_globals): Copy the flag_state field to
   21685 	this_target_flag_state.
   21686 	* target-globals.c: Include flags.h.
   21687 	(default_target_globals): Initialize the flag_state field.
   21688 	(save_target_globals): Likewise.
   21689 
   21690 2010-07-12  Jie Zhang  <jie (a] codesourcery.com>
   21691 
   21692 	* postreload.c (reg_symbol_ref[]): New.
   21693 	(move2add_use_add2_insn): New.
   21694 	(move2add_use_add3_insn): New.
   21695 	(reload_cse_move2add): Handle SYMBOL + OFFSET case.
   21696 	(move2add_note_store): Likewise.
   21697 
   21698 2010-07-12  Joern Rennecke  <joern.rennecke (a] embecosm.com>
   21699 
   21700 	PR rtl-optimization/44752
   21701 	* genautomata.c (main): Don't emit an empty file even if there
   21702 	is no automaton.
   21703 
   21704 2010-07-12  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   21705 
   21706 	* config/i386/i386.c (ix86_sol10_return_in_memory): Rename to
   21707 	ix86_solaris_return_in_memory.
   21708 	* config/i386-protos.h: Reflect this.
   21709 	* config/i386/vx-common.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
   21710 	* config/i386/sol2-10.h (SUBTARGET_RETURN_IN_MEMORY): Likewise.
   21711 	Move ...
   21712 	* config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): ... here.
   21713 
   21714 2010-07-12  Jie Zhang  <jie (a] codesourcery.com>
   21715 
   21716 	* config/arm/arm.c (arm_get_frame_offsets): Don't use r3 to
   21717 	align the stack when it's going to be saved.
   21718 
   21719 2010-07-12  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   21720 
   21721 	PR pch/14940
   21722 	* config/host-solaris.c (mmap_fixed): New function.
   21723 	(sol_gt_pch_get_address): Use it.
   21724 	(sol_gt_pch_use_address): Likewise.
   21725 
   21726 2010-07-12  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   21727 
   21728 	* config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
   21729 	pentiumpro on Solaris 8 and 9/x86.
   21730 	* doc/install.texi (Specific, i?86-*-solaris2.[89]): Recommend GNU as.
   21731 	Document SSE/SSE2 support.
   21732 	* doc/sourcebuild.texi (Effective-Target Keywords): Document sse.
   21733 
   21734 2010-07-12  Andi Kleen  <ak (a] linux.intel.com>
   21735 
   21736 	* lto-symtab.c (lto_symtab_merge_decls_1): Use fatal_error
   21737 	instead of gcc_assert to print better error message for multiple
   21738 	prevailing defs.
   21739 
   21740 2010-07-12  Uros Bizjak  <ubizjak (a] gmail.com>
   21741 
   21742 	* config/i386/i386.c (ix86_asm_output_function_label): Change format
   21743 	string placeholder from 0x%x to %#x.
   21744 	(ix86_code_end): Use putc to output '\n'.
   21745 	(ix86_print_operand) <case ';'>: Use putc to output ';'.
   21746 
   21747 2010-07-11  Kai Tietz  <kai.tietz (a] onevision.com>
   21748 
   21749 	* config/i386/winnt.c (i386_pe_file_end): Quote symbol name
   21750 	in directive -export.
   21751 
   21752 2010-07-10  Anatoly Sokolov  <aesok (a] post.ru>
   21753 
   21754 	* reginfo.h (reg_classes_intersect_p): Change arguments type to
   21755 	reg_class_t.
   21756 	* rtl.h (reg_classes_intersect_p): Adjust prototype.
   21757 
   21758 	* config/rs6000/rs6000.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
   21759 	Remove macros.
   21760 	* config/rs6000/rs6000-protos.h (rs6000_register_move_cost,
   21761 	rs6000_memory_move_cost): Remove
   21762 	* config/rs6000/rs6000.c (TARGET_REGISTER_MOVE_COST,
   21763 	TARGET_MEMORY_MOVE_COST): Define.
   21764 	(rs6000_register_move_cost): Make static. Change arguments type from
   21765 	enum reg_class to reg_class_t. Adjust rs6000_memory_move_cost calls.
   21766 	(rs6000_memory_move_cost): Make static. Change arguments type from
   21767 	'enum reg_class' to reg_class_t.
   21768 
   21769 2010-07-10  Sandra Loosemore  <sandra (a] codesourcery.com>
   21770 
   21771 	PR middle-end/42505
   21772 	* tree-inline.c (estimate_num_insns): Refactor builtin complexity
   21773 	lookup code into....
   21774 	* builtins.c (is_simple_builtin, is_inexpensive_builtin): ...these
   21775 	new functions.
   21776 	* tree.h (is_simple_builtin, is_inexpensive_builtin): Declare.
   21777 	* cfgloopanal.c (target_clobbered_regs): Define.
   21778 	(init_set_costs): Initialize target_clobbered_regs.
   21779 	(estimate_reg_pressure_cost): Add call_p argument.  When true,
   21780 	adjust the number of available registers to exclude the
   21781 	call-clobbered registers.
   21782 	* cfgloop.h (target_clobbered_regs): Declare.
   21783 	(estimate_reg_pressure_cost): Adjust declaration.
   21784 	* tree-ssa-loop-ivopts.c (struct ivopts_data): Add body_includes_call.
   21785 	(ivopts_global_cost_for_size): Pass it to estimate_reg_pressure_cost.
   21786 	(determine_set_costs): Dump target_clobbered_regs.
   21787 	(loop_body_includes_call): New function.
   21788 	(tree_ssa_iv_optimize_loop): Use it to initialize new field.
   21789 	* loop-invariant.c (gain_for_invariant): Adjust arguments to pass
   21790 	call_p flag through.
   21791 	(best_gain_for_invariant): Likewise.
   21792 	(find_invariants_to_move): Likewise.
   21793 	(move_single_loop_invariants): Likewise, using already-computed
   21794 	has_call field.
   21795 
   21796 2010-07-10  Richard Guenther  <rguenther (a] suse.de>
   21797 	    Joern Rennecke  <joern.rennecke (a] embecosm.com>
   21798 
   21799 	PR debug/44832
   21800 	* tree-ssa-live.c (mark_all_vars_used_1): Set TREE_USED for LABEL_DECL.
   21801 	(remove_unused_scope_block_p): Don't drop TREE_USED LABEL_DECLs
   21802 	unless they have DECL_IGNORED_P set.
   21803 
   21804 2010-07-10  Richard Guenther  <rguenther (a] suse.de>
   21805 
   21806 	PR lto/44889
   21807 	* gimple.c (gimple_fixup_complete_and_incomplete_subtype_p): New
   21808 	helper function.
   21809 	(gimple_types_compatible_p): Similar to pointed-to
   21810 	types allow and merge a mix of complete and incomplete aggregate.
   21811 	Use gimple_fixup_complete_and_incomplete_subtype_p for that.
   21812 	(iterative_hash_gimple_type): Adjust for that.
   21813 
   21814 2010-07-10  Richard Sandiford  <r.sandiford (a] uk.ibm.com>
   21815 
   21816 	* tree.h (DECL_REPLACEABLE_P): Strengthen check for weak symbols.
   21817 
   21818 2010-07-10  Iain Sandoe  <iains (a] gcc.gnu.org>
   21819 
   21820 	PR objc/44140
   21821 	* config/darwin.c (output_objc_section_asm_op): Save and restore
   21822 	section when outputting ObjC section list.
   21823 
   21824 2010-07-09  Jan Hubicka  <jh (a] suse.cz>
   21825 
   21826 	* lto-streamer-out.c (produce_symtab): Do not write alias
   21827 	cgraph/varpool nodes.
   21828 
   21829 2010-07-09  Jan Hubicka  <jh (a] suse.cz>
   21830 
   21831 	* tree-inline.c (declare_return_variable): Fix ICE while
   21832 	inlining DECL_BY_VALUE function not in SSA form
   21833 
   21834 2010-07-09  Changpeng Fang  <changpeng.fang (a] amd.com>
   21835 
   21836 	PR tree-optimization/44576
   21837 	* tree-ssa-loop-prefetch.c (trip_count_to_ahead_ratio_too_small_p):
   21838 	New.  Pull out from is_loop_prefetching_profitable to implement
   21839 	the trip count to ahead ratio heuristic.
   21840 	(mem_ref_count_reasonable_p): New.  Pull out from
   21841 	is_loop_prefetching_profitable to implement the instruction to
   21842 	memory reference ratio heuristic.  Also consider not reasonable if
   21843 	the memory reference count is above a threshold (to avoid
   21844 	explosive compilation time.
   21845 	(insn_to_prefetch_ratio_too_small_p): New.  Pull out from
   21846 	is_loop_prefetching_profitable to implement the instruction to
   21847 	prefetch ratio heuristic.
   21848 	(is_loop_prefetching_profitable): Removed.
   21849 	(loop_prefetch_arrays): Distribute the cost analysis across the
   21850 	function to allow early exit of the prefetch analysis.
   21851 	is_loop_prefetching_profitable is splitted into three functions,
   21852 	with each one called as early as possible.
   21853 	(PREFETCH_MAX_MEM_REFS_PER_LOOP): New.  Threshold above which the
   21854 	number of memory references in a loop is considered too many.
   21855 
   21856 2010-07-09  Bernd Schmidt  <bernds (a] codesourcery.com>
   21857 
   21858 	* reload.c (find_reloads): Don't clear badop if we have a winreg
   21859 	alternative, but not win, and the class only has fixed regs.
   21860 	* hard-reg-set.h (class_only_fixed_regs): Declare.
   21861 	* reginfo.c (class_only_fixed_regs): New array.
   21862 	(init_reg_sets_1): Initialize it.
   21863 	* config/arm/arm.md (arm_addsi3, thumb1_addsi3, arm_subsi3_insn): Don't
   21864 	discourage alternatives using the stack pointer.
   21865 
   21866 	* config/arm/arm.md (addsi3_cbranch): Switch alternatives 0 and 1.
   21867 
   21868 	* config/arm/arm.md (Thumb-1 ldrsb peephole): New.
   21869 
   21870 	* config/arm/arm.md (cbranchqi4): Fix array size.
   21871 	(addsi3_cbranch): Also andle alternative 2 like alternative 3 when
   21872 	calculating length.
   21873 
   21874 2010-07-09  Richard Guenther  <rguenther (a] suse.de>
   21875 
   21876 	* gimple.c (struct type_fixup_s): New struct and VEC type.
   21877 	(gimple_register_type_fixups): New static global.
   21878 	(gimple_queue_type_fixup): New function.
   21879 	(gimple_types_compatible_p): Queue type fixups instead of
   21880 	applying them here.
   21881 	(gimple_register_type): Apply queued fixups for the
   21882 	canonical type.  Empty the type fixup queue.
   21883 
   21884 2010-07-09  Uros Bizjak  <ubizjak (a] gmail.com>
   21885 
   21886 	* configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Fix test.
   21887 	* configure: Regenerate.
   21888 	* config.in: Ditto.
   21889 
   21890 2010-07-09  Jakub Jelinek  <jakub (a] redhat.com>
   21891 	    Denys Vlasenko  <dvlasenk (a] redhat.com>
   21892 	    Bernhard Reutner-Fischer  <aldot (a] gcc.gnu.org>
   21893 
   21894 	PR tree-optimization/28632
   21895 	* tree-vrp.c (zero_nonzero_bits_from_vr): New function.
   21896 	(extract_range_from_binary_expr): Further optimize
   21897 	BIT_AND_EXPR and BIT_IOR_EXPR.
   21898 
   21899 2010-07-09  Sebastian Pop  <sebastian.pop (a] amd.com>
   21900 
   21901 	* tree-if-conv.c (fold_or_predicates): New.
   21902 	(add_to_predicate_list): Call it.
   21903 
   21904 2010-07-09  Richard Guenther  <rguenther (a] suse.de>
   21905 
   21906 	PR middle-end/44890
   21907 	* tree-ssa-address.c (create_mem_ref_raw): Only build a MEM_REF
   21908 	if base is a pointer.
   21909 	* tree-cfg.c (verify_expr): Update MEM_REF checking.
   21910 
   21911 2010-07-08  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   21912 
   21913 	PR target/44877
   21914 	* config/rs6000/rs6000.c (rs6000_expand_builtin): Use
   21915 	POINTER_TYPE_P instead of checking only for POINTER_TYPE for the
   21916 	builtin mask for load/store builtins.
   21917 
   21918 2010-07-09  Uros Bizjak  <ubizjak (a] gmail.com>
   21919 
   21920 	* configure.ac (gcc_cv_as_ix86_rep_lock_prefix): Also check
   21921 	for "lock addl".
   21922 	* configure: Regenerate.
   21923 	* config/i386/i386.c (ix86_print_operand) <case ';'>:
   21924 	Remove TARGET_MACHO.
   21925 
   21926 2010-07-09  Peter Bergner  <bergner (a] vnet.ibm.com>
   21927 
   21928 	* config/rs6000/rs6000.c (rs6000_override_options): Fix setting of
   21929 	default ISA flags.
   21930 	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mvsx.
   21931 
   21932 2010-07-09  Tom de Vries  <tjvries (a] xs4all.nl>
   21933 
   21934 	* tree.c (type_hash_if_marked_p): Removed non-ggc_marked_p clause.
   21935 
   21936 2010-07-09  Hariharan Sandanagobalane  <hariharan (a] picochip.com>
   21937 
   21938 	* config/picochip/picochip.md (commsTestPort): Emit more
   21939 	efficient sequence for tstport instruction.
   21940 
   21941 2010-07-09  Uros Bizjak  <ubizjak (a] gmail.com>
   21942 
   21943 	* config/i386/i386.c (ix86_veclib_handler): Make static.
   21944 
   21945 2010-07-09  Richard Guenther  <rguenther (a] suse.de>
   21946 
   21947 	PR tree-optimization/44852
   21948 	* tree-ssa-alias.c: Include toplev.h for exact_log2.
   21949 	(indirect_ref_may_alias_decl_p): Properly handle negative offsets
   21950 	in MEM_REF.
   21951 	(indirect_refs_may_alias_p): Likewise.
   21952 	* Makefile.in (tree-ssa-alias.o): Add $(TOPLEV_H).
   21953 
   21954 2010-07-09  Richard Guenther  <rguenther (a] suse.de>
   21955 
   21956 	PR tree-optimization/44882
   21957 	* tree-vect-stmts.c (vectorizable_store): Do not assert alias
   21958 	sets do conflict.
   21959 	(vectorizable_load): Likewise.
   21960 
   21961 2010-07-09  Bernd Schmidt  <bernds (a] codesourcery.com>
   21962 
   21963 	PR target/40657
   21964 	* config/arm/arm.c (thumb1_extra_regs_pushed): New arg FOR_PROLOGUE.
   21965 	All callers changed.
   21966 	Handle the case when we're called for the epilogue.
   21967 	(thumb_unexpanded_epilogue): Use it.
   21968 	(thumb1_expand_epilogue): Likewise.
   21969 
   21970 2010-07-09  Jakub Jelinek  <jakub (a] redhat.com>
   21971 
   21972 	* tree-vrp.c (extract_range_from_binary_expr) <BIT_AND_EXPR>: If
   21973 	both ranges are range_int_cst_p with non-negative minimum,
   21974 	try harder to derive smaller range.
   21975 
   21976 2010-07-09  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   21977 
   21978 	* genrecog.c: Include diagnostic-core.h before toplev.h.
   21979 	* genoutput.c: Likewise.
   21980 	* genextract.c: Likewise.
   21981 	* genautomata.c: Likewise.
   21982 	* genemit.c: Likewise.
   21983 	* genpeep.c: Likewise.
   21984 	* genattrtab.c: Likewise.
   21985 	* genconditions.c: Likewise.
   21986 	* genpreds.c: Likewise.
   21987 
   21988 2010-07-08  Andi Kleen  <ak (a] linux.intel.com>
   21989 
   21990 	* lto-section-in.c (lto_section_name): Add missing comma.
   21991 
   21992 2010-07-08  Anatoly Sokolov  <aesok (a] post.ru>
   21993 
   21994 	* config/ia64/ia64.h (OVERRIDE_OPTIONS): Remove macros.
   21995 	* config/ia64/ia64-protos.h (ia64_override_options): Remove.
   21996 	* config/ia64/ia64.c (TARGET_OPTION_OVERRIDE): Define.
   21997 	(ia64_override_options): Rename to...
   21998 	(ia64_option_override): ... this one. Make static.
   21999 
   22000 2010-07-08  Eric Botcazou  <ebotcazou (a] adacore.com>
   22001 
   22002 	PR middle-end/44843
   22003 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Do not rely on the
   22004 	pointed-to type of the offset in a MEM_REF to compute the alignment.
   22005 
   22006 2010-07-08  Kai Tietz  <kai.tietz (a] onevision.com>
   22007 
   22008 	* final.c (final_scan_insn): Replace
   22009 	TARGET_UNWIND_INFO macro check by unwind_emit
   22010 	hook NULL check.
   22011 	* targhooks.c (default_unwind_emit): Removed.
   22012 	* targhooks.h (default_unwind_emit): Likewise.
   22013 	* target.def (unwind_emit): Set default value to NULL.
   22014 
   22015 	* config/i386/i386-protos.h (ix86_asm_output_function_label):
   22016 	New prototype.
   22017 	* config/i386/i386.c (ix86_function_ms_hook_prologue): Check
   22018 	for NULL fntype argument and allow 64-bit targets.
   22019 	(ix86_asm_output_function_label): New function.
   22020 	(ix86_expand_prologue): Handle 64-bit ms hook prologue.
   22021 	(ix86_handle_fndecl_attribute): Likewise.
   22022 	* doc/extend.texi (ms_hook_prologue): Adjust documentation.
   22023 	* doc/doc/tm.texi: Regenerated.
   22024 	* doc/doc/doc/tm.texi.in (ASM_OUTPUT_FUNCTION_LABEL): New.
   22025 	(ASM_DECLARE_FUNCTION_NAME): Adjust documentation.
   22026 	* defaults.h (ASM_OUTPUT_FUNCTION_LABEL): New macro.
   22027 	* config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use
   22028 	ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.
   22029 	* config/elfos.h: Likewise.
   22030 	* config/i386/cygming.h: Likewise.
   22031 	* config/netbsd-aout.h: Likewise.
   22032 	* config/openbsd.h: Likewise.
   22033 	* config/i386/i386.h (ASM_OUTPUT_FUNCTION_LABEL): Override
   22034 	by ix86_asm_output_function_label function call.
   22035 	* varasm.c (assemble_start_function): Use
   22036 	ASM_OUTPUT_FUNCTION_LABEL instead of ASM_OUTPUT_LABEL.
   22037 
   22038 2010-07-08  Jan Hubicka  <jh (a] suse.cz>
   22039 
   22040 	* cgraph.c (cgraph_will_be_removed_from_program_if_no_direct_calls):
   22041 	New function.
   22042 	* cgraph.h (cgraph_will_be_removed_from_program_if_no_direct_calls):
   22043 	Declare.
   22044 	* ipa-cp.c (ipcp_estimate_growth): Use it.
   22045 	* ipa-inline.c (cgraph_estimate_growth, cgraph_decide_inlining):
   22046 	Likewise.
   22047 
   22048 2010-07-08  Jan Hubicka  <jh (a] suse.cz>
   22049 
   22050 	* tree-inline.c (declare_return_variable): Allocate annotation for new
   22051 	temporary.
   22052 
   22053 2010-07-08  Sebastian Pop  <sebastian.pop (a] amd.com>
   22054 
   22055 	PR tree-optimization/44710
   22056 	* tree-if-conv.c (parse_predicate): New.
   22057 	(add_to_predicate_list): Call it, call maybe_fold_or_comparisons.
   22058 	Make sure that the predicates are either SSA_NAMEs or gimple_condexpr.
   22059 
   22060 2010-07-08  Sebastian Pop  <sebastian.pop (a] amd.com>
   22061 
   22062 	* common.opt (ftree-loop-if-convert): New flag.
   22063 	* doc/invoke.texi (ftree-loop-if-convert): Documented.
   22064 	* tree-if-conv.c (gate_tree_if_conversion): Enable if-conversion
   22065 	when flag_tree_loop_if_convert is set.
   22066 
   22067 2010-07-08  Uros Bizjak  <ubizjak (a] gmail.com>
   22068 
   22069 	* config/i386/i386.c: Use short syntax for function calls
   22070 	through function pointers.
   22071 	* config/i386/i386.md: Ditto.
   22072 
   22073 2010-07-08  Eric Botcazou  <ebotcazou (a] adacore.com>
   22074 
   22075 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Fix formatting issues.
   22076 
   22077 2010-07-08  Richard Guenther  <rguenther (a] suse.de>
   22078 
   22079 	* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Fix
   22080 	stmt check for POINTER_PLUS_EXPRs, fix the pointer assignment.
   22081 
   22082 2010-07-08  Jakub Jelinek  <jakub (a] redhat.com>
   22083 
   22084 	* dwarf2out.c (mem_loc_descriptor): Use DW_OP_const[48]u
   22085 	instead of DW_OP_addr for DW_OP_GNU_push_tls_address operand.
   22086 	(loc_list_from_tree): Likewise.
   22087 	(output_loc_operands): Handle outputting DW_OP_const[48]u
   22088 	with loc->dtprel set.
   22089 	(resolve_addr_in_expr): Handle loc->dtprel like DW_OP_addr.
   22090 
   22091 2010-07-08  Jan Hubicka  <jh (a] suse.cz>
   22092 
   22093 	* ipa.c: Include pointer-set.h
   22094 	(cgraph_externally_visible_p): New attribute ALIASED;
   22095 	when in LTO, hidden symbols are local unless they are aliased.
   22096 	(function_and_variable_visibility): Compute aliased nodes;
   22097 	handle LTO and hidden symbol on functions and vars.
   22098 	* cgraph.c (cgraph_make_decl_local): Clear NAMED_SECTION
   22099 	for COMDAT symbols; handle COMDAT_GROUPS also at vars.
   22100 
   22101 2010-07-08  Eric Botcazou  <ebotcazou (a] adacore.com>
   22102 
   22103 	* config/i386/cygming.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
   22104 	* config/i386/freebsd.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
   22105 	* config/i386/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
   22106 	* config/i386/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
   22107 	* config/i386/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
   22108 	* config/i386/i386.c (ix86_gen_adjust_stack_and_probe): New variable.
   22109 	(ix86_gen_probe_stack_range): Likewise.
   22110 	(override_options): Set them.
   22111 	(ix86_target_stack_probe): New function.
   22112 	(ix86_compute_frame_layout): Force use of push instructions to
   22113 	save registers if stack checking with probes is enabled.
   22114 	(get_scratch_register_on_entry): New function.
   22115 	(release_scratch_register_on_entry): Likewise.
   22116 	(ix86_adjust_stack_and_probe): Likewise.
   22117 	(output_adjust_stack_and_probe): Likewise.
   22118 	(ix86_emit_probe_stack_range): Likewise.
   22119 	(output_probe_stack_range): Likewise.
   22120 	(ix86_expand_prologue): Emit stack checking code if static built-in
   22121 	stack checking is enabled.
   22122 	Test ix86_target_stack_probe instead of TARGET_STACK_PROBE.
   22123 	* config/i386/i386-protos.h (ix86_target_stack_probe): Declare.
   22124 	(output_adjust_stack_and_probe): Likewise.
   22125 	(output_probe_stack_range): Likewise.
   22126 	* config/i386/i386.md (UNSPECV_PROBE_STACK_RANGE): New constant.
   22127 	(allocate_stack_worker_32): Test ix86_target_stack_probe instead of
   22128 	TARGET_STACK_PROBE.
   22129 	(allocate_stack_worker_64): Likewise.
   22130 	(allocate_stack): Likewise.
   22131 	(adjust_stack_and_probe): New insn.
   22132 	(probe_stack_range): Likewise.
   22133 
   22134 2010-07-08  Richard Guenther  <rguenther (a] suse.de>
   22135 
   22136 	PR tree-optimization/44831
   22137 	* tree-ssa-phiprop.c (phiprop_insert_phi): Properly build
   22138 	a MEM_REF preserving TBAA info of the original dereference.
   22139 	Dereference the original pointer if the address is not invariant.
   22140 	(propagate_with_phi): Fixup type checks wrt MEM_REFs.  Require
   22141 	at least one invariant address that we are going to dereference.
   22142 
   22143 2010-07-08  Richard Guenther  <rguenther (a] suse.de>
   22144 
   22145 	PR tree-optimization/44861
   22146 	* tree-vect-stmts.c (vectorizable_store): Preserve TBAA
   22147 	information when building MEM_REFs.
   22148 	(vectorizable_load): Likewise.
   22149 	* tree-vect-data-refs.c (vect_setup_realignment): Likewise.
   22150 
   22151 2010-07-08  Eric Botcazou  <ebotcazou (a] adacore.com>
   22152 
   22153 	* config/sol2-c.c: Do not include diagnostic-core.h.
   22154 
   22155 2010-07-08  Ramana Radhakrishnan  <ramana.radhakrishnan (a] arm.com>
   22156 
   22157 	PR bootstrap/44768
   22158 	* cfgexpand.c (estimated_stack_frame_size): Make self-contained
   22159 	with respect to current_function_decl. Pass decl of the function.
   22160 	* tree-inline.h (estimated_stack_frame_size): Adjust prototype.
   22161 	* ipa-inline.c (compute_inline_parameters): Pass decl to
   22162 	estimated_stack_frame_size.
   22163 
   22164 2010-07-08  Richard Guenther  <rguenther (a] suse.de>
   22165 
   22166 	* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
   22167 	New function.
   22168 	(valueize_refs): Call it.
   22169 
   22170 2010-07-08  Richard Guenther  <rguenther (a] suse.de>
   22171 
   22172 	PR rtl-optimization/44838
   22173 	* tree-ssa-alias.c (indirect_refs_may_alias_p): When not in
   22174 	SSA form do not use pointer equivalence.
   22175 
   22176 2010-07-08  Eric Botcazou  <ebotcazou (a] adacore.com>
   22177 
   22178 	* dwarf2out.c (AT_linkage_name): Delete.
   22179 	(add_linkage_attr): New function.
   22180 	(add_linkage_name): Call it to emit the linkage attribute.
   22181 	(dwarf2out_finish): Likewise.
   22182 	(move_linkage_attr): Explicitly accept both attribute variants.
   22183 
   22184 2010-07-08  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   22185 
   22186 	* toplev.h: Do not include diagnostic-core.h.
   22187 	Include diagnostic-core.h in every file that includes toplev.h.
   22188 	* c-tree.h: Do not include toplev.h.
   22189 	* pretty-print.h: Update comment.
   22190 	* Makefile.in: Update dependencies.
   22191 	* alias.c: Include diagnostic-core.h in every file that includes
   22192 	toplev.h.
   22193 	* attribs.c: Likewise.
   22194 	* auto-inc-dec.c: Likewise.
   22195 	* bb-reorder.c: Likewise.
   22196 	* bt-load.c: Likewise.
   22197 	* caller-save.c: Likewise.
   22198 	* calls.c: Likewise.
   22199 	* cfg.c: Likewise.
   22200 	* cfganal.c: Likewise.
   22201 	* cfgbuild.c: Likewise.
   22202 	* cfgcleanup.c: Likewise.
   22203 	* cfghooks.c: Likewise.
   22204 	* cfgloop.c: Likewise.
   22205 	* combine.c: Likewise.
   22206 	* config/alpha/alpha.c: Likewise.
   22207 	* config/arc/arc.c: Likewise.
   22208 	* config/arm/arm.c: Likewise.
   22209 	* config/arm/pe.c: Likewise.
   22210 	* config/avr/avr.c: Likewise.
   22211 	* config/bfin/bfin.c: Likewise.
   22212 	* config/cris/cris.c: Likewise.
   22213 	* config/crx/crx.c: Likewise.
   22214 	* config/darwin-c.c: Likewise.
   22215 	* config/darwin.c: Likewise.
   22216 	* config/fr30/fr30.c: Likewise.
   22217 	* config/frv/frv.c: Likewise.
   22218 	* config/h8300/h8300.c: Likewise.
   22219 	* config/host-darwin.c: Likewise.
   22220 	* config/i386/i386.c: Likewise.
   22221 	* config/i386/netware.c: Likewise.
   22222 	* config/i386/nwld.c: Likewise.
   22223 	* config/i386/winnt-cxx.c: Likewise.
   22224 	* config/i386/winnt-stubs.c: Likewise.
   22225 	* config/i386/winnt.c: Likewise.
   22226 	* config/ia64/ia64-c.c: Likewise.
   22227 	* config/ia64/ia64.c: Likewise.
   22228 	* config/iq2000/iq2000.c: Likewise.
   22229 	* config/lm32/lm32.c: Likewise.
   22230 	* config/m32c/m32c-pragma.c: Likewise.
   22231 	* config/m32c/m32c.c: Likewise.
   22232 	* config/m32r/m32r.c: Likewise.
   22233 	* config/m68hc11/m68hc11.c: Likewise.
   22234 	* config/m68k/m68k.c: Likewise.
   22235 	* config/mcore/mcore.c: Likewise.
   22236 	* config/mep/mep-pragma.c: Likewise.
   22237 	* config/mep/mep.c: Likewise.
   22238 	* config/mmix/mmix.c: Likewise.
   22239 	* config/mn10300/mn10300.c: Likewise.
   22240 	* config/moxie/moxie.c: Likewise.
   22241 	* config/pa/pa.c: Likewise.
   22242 	* config/pdp11/pdp11.c: Likewise.
   22243 	* config/picochip/picochip.c: Likewise.
   22244 	* config/rs6000/rs6000-c.c: Likewise.
   22245 	* config/rs6000/rs6000.c: Likewise.
   22246 	* config/rx/rx.c: Likewise.
   22247 	* config/s390/s390.c: Likewise.
   22248 	* config/score/score.c: Likewise.
   22249 	* config/score/score3.c: Likewise.
   22250 	* config/score/score7.c: Likewise.
   22251 	* config/sh/sh.c: Likewise.
   22252 	* config/sh/symbian-base.c: Likewise.
   22253 	* config/sh/symbian-c.c: Likewise.
   22254 	* config/sh/symbian-cxx.c: Likewise.
   22255 	* config/sol2-c.c: Likewise.
   22256 	* config/sol2.c: Likewise.
   22257 	* config/sparc/sparc.c: Likewise.
   22258 	* config/spu/spu.c: Likewise.
   22259 	* config/stormy16/stormy16.c: Likewise.
   22260 	* config/v850/v850-c.c: Likewise.
   22261 	* config/v850/v850.c: Likewise.
   22262 	* config/vax/vax.c: Likewise.
   22263 	* config/vxworks.c: Likewise.
   22264 	* config/xtensa/xtensa.c: Likewise.
   22265 	* convert.c: Likewise.
   22266 	* cse.c: Likewise.
   22267 	* cselib.c: Likewise.
   22268 	* dbgcnt.c: Likewise.
   22269 	* dbxout.c: Likewise.
   22270 	* ddg.c: Likewise.
   22271 	* dominance.c: Likewise.
   22272 	* emit-rtl.c: Likewise.
   22273 	* explow.c: Likewise.
   22274 	* expmed.c: Likewise.
   22275 	* fixed-value.c: Likewise.
   22276 	* fold-const.c: Likewise.
   22277 	* fwprop.c: Likewise.
   22278 	* gcse.c: Likewise.
   22279 	* ggc-common.c: Likewise.
   22280 	* ggc-page.c: Likewise.
   22281 	* ggc-zone.c: Likewise.
   22282 	* gimple-low.c: Likewise.
   22283 	* gimplify.c: Likewise.
   22284 	* graph.c: Likewise.
   22285 	* haifa-sched.c: Likewise.
   22286 	* ifcvt.c: Likewise.
   22287 	* implicit-zee.c: Likewise.
   22288 	* integrate.c: Likewise.
   22289 	* ira-build.c: Likewise.
   22290 	* ira-color.c: Likewise.
   22291 	* ira-conflicts.c: Likewise.
   22292 	* ira-costs.c: Likewise.
   22293 	* ira-lives.c: Likewise.
   22294 	* ira.c: Likewise.
   22295 	* lists.c: Likewise.
   22296 	* loop-doloop.c: Likewise.
   22297 	* loop-iv.c: Likewise.
   22298 	* lto-opts.c: Likewise.
   22299 	* lto-symtab.c: Likewise.
   22300 	* main.c: Likewise.
   22301 	* modulo-sched.c: Likewise.
   22302 	* optabs.c: Likewise.
   22303 	* params.c: Likewise.
   22304 	* plugin.c: Likewise.
   22305 	* postreload-gcse.c: Likewise.
   22306 	* postreload.c: Likewise.
   22307 	* predict.c: Likewise.
   22308 	* profile.c: Likewise.
   22309 	* real.c: Likewise.
   22310 	* regcprop.c: Likewise.
   22311 	* reginfo.c: Likewise.
   22312 	* regmove.c: Likewise.
   22313 	* reorg.c: Likewise.
   22314 	* resource.c: Likewise.
   22315 	* rtl.c: Likewise.
   22316 	* rtlanal.c: Likewise.
   22317 	* sched-deps.c: Likewise.
   22318 	* sched-ebb.c: Likewise.
   22319 	* sched-rgn.c: Likewise.
   22320 	* sdbout.c: Likewise.
   22321 	* sel-sched-dump.c: Likewise.
   22322 	* sel-sched-ir.c: Likewise.
   22323 	* simplify-rtx.c: Likewise.
   22324 	* stmt.c: Likewise.
   22325 	* stor-layout.c: Likewise.
   22326 	* store-motion.c: Likewise.
   22327 	* targhooks.c: Likewise.
   22328 	* tree-cfg.c: Likewise.
   22329 	* tree-cfgcleanup.c: Likewise.
   22330 	* tree-dump.c: Likewise.
   22331 	* tree-eh.c: Likewise.
   22332 	* tree-inline.c: Likewise.
   22333 	* tree-nomudflap.c: Likewise.
   22334 	* tree-object-size.c: Likewise.
   22335 	* tree-optimize.c: Likewise.
   22336 	* tree-outof-ssa.c: Likewise.
   22337 	* tree-phinodes.c: Likewise.
   22338 	* tree-profile.c: Likewise.
   22339 	* tree-ssa-ccp.c: Likewise.
   22340 	* tree-ssa-coalesce.c: Likewise.
   22341 	* tree-ssa-live.c: Likewise.
   22342 	* tree-ssa-loop-niter.c: Likewise.
   22343 	* tree-ssa-loop-prefetch.c: Likewise.
   22344 	* tree-ssa-loop.c: Likewise.
   22345 	* tree-ssa-structalias.c: Likewise.
   22346 	* tree-ssa-uninit.c: Likewise.
   22347 	* tree-ssa.c: Likewise.
   22348 	* tree-vect-data-refs.c: Likewise.
   22349 	* tree-vect-loop-manip.c: Likewise.
   22350 	* tree-vect-loop.c: Likewise.
   22351 	* tree-vect-patterns.c: Likewise.
   22352 	* tree-vect-stmts.c: Likewise.
   22353 	* tree-vrp.c: Likewise.
   22354 	* varasm.c: Likewise.
   22355 	* vec.c: Likewise.
   22356 	* web.c: Likewise.
   22357 	* xcoffout.c: Likewise.
   22358 
   22359 2010-07-07  Richard Sandiford  <rdsandiford (a] googlemail.com>
   22360 
   22361 	* gengtype.c (write_field_root): New function.
   22362 	(write_root): Use it.
   22363 
   22364 2010-07-07  Wei Guozhi  <carrot (a] google.com>
   22365 
   22366 	* config/arm/thumb2.md (peephole2 to convert zero_extract/compare
   22367 	of lowest bits to lshift/compare): Add a missing line.
   22368 
   22369 2010-07-07  Wei Guozhi  <carrot (a] google.com>
   22370 
   22371 	* config/arm/thumb2.md (peephole2 to convert zero_extract/compare
   22372 	of lowest bits to lshift/compare): New.
   22373 
   22374 2010-07-07  Tom Tromey  <tromey (a] redhat.com>
   22375 
   22376 	* doc/tm.texi: Update.
   22377 	* doc/tm.texi.in (SDB and DWARF) <TARGET_WANT_DEBUG_PUB_SECTIONS>:
   22378 	Add @hook.
   22379 	* target.def (want_debug_pub_sections): New hook.
   22380 	* config/darwin.h (TARGET_WANT_DEBUG_PUB_SECTIONS): Define.
   22381 	* dwarf2out.c (add_pubname_string): Check
   22382 	targetm.want_debug_pub_sections.
   22383 	(add_pubname): Likewise.
   22384 	(add_pubtype): Likewise.
   22385 
   22386 2010-07-07  Jie Zhang  <jie (a] codesourcery.com>
   22387 
   22388 	* genautomata.c (output_automata_list_min_issue_delay_code):
   22389 	Correctly decompress min_issue_delay.
   22390 
   22391 2010-07-07  Bernd Schmidt  <bernds (a] codesourcery.com>
   22392 
   22393 	PR rtl-optimization/44404
   22394 	* auto-inc-dec.c (find_inc): Avoid calling count_occurrences if
   22395 	possible, use reg_overlap_mentioned_p instead.
   22396 
   22397 2010-07-07  Duncan Sands  <baldrick (a] free.fr>
   22398 
   22399 	PR middle-end/41355
   22400 	* tree.c (build_function_type_skip_args): Copy the original type using
   22401 	build_distinct_type_copy rather than copy_node.
   22402 
   22403 2010-07-07  H.J. Lu  <hongjiu.lu (a] intel.com>
   22404 
   22405 	PR target/44850
   22406 	* config/i386/i386.c (ix86_function_ms_hook_prologue): Revert
   22407 	revision 161876.
   22408 	(ix86_expand_prologue): Likewise.
   22409 	(ix86_handle_fndecl_attribute): Likewise.
   22410 	(ix86_asm_declare_function_name): Likewise.
   22411 	* config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
   22412 	* config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
   22413 	(SUBTARGET_ASM_DECLARE_FUNCTION_NAME): Likewise.
   22414 	* config/i386/i386-protos.h (ix86_asm_declare_function_name): Likewise.
   22415 	* doc/extend.texi: Likewise.
   22416 
   22417 2010-07-07  H.J. Lu  <hongjiu.lu (a] intel.com>
   22418 
   22419 	PR target/44844
   22420 	* config/i386/i386.md (rdrand<mode>): Changed to expand to
   22421 	retry if the carry flag isn't valid.
   22422 	(rdrand<mode>_1): New.
   22423 
   22424 2010-07-07  Richard Guenther  <rguenther (a] suse.de>
   22425 
   22426 	PR middle-end/44790
   22427 	* expr.c (expand_expr_real_1): Go the POINTER_PLUS_EXPR path
   22428 	for expanding the constant offset for MEM_REFs.
   22429 
   22430 2010-07-07  Richard Guenther  <rguenther (a] suse.de>
   22431 
   22432 	* tree-ssa-propagate.h (valid_gimple_call_p): Remove.
   22433 	* tree-ssa-propagate.c (valid_gimple_call_p): Make static.  Fix.
   22434 	* gimple.h (is_gimple_operand): Remove.
   22435 	* gimple.c (is_gimple_operand): Likewise.
   22436 	(walk_gimple_op): Fix wi->val_only setting for calls.
   22437 	* tree-cfg.c (verify_gimple_call): Fix argument validation.
   22438 	* tree-profile.c (tree_gen_ic_func_profiler): Do not create
   22439 	invalid gimple calls.
   22440 
   22441 2010-07-06  Jan Hubicka  <jh (a] suse.cz>
   22442 
   22443 	* lto-cgraph.c (output_cgraph): Add missing declaration.
   22444 
   22445 2010-07-06  Jan Hubicka  <jh (a] suse.cz>
   22446 
   22447 	* lto-cgraph.c (output_cgraph): Output toplevel asms only into first
   22448 	partition.
   22449 
   22450 2010-07-06  Alexandre Oliva  <aoliva (a] redhat.com>
   22451 
   22452 	* doc/gimple.texi (GIMPLE_DEBUG): Document.
   22453 	* doc/rtl.texi (Debug Information): New node.
   22454 	(NOTE_INSN_VAR_LOCATION): Document.
   22455 	(debug_insn): Likewise.
   22456 	* doc/generic.texi (DEBUG_EXPR_DECL): Document.
   22457 
   22458 2010-07-07  Jan Hubicka  <jh (a] suse.cz>
   22459 
   22460 	With parts by Richard Guenther.
   22461 
   22462 	PR middle-end/44813
   22463 	* tree-ssa-uninit.c (ssa_undefined_value_p): Result decl is defined
   22464 	for functions passed by reference.
   22465 	* tree.c (needs_to_live_in_memory): RESULT_DECL don't need to live
   22466 	in memory when passed by reference.
   22467 	* tree-ssa-ccp.c (get_default_value): Only VAR_DECL is undefined at
   22468 	beggining.
   22469 	* ipa-split.c (split_function): Cleanup way return value is passed;
   22470 	handle SSA DECL_BY_REFERENCE retvals.
   22471 	* tree-ssa.c (verify_def): Verify that RESULT_DECL is read only when
   22472 	DECL_BY_REFERENCE is set.
   22473 	* tree-ssa-structalias.c (get_constraint_for_ssa_var, get_fi_for_callee,
   22474 	find_what_p_points_to): Handle RESULT_DECL.
   22475 	* tree-inline.c (declare_return_variable): Get new entry_block argument;
   22476 	when passing by reference ensure that RESULT_DECL is gimple_val.
   22477 	(remap_gimple_op_r): Remap RESULT_DECL ssa name.
   22478 	(remap_gimple_stmt): Handle SSA DECL_BY_REFERENCE returns.
   22479 
   22480 2010-07-07  Bernd Schmidt  <bernds (a] codesourcery.com>
   22481 
   22482 	PR rtl-optimization/44787
   22483 	* config/arm/arm.md (arith_shiftsi): Allow stack pointer in operand 2.
   22484 	* config/arm/thumb2.md (thumb2_arith_shiftsi): Likewise.
   22485 
   22486 2010-07-06  Jan Hubicka  <jh (a] suse.cz>
   22487 
   22488 	* lto-symtab.c (lto_cgraph_replace_node): Handle aliases.
   22489 	(lto_symtab_resolve_can_prevail_p): Also alias of cgraph node
   22490 	with body can prevail.
   22491 	(lto_symtab_resolve_symbols): Use cgraph_get_node_or_alias.
   22492 	(lto_symtab_merge_cgraph_nodes_1): Do not remove nodes from aliases.
   22493 	* cgraph.c (cgraph_get_node_or_alias): New function.
   22494 	* cgraph.h (cgraph_get_node_or_alias): Declare.
   22495 
   22496 2010-07-06  Kai Tietz  <kai.tietz (a] onevision.com>
   22497 
   22498 	* config/i386/i386.c (ix86_function_ms_hook_prologue): Enable x64
   22499 	support.
   22500 	(ix86_expand_prologue): Likewise.
   22501 	(ix86_handle_fndecl_attribute): Likewise.
   22502 	(ix86_asm_declare_function_name): New function for
   22503 	ASM_DECLARE_FUNCTION_NAME.
   22504 	* config/i386/i386.h (ASM_DECLARE_FUNCTION_NAME): New macro.
   22505 	* config/i386/cygming.h (ASM_DECLARE_FUNCTION_NAME): Removed.
   22506 	(SUBTARGET_ASM_DECLARE_FUNCTION_NAME): New macro.
   22507 	* config/i386/i386-protos.h (ix86_asm_declare_function_name): New.
   22508 	* doc/extend.texi: Adjust documentation about ms_hook_prologue
   22509 	attribute.
   22510 
   22511 2010-07-06  Uros Bizjak  <ubizjak (a] gmail.com>
   22512 
   22513 	* config/i386/i386.md (immediate_operand): New mode attribute.
   22514 
   22515 	(pro_epilogue_adjust_stack_<mode>_1): Macroize insn from
   22516 	pro_epilogue_adjust_stack  and pro_epilogue_adjust_stack_rex64
   22517 	using P mode iterator.
   22518 	(pro_epilogue_adjust_stack_di_2): Rename from
   22519 	pro_epilogue_adjust_stack_rex64_2.
   22520 
   22521 	* config/i386/i386.c (pro_epilogue_adjust_stack): Update for rename.
   22522 
   22523 2010-07-06  Uros Bizjak  <ubizjak (a] gmail.com>
   22524 
   22525 	* config/i386/i386.md (insv): Call gen_movdi_insv1 or gen_movsi_insv1
   22526 	through gen_mov_insv_1 function pointer.
   22527 	(fmod<mode>3): Call gen_truncxf<mode>2_i387_noop_unspec or
   22528 	gen_truncxf<mode>2 through gen_truncxf function pointer.
   22529 	(remainder<mode>3): Ditto.
   22530 	(cmpstrnsi): Rename cmp_insn function pointer to gen_cmp.
   22531 	(allocate_stack): Call gen_allocate_stack_worker_64 or
   22532 	gen_allocate_stack_worker_32 through gen_allocate_stack_worker
   22533 	function pointer.
   22534 	(probe_stack): Call gen_iordi3 or gen_iorsi3 through gen_ior3
   22535 	function pointer.
   22536 
   22537 2010-07-06  Uros Bizjak  <ubizjak (a] gmail.com>
   22538 
   22539 	* config/i386/i386.md (*add<mode>3_cconly_overflow): Use <g>
   22540 	operand constraint instead of <r><i>m.
   22541 
   22542 2010-07-06  Richard Guenther  <rguenther (a] suse.de>
   22543 
   22544 	PR middle-end/44828
   22545 	* convert.c (convert_to_integer): Watch out for overflowing
   22546 	MULT_EXPR as well.
   22547 
   22548 2010-07-05  Jan Hubicka  <jh (a] suse.cz>
   22549 
   22550 	* lto-streamer.c (write_symbol_vec): Rename to ...
   22551 	(write_symbol) ... this one; write only symbol given and when
   22552 	present in cache. Sanity check that what is defined is present
   22553 	in cgraph/varpool with body/finalized decl.
   22554 	(write_symbols_of_kind): Remove.
   22555 	(produce_symtab): Take outputblock and sets; use cgraph/varpool/alias
   22556 	pairs to produce symtab.
   22557 	(produce_asm_for_decls): Update call of produce_symtab; don't do so
   22558 	when doing WPA streaming.
   22559 
   22560 2010-07-05  Jan Hubicka  <jh (a] suse.cz>
   22561 
   22562 	* gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Check that
   22563 	function is still available to fold into.
   22564 
   22565 2010-07-05  Nathan Froyd  <froydnj (a] codesourcery.com>
   22566 
   22567 	* vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro.
   22568 	* function.h (struct_function): Change type of local_decls field
   22569 	to a VEC.
   22570 	(add_local_decl): New function.
   22571 	(FOR_EACH_LOCAL_DECL): New macro.
   22572 	* cfgexpand.c (init_vars_expansion): Adjust for new type of
   22573 	cfun->local_decls.
   22574 	(estimated_stack_frame_size): Likewise.
   22575 	(expand_used_vars): Likewise.
   22576 	* cgraphbuild.c (build_cgraph_edges): Likewise.
   22577 	* function.c (instantiate_decls_1): Likewise.
   22578 	* ipa-struct-reorg.c (build_data_structure): Likewise.
   22579 	* ipa-type-escape.c (analyze_function): Likewise.
   22580 	* lto-streamer-in.c (input_function): Likewise.
   22581 	* lto-streamer-out.c (output_function): Likewise.
   22582 	* tree-ssa-live.c (remove_unused_locals): Likewise.
   22583 	* tree.c (free_lang_data_in_decl): Likewise.
   22584 	(find_decls_types_in_node): Likewise.
   22585 	* omp-low.c (remove_exit_barrier): Likewise.
   22586 	(expand_omp_taskreg): Likewise.
   22587 	(list2chain): Rename to...
   22588 	(vec2chain): ...this.  Adjust.
   22589 	* cgraphunit.c (assemble_thunk): Call add_local_decl.
   22590 	* tree-cfg.c (replace_by_duplicate_decl): Likewise.
   22591 	* gimple-low.c (record_vars_into): Likewise.
   22592 	* tree-inline.c (remap_decls): Likewise.
   22593 	(declare_return_variable): Likewise.
   22594 	(declare_inline_vars): Likewise.
   22595 	(copy_forbidden): Adjust for new type of cfun->local_decls.
   22596 	(add_local_variables): New function.
   22597 	(expand_call_inline): Call it.
   22598 	(tree_function_versioning): Likewise.
   22599 
   22600 2010-07-05  H.J. Lu  <hongjiu.lu (a] intel.com>
   22601 
   22602 	AVX Programming Reference (June, 2010)
   22603 	* config/i386/cpuid.h (bit_F16C): New.
   22604 	(bit_RDRND): Likewise.
   22605 	(bit_FSGSBASE): Likewise.
   22606 
   22607 	* config/i386/i386-builtin-types.def: Add
   22608 	"DEF_FUNCTION_TYPE (UINT16)", function types for
   22609 	float16 <-> float conversions and
   22610 	"DEF_FUNCTION_TYPE (VOID, UINT64)".
   22611 
   22612 	* config/i386/i386-c.c (ix86_target_macros_internal): Support
   22613 	OPTION_MASK_ISA_FSGSBASE, OPTION_MASK_ISA_RDRND and
   22614 	OPTION_MASK_ISA_F16C.
   22615 
   22616 	* config/i386/i386.c (OPTION_MASK_ISA_FSGSBASE_SET): New.
   22617 	(OPTION_MASK_ISA_RDRND_SET): Likewise.
   22618 	(OPTION_MASK_ISA_F16C_SET): Likewise.
   22619 	(OPTION_MASK_ISA_FSGSBASE_UNSET): Likewise.
   22620 	(OPTION_MASK_ISA_RDRND_UNSET): Likewise.
   22621 	(OPTION_MASK_ISA_F16C_UNSET): Likewise.
   22622 	(OPTION_MASK_ISA_AVX_UNSET): Add OPTION_MASK_ISA_F16C_UNSET.
   22623 	(ix86_handle_option): Handle OPT_mfsgsbase, OPT_mrdrnd and OPT_mf16c.
   22624 	(ix86_target_string): Support -mfsgsbase, -mrdrnd and -mf16c.
   22625 	(pta_flags): Add PTA_FSGSBASE, PTA_RDRND and PTA_F16C.
   22626 	(override_options): Handle them.
   22627 	(ix86_valid_target_attribute_inner_p): Handle fsgsbase, rdrnd and f16c.
   22628 	(ix86_builtins): Add IX86_BUILTIN_RDFSBASE32,
   22629 	IX86_BUILTIN_RDFSBASE64, IX86_BUILTIN_RDGSBASE32,
   22630 	IX86_BUILTIN_RDGSBASE64, IX86_BUILTIN_WRFSBASE32,
   22631 	IX86_BUILTIN_WRFSBASE64, IX86_BUILTIN_WRGSBASE32,
   22632 	IX86_BUILTIN_WRGSBASE64, IX86_BUILTIN_RDRAND16,
   22633 	IX86_BUILTIN_RDRAND32, IX86_BUILTIN_RDRAND64,
   22634 	IX86_BUILTIN_CVTPH2PS, IX86_BUILTIN_CVTPH2PS256,
   22635 	IX86_BUILTIN_CVTPS2PH and IX86_BUILTIN_CVTPS2PH256.
   22636 	(bdesc_args): Likewise.
   22637 	(ix86_expand_args_builtin): Handle V8SF_FTYPE_V8HI,
   22638 	V4SF_FTYPE_V8HI, V8HI_FTYPE_V8SF_INT and V8HI_FTYPE_V4SF_INT.
   22639 	(ix86_expand_special_args_builtin): Handle VOID_FTYPE_UINT64,
   22640 	VOID_FTYPE_UNSIGNED, UNSIGNED_FTYPE_VOID and UINT16_FTYPE_VOID.
   22641 	Handle non-memory store.
   22642 
   22643 	* config/i386/i386.h (TARGET_FSGSBASE): New.
   22644 	(TARGET_RDRND): Likewise.
   22645 	(TARGET_F12C): Likewise.
   22646 
   22647 	* config/i386/i386.md (UNSPEC_VCVTPH2PS): New.
   22648 	(UNSPEC_VCVTPS2PH): Likewise.
   22649 	(UNSPECV_RDFSBASE): Likewise.
   22650 	(UNSPECV_RDGSBASE): Likewise.
   22651 	(UNSPECV_WRFSBASE): Likewise.
   22652 	(UNSPECV_WRGSBASE): Likewise.
   22653 	(UNSPECV_RDRAND): Likewise.
   22654 	(rdfsbase<mode>): Likewise.
   22655 	(rdgsbase<mode>): Likewise.
   22656 	(wrfsbase<mode>): Likewise.
   22657 	(wrgsbase<mode>): Likewise.
   22658 	(rdrand<mode>): Likewise.
   22659 
   22660 	* config/i386/i386.opt: Add -mfsgsbase, -mrdrnd and -mf16c.
   22661 
   22662 	* config/i386/immintrin.h (_rdrand_u16): New.
   22663 	(_rdrand_u32): Likewise.
   22664 	(_readfsbase_u32): Likewise.
   22665 	(_readfsbase_u64): Likewise.
   22666 	(_readgsbase_u32): Likewise.
   22667 	(_readgsbase_u64): Likewise.
   22668 	(_writefsbase_u32): Likewise.
   22669 	(_writefsbase_u64): Likewise.
   22670 	(_writegsbase_u32): Likewise.
   22671 	(_writegsbase_u64): Likewise.
   22672 	(_rdrand_u64): Likewise.
   22673 	(_cvtsh_ss): Likewise.
   22674 	(_mm_cvtph_ps): Likewise.
   22675 	(_mm256_cvtph_ps): Likewise.
   22676 	(_cvtss_sh): Likewise.
   22677 	(_mm_cvtps_ph): Likewise.
   22678 	(_mm256_cvtps_ph): Likewise.
   22679 
   22680 	* config/i386/sse.md (vcvtph2ps): New.
   22681 	(*vcvtph2ps_load): Likewise.
   22682 	(vcvtph2ps256): Likewise.
   22683 	(vcvtps2ph): Likewise.
   22684 	(*vcvtps2ph): Likewise.
   22685 	(*vcvtps2ph_store): Likewise.
   22686 	(vcvtps2ph256): Likewise.
   22687 
   22688 	* doc/extend.texi: Document FSGSBASE and RDRND built-in functions.
   22689 
   22690 	* doc/invoke.texi: Document -mfsgsbase, -mrdrnd and -mf16c.
   22691 
   22692 2010-07-05  Joern Rennecke  <joern.rennecke (a] embecosm.com>
   22693 
   22694 	PR bootstrap/44512
   22695 	* genenums.c (main): Output include of insn-constants.h
   22696 	* Makefile.in (insn-enums.o): Depend on insn-constants.h.
   22697 
   22698 2010-07-05  Uros Bizjak  <ubizjak (a] gmail.com>
   22699 
   22700 	* config/i386/i386.c (ix86_gen_allocate_stack_worker): New.
   22701 	(override_options): Initialize it.
   22702 	(ix86_expand_prologue): Use it.
   22703 
   22704 2010-07-05  Jakub Jelinek  <jakub (a] redhat.com>
   22705 
   22706 	* tree-nrv.c (tree_nrv): Set DECL_VALUE_EXPR on found to result.
   22707 
   22708 2010-07-05  Anatoly Sokolov  <aesok (a] post.ru>
   22709 
   22710 	* double-int.h (fit_double_type): Remove declaration.
   22711 	* double-int.c (fit_double_type): Remove function.
   22712 	* tree.h (int_fits_type_p): Adjust prototype.
   22713 	* tree.c (int_fits_type_p): Return bool. Use double_int_fits_to_tree_p
   22714 	instead of fit_double_type.
   22715 	(build_int_cst_type): Use double_int_to_tree and shwi_to_double_int
   22716 	instead of fit_double_type and build_int_cst_wide.
   22717 	* builtins.c (): Use double_int_fits_to_tree_p and double_int_to_tree
   22718 	instead of fit_double_type and build_int_cst_wide.
   22719 	(fold_builtin_object_size): Use double_int_fits_to_tree_p instead
   22720 	of fit_double_type.
   22721 
   22722 2010-07-05  Jan Hubicka  <jh (a] suse.cz>
   22723 
   22724 	* cgraph.h (cgraph_node, cgraph_varpool_node): Update docmentation of
   22725 	in_other_partition.
   22726 	* lto-cgraph.c (referenced_from_other_partition_p,
   22727 	reachable_from_other_partition_p): Use in_other_partition flags.
   22728 	(output_node, output_varpool_node): COMDAT nodes always have private
   22729 	copies and thus are never used from other partition.
   22730 
   22731 2010-07-05  Anatoly Sokolov  <aesok (a] post.ru>
   22732 
   22733 	* config/ia64/ia64.h (MEMORY_MOVE_COST): Remove macro.
   22734 	* config/ia64/t-ia64 (ia64.o): Depend on reload.h.
   22735 	* config/ia64/ia64.c Include reload.h.
   22736 	(ia64_memory_move_cost): New function.
   22737 	(TARGET_MEMORY_MOVE_COST): Define.
   22738 	(ia64_register_move_cost): Replace MEMORY_MOVE_COST with
   22739 	memory_move_cost.
   22740 
   22741 2010-07-05  Sandra Loosemore  <sandra (a] codesourcery.com>
   22742 
   22743 	PR middle-end/42505
   22744 	* tree-ssa-loop-ivopts.c (determine_set_costs): Delete obsolete
   22745 	comments about cost model.
   22746 	(try_add_cand_for):  Add second strategy for choosing initial set
   22747 	based on original IVs, controlled by ORIGINALP argument.
   22748 	(get_initial_solution): Add ORIGINALP argument.
   22749 	(find_optimal_iv_set_1): New function, split from find_optimal_iv_set.
   22750 	(find_optimal_iv_set): Try two different strategies for choosing
   22751 	the IV set, and return the one with lower cost.
   22752 
   22753 2010-07-05  Richard Guenther  <rguenther (a] suse.de>
   22754 
   22755 	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Copy alias info.
   22756 
   22757 2010-07-05  Richard Guenther  <rguenther (a] suse.de>
   22758 
   22759 	* tree.c (reference_alias_ptr_type): New function.
   22760 	* tree.h (reference_alias_ptr_type): Declare.
   22761 	* tree-ssa-loop-ivopts.c (copy_ref_info): Restructure to
   22762 	allow non-TARGET_MEM_REF new refs.
   22763 	(rewrite_use_address): Pass old alias pointer type to create_mem_ref.
   22764 	* tree-ssa-address.c (create_mem_ref_raw): Get alias pointer type.
   22765 	Build a MEM_REF instead of a TARGET_MEM_REF if possible.
   22766 	(create_mem_ref): Get alias pointer type.  Adjust calls to
   22767 	create_mem_ref_raw.
   22768 	(maybe_fold_tmr): Likewise.
   22769 	* tree-flow.h (create_mem_ref): Adjust prototype.
   22770 
   22771 2010-07-05  Jakub Jelinek  <jakub (a] redhat.com>
   22772 
   22773 	PR c++/44808
   22774 	* gimplify.c (gimplify_modify_expr): Only SET_DECL_DEBUG_EXPR if
   22775 	*from_p is VAR_DECL.
   22776 
   22777 2010-07-05  Nathan Froyd  <froydnj (a] codesourcery.com>
   22778 
   22779 	* tree.h (build_call_list): Remove.
   22780 	* tree.c (build_call_list): Remove.
   22781 
   22782 2010-07-05  Richard Guenther  <rguenther (a] suse.de>
   22783 
   22784 	* double-int.h (double_int_sub): Declare.
   22785 	* double-int.c (double_int_sub): New function.
   22786 	* dwarf2out.c (field_byte_offset): Use it.
   22787 	* fixed-value.c (do_fixed_add): Likewise.
   22788 	(do_fixed_multiply): Likewise.
   22789 	(do_fixed_divide): Likewise.
   22790 	* tree-predcom.c (add_ref_to_chain): Likewise.
   22791 	(determine_roots_comp): Likewise.
   22792 	* tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
   22793 
   22794 2010-07-05  Nathan Froyd  <froydnj (a] codesourcery.com>
   22795 
   22796 	* vec.h (VEC_splice, VEC_safe_splice): New macros.  Add function
   22797 	implementations.
   22798 
   22799 2010-07-05  Bernd Schmidt  <bernds (a] codesourcery.com>
   22800 
   22801 	* config/arm/arm.c (get_arm_condition_code): Remove CC_NOTBmode case.
   22802 	* arm-modes.def (CC_NOTB): Don't define.
   22803 	* config/arm/arm.md (arm_adddi3): Generate canonical RTL.
   22804 	(adddi_sesidi_di, adddi_zesidi_di): Likewise.
   22805 	(LTUGEU): New code_iterator.
   22806 	(cnb, optab): New corresponding code_attrs.
   22807 	(addsi3_carryin_<optab>): Renamed from addsi3_carryin.  Change pattern
   22808 	to canonical form.  Operands 1 and 2 are commutative.  Parametrize
   22809 	using LTUGEU.
   22810 	(addsi3_carryin_shift_<optab>): Likewise.
   22811 	(addsi3_carryin_alt2_<optab>): Renamed from addsi3_carryin_alt2.
   22812 	Operands 1 and 2 are commutative.  Parametrize using LTUGEU.
   22813 	(addsi3_carryin_alt1, addsi3_carryin_alt3): Remove.
   22814 	(subsi3_compare): Renamed from subsi3_compare0_c.
   22815 	Change CC_NOTB to CC.
   22816 	(arm_subsi3_insn): Allow constants for operand 0.
   22817 	(compare_scc peephole for eq case): New.
   22818 	(compare_scc splitters): Change CC_NOTB to CC.
   22819 
   22820 2010-07-05  Richard Guenther  <rguenther (a] suse.de>
   22821 
   22822 	* tree-ssa-loop-im.c (for_each_index): Do not handle
   22823 	ALIGN_INDIRECT_REF.
   22824 	(gen_lsm_tmp_name): Likewise.
   22825 	* tree-dump.c (dequeue_and_dump): Likewise.
   22826 	* tree-pretty-print.c (dump_generic_node): Likewise.
   22827 	(op_code_prio): Likewise.
   22828 	(op_symbol_code): Likewise.
   22829 	* tree.c (staticp): Likewise.
   22830 	(build1_stat): Likewise.
   22831 	* tree.h (INDIRECT_REF_P): Likewise.
   22832 	* fold-const.c (maybe_lvalue_p): Likewise.
   22833 	(operand_equal_p): Likewise.
   22834 	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
   22835 	(ao_ref_init_from_vn_reference): Likewise.
   22836 	* tree-ssa-loop-ivopts.c (idx_find_step): Likewise.
   22837 	(find_interesting_uses_address): Likewise.
   22838 	* dwarf2out.c (loc_list_from_tree): Likewise.
   22839 	* gimplify.c (gimplify_expr): Likewise.
   22840 	* tree-eh.c (tree_could_trap_p): Likewise.
   22841 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
   22842 	* cfgexpand.c (expand_debug_expr): Likewise.
   22843 	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
   22844 	* tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
   22845 	* tree-cfg.c (verify_types_in_gimple_min_lval): Likewise.
   22846 	* config/rs6000/rs6000 (rs6000_check_sdmode): Likewise.
   22847 	* tree-ssa-operands.c (get_expr_operands): Likewise.
   22848 	* expr.c (safe_from_p): Likewise.
   22849 	(expand_expr_real_1): Likewise.  TER BIT_AND_EXPRs into MEM_REFs.
   22850 	* tree-vect-data-refs.c (vect_setup_realignment): Build
   22851 	BIT_AND_EXPR and MEM_REF instead of ALIGN_INDIRECT_REF.
   22852 	* tree-vect-stmts.c (vectorizable_load): Likewise.
   22853 	* tree.def (ALIGN_INDIRECT_REF): Remove.
   22854 
   22855 2010-07-05  Richard Guenther  <rguenther (a] suse.de>
   22856 
   22857 	PR tree-optimization/44784
   22858 	* tree-ssa-pre.c (bitmap_find_leader): Fix dominance check
   22859 	for inserted stmts.
   22860 	(find_or_generate_expression): Fix SCCVN insertion check.
   22861 
   22862 2010-07-05  Nathan Sidwell  <nathan (a] codesourcery.com>
   22863 
   22864 	* config/rs6000/e500crtsavg64gprctr.asm: Correct done label name.
   22865 	* config/rs6000/e500crtsav64gprctr.asm: Likewise.
   22866 	* config/rs6000/e500crtres64gprctr.asm: Likewise. Add FUNC_END
   22867 	directives.
   22868 
   22869 2010-07-05  Ira Rosen  <irar (a] il.ibm.com>
   22870 
   22871 	* tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Skip
   22872 	statements that are not vectorized.
   22873 	* tree-vect-stmts.c (vect_get_load_cost): Update the value stored
   22874 	in INSIDE_COST.
   22875 
   22876 2010-07-05  Mikael Pettersson  <mikpe (a] it.uu.se>
   22877 
   22878 	PR bootstrap/44820
   22879 	* config/arm/arm.c (arm_attr_length_move_neon): Delete regno.
   22880 
   22881 2010-07-05  Richard Guenther  <rguenther (a] suse.de>
   22882 
   22883 	* tree-cfg.c (verify_gimple_return): Handle DECL_BY_REFERENCE
   22884 	RESULT_DECLs properly.
   22885 
   22886 2010-07-04  H.J. Lu  <hongjiu.lu (a] intel.com>
   22887 
   22888 	PR rtl-optimization/44695
   22889 	* config/i386/i386.md (extract_code): Removed.
   22890 	(<u>divmodqi4): Likewise.
   22891 	(divmodqi4): New.
   22892 	(udivmodqi4): Likewise.
   22893 	(divmodhiqi3): Change div/mod to HImode and extend operand 2 to HImode.
   22894 	(udivmodhiqi3): Likewise.
   22895 
   22896 2010-07-04  Jan Hubicka  <jh (a] suse.cz>
   22897 
   22898 	* lto-cgraph.c (input_edge): Do not care about resolution decisions.
   22899 
   22900 2010-07-04  Jan Hubicka  <jh (a] suse.cz>
   22901 
   22902 	* cgraphunit.c (init_cgraph): Only initialize dump file if it
   22903 	is not already initialized.
   22904 
   22905 2010-07-04  Richard Sandiford  <rdsandiford (a] googlemail.com>
   22906 
   22907 	* optabs.h (reload_in_optab, reload_out_optab, code_to_optab)
   22908 	(vcond_gen_code, vcondu_gen_code, movmem_optab, setmem_optab)
   22909 	(cmpstr_optab, cmpstrn_optab, cmpmem_optab, sync_add_optab)
   22910 	(sync_sub_optab, sync_ior_optab, sync_and_optab, sync_xor_optab)
   22911 	(sync_nand_optab, sync_old_add_optab, sync_old_sub_optab)
   22912 	(sync_old_ior_optab, sync_old_and_optab, sync_old_xor_optab)
   22913 	(sync_old_nand_optab, sync_new_add_optab, sync_new_sub_optab)
   22914 	(sync_new_ior_optab, sync_new_and_optab, sync_new_xor_optab)
   22915 	(sync_new_nand_optab): Redefine as macros.
   22916 	(sync_compare_and_swap, sync_lock_test_and_set, sync_lock_release):
   22917 	Delete.
   22918 	(direct_optab_index): New enum.
   22919 	(direct_optab_d): New structure.
   22920 	(direct_optab): New typedef.
   22921 	(direct_optab_table): Declare.
   22922 	(direct_optab_handler, set_direct_optab_handler): New functions.
   22923 	(sync_compare_and_swap_optab, sync_lock_test_and_set_optab)
   22924 	(sync_lock_release_optab): New macros.
   22925 	* optabs.c (direct_optab_table): New variable.
   22926 	(movcc_gen_code, vcond_gen_code, vcondu_gen_code): Delete.
   22927 	(prepare_cmp_insn): Use direct_optab_handler for cmpmem_optab,
   22928 	cmpstr_optab and cmpstrn_optab.
   22929 	(emit_conditional_move): Likewise for movcc_optab.
   22930 	(can_conditionally_move_p): Likewise for movcc_gen_code.
   22931 	(init_insn_codes): Clear direct_optab_table.
   22932 	(init_optabs): Don't initialize the new "direct optabs" here.
   22933 	(get_vcond_icode): Use direct_optab_handler for vcondu_gen_code and
   22934 	vcond_gen_code.
   22935 	(expand_val_compare_and_swap): Likewise sync_compare_and_swap_optab.
   22936 	(expand_bool_compare_and_swap): Likewise sync_compare_and_swap_optab.
   22937 	(expand_compare_and_swap_loop): Likewise sync_compare_and_swap_optab.
   22938 	(expand_sync_operation): Likewise other sync_*_optabs.
   22939 	(expand_sync_fetch_operation): Likewise.  Rename sync_compare_and_swap
   22940 	to sync_compare_and_swap_optab.
   22941 	(expand_sync_lock_test_and_set): Use direct_optab_handler for
   22942 	sync_lock_test_and_set and sync_compare_and_swap, adding "_optab"
   22943 	to the names of both.
   22944 	* builtins.c (expand_builtin_strcmp): Use direct_optab_handler for
   22945 	cmpstr_optab and cmpstrn_optab.
   22946 	(expand_builtin_lock_release): Likewise sync_lock_release.
   22947 	* expr.c (movmem_optab, setmem_optab, cmpstr_optab, cmpstrn_optab)
   22948 	(cmpmem_optab, sync_add_optab, sync_sub_optab, sync_ior_optab)
   22949 	(sync_and_optab, sync_xor_optab, sync_nand_optab, sync_old_add_optab)
   22950 	(sync_old_sub_optab, sync_old_ior_optab, sync_old_and_optab)
   22951 	(sync_old_xor_optab, sync_old_nand_optab, sync_new_add_optab)
   22952 	(sync_new_sub_optab, sync_new_ior_optab, sync_new_and_optab)
   22953 	(sync_new_xor_optab, sync_new_nand_optab, sync_compare_and_swap)
   22954 	(sync_lock_test_and_set, sync_lock_release): Delete.
   22955 	(emit_block_move_via_movmem): Use direct_optab_handler for movmem_optab.
   22956 	(emit_block_move_via_setmem): Use direct_optab_handler for setmem_optab.
   22957 	* genopinit.c (optabs): Use set_direct_optab_handler for the new
   22958 	macro optabs.
   22959 	* omp-low.c (expand_omp_atomic_fetch_op): Update the type of
   22960 	the "optab" local variable.  Use direct_optab_handler for optab and
   22961 	sync_compare_and_swap_optab.
   22962 	* reload1.c (reload_in_optab, reload_out_optab): Delete.
   22963 	* targhooks.c (default_secondary_reload): Use direct_optab_handler for
   22964 	reload_in_optab and reload_out_optab.
   22965 	* config/alpha/alpha.c (alpha_secondary_reload): Likewise.
   22966 	* config/frv/frv.c (frv_alloc_temp_reg): Likewise.
   22967 	* config/pa/pa.c (pa_secondary_reload): Likewise.
   22968 	* java/builtins.c (compareAndSwapInt_builtin): Use direct_optab_handler
   22969 	for sync_compare_and_swap, renaming it to sync_compare_and_swap_optab.
   22970 	(compareAndSwapLong_builtin, compareAndSwapObject_builtin): Likewise.
   22971 	(VMSupportsCS8_builtin): Likewise.
   22972 
   22973 2010-07-04  Richard Sandiford  <rdsandiford (a] googlemail.com>
   22974 
   22975 	* optabs.h (optab_handlers): Change type of insn_code to int.
   22976 	(optab_handler, set_optab_handler, convert_optab_handler)
   22977 	(set_convert_optab_handler): Treat the insn_code field as "insn_code -
   22978 	CODE_FOR_nothing".
   22979 	* optabs.c (optab_table, convert_optab_table): Always zero-initialize.
   22980 	(init_insn_codes): Zero both the above arrays.
   22981 	(init_optabs): Never call init_insn_codes first time around.
   22982 
   22983 2010-07-04  Richard Sandiford  <rdsandiford (a] googlemail.com>
   22984 
   22985 	* optabs.h (optab_handler, convert_optab_handler): Turn into
   22986 	inline functions that return an insn code.
   22987 	(set_optab_handler, set_convert_optab_handler): New functions.
   22988 	* builtins.c: Replace optab_handler(X)->insn_code with
   22989 	optab_handler or set_optab_handler thoughout.  Likewise
   22990 	convert_optab_handler(X)->insn_code with convert_optab_handler
   22991 	and set_convert_optab_handler.
   22992 	* expmed.c, expr.c, genopinit.c, ifcvt.c, optabs.c, reload.c,
   22993 	reload1.c, stmt.c, targhooks.c, tree-ssa-loop-prefetch.c,
   22994 	tree-ssa-math-opts.c, tree-vect-data-refs.c, tree-vect-generic.c,
   22995 	tree-vect-loop.c, tree-vect-patterns.c, tree-vect-slp.c,
   22996 	tree-vect-stmts.c, config/m32c/m32c.c, config/rs6000/rs6000.c,
   22997 	config/spu/spu.c: Likewise.
   22998 
   22999 2010-07-04  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   23000 
   23001 	PR target/44531
   23002 	* config.gcc (sh*-*-*): Use regular expressions instead of
   23003 	the 'i' modifier for sed substitutions.
   23004 
   23005 2010-07-04  Jeremie Salvucci  <jeremie.salvucci (a] free.fr>
   23006 
   23007 	* gimple.c (gimple_body): Comments added.
   23008 
   23009 2010-07-04  Richard Guenther  <rguenther (a] suse.de>
   23010 
   23011 	PR middle-end/44809
   23012 	* gimplify.c (gimplify_expr): Properly build a MEM_REF instead
   23013 	of an INDIRECT_REF.
   23014 
   23015 2010-07-04  Richard Guenther  <rguenther (a] suse.de>
   23016 
   23017 	PR tree-optimization/44479
   23018 	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Avoid
   23019 	extra SSA name copy statements which preserves points-to
   23020 	information.
   23021 	* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
   23022 	Copy points-to information for all pointers.  Properly handle
   23023 	MEM_REFs.
   23024 	(vect_create_data_ref_ptr): Likewise.  Avoid extra SSA name
   23025 	copy statements.
   23026 	* Makefile.in (tree-ssa-loop-ivopts.o): Add tree-ssa-propagate.h
   23027 	dependency.
   23028 
   23029 2010-07-04  Richard Guenther  <rguenther (a] suse.de>
   23030 
   23031 	PR middle-end/44785
   23032 	* tree-inline.c (initialize_inlined_parameters): Do not
   23033 	re-use pointer-map slot over remap_type call.
   23034 
   23035 2010-07-04  Richard Guenther  <rguenther (a] suse.de>
   23036 
   23037 	* tree-ssa-sccvn.c (vn_reference_lookup_3): Fix last commit.
   23038 
   23039 2010-07-04  Richard Guenther  <rguenther (a] suse.de>
   23040 
   23041 	PR tree-optimization/44656
   23042 	* tree-ssa-sccvn.c (vn_reference_lookup_3): Try disambiguation
   23043 	again after value-replacing in the defintions lhs.
   23044 
   23045 2010-07-04  Ira Rosen  <irar (a] il.ibm.com>
   23046 	    Revital Eres  <eres (a] il.ibm.com>
   23047 
   23048 	* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST):
   23049 	Document new arguments.
   23050 	* doc/tm.texi: Regenerate.
   23051 	* targhooks.c (default_builtin_vectorization_cost): Add new arguments.
   23052 	Handle unaligned store.
   23053 	* targhooks.h (default_builtin_vectorization_cost): Add new arguments.
   23054 	* target.def (builtin_vectorization_cost): Add new arguments.
   23055 	* target.h (enum vect_cost_for_stmt): Add unaligned_store.
   23056 	* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Take number
   23057 	of iterations of prolog loop directly from LOOP_PEELING_FOR_ALIGNMENT.
   23058 	(vect_vfa_segment_size): Fix indentation.
   23059 	* tree-vectorizer.h (struct _vect_peel_info): New.
   23060 	(struct _vect_peel_extended_info): New.
   23061 	(struct _loop_vec_info): Add new field for peeling hash table and a
   23062 	macro for its access.
   23063 	(VECT_MAX_COST): Define.
   23064 	(vect_get_load_cost): Declare.
   23065 	(vect_get_store_cost, vect_get_known_peeling_cost,
   23066 	vect_get_single_scalar_iteraion_cost): Likewise.
   23067 	(vect_supportable_dr_alignment): Add new argument.
   23068 	* tree-vect-loop.c (new_loop_vec_info): Initialize peeling hash table
   23069 	field.
   23070 	(destroy_loop_vec_info): Free peeling hash table.
   23071 	(vect_analyze_loop_form): Update call to builtin_vectorization_cost.
   23072 	(vect_analyze_loop): Move vect_enhance_data_refs_alignment before
   23073 	vect_analyze_slp. Fix indentation.
   23074 	(vect_get_single_scalar_iteraion_cost): New function.
   23075 	(vect_get_known_peeling_cost): Likewise.
   23076 	(vect_estimate_min_profitable_iters): Rename byte_misalign to npeel.
   23077 	Call vect_get_single_scalar_iteraion_cost instead of cost_for_stmt per
   23078 	statement. Move outside cost calculation inside unknown peeling case.
   23079 	Call vect_get_known_peeling_cost for known amount of peeling.
   23080 	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Add data
   23081 	reference to the print message of forced alignment.
   23082 	(vect_verify_datarefs_alignment): Update call to
   23083 	vect_supportable_dr_alignment.
   23084 	(vect_get_data_access_cost): New function.
   23085 	(vect_peeling_hash, vect_peeling_hash_eq, vect_peeling_hash_insert,
   23086 	vect_peeling_hash_get_most_frequent, vect_peeling_hash_get_lowest_cost,
   23087 	vect_peeling_hash_choose_best_peeling): Likewise.
   23088 	(vect_enhance_data_refs_alignment): Fix documentation. Use hash table
   23089 	to store all the accesses in the loop and find best possible access to
   23090 	align using peeling for known alignment case. For unknown alignment
   23091 	check if stores are preferred or if peeling is worthy.
   23092 	(vect_find_same_alignment_drs): Analyze pairs of loads too.
   23093 	(vect_supportable_dr_alignment): Add new argument and check aligned
   23094 	accesses according to it.
   23095 	* tree-vect-stmts.c (vect_get_stmt_cost): New function.
   23096 	(cost_for_stmt): Call vect_get_stmt_cost.
   23097 	(vect_model_simple_cost): Likewise.
   23098 	(vect_model_store_cost): Call vect_get_stmt_cost. Call
   23099 	vect_get_store_cost to calculate the cost of the statement.
   23100 	(vect_get_store_cost): New function.
   23101 	(vect_model_load_cost): Call vect_get_stmt_cost. Call
   23102 	vect_get_load_cost to calculate the cost of the statement.
   23103 	(vect_get_load_cost): New function.
   23104 	(vectorizable_store): Update call to vect_supportable_dr_alignment.
   23105 	(vectorizable_load): Likewise.
   23106 	* config/spu/spu.c (spu_builtin_vectorization_cost): Add new arguments.
   23107 	* config/i386/i386.c (ix86_builtin_vectorization_cost): Add new
   23108 	arguments. Handle unaligned store.
   23109 	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): New.
   23110 	(rs6000_builtin_support_vector_misalignment): Return true for word and
   23111 	double word alignments for VSX.
   23112 	* tree-vect-slp.c (vect_build_slp_tree): Update calls to
   23113 	vect_supportable_dr_alignment and builtin_vectorization_cost.
   23114 
   23115 2010-07-03  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   23116 
   23117 	PR target/44597
   23118 	* config/pa/predicates.md (prefetch_cc_operand): Remove.
   23119 	(prefetch_nocc_operand): Likewise.
   23120 	* config/pa/pa.md (prefetch): Revise expander to use prefetch_20.
   23121 	(prefetch_20): New insn.
   23122 	(prefetch_cc): Remove.
   23123 	(prefetch_nocc): Likewise.
   23124 
   23125 2010-07-03  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   23126 
   23127 	* expr.c (vector_mode_valid_p): Move to c-common.c.
   23128 	* expr.h (vector_mode_valid_p): Do not declare here.
   23129 	* system.h: Poison GCC_EXPR_H in front-ends.
   23130 	* Makefile.in: Update dependencies.
   23131 
   23132 2010-07-03  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   23133 
   23134 	PR target/44705
   23135 	* config/pa/pa.h (GO_IF_LEGITIMATE_ADDRESS): Reject LABEL_REF.
   23136 
   23137 2010-07-03  Jan Hubicka  <jh (a] suse.cz>
   23138 
   23139 	* timevar.def (TV_OUT_OF_SSA, TV_VAR_EXPAND, TV_POST_EXPAND,
   23140 	TV_VAR_TRACKING_DATAFLOW, TV_VAR_TRACKING_EMIT): New timevars.
   23141 	* cfgexpand.c (gimple_expand_cfg): Use new timevars.
   23142 	* var-tracking.c (vt_find_locations, variable_tracking_main_1):
   23143 	Likewise.
   23144 
   23145 	* lto-stramer-out.c (pass_ipa_lto_gimple_out, pass_ipa_lto_finish_out):
   23146 	Update timevars.V
   23147 	* timevar.def (TV_IPA_LTO_GIMPLE_IO, TV_IPA_LTO_DECL_IO): Remove.
   23148 	(TV_IPA_LTO_GIMPLE_IN, TV_IPA_LTO_GIMPLE_OUT, TV_IPA_LTO_DECL_IN,
   23149 	TV_IPA_LTO_DECL_OUT): New.
   23150 	* lto.c (read_cgraph_and_symbols, materialize_cgraph): Update timevars.
   23151 
   23152 2010-07-03  Jan Hubicka  <jh (a] suse.cz>
   23153 
   23154 	* ipa-inline.c (update_edge_key): Break out from ...
   23155 	update_callers_keys): ... here;
   23156 	(update_callee_keys): Update only the edges from caller to callee.
   23157 	(update_all_calle_keys): Do what update_calle_keys did.
   23158 	(decide_inlining_of_small_functions): Avoid recomputing of all
   23159 	callees when badness increase.
   23160 
   23161 2010-07-03  Jie Zhang  <jie (a] codesourcery.com>
   23162 
   23163 	* config/arm/arm.c (arm_attr_length_move_neon): New.
   23164 	* config/arm/arm-protos.h (arm_attr_length_move_neon): Declare.
   23165 	* config/arm/neon.md (define_mode_attr V_slen): Remove.
   23166 	(neon_mov<mode> for VSTRUCT): Use arm_attr_length_move_neon
   23167 	to compute length attribute.
   23168 
   23169 2010-07-03  Jie Zhang  <jie (a] codesourcery.com>
   23170 
   23171 	* config/arm/vfp.md (*push_multi_vfp): Use vfp_register_operand
   23172 	as predicate for operand 1 and remove its constraint.
   23173 	* config/arm/predicates.md (vfp_register_operand): New.
   23174 	* config/arm/arm.md (*push_multi): Remove the constraint of operand 1.
   23175 	(*push_fp_multi): Likewise.
   23176 
   23177 2010-07-03  Eric Botcazou  <ebotcazou (a] adacore.com>
   23178 
   23179 	* gimplify.c (mostly_copy_tree_r): Deal with BIND_EXPR.
   23180 
   23181 2010-07-03  Jan Hubicka  <jh (a] suse.cz>
   23182 
   23183 	* config/i386/i386.c (override_options): Revert accidental commit.
   23184 
   23185 2010-07-02  Le-Chun Wu  <lcwu (a] google.com>
   23186 
   23187 	PR c++/44128
   23188 	* doc/invoke.texi: Update documentation of -Wshadow.
   23189 
   23190 2010-07-02  Daniel Jacobowitz  <dan (a] codesourcery.com>
   23191 	    Julian Brown  <julian (a] codesourcery.com>
   23192 	    Sandra Loosemore  <sandra (a] codesourcery.com>
   23193 
   23194 	* config/arm/arm.c (arm_canonicalize_comparison): Canonicalize DImode
   23195 	comparisons.  Adjust to take both operands.
   23196 	(arm_select_cc_mode): Handle DImode comparisons.
   23197 	(arm_gen_compare_reg): Generate a scratch register for DImode
   23198 	comparisons which require one.  Use xor for Thumb equality checks.
   23199 	(arm_const_double_by_immediates): New.
   23200 	(arm_print_operand): Allow 'Q' and 'R' for constants.
   23201 	(get_arm_condition_code): Handle new CC_CZmode and CC_NCVmode.
   23202 	* config/arm/arm.h (CANONICALIZE_COMPARISON): Always use
   23203 	arm_canonicalize_comparison.
   23204 	* config/arm/arm-modes.def: Add CC_CZmode and CC_NCVmode.
   23205 	* config/arm/arm-protos.h (arm_canonicalize_comparison): Update
   23206 	prototype.
   23207 	(arm_const_double_by_immediates): Declare.
   23208 	* config/arm/constraints.md (Di): New constraint.
   23209 	* config/arm/predicates.md (arm_immediate_di_operand)
   23210 	(arm_di_operand, cmpdi_operand): New.
   23211 	* config/arm/arm.md (cbranchdi4): Handle non-Cirrus also.
   23212 	(*arm_cmpdi_insn, *arm_cmpdi_unsigned)
   23213 	(*arm_cmpdi_zero, *thumb_cmpdi_zero): New insns.
   23214 	(cstoredi4): Handle non-Cirrus also.
   23215 
   23216 2010-07-02  Julian Brown  <julian (a] codesourcery.com>
   23217 	    Sandra Loosemore  <sandra (a] codesourcery.com>
   23218 
   23219 	PR target/43703
   23220 	* config/arm/vec-common.md (add<mode>3, sub<mode>3, smin<mode>3)
   23221 	(smax<mode>3): Disable for NEON float modes when
   23222 	flag_unsafe_math_optimizations is false.
   23223 	* config/arm/neon.md (*add<mode>3_neon, *sub<mode>3_neon)
   23224 	(*mul<mode>3_neon)
   23225 	(mul<mode>3add<mode>_neon, mul<mode>3neg<mode>add<mode>_neon)
   23226 	(reduc_splus_<mode>, reduc_smin_<mode>, reduc_smax_<mode>): Disable
   23227 	for NEON float modes when flag_unsafe_math_optimizations is false.
   23228 	(quad_halves_<code>v4sf): Only enable if
   23229 	flag_unsafe_math_optimizations is true.
   23230 	* doc/invoke.texi (ARM Options): Add note about floating point
   23231 	vectorization requiring -funsafe-math-optimizations.
   23232 
   23233 2010-07-02  Sandra Loosemore  <sandra (a] codesourcery.com>
   23234 	    Julian Brown  <julian (a] codesourcery.com>
   23235 
   23236 	* config/arm/neon.md (UNSPEC_VABA): Delete.
   23237 	(UNSPEC_VABAL): Delete.
   23238 	(UNSPEC_VABS): Delete.
   23239 	(UNSPEC_VMUL_N): Delete.
   23240 	(adddi3_neon): New.
   23241 	(subdi3_neon): New.
   23242 	(mul<mode>3add<mode>_neon): Make the pattern named.
   23243 	(mul<mode>3neg<mode>add<mode>_neon): Likewise.
   23244 	(neon_vadd<mode>): Replace with define_expand, and move the remaining
   23245 	unspec parts...
   23246 	(neon_vadd<mode>_unspec): ...to this.
   23247 	(neon_vmla<mode>, neon_vmla<mode>_unspec): Likewise.
   23248 	(neon_vlms<mode>, neon_vmls<mode>_unspec): Likewise.
   23249 	(neon_vsub<mode>, neon_vsub<mode>_unspec): Likewise.
   23250 	(neon_vaba<mode>): Rewrite in terms of vabd.
   23251 	(neon_vabal<mode>): Rewrite in terms of vabdl.
   23252 	(neon_vabs<mode>): Rewrite without unspec.
   23253 	* config/arm/arm.md (*arm_adddi3): Disable for TARGET_NEON.
   23254 	(*arm_subdi3): Likewise.
   23255 	* config/arm/neon.ml (Vadd, Vsub): Split out 64-bit variants and add
   23256 	No_op attribute to disable assembly output checks.
   23257 	* config/arm/arm_neon.h: Regenerated.
   23258 	* doc/arm-neon-intrinsics.texi: Regenerated.
   23259 
   23260 2010-07-02  Jan Hubicka  <jh (a] suse.cz>
   23261 
   23262 	* ipa-split.c (split_function): For aggregate values, set the return
   23263 	slot optimization bit.  When passing DECL_BY_REFERENCE, produce
   23264 	*<retval> = fncall.part ().
   23265 	(execute_split_functions): Do not care about DECL_BY_REFERENCE.
   23266 
   23267 2010-07-02  Sandra Loosemore  <sandra (a] codesourcery.com>
   23268 
   23269 	* config/arm/neon.md (UNSPEC_VAND): Delete.
   23270 	(UNSPEC_VBIC): Delete.
   23271 	(UNSPEC_VCLZ): Delete.
   23272 	(UNSPEC_VCNT): Delete.
   23273 	(UNSPEC_VEOR): Delete.
   23274 	(UNSPEC_VORN): Delete.
   23275 	(UNSPEC_VORR): Delete.
   23276 	(iordi3_neon): Rewrite RTL without unspec.  Add alternatives to handle
   23277 	core registers too.
   23278 	(anddi3_neon): Likewise.
   23279 	(orndi3_neon): Likewise.
   23280 	(bicdi3_neon): Likewise.
   23281 	(xordi3_neon): Likewise.
   23282 	(neon_vclz<mode>): Rewrite as define_expand and clz<mode>2 to get
   23283 	rid of unspec and handle unused operand.
   23284 	(neon_vcnt<mode>): Similarly, with popcount<mode>2.
   23285 	* config/arm/predicates.md (imm_for_neon_logic_operand):
   23286 	Require TARGET_NEON.
   23287 	(imm_for_neon_inv_logic_operand): Likewise.
   23288 	* config/arm/arm.md (define_split for logical_binary_operator):
   23289 	Disable for NEON registers.
   23290 	(anddi3): Add new define_expand, and rename the insn.  Disable
   23291 	this insn for NEON, where anddi3_neon now applies.
   23292 	(*anddi_notdi_di): Disable for TARGET_NEON, where bicdi3_neon applies.
   23293 	(iordi3): As for anddi3.
   23294 	(xordi3): Likewise.
   23295 	* config/arm/neon.ml (Vand): Split DImode variants and mark them
   23296 	as No_op to disable testing for exact instruction match.
   23297 	(Vorr): Likewise.
   23298 	(Veor): Likewise.
   23299 	(Vbic): Likewise.
   23300 	(Vorn): Likewise.
   23301 	* config/arm/arm_neon.h: Regenerated.
   23302 	* doc/arm-neon-intrinsics.texi: Regenerated.
   23303 
   23304 2010-07-02  Eric Botcazou  <ebotcazou (a] adacore.com>
   23305 
   23306 	* expr.h (emit_stack_probe): Declare.
   23307 	* explow.c (emit_stack_probe): Make global.
   23308 	(anti_adjust_stack_and_probe): Fix comments.
   23309 	* config/sparc/linux.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
   23310 	* config/sparc/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
   23311 	* config/sparc/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
   23312 	* config/sparc/sparc.c: Include except.h.
   23313 	(sparc_emit_probe_stack_range): New function.
   23314 	(output_probe_stack_range): Likewise.
   23315 	(sparc_expand_prologue): Invoke sparc_emit_probe_stack_range if static
   23316 	built-in stack checking is enabled.
   23317 	* config/sparc/sparc-protos.h (output_probe_stack_range): Declare.
   23318 	* config/sparc/sparc.md (UNSPECV_PROBE_STACK_RANGE): New constant.
   23319 	(probe_stack_range): New insn.
   23320 
   23321 2010-07-02  Richard Guenther  <rguenther (a] suse.de>
   23322 
   23323 	PR target/43958
   23324 	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Use pointer arithmetic
   23325 	for argument alignment.
   23326 
   23327 2010-07-02  Jan Hubicka  <jh (a] suse.cz>
   23328 
   23329 	* ipa-split.c (verify_non_ssa_vars): Break out from ...; perform DFS
   23330 	walk backwards from entry_bb to check only those basic block of header
   23331 	that might lead to execution of split part.
   23332 	(consider_split) ... here.
   23333 	(find_return_bb): Allow assignment in return BB.
   23334 	(find_retval): New.
   23335 	(split_function): Fix name of cloned function; take care of updating
   23336 	return value in return_bb containing move.
   23337 
   23338 2010-07-02  Andreas Schwab  <schwab (a] linux-m68k.org>
   23339 
   23340 	PR target/44771
   23341 	* config/m68k/m68k.c (m68k_expand_prologue): Remove set but not
   23342 	used variable insn.
   23343 
   23344 2010-07-02  Eric Botcazou  <ebotcazou (a] adacore.com>
   23345 
   23346 	* implicit-zee.c (combine_reaching_defs): Fix long lines.
   23347 	(is_set_with_extension_DI): Delete.
   23348 	(struct zero_extend_info): New structure.
   23349 	(add_removable_zero_extend): New function.
   23350 	(find_removable_zero_extends): Use note_stores to find SETs.
   23351 	(find_and_remove_ze): Fix long line, remove superfluous parentheses.
   23352 
   23353 2010-07-02  Changpeng Fang  <changpeng.fang (a] amd.com>
   23354 
   23355 	* tree-ssa-loop-prefetch.c (compute_miss_rate): Rename to
   23356 	is_miss_rate_acceptable. Pull total_positions computation
   23357 	out of the loops.  Early return if miss_positions exceeds
   23358 	the acceptable threshold.
   23359 	* tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Call
   23360 	is_miss_rate_acceptable after renaming of compute_miss_rate.
   23361 
   23362 2010-07-02  Changpeng Fang  <changpeng.fang (a] amd.com>
   23363 
   23364 	PR middle-end/44576
   23365 	* tree-ssa-loop-prefetch.c (compute_miss_rate): Return 1000 (out
   23366 	of 1000) for miss rate if the address diference is greater than or
   23367 	equal to the cache line size (the two reference will never hit the
   23368 	same cache line).
   23369 
   23370 2010-07-02  Bernd Schmidt  <bernds (a] codesourcery.com>
   23371 
   23372 	PR target/42835
   23373 	* config/arm/arm-modes.def (CC_NOTB): New mode.
   23374 	* config/arm/arm.c (get_arm_condition_code): Handle it.
   23375 	* config/arm/thumb2.md (thumb2_compare_scc): Delete pattern.
   23376 	* config/arm/arm.md (subsi3_compare0_c): New pattern.
   23377 	(compare_scc): Now a define_and_split.  Add a number of extra
   23378 	splitters before it.
   23379 
   23380 	PR target/42172
   23381 	* config/arm/arm.c (thumb1_rtx_costs): Improve support for SIGN_EXTEND
   23382 	and ZERO_EXTEND.
   23383 	(arm_rtx_costs_1): Likewise.
   23384 	(arm_size_rtx_costs): Use arm_rtx_costs_1 for these codes.
   23385 	* config/arm/arm.md (is_arch6): New attribute.
   23386 	(zero_extendhisi2, zero_extendqisi2, extendhisi2,
   23387 	extendqisi2): Tighten the code somewhat, avoiding invalid
   23388 	RTL to occur in the expander patterns.
   23389 	(thumb1_zero_extendhisi2): Merge with thumb1_zero_extendhisi2_v6.
   23390 	(thumb1_zero_extendhisi2_v6): Delete.
   23391 	(thumb1_extendhisi2): Merge with thumb1_extendhisi2_v6.
   23392 	(thumb1_extendhisi2_v6): Delete.
   23393 	(thumb1_extendqisi2): Merge with thumb1_extendhisi2_v6.
   23394 	(thumb1_extendqisi2_v6): Delete.
   23395 	(zero_extendhisi2 for register input splitter): New.
   23396 	(zero_extendqisi2 for register input splitter): New.
   23397 	(thumb1_extendhisi2 for register input splitter): New.
   23398 	(extendhisi2 for register input splitter): New.
   23399 	(extendqisi2 for register input splitter): New.
   23400 	(TARGET_THUMB1 extendqisi2 for memory input splitter): New.
   23401 	(arm_zero_extendhisi2): Allow nonimmediate_operand for operand 1,
   23402 	and add support for a register alternative requiring a split.
   23403 	(thumb1_zero_extendqisi2): Likewise.
   23404 	(arm_zero_extendqisi2): Likewise.
   23405 	(arm_extendhisi2): Likewise.
   23406 	(arm_extendqisi2): Likewise.
   23407 
   23408 2010-07-02  Sandra Loosemore  <sandra (a] codesourcery.com>
   23409 
   23410 	* config/arm/arm.c (neon_vdup_constant): Expand into canonical RTL
   23411 	instead of an unspec.
   23412 	(neon_expand_vector_init): Likewise.
   23413 	* config/arm/neon.md (UNSPEC_VCOMBINE): Delete.
   23414 	(UNSPEC_VDUP_LANE): Delete.
   23415 	(UNSPEC VDUP_N): Delete.
   23416 	(UNSPEC_VGET_HIGH): Delete.
   23417 	(UNSPEC_VGET_LANE): Delete.
   23418 	(UNSPEC_VGET_LOW): Delete.
   23419 	(UNSPEC_VMVN): Delete.
   23420 	(UNSPEC_VSET_LANE): Delete.
   23421 	(V_double_vector_mode): New.
   23422 	(vec_set<mode>_internal): Make code emitted match that for the
   23423 	corresponding intrinsics.
   23424 	(vec_setv2di_internal): Likewise.
   23425 	(neon_vget_lanedi): Rewrite to expand into emit_move_insn.
   23426 	(neon_vget_lanev2di): Rewrite to expand into vec_extractv2di.
   23427 	(neon_vset_lane<mode>): Combine double and quad patterns and
   23428 	expand into vec_set<mode>_internal instead of UNSPEC_VSET_LANE.
   23429 	(neon_vset_lanedi): Rewrite to expand into emit_move_insn.
   23430 	(neon_vdup_n<mode>): Rewrite RTL without unspec.
   23431 	(neon_vdup_ndi): Rewrite as define_expand and use emit_move_insn.
   23432 	(neon_vdup_nv2di): Rewrite RTL without unspec and merge with
   23433 	with neon_vdup_lanev2di, adjusting the pattern from the latter
   23434 	to be predicable for consistency.
   23435 	(neon_vdup_lane<mode>_internal): New.
   23436 	(neon_vdup_lane<mode>): Turn into a define_expand and rewrite
   23437 	to avoid using an unspec.
   23438 	(neon_vdup_lanedi): Rewrite RTL pattern to avoid unspec.
   23439 	(neon_vdup_lanev2di): Turn into a define_expand.
   23440 	(neon_vcombine): Rewrite pattern to eliminate UNPSEC_VCOMBINE.
   23441 	(neon_vget_high<mode>): Replace with....
   23442 	(neon_vget_highv16qi): New pattern using canonical RTL.
   23443 	(neon_vget_highv8hi): Likewise.
   23444 	(neon_vget_highv4si): Likewise.
   23445 	(neon_vget_highv4sf): Likewise.
   23446 	(neon_vget_highv2di): Likewise.
   23447 	(neon_vget_low<mode>): Replace with....
   23448 	(neon_vget_lowv16qi): New pattern using canonical RTL.
   23449 	(neon_vget_lowv8hi): Likewise.
   23450 	(neon_vget_lowv4si): Likewise.
   23451 	(neon_vget_lowv4sf): Likewise.
   23452 	(neon_vget_lowv2di): Likewise.
   23453 
   23454 	* config/arm/neon.ml (Vget_lane): Add No_op attribute to suppress
   23455 	test for this emitting vmov.
   23456 	(Vset_lane): Likewise.
   23457 	(Vdup_n): Likewise.
   23458 	(Vmov_n): Likewise.
   23459 
   23460 	* doc/arm-neon-intrinsics.texi: Regenerated.
   23461 
   23462 2010-07-02  Sandra Loosemore  <sandra (a] codesourcery.com>
   23463 
   23464 	* config/arm/neon.md (vec_extractv2di): Correct error in register
   23465 	numbering to reconcile with neon_vget_lanev2di.
   23466 
   23467 2010-07-02  Richard Guenther  <rguenther (a] suse.de>
   23468 
   23469 	* tree-ssa-structalias.c (pt_solution_set_var): New function.
   23470 	* tree-ssa-alias.h (pt_solution_set_var): Declare.
   23471 	* tree-ssa-loop-ivopts.c (copy_ref_info): Also copy or create
   23472 	points-to information.
   23473 
   23474 2010-07-02  Christian Borntraeger  <borntraeger (a] de.ibm.com>
   23475 
   23476 	* config/s390/s390.c (override_options): Adopt prefetching
   23477 	at -O3 to handle flag_prefetch_loop_arrays as a tristate.
   23478 
   23479 2010-07-02  Jan Hubicka  <jh (a] suse.cz>
   23480 
   23481 	* df-problems.c (df_kill_notes): Do not collect dead  notes.
   23482 	(df_set_note): Just call add_reg_note.
   23483 	(df_set_unused_notes_for_mw, df_set_dead_notes_for_mw,
   23484 	df_create_unused_note): Do not deal with lists of old notes.
   23485 	(df_note_bb_compute): Likewise.
   23486 
   23487 2010-07-02  Richard Guenther  <rguenther (a] suse.de>
   23488 
   23489 	* tree-ssa-structalias.c (find_func_aliases): Handle
   23490 	pointer alignment via BIT_AND_EXPR.
   23491 	* tree-vrp.c (extract_range_from_binary_expr): Likewise.
   23492 
   23493 2010-07-02  Richard Guenther  <rguenther (a] suse.de>
   23494 
   23495 	* tree-data-ref.c (initialize_data_dependence_relation): Handle
   23496 	mismatching number of dimensions properly.
   23497 
   23498 2010-07-02  Ulrich Weigand  <Ulrich.Weigand (a] de.ibm.com>
   23499 
   23500 	PR target/44707
   23501 	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Recognize
   23502 	(lo_sum (high ...) ...) patterns generated by earlier passes.
   23503 
   23504 2010-07-02  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   23505 
   23506 	* doc/install.texi (Prerequisites): Document Perl requirement on
   23507 	Solaris 2.
   23508 	(Specific, *-*-solaris2*): Document GNU c++filt requirement.
   23509 
   23510 2010-07-02  Richard Guenther  <rguenther (a] suse.de>
   23511 
   23512 	PR middle-end/44777
   23513 	* tree-cfg.c (gimple_block_ends_with_call_p): Handle empty BBs.
   23514 
   23515 2010-07-02  Jan Hubicka  <jh (a] suse.cz>
   23516 
   23517 	PR middle-end/44706
   23518 	* predict.c (predict_paths_for_bb): Handle case when control dependence
   23519 	BB has only abnormal edges.
   23520 
   23521 2010-07-02  Richard Guenther  <rguenther (a] suse.de>
   23522 
   23523 	PR tree-optimization/44748
   23524 	* tree-ssa-ccp.c (fold_const_aggregate_ref): Properly handle
   23525 	the embedded conversion in MEM_REFs.
   23526 
   23527 2010-07-01  Lpez-Ibez  <manu (a] gcc.gnu.org>
   23528 
   23529 	* reload.c: Include toplev.h.
   23530 	* recog.c:  Likewise.
   23531 	* Makefile.in: Adjust dependencies.
   23532 
   23533 2010-07-01  Jakub Jelinek  <jakub (a] redhat.com>
   23534 
   23535 	PR debug/44694
   23536 	* dwarf2out.c (reg_loc_descriptor): For eliminated arg_pointer_rtx
   23537 	or frame_pointer_rtx use DW_OP_fbreg offset DW_OP_stack_value.
   23538 
   23539 2010-07-01  Richard Guenther  <rguenther (a] suse.de>
   23540 
   23541 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Use unsigned
   23542 	types for offsets.
   23543 
   23544 2010-07-01  Joern Rennecke  <joern.rennecke (a] embecosm.com>
   23545 
   23546 	PR target/44732
   23547 	* config/ia64/ia64.c (ia64_register_move_cost): Remove stray '{'.
   23548 	Fix argument types.
   23549 
   23550 2010-07-01  Bernd Schmidt  <bernds (a] codesourcery.com>
   23551 
   23552 	PR target/44727
   23553 	* config/i386/i386.md (peephole2 for arithmetic ops with memory):
   23554 	Make sure operand 0 dies.
   23555 
   23556 2010-07-01  Richard Guenther  <rguenther (a] suse.de>
   23557 
   23558 	PR middle-end/42834
   23559 	PR middle-end/44468
   23560 	* doc/gimple.texi (is_gimple_mem_ref_addr): Document.
   23561 	* doc/generic.texi (References to storage): Document MEM_REF.
   23562 	* tree-pretty-print.c (dump_generic_node): Handle MEM_REF.
   23563 	(print_call_name): Likewise.
   23564 	* tree.c (recompute_tree_invariant_for_addr_expr): Handle MEM_REF.
   23565 	(build_simple_mem_ref_loc): New function.
   23566 	(mem_ref_offset): Likewise.
   23567 	* tree.h (build_simple_mem_ref_loc): Declare.
   23568 	(build_simple_mem_ref): Define.
   23569 	(mem_ref_offset): Declare.
   23570 	* fold-const.c: Include tree-flow.h.
   23571 	(operand_equal_p): Handle MEM_REF.
   23572 	(build_fold_addr_expr_with_type_loc): Likewise.
   23573 	(fold_comparison): Likewise.
   23574 	(fold_unary_loc): Fold
   23575 	VIEW_CONVERT_EXPR <T1, MEM_REF <T2, ...>> to MEM_REF <T1, ...>.
   23576 	(fold_binary_loc): Fold MEM[&MEM[p, CST1], CST2] to MEM[p, CST1 + CST2],
   23577 	fold MEM[&a.b, CST2] to MEM[&a, offsetof (a, b) + CST2].
   23578 	* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle MEM_REF.
   23579 	(ptr_deref_may_alias_ref_p_1): Likewise.
   23580 	(ao_ref_base_alias_set): Properly differentiate base object for
   23581 	offset and TBAA.
   23582 	(ao_ref_init_from_ptr_and_size): Use MEM_REF.
   23583 	(indirect_ref_may_alias_decl_p): Handle MEM_REFs properly.
   23584 	(indirect_refs_may_alias_p): Likewise.
   23585 	(refs_may_alias_p_1): Likewise.  Remove pointer SSA name def
   23586 	chasing code.
   23587 	(ref_maybe_used_by_call_p_1): Handle MEM_REF.
   23588 	(call_may_clobber_ref_p_1): Likewise.
   23589 	* dwarf2out.c (loc_list_from_tree): Handle MEM_REF.
   23590 	* expr.c (expand_assignment): Handle MEM_REF.
   23591 	(store_expr): Handle MEM_REFs from STRING_CSTs.
   23592 	(store_field): If expanding a MEM_REF of a non-addressable
   23593 	decl use bitfield operations.
   23594 	(get_inner_reference): Handle MEM_REF.
   23595 	(expand_expr_addr_expr_1): Likewise.
   23596 	(expand_expr_real_1): Likewise.
   23597 	* tree-eh.c (tree_could_trap_p): Handle MEM_REF.
   23598 	* alias.c (ao_ref_from_mem): Handle MEM_REF.
   23599 	(get_alias_set): Likewise.  Properly handle VIEW_CONVERT_EXPRs.
   23600 	* tree-data-ref.c (dr_analyze_innermost): Handle MEM_REF.
   23601 	(dr_analyze_indices): Likewise.
   23602 	(dr_analyze_alias): Likewise.
   23603 	(object_address_invariant_in_loop_p): Likewise.
   23604 	* gimplify.c (mark_addressable): Handle MEM_REF.
   23605 	(gimplify_cond_expr): Build MEM_REFs.
   23606 	(gimplify_modify_expr_to_memcpy): Likewise.
   23607 	(gimplify_init_ctor_preeval_1): Handle MEM_REF.
   23608 	(gimple_fold_indirect_ref): Adjust.
   23609 	(gimplify_expr): Handle MEM_REF.  Gimplify INDIRECT_REF to MEM_REF.
   23610 	* tree.def (MEM_REF): New tree code.
   23611 	* tree-dfa.c: Include toplev.h.
   23612 	(get_ref_base_and_extent): Handle MEM_REF.
   23613 	(get_addr_base_and_unit_offset): New function.
   23614 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Handle MEM_REF.
   23615 	* gimple-fold.c (may_propagate_address_into_dereference): Handle
   23616 	MEM_REF.
   23617 	(maybe_fold_offset_to_array_ref): Allow possibly out-of bounds
   23618 	accesses if the array has just one dimension.  Remove always true
   23619 	parameter.  Do not require type compatibility here.
   23620 	(maybe_fold_offset_to_component_ref): Remove.
   23621 	(maybe_fold_stmt_indirect): Remove.
   23622 	(maybe_fold_reference): Remove INDIRECT_REF handling.
   23623 	Fold back to non-MEM_REF.
   23624 	(maybe_fold_offset_to_address): Simplify.  Deal with type
   23625 	mismatches here.
   23626 	(maybe_fold_reference): Likewise.
   23627 	(maybe_fold_stmt_addition): Likewise.  Also handle
   23628 	&ARRAY + I in addition to &ARRAY[0] + I.
   23629 	(fold_gimple_assign): Handle ADDR_EXPR of MEM_REFs.
   23630 	(gimple_get_relevant_ref_binfo): Handle MEM_REF.
   23631 	* cfgexpand.c (expand_debug_expr): Handle MEM_REF.
   23632 	* tree-ssa.c (useless_type_conversion_p): Make most pointer
   23633 	conversions useless.
   23634 	(warn_uninitialized_var): Handle MEM_REF.
   23635 	(maybe_rewrite_mem_ref_base): New function.
   23636 	(execute_update_addresses_taken): Implement re-writing of MEM_REFs
   23637 	to SSA form.
   23638 	* tree-inline.c (remap_gimple_op_r): Handle MEM_REF, remove
   23639 	INDIRECT_REF handling.
   23640 	(copy_tree_body_r): Handle MEM_REF.
   23641 	* gimple.c (is_gimple_addressable): Adjust.
   23642 	(is_gimple_address): Likewise.
   23643 	(is_gimple_invariant_address): ADDR_EXPRs of MEM_REFs with
   23644 	invariant base are invariant.
   23645 	(is_gimple_min_lval): Adjust.
   23646 	(is_gimple_mem_ref_addr): New function.
   23647 	(get_base_address): Handle MEM_REF.
   23648 	(count_ptr_derefs): Likewise.
   23649 	(get_base_loadstore): Likewise.
   23650 	* gimple.h (is_gimple_mem_ref_addr): Declare.
   23651 	(gimple_call_fndecl): Handle invariant MEM_REF addresses.
   23652 	* tree-cfg.c (verify_address): New function, split out from ...
   23653 	(verify_expr): ... here.  Use for verifying ADDR_EXPRs and
   23654 	the address operand of MEM_REFs.  Verify MEM_REFs.  Reject
   23655 	INDIRECT_REFs.
   23656 	(verify_types_in_gimple_min_lval): Handle MEM_REF.  Disallow
   23657 	INDIRECT_REF.  Allow conversions.
   23658 	(verify_types_in_gimple_reference): Verify VIEW_CONVERT_EXPR of
   23659 	a register does not change its size.
   23660 	(verify_types_in_gimple_reference): Verify MEM_REF.
   23661 	(verify_gimple_assign_single): Disallow INDIRECT_REF.
   23662 	Handle MEM_REF.
   23663 	* tree-ssa-operands.c (opf_non_addressable, opf_not_non_addressable):
   23664 	New.
   23665 	(mark_address_taken): Handle MEM_REF.
   23666 	(get_indirect_ref_operands): Pass through opf_not_non_addressable.
   23667 	(get_asm_expr_operands): Pass opf_not_non_addressable.
   23668 	(get_expr_operands): Handle opf_[not_]non_addressable.
   23669 	Handle MEM_REF.  Remove INDIRECT_REF handling.
   23670 	* tree-vrp.c (check_array_ref): Handle MEM_REF.
   23671 	(search_for_addr_array): Likewise.
   23672 	(check_array_bounds): Likewise.
   23673 	(vrp_stmt_computes_nonzero): Adjust for MEM_REF.
   23674 	* tree-ssa-loop-im.c (for_each_index): Handle MEM_REF.
   23675 	(ref_always_accessed_p): Likewise.
   23676 	(gen_lsm_tmp_name): Likewise.  Handle ADDR_EXPR.
   23677 	* tree-complex.c (extract_component): Do not handle INDIRECT_REF.
   23678 	Handle MEM_REF.
   23679 	* cgraphbuild.c (mark_load): Properly check for NULL result
   23680 	from get_base_address.
   23681 	(mark_store): Likewise.
   23682 	* tree-ssa-loop-niter.c (array_at_struct_end_p): Handle MEM_REF.
   23683 	* tree-loop-distribution.c (generate_builtin): Exchange INDIRECT_REF
   23684 	handling for MEM_REF.
   23685 	* tree-scalar-evolution.c (follow_ssa_edge_expr): Handle
   23686 	&MEM[ptr + CST] similar to POINTER_PLUS_EXPR.
   23687 	* builtins.c (stabilize_va_list_loc): Use the function ABI
   23688 	valist type if we couldn't canonicalize the argument type.
   23689 	Always dereference with the canonical va-list type.
   23690 	(maybe_emit_free_warning): Handle MEM_REF.
   23691 	(fold_builtin_memory_op): Simplify and handle MEM_REFs in folding
   23692 	memmove to memcpy.
   23693 	* builtins.c (fold_builtin_memory_op): Use ref-all types
   23694 	for all memcpy foldings.
   23695 	* omp-low.c (build_receiver_ref): Adjust for MEM_REF.
   23696 	(build_outer_var_ref): Likewise.
   23697 	(scan_omp_1_op): Likewise.
   23698 	(lower_rec_input_clauses): Likewise.
   23699 	(lower_lastprivate_clauses): Likewise.
   23700 	(lower_reduction_clauses): Likewise.
   23701 	(lower_copyprivate_clauses): Likewise.
   23702 	(expand_omp_atomic_pipeline): Likewise.
   23703 	(expand_omp_atomic_mutex): Likewise.
   23704 	(create_task_copyfn): Likewise.
   23705 	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle MEM_REF.
   23706 	Remove old union trick.  Initialize constant offsets.
   23707 	(ao_ref_init_from_vn_reference): Likewise.  Do not handle
   23708 	INDIRECT_REF.  Init base_alias_set properly.
   23709 	(vn_reference_lookup_3): Replace INDIRECT_REF handling with MEM_REF.
   23710 	(vn_reference_fold_indirect): Adjust for MEM_REFs.
   23711 	(valueize_refs): Fold MEM_REFs.  Re-evaluate constant offset
   23712 	for ARRAY_REFs.
   23713 	(may_insert): Remove.
   23714 	(visit_reference_op_load): Do not test may_insert.
   23715 	(run_scc_vn): Remove parameter, do not fiddle with may_insert.
   23716 	* tree-ssa-sccvn.h (struct vn_reference_op_struct): Add
   23717 	a field to store the constant offset this op applies.
   23718 	(run_scc_vn): Adjust prototype.
   23719 	* cgraphunit.c (thunk_adjust): Adjust for MEM_REF.
   23720 	* tree-ssa-ccp.c (ccp_fold): Replace INDIRECT_REF folding with
   23721 	MEM_REF.  Propagate &foo + CST as &MEM[&foo, CST].  Do not
   23722 	bother about volatile qualifiers on pointers.
   23723 	(fold_const_aggregate_ref): Handle MEM_REF, do not handle INDIRECT_REF.
   23724 	* tree-ssa-loop-ivopts.c
   23725 	* tree-ssa-loop-ivopts.c (determine_base_object): Adjust for MEM_REF.
   23726 	(strip_offset_1): Likewise.
   23727 	(find_interesting_uses_address): Replace INDIRECT_REF handling with
   23728 	MEM_REF handling.
   23729 	(get_computation_cost_at): Likewise.
   23730 	* ipa-pure-const.c (check_op): Handle MEM_REF.
   23731 	* tree-stdarg.c (check_all_va_list_escapes): Adjust for MEM_REF.
   23732 	* tree-ssa-sink.c (is_hidden_global_store): Handle MEM_REF
   23733 	and constants.
   23734 	* ipa-inline.c (likely_eliminated_by_inlining_p): Handle MEM_REF.
   23735 	* tree-parloops.c (take_address_of): Adjust for MEM_REF.
   23736 	(eliminate_local_variables_1): Likewise.
   23737 	(create_call_for_reduction_1): Likewise.
   23738 	(create_loads_for_reductions): Likewise.
   23739 	(create_loads_and_stores_for_name): Likewise.
   23740 	* matrix-reorg.c (may_flatten_matrices_1): Sanitize.
   23741 	(ssa_accessed_in_tree): Handle MEM_REF.
   23742 	(ssa_accessed_in_assign_rhs): Likewise.
   23743 	(update_type_size): Likewise.
   23744 	(analyze_accesses_for_call_stmt): Likewise.
   23745 	(analyze_accesses_for_assign_stmt): Likewise.
   23746 	(transform_access_sites): Likewise.
   23747 	(transform_allocation_sites): Likewise.
   23748 	* tree-affine.c (tree_to_aff_combination): Handle MEM_REF.
   23749 	* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
   23750 	not handle INDIRECT_REF.
   23751 	* tree-ssa-phiopt.c (add_or_mark_expr): Handle MEM_REF.
   23752 	(cond_store_replacement): Likewise.
   23753 	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle
   23754 	MEM_REF, no not handle INDIRECT_REFs.
   23755 	(insert_into_preds_of_block): Properly initialize avail.
   23756 	(phi_translate_1): Fold MEM_REFs.  Re-evaluate constant offset
   23757 	for ARRAY_REFs.  Properly handle reference lookups that
   23758 	require a bit re-interpretation.
   23759 	(can_PRE_operation): Do not handle INDIRECT_REF.  Handle MEM_REF.
   23760 	* tree-sra.c (build_access_from_expr_1): Handle MEM_REF.
   23761 	(build_ref_for_offset_1): Remove.
   23762 	(build_ref_for_offset): Build MEM_REFs.
   23763 	(gate_intra_sra): Disable for now.
   23764 	(sra_ipa_modify_expr): Handle MEM_REF.
   23765 	(ipa_early_sra_gate): Disable for now.
   23766 	* tree-sra.c (create_access): Swap INDIRECT_REF handling for
   23767 	MEM_REF handling.
   23768 	(disqualify_base_of_expr): Likewise.
   23769 	(ptr_parm_has_direct_uses): Swap INDIRECT_REF handling for
   23770 	MEM_REF handling.
   23771 	(sra_ipa_modify_expr): Remove INDIRECT_REF handling.
   23772 	Use mem_ref_offset.  Remove bogus folding.
   23773 	(build_access_from_expr_1): Properly handle MEM_REF for non IPA-SRA.
   23774 	(make_fancy_name_1): Add support for MEM_REF.
   23775 	* tree-predcom.c (ref_at_iteration): Handle MEM_REFs.
   23776 	* tree-mudflap.c (mf_xform_derefs_1): Adjust for MEM_REF.
   23777 	* ipa-prop.c (compute_complex_assign_jump_func): Handle MEM_REF.
   23778 	(compute_complex_ancestor_jump_func): Likewise.
   23779 	(ipa_analyze_virtual_call_uses): Likewise.
   23780 	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Replace
   23781 	INDIRECT_REF folding with more generalized MEM_REF folding.
   23782 	(tree_ssa_forward_propagate_single_use_vars): Adjust accordingly.
   23783 	(forward_propagate_addr_into_variable_array_index): Also handle
   23784 	&ARRAY + I in addition to &ARRAY[0] + I.
   23785 	* tree-ssa-dce.c (ref_may_be_aliased): Handle MEM_REF.
   23786 	* tree-ssa-ter.c (find_replaceable_in_bb): Avoid TER if that
   23787 	creates assignments with overlap.
   23788 	* tree-nested.c (get_static_chain): Adjust for MEM_REF.
   23789 	(get_frame_field): Likewise.
   23790 	(get_nonlocal_debug_decl): Likewise.
   23791 	(convert_nonlocal_reference_op): Likewise.
   23792 	(struct nesting_info): Add mem_refs pointer-set.
   23793 	(create_nesting_tree): Allocate it.
   23794 	(convert_local_reference_op): Insert to be folded mem-refs.
   23795 	(fold_mem_refs): New function.
   23796 	(finalize_nesting_tree_1): Perform defered folding of mem-refs
   23797 	(free_nesting_tree): Free the pointer-set.
   23798 	* tree-vect-stmts.c (vectorizable_store): Adjust for MEM_REF.
   23799 	(vectorizable_load): Likewise.
   23800 	* tree-ssa-phiprop.c (phiprop_insert_phi): Adjust for MEM_REF.
   23801 	(propagate_with_phi): Likewise.
   23802 	* tree-object-size.c (addr_object_size): Handle MEM_REFs
   23803 	instead of INDIRECT_REFs.
   23804 	(compute_object_offset): Handle MEM_REF.
   23805 	(plus_stmt_object_size): Handle MEM_REF.
   23806 	(collect_object_sizes_for): Dispatch to plus_stmt_object_size
   23807 	for &MEM_REF.
   23808 	* tree-flow.h (get_addr_base_and_unit_offset): Declare.
   23809 	(symbol_marked_for_renaming): Likewise.
   23810 	* Makefile.in (tree-dfa.o): Add $(TOPLEV_H).
   23811 	(fold-const.o): Add $(TREE_FLOW_H).
   23812 	* tree-ssa-structalias.c (get_constraint_for_1): Handle MEM_REF.
   23813 	(find_func_clobbers): Likewise.
   23814 	* ipa-struct-reorg.c (decompose_indirect_ref_acc): Handle MEM_REF.
   23815 	(decompose_access): Likewise.
   23816 	(replace_field_acc): Likewise.
   23817 	(replace_field_access_stmt): Likewise.
   23818 	(insert_new_var_in_stmt): Likewise.
   23819 	(get_stmt_accesses): Likewise.
   23820 	(reorg_structs_drive): Disable.
   23821 	* config/i386/i386.c (ix86_va_start): Adjust for MEM_REF.
   23822 	(ix86_canonical_va_list_type): Likewise.
   23823 
   23824 2010-06-30  Joern Rennecke  <joern.rennecke (a] embecosm.com>
   23825 
   23826 	PR other/44566
   23827 	* coretypes.h [!USED_FOR_TARGET] (reg_class_t): Define.
   23828 	* target.def (struct gcc_target): Replace enum reg_class with
   23829 	reg_class_t in hook argument / return types.
   23830 	* doc/tm.texi.in (TARGET_SECONDARY_RELOAD): Likewise.
   23831 	(TARGET_IRA_COVER_CLASSES, TARGET_MEMORY_MOVE_COST): Likewise.
   23832 	(TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
   23833 	* targhooks.h (default_branch_target_register_class): Likewise.
   23834 	(default_ira_cover_classes, default_secondary_reload): Likewise.
   23835 	(default_memory_move_cost, default_register_move_cost): Likewise.
   23836 	* targhooks.c (default_branch_target_register_class): Likewise.
   23837 	(default_ira_cover_classes, default_secondary_reload): Likewise.
   23838 	(default_memory_move_cost, default_register_move_cost): Likewise.
   23839 	* reload.c (push_secondary_reload, secondary_reload_class): Likewise.
   23840 	* bt-load.c (branch_target_load_optimize): Likewise.
   23841 	* ira.c (setup_cover_and_important_classes): Likewise.
   23842 	* ira-costs.c (copy_cost): Likewise.
   23843 	* reload1.c (emit_input_reload_insns): Likewise.
   23844 	* config/alpha/alpha.c (alpha_secondary_reload): Likewise.
   23845 	* config/frv/frv.c (frv_secondary_reload): Likewise.
   23846 	* config/s390/s390.c (s390_secondary_reload): Likewise.
   23847 	* config/i386/i386.c (i386_ira_cover_classes): Likewise.
   23848 	(ix86_secondary_reload, ix86_memory_move_cost): Likewise.
   23849 	(ix86_register_move_cost): Likewise.
   23850 	* config/sh/sh-protos.h (sh_secondary_reload): Likewise.
   23851 	* config/sh/sh.c (sh_target_reg_class, sh_secondary_reload): Likewise.
   23852 	* config/xtensa/xtensa.c (xtensa_secondary_reload): Likewise.
   23853 	* config/xtensa/xtensa-protos.h (xtensa_secondary_reload): Likewise.
   23854 	* config/rs6000/rs6000.c (rs6000_secondary_reload): Likewise.
   23855 	(rs6000_ira_cover_classes): Likewise.
   23856 	* config/picochip/picochip.c (picochip_secondary_reload): Likewise.
   23857 	* config/picochip/picochip-protos.h (picochip_secondary_reload):
   23858 	Likewise.
   23859 	* config/pa/pa.c (pa_secondary_reload): Likewise.
   23860 	* config/mips/mips.c (mips_ira_cover_classes): Likewise.
   23861 	* config/bfin/bfin.c (bfin_secondary_reload): Likewise.
   23862 	* config/ia64/ia64.c (ia64_register_move_cost): Likewise.
   23863 	* doc/tm.texi: Regenerate.
   23864 
   23865 2010-06-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   23866 
   23867 	PR bootstrrap/44726
   23868 	* graphite-sese-to-poly.c (build_poly_dr): Avoid uninitialized
   23869 	use.
   23870 	(build_alias_set_optimal_p): Likewise.
   23871 	(build_base_obj_set_for_drs): Likewise.
   23872 
   23873 2010-06-30  Joern Rennecke  <joern.rennecke (a] embecosm.com>
   23874 
   23875 	* target.def: Remove comment about licensing problems of function
   23876 	declarations.
   23877 
   23878 	* target.def (declare_constant_name): Change exp to expr.  Use DEFHOOK.
   23879 	* doc/tm.texi.in (TARGET_ASM_DECLARE_CONSTANT_NAME): Use @hook.
   23880 	* doc/tm.texi: Regenerate.
   23881 
   23882 	* target.def (builtin_reciprocal): Change tm_fn to md_fn.  Use DEFHOOK.
   23883 	* doc/tm.texi.in (TARGET_BUILTIN_RECIPROCAL): Use @hook.
   23884 
   23885 	* target.def (enum_va_list_p): Use DEFHOOK.
   23886 	* doc/tm.texi.in (TARGET_ENUM_VA_LIST_P): Use @hook.
   23887 	Rename ptype to ptree.
   23888 	* doc/tm.texi: Regenerate.
   23889 
   23890 	* target.def (fold_builtin): Rename nargs to n_args.  Use DEFHOOK.
   23891 	* doc/tm.texi.in (TARGET_FOLD_BUILTIN): Use @hook.
   23892 	* doc/tm.texi: Regenerate.
   23893 
   23894 	* target.def (memory_move_cost): Use DEFHOOK.
   23895 	* doc/tm.texi.in (TARGET_MEMORY_MOVE_COST): Use @hook.
   23896 	Rename regclass AKA class to rclass.
   23897 	* doc/tm.texi: Regenerate.
   23898 
   23899 	* target.def (pragma_parse): Use DEFHOOK.
   23900 	* doc/tm.texi.in (TARGET_OPTION_PRAGMA_PARSE): Use @hook.
   23901 	s/TARGET_VALID_OPTION_ATTRIBUTE_P/TARGET_OPTION_VALID_ATRIBUTE_P/ .
   23902 	* doc/tm.texi: Regenerate.
   23903 
   23904 	* target.def (pass_by_reference): Use DEFHOOK.
   23905 	* doc/tm.texi.in (TARGET_PASS_BY_REFERENCE): Use @hook.
   23906 	* doc/tm.texi: Regenerate.
   23907 
   23908 	* target.def (resolve_overloaded_builtin): Rename params to arglist.
   23909 	Use DEFHOOK.
   23910 	* doc/tm.texi.in (TARGET_RESOLVE_OVERLOADED_BUILTIN): Use @hook.
   23911 	* doc/tm.texi: Regenerate.
   23912 
   23913 	* target.def (return_pops_args): Use DEFHOOK.
   23914 	* doc/tm.texi.in (TARGET_RETURN_POPS_ARGS): Use @hook.
   23915 	Rename stack-size to size.
   23916 	* doc/tm.texi: Regenerate.
   23917 
   23918 	* target.def (dfa_new_cycle): Use DEFHOOK.  Rename dump_file to dump,
   23919 	last-sched_cycle to last_clock, cur_cycle to clock.
   23920 	* doc/tm.texi.in: Use @hook.
   23921 	* doc/tm.texi: Regenerate.
   23922 
   23923 	* target.def (print_operand, print_operand_address): Update comment.
   23924 	(print_operand_punct_valid_p): Likewise.
   23925 
   23926 2010-06-30  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   23927 
   23928 	* toplev.h (_fatal_insn_not_found, _fatal_insn): Move declarations
   23929 	to rtl.h.
   23930 	(error_for_asm,	warning_for_asm): Move declarations to rtl-error.h.
   23931 	* rtl.h (_fatal_insn_not_found, _fatal_insn): Move declarations here.
   23932 	* rtl-error.h: New.
   23933 	* regrename.c: Do not include toplev.h. Include rtl-error.h.
   23934 	* rtl-error.c: Likewise.
   23935 	* reload.c: Likewise.
   23936 	* recog.c:  Likewise.
   23937 	* sel-sched.c: Likewise.
   23938 	* function.c: Likewise.
   23939 	* reg-stack.c: Likewise.
   23940 	* cfgrtl.c: Likewise.
   23941 	* reload1.c: Likewise.
   23942 	* final.c: Include rtl-error.
   23943 	* Makefile.in: Adjust dependencies.
   23944 
   23945 2010-06-30  Jan Hubicka  <jh (a] suse.cz>
   23946 
   23947 	PR middle-end/PR44706
   23948 	* ipa-split (split_function): Refine conditions when to use DECL_RESULT
   23949 	to return the value.
   23950 
   23951 2010-06-30  Michael Matz  <matz (a] suse.de>
   23952 
   23953 	PR bootstrap/44699
   23954 	* tree-vrp.c (vrp_finalize): Deal with changing num_ssa_names.
   23955 	* gimple-fold.c (gimplify_and_update_call_from_tree): If LHS is
   23956 	a gimple reg, attach the original VDEF to the last store in the
   23957 	sequence.
   23958 
   23959 2010-06-30  Iain Sandoe  <iains (a] gcc.gnu.org>
   23960 
   23961 	PR other/44034
   23962 	* config/darwin.c (darwin_override_options): Use renamed
   23963 	targetm.asm_out.emit_unwind_label.
   23964 
   23965 2010-06-30  Bernd Schmidt  <bernds (a] codesourcery.com>
   23966 
   23967 	PR tree-optimization/39799
   23968 	* tree-inline.c (remap_ssa_name): Initialize variable only if
   23969 	SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
   23970 
   23971 2010-06-30  Nathan Froyd  <froydnj (a] codesourcery.com>
   23972 
   23973 	* c-parser.c (c_parser_omp_for_loop): Use a VEC for for_block.
   23974 
   23975 2010-06-30  Richard Guenther  <rguenther (a] suse.de>
   23976 
   23977 	PR target/44722
   23978 	* config/i386/i386.md (peephole2 for fix:SSEMODEI24): Guard
   23979 	against oscillation with reverse peephole2.
   23980 
   23981 2010-06-30  H.J. Lu  <hongjiu.lu (a] intel.com>
   23982 
   23983 	PR target/44721
   23984 	* config/i386/i386.md (peephole2 for arithmetic ops with memory):
   23985 	Fix last commit.
   23986 
   23987 2010-06-30  Nick Clifton  <nickc (a] redhat.com>
   23988 
   23989 	* config/rx/rx-modes.def: New file.
   23990 	* config/rx/rx.h (FIRST_PSEUDO_REGISTER): Increase to 17.
   23991 	(CC_REGNUM): Define.
   23992 	(FIXED_REGISTERS, CALL_USED_REGISTERS, REGISTER_NAMES): Add cc
   23993 	register.
   23994 	(CC_NO_CARRY, NOTICE_UPDATE_CC): Delete.
   23995 	(SELECT_CC_MODE): Define.
   23996 	* config/rx/rx.md (CC_REG): Define.  Update all patterns to use
   23997 	(reg:CC CC_REG) instead of (cc0).
   23998 	(attr "cc"): Delete.
   23999 	(cbranchsi4): Do not split compare and branch here. Instead move
   24000 	it to...
   24001 	(cbranchsi4_<code>): ... here.  New patterns.
   24002 	(cmpsi): Call rx-compare_redundant to find out if it is necessary
   24003 	to emit the compare instruction.
   24004 	* config/rx/rx.c (rx_gen-cond_branch_template): Remove tests of
   24005 	cc_status flags.
   24006 	(rx_get_stack_layout): Iterate up to before CC_REGNUM not
   24007 	FIRST_PSEUDO_REGNUM.
   24008 	(rx_expand_prologue, rx_expand_epilogue): Likewise.
   24009 	(rx_notice_update_cc): Delete.
   24010 	(rx_cc_modes_compatible): New function.
   24011 	(flags_needed_for_conditional): New function.
   24012 	(flags_from_mode): New function.
   24013 	(rx_compare_redundant): New function - scans backwards through
   24014 	insn list to find out if condition flags are already set correctly.
   24015 	(TARGET_CC_MODES_COMPATIBLE): Define.
   24016 	* config/rx/rx-protos.h (rx_compare_redundant): Prototype.
   24017 
   24018 	* config/rx/rx.h (BRANCH_COST): Define.
   24019 	(REGISTER_MOVE_COST): Define.
   24020 	* config/rx/predicates (rx_source_operand): Allow all constant types.
   24021 	* config/rx/rx.md (addsi3): Add alternative for swapped operands.
   24022 	(tstsi4): New pattern.
   24023 	* config/rx/rx.c (rx_memory_move_cost): Define.
   24024 	(TARGET_MEMORY_MOVE_COST): Define.
   24025 
   24026 2010-06-30  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   24027 
   24028 	* tree.h (block_may_fallthru): Declare here.
   24029 	* tree-flow.h (block_may_fallthru): Do not declare here.
   24030 	* c-typeck.c: Do not include tree-flow.h. Include gimple.h and
   24031 	bitmap.h
   24032 	* Makefile.in (c-typeck.o): Update dependencies.
   24033 
   24034 2010-06-30  Jakub Jelinek  <jakub (a] redhat.com>
   24035 
   24036 	PR debug/44694
   24037 	* cselib.h (cselib_preserve_cfa_base_value): Add regno argument.
   24038 	* cselib.c (cfa_base_preserved_regno): New static variable.
   24039 	(cselib_reset_table): Don't reset cfa_base_preserved_regno instead
   24040 	of REGNO (cfa_base_preserved_val->locs->loc).
   24041 	(cselib_preserve_cfa_base_value): Add regno argument, set
   24042 	cfa_base_preserved_regno to it.
   24043 	(cselib_invalidate_regno): Allow removal of registers other than
   24044 	cfa_base_preserved_regno from cfa_base_preserved_val.
   24045 	(cselib_finish): Set cfa_base_preserved_regno to INVALID_REGNUM.
   24046 	* var-tracking.c (adjust_mems): Replace sp or hfp even outside
   24047 	of MEM addresses, if not on LHS.
   24048 	(reverse_op): Don't add reverse ops for cfa_base_rtx.
   24049 	(vt_init_cfa_base): Adjust cselib_preserve_cfa_base_value caller.
   24050 
   24051 2010-06-30  Bernd Schmidt  <bernds (a] codesourcery.com>
   24052 
   24053 	* recog.c (peep2_do_rebuild_jump_labels, peep2_do_cleanup_cfg): New
   24054 	static variables.
   24055 	(peep2_buf_position): New static function.
   24056 	(peep2_regno_dead_p, peep2_reg_dead_p, peep2_find_free_register,
   24057 	peephole2_optimize): Use it.
   24058 	(peep2_attempt, peep2_update_life): New static functions, broken out
   24059 	of peephole2_optimize.
   24060 	(peep2_fill_buffer): New static function.
   24061 	(peephole2_optimize): Change the main loop to try to fill the buffer
   24062 	with the maximum number of insns before matching them against
   24063 	peepholes.  Use a forward scan.  Remove special case for targets with
   24064 	conditional execution.
   24065 	* genrecog.c (change_state): Delete dead code.
   24066 	* config/i386/i386.md (peephole2 for arithmetic ops with memory):
   24067 	Rewrite so as not to expect the second insn to have had a peephole
   24068 	applied yet.
   24069 
   24070 2010-06-29  Nathan Froyd  <froydnj (a] codesourcery.com>
   24071 
   24072 	* genhooks.c (emit_findices): Cast field precision to int.
   24073 	(emit_documentation): Likewise.
   24074 
   24075 2010-06-29  Jakub Jelinek  <jakub (a] redhat.com>
   24076 
   24077 	PR tree-optimization/43801
   24078 	* cgraph.c (cgraph_create_virtual_clone): Clear DECL_SECTION_NAME
   24079 	if old_decl was DECL_ONE_ONLY.
   24080 
   24081 	PR debug/44668
   24082 	* dwarf2out.c (add_accessibility_attribute): New function.
   24083 	(gen_subprogram_die, gen_variable_die, gen_field_die): Use it
   24084 	instead of adding DW_AT_accessibility manually.
   24085 	(gen_enumeration_type_die, gen_struct_or_union_type_die,
   24086 	gen_typedef_die): Use it.
   24087 
   24088 2010-06-29  Douglas B Rupp  <rupp (a] gnat.com>
   24089 
   24090 	* vmsdbgout.c (full_name): Just output the file name if not native.
   24091 
   24092 2010-06-29  Douglas B Rupp  <rupp (a] gnat.com>
   24093 
   24094 	* vmsdbgout.c (func_table): Replace with VEC func{nam,num}_tables.
   24095 	(funcnam_table): New static table.
   24096 	(funcnum_table): New static table.
   24097 	(write_rtnbeg): Write value saved in funcnum_table.
   24098 	(write_rtnend): Write value saved in funcnum_table.
   24099 	(vmsdbgout_begin_function): Save current function info in
   24100 	(vmsdbgout_init): Initialize func{nam,num}_tables. Minor reformatting.
   24101 	(vmsdbgout_finish): Iterate over funcnum_table.
   24102 
   24103 2010-06-29  Douglas B Rupp  <rupp (a] gnat.com>
   24104 
   24105 	* vmsdbgout.c (vmsdbgout_begin_epilogue): Declare
   24106 	(vmsdbgout_type_decl): Declare
   24107 	(vmsdbg_debug_hooks): Add entry for type_decl and begin_epilogue.
   24108 	(FUNC_EPILOGUE_LABEL): New macro
   24109 	(vmsdbgout_begin_epilogue): New function.
   24110 	(vmsdbgout_type_decl): New function.
   24111 
   24112 2010-06-29  Douglas B Rupp  <rupp (a] gnat.com>
   24113 
   24114 	* vmsdbg.h: Update copyright.
   24115 
   24116 2010-06-29  Douglas B Rupp  <rupp (a] gnat.com>
   24117 
   24118 	* vmsdbg.h (DST_K_TBG): New DST constant.
   24119 	* vmsdbgout.c (addr_const_to_string): Removed, not referenced.
   24120 	(write_modbeg): Cast module_language to avoid warning.
   24121 	(write_rtnbeg): Use DST_K_TBG vice magic mystery number.
   24122 
   24123 2010-06-29  Joern Rennecke  <joern.rennecke (a] embecosm.com>
   24124 
   24125 	PR other/44034
   24126 	* target.def, doc/tm.texi.in, genhooks.c: New files.
   24127 	* target.h: Instead of defining individual hook members,
   24128 	define DEFHOOKPOD / DEFHOOK / DEFHOOK_UNDOC / HOOKSTRUCT and
   24129 	include target.def.
   24130 	* target-def.h: Instead of defining individual hook initializers,
   24131 	include target-hooks-def.h.
   24132 	* df-scan.c, haifa-sched.c, sel-sched.c: Rename targetm members:
   24133 	targetm.live_on_entry -> targetm.extra_live_on_entry
   24134 	targetm.sched.md_finish ->targetm.sched.finish
   24135 	targetm.sched.md_init -> targetm.sched.init
   24136 	targetm.sched.md_init_global -> targetm.sched.init_global
   24137 	targetm.asm_out.unwind_label -> targetm.asm_out.emit_unwind_label
   24138 	targetm.asm_out.except_table_label ->
   24139 	  targetm.asm_out.emit_except_table_label
   24140 	targetm.asm_out.visibility -> targetm.asm_out.assemble_visibility
   24141 	targetm.target_help -> targetm.help
   24142 	targetm.vectorize.builtin_support_vector_misalignment ->
   24143 	  targetm.vectorize.support_vector_misalignment
   24144 	targetm.file_start_app_off -> targetm.asm_file_start_app_off
   24145 	targetm.file_start_file_directive ->
   24146 	 targetm.asm_file_start_file_directive
   24147 	* dwarf2out.c, opts.c, tree-vect-data-refs.c, except.c: Likewise.
   24148 	* varasm.c, config/alpha/alpha.c, config/cris/cris.c: Likewise.
   24149 	* config/spu/spu.c, config/ia64/ia64.c: Rename target macros:
   24150 	TARGET_VECTOR_ALIGNMENT_REACHABLE ->
   24151 	  TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE
   24152 	TARGET_SUPPORT_VECTOR_MISALIGNMENT ->
   24153 	  TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT
   24154 	TARGET_UNWIND_EMIT -> TARGET_ASM_UNWIND_EMIT
   24155 	* config/rs6000/rs6000.c, config/arm/arm.c: Likewise.
   24156 	* Makefile.in (TARGET_H): Depend on target.def.
   24157 	(TARGET_DEF_H): Depend on target-hooks-def.h.
   24158 	(target-hooks-def.h, tm.texi, s-target-hooks-def-h): New rules.
   24159 	(s-tm-texi, build/genhooks.o, build/genhooks): Likewise.
   24160 	* doc/tm.texi: Regenerate.
   24161 
   24162 	* Makefile.in (s-tm-texi): Remove stray tab / rule.
   24163 
   24164 	* config/m68k/m68k.c (targetm.sched.init_global): Update comment.
   24165 	(targetm.sched.init): Likewise.
   24166 
   24167 2010-06-29  Nathan Froyd  <froydnj (a] codesourcery.com>
   24168 
   24169 	PR bootstrap/44713
   24170 	* config/i386/i386.c (type_natural_mode): Const-ify CUM parameter.
   24171 	(function_arg_advance_32): Const-ify TYPE parameter.
   24172 	(function_arg_advance_64): Likewise.  Change type of NAMED to bool.
   24173 	(ix86_function_arg_advance): Change type of NAMED to bool.
   24174 	(function_arg_32): Const-ify CUM and TYPE parameters.
   24175 	(function_arg_64): Likewise.  Change type of NAMED to bool.
   24176 	(function_arg_ms_64): Const-ify CUM parameter. Change type of NAMED
   24177 	to bool.
   24178 	(ix86_function_arg): Change type of NAMED to bool.
   24179 	(ix86_setup_incoming_varargs): Call ix86_function_arg_advance.  Pass
   24180 	last argument as a bool.
   24181 
   24182 2010-06-29  Joern Rennecke  <joern.rennecke (a] embecosm.com>
   24183 
   24184 	* doc/tm.texi (TARGET_OPTION_OVERRIDE): Document.
   24185 	(OVERRIDE_OPTIONS): Add note of obsolescence.
   24186 	Replace references with references to TARGET_OPTION_OVERRIDE.
   24187 	(Except for C_COMMON_OVERRIDE_OPTIONS, which remains similar to
   24188 	 the macro).
   24189 	* targhooks.c (default_target_option_override): New function.
   24190 	* targhooks.h (default_target_option_override): Declare.
   24191 	* target.h (struct gcc_target): Add override member to
   24192 	target_option member.
   24193 	* toplev.c (process_options): Replace OVERRIDE_OPTIONS use with
   24194 	targetm.target_option.override call.
   24195 	* target-def.h (TARGET_OPTION_OVERRIDE): Define.
   24196 	(TARGET_OPTION_HOOKS): Add TARGET_OPTION_OVERRIDE.
   24197 
   24198 2010-06-29  Jan Hubicka  <jh (a] suse.cz>
   24199 
   24200 	* tree-inline.c: Replace incomming by incomin and clonning by cloning.
   24201 
   24202 2010-06-29  Jan Hubicka  <jh (a] suse.cz>
   24203 
   24204 	* predict.c (propagate_freq): Clear EXIT_BLOCK_PTR frequency if it is
   24205 	unreachable.
   24206 	(rebuild_frequencies): New function.
   24207 	* predict.h (rebuild_frequencies): Declare.
   24208 	* tree-inline.c (copy_cfg_body): Compute properly count & frequency of
   24209 	entry block and edge reaching new_entry.
   24210 	(tree_function_versioning): When doing partial cloning, rebuild
   24211 	frequencies when done.
   24212 	* passes.c (execute_function_todo): Use rebild_frequencies.
   24213 
   24214 2010-06-29  Richard Guenther  <rguenther (a] suse.de>
   24215 
   24216 	* tree-dfa.c (dump_variable): Remove noalias_state dumping.
   24217 	* tree-flow.h (enum noalias_state): Remove.
   24218 	(struct var_ann_d): Remove noalias_state member.
   24219 
   24220 2010-06-29  Bernd Schmidt  <bernds (a] codesourcery.com>
   24221 
   24222 	PR target/43902
   24223 	* config/arm/arm.md (maddsidi4, umaddsidi4): New expanders.
   24224 	(maddhisi4): Renamed from mulhisi3addsi.  Operands renumbered.
   24225 	(maddhidi4): Likewise.
   24226 
   24227 	Revert parts of the change for PR25130.
   24228 	* cse.c (exp_equiv_p): For MEMs, if for_gcse, only compare
   24229 	MEM_ALIAS_SET.
   24230 
   24231 2010-06-29  Nathan Froyd  <froydnj (a] codesourcery.com>
   24232 
   24233 	* calls.c, dse.c, expr.c, function.c: Call targetm.calls.function_arg,
   24234 	targetm.calls.function_incoming_arg, and
   24235 	targetm.calls.function_arg_advance instead of FUNCTION_ARG,
   24236 	FUNCTION_INCOMING_ARG, and FUNCTION_ARG_ADVANCE, respectively.
   24237 	* target.h (struct gcc_target): Add function_arg_advance,
   24238 	function_arg, and function_incoming_arg fields.
   24239 	* target-def.h (TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG):
   24240 	(TARGET_FUNCTION_INCOMING_ARG): Define.
   24241 	(TARGET_CALLS): Add TARGET_FUNCTION_ARG_ADVANCE, TARGET_FUNCTION_ARG,
   24242 	and TARGET_FUNCTION_INCOMING_ARG.
   24243 	* targhooks.h (default_function_arg_advance): Declare.
   24244 	(default_function_arg, default_function_incoming_arg): Declare.
   24245 	* targhooks.c (default_function_arg_advance): New function.
   24246 	(default_function_arg, default_function_incoming_arg): New function.
   24247 	* config/i386/i386.c (function_arg_advance): Rename to...
   24248 	(ix86_function_arg_advance): ...this.  Make static.
   24249 	(function_arg): Rename to...
   24250 	(ix86_function_arg): ...this.  Make static.
   24251 	(TARGET_FUNCTION_ARG_ADVANCE): Define.
   24252 	(TARGET_FUNCTION_ARG): Define.
   24253 	* config/i386/i386.h (FUNCTION_ARG_ADVANCE): Delete.
   24254 	(FUNCTION_ARG): Delete.
   24255 	* config/i386/i386-protos.h (function_arg_advance): Delete prototype.
   24256 	(function_arg): Delete prototype.
   24257 
   24258 2010-06-29  Nathan Froyd  <froydnj (a] codesourcery.com>
   24259 
   24260 	* reginfo.c (init_reg_sets_1): Adjust comments.
   24261 	* combine-stack-adj.c (rest_of_handle_stack_adjustments): Likewise.
   24262 	* calls.c (prepare_call_address): Likewise.
   24263 	(emit_call_1): Use targetm.calls.return_pops_args.
   24264 	(expand_call): Likewise.
   24265 	* function.c (assign_parms): Likewise.
   24266 	* system.h (RETURN_POPS_ARGS): Add to #pragma poison list.
   24267 	* target.h (struct gcc_target) [struct calls]: Add
   24268 	return_pops_args field.
   24269 	* targhooks.h (default_return_pops_args): Declare.
   24270 	* targhooks.c (default_return_pops_args): Define.
   24271 	* target-def.h (TARGET_RETURN_POPS_ARGS): Define.
   24272 	(TARGET_CALLS): Add TARGET_RETURN_POPS_ARGS.
   24273 	* doc/tm.texi (RETURN_POPS_ARGS): Rename to...
   24274 	(TARGET_RETURN_POPS_ARGS): ...this.  Use deftypefn.  Adjust
   24275 	documentation.
   24276 	* config/alpha/alpha.h (RETURN_POPS_ARGS): Delete.
   24277 	* config/arc/arc.h (RETURN_POPS_ARGS): Likewise.
   24278 	* config/arm/arm.h (RETURN_POPS_ARGS): Likewise.
   24279 	* config/avr/avr.h (RETURN_POPS_ARGS): Likewise.
   24280 	* config/bfin/bfin.h (RETURN_POPS_ARGS): Likewise.
   24281 	* config/cris/cris.h (RETURN_POPS_ARGS): Likewise.
   24282 	* config/crx/crx.h (RETURN_POPS_ARGS): Likewise.
   24283 	* config/fr30/fr30.h (RETURN_POPS_ARGS): Likewise.
   24284 	* config/frv/frv.h (RETURN_POPS_ARGS): Likewise.
   24285 	* config/h8300/h8300.h (RETURN_POPS_ARGS): Likewise.
   24286 	* config/ia64/ia64.h (RETURN_POPS_ARGS): Likewise.
   24287 	* config/iq2000/iq2000.h (RETURN_POPS_ARGS): Likewise.
   24288 	* config/lm32/lm32.h (RETURN_POPS_ARGS): Likewise.
   24289 	* config/m32c/m32c.h (RETURN_POPS_ARGS): Likewise.
   24290 	* config/m32r/m32r.h (RETURN_POPS_ARGS): Likewise.
   24291 	* config/m68hc11/m68hc11.h (RETURN_POPS_ARGS): Likewise.
   24292 	* config/mcore/mcore.h (RETURN_POPS_ARGS): Likewise.
   24293 	* config/mep/mep.h (RETURN_POPS_ARGS): Likewise.
   24294 	* config/mips/mips.h (RETURN_POPS_ARGS): Likewise.
   24295 	* config/mmix/mmix.h (RETURN_POPS_ARGS): Likewise.
   24296 	* config/mn10300/mn10300.h (RETURN_POPS_ARGS): Likewise.
   24297 	* config/moxie/moxie.h (RETURN_POPS_ARGS): Likewise.
   24298 	* config/pa/pa.h (RETURN_POPS_ARGS): Likewise.
   24299 	* config/pdp11/pdp11.h (RETURN_POPS_ARGS): Likewise.
   24300 	* config/picochip/picochip.h (RETURN_POPS_ARGS): Likewise.
   24301 	* config/rs6000/rs6000.h (RETURN_POPS_ARGS): Likewise.
   24302 	* config/rx/rx.h (RETURN_POPS_ARGS): Likewise.
   24303 	* config/s390/s390.h (RETURN_POPS_ARGS): Likewise.
   24304 	* config/score/score.h (RETURN_POPS_ARGS): Likewise.
   24305 	* config/sh/sh.h (RETURN_POPS_ARGS): Likewise.
   24306 	* config/sparc/sparc.h (RETURN_POPS_ARGS): Likewise.
   24307 	* config/spu/spu.h (RETURN_POPS_ARGS): Likewise.
   24308 	* config/stormy16/stormy16.h (RETURN_POPS_ARGS): Likewise.
   24309 	* config/v850/v850.h (RETURN_POPS_ARGS): Likewise.
   24310 	* config/xtensa/xtensa.h (RETURN_POPS_ARGS): Likewise.
   24311 	* config/i386/i386-protos.h (ix86_return_pops_args): Delete.
   24312 	* config/i386/i386.h (RETURN_POPS_ARGS): Delete.
   24313 	* config/i386/i386.c (ix86_return_pops_args): Make static.
   24314 	Constify arguments.
   24315 	(TARGET_RETURN_POPS_ARGS): Define.
   24316 	* config/m68k/m68k.h (RETURN_POPS_ARGS): Move to...
   24317 	* config/m68k/m68k.c (m68k_return_pops_args): ...here.  New function.
   24318 	(TARGET_RETURN_POPS_ARGS): Define.
   24319 	* config/vax/vax.h (RETURN_POPS_ARGS): Move to...
   24320 	* config/vax/vax.c (vax_return_pops_args): ...here.  New function.
   24321 	(TARGET_RETURN_POPS_ARGS): Define.
   24322 
   24323 2010-06-29  Richard Guenther  <rguenther (a] suse.de>
   24324 
   24325 	PR middle-end/44667
   24326 	* tree-inline.c (initialize_inlined_parameters): Make sure
   24327 	to remap the inlined parameter variable substitutions types.
   24328 
   24329 2010-06-29  Eric Botcazou  <ebotcazou (a] adacore.com>
   24330 
   24331 	PR rtl-optimization/44659
   24332 	* combine.c (make_compound_operation) <SUBREG>: Do not return the
   24333 	result of force_to_mode if it partially re-expanded the compound.
   24334 
   24335 2010-06-28  Jan Hubicka  <jh (a] suse.cz>
   24336 
   24337 	PR middle-end/44671
   24338 	* ipa-split.c (test_nonssa_use, mark_nonssa_use): Check also uses of
   24339 	RESULT_DECL.
   24340 
   24341 2010-06-28  Anatoly Sokolov  <aesok (a] post.ru>
   24342 
   24343 	* double-int.h (force_fit_type_double): Remove declaration.
   24344 	* double-int.c (force_fit_type_double): Move to tree.c.
   24345 	* tree.h (force_fit_type_double): Declare.
   24346 	* tree.h (force_fit_type_double): Moved from double-int.c. Use
   24347 	double_int type for 'cst' argument. Use double_int_fits_to_tree_p and
   24348 	double_int_to_tree instead of fit_double_type and build_int_cst_wide.
   24349 	* convert.c (convert_to_pointer): Adjust call to
   24350 	force_fit_type_double.
   24351 	* tree-vrp.c (extract_range_from_assert,
   24352 	extract_range_from_unary_expr): Adjust call to force_fit_type_double.
   24353 	* fold-const.c: Update comment.
   24354 	(int_const_binop, fold_convert_const_int_from_int,
   24355 	fold_convert_const_int_from_real, fold_convert_const_int_from_fixed,
   24356 	extract_muldiv_1, fold_div_compare, fold_sign_changed_comparison,
   24357 	fold_unary_loc, fold_negate_const, fold_abs_const, fold_not_const,
   24358 	round_up_loc): Adjust call to force_fit_type_double.
   24359 
   24360 2010-06-28  Philipp Tomsich  <philipp.tomsich (a] theobroma-systems.com>
   24361 
   24362 	* config/rs6000/rs6000.h (PROCESSOR_TITAN): Declare.
   24363 
   24364 2010-06-28  Martin Jambor  <mjambor (a] suse.cz>
   24365 
   24366 	* tree-sra.c (convert_callers): New parameter, change fndecls of
   24367 	recursive calls.
   24368 	(modify_function): Pass the old decl to convert_callers.
   24369 
   24370 2010-06-28  Martin Jambor  <mjambor (a] suse.cz>
   24371 
   24372 	* ipa-cp.c (ipcp_init_cloned_node): Replace calls to
   24373 	ipa_check_create_node_params and ipa_initialize_node_params with
   24374 	checking asserts they are not necessary.
   24375 
   24376 2010-06-28  Jan Hubicka  <jh (a] suse.cz>
   24377 
   24378 	PR tree-optimization/44687
   24379 	* ipa-split.c (split_function): Use DECL_RESULT to store return value.
   24380 
   24381 2010-06-28  Martin Jambor  <mjambor (a] suse.cz>
   24382 
   24383 	PR c++/44535
   24384 	* gimple-fold.c (get_first_base_binfo_with_virtuals): New function.
   24385 	(gimple_get_relevant_ref_binfo): Use get_first_base_binfo_with_virtuals
   24386 	instead of BINFO_BASE_BINFO.
   24387 
   24388 2010-06-28  Michael Matz  <matz (a] suse.de>
   24389 
   24390 	PR middle-end/44592
   24391 	* gimple-fold.c (gimplify_and_update_call_from_tree): Maintain
   24392 	proper VDEF chain for intermediate stores in the sequence.
   24393 
   24394 2010-06-28  Jan Hubicka  <jh (a] suse.cz>
   24395 
   24396 	PR tree-optimization/44357
   24397 	* ipa-inline.c (add_new_edges_to_heap): Do not add edges to
   24398 	uninlinable functions.
   24399 
   24400 2010-06-28  Philipp Tomsich  <philipp.tomsich (a] theobroma-systems.com>
   24401 
   24402 	* config.gcc (powerpc*-*-*): Handle titan.
   24403 	* config/rs6000/rs6000.c (titan_cost): New costs.
   24404 	(rs6000_override_options): Add "titan" to processor_target_table.
   24405 	Add Titan to branch alignment logic.
   24406 	Correctly set rs6000_cost for titan.
   24407 	* config/rs6000/rs6000.md (cpu): Add titan.  Include "titan.md".
   24408 	* config/rs6000/titan.md: New file.
   24409 	* doc/invoke.texi (RS/6000 and PowerPC Options): Document -mcpu=titan.
   24410 
   24411 2010-06-28  Nathan Froyd  <froydnj (a] codesourcery.com>
   24412 
   24413 	* tree-browser.c (TB_history_stack): Convert to a VEC.
   24414 	(TB_SET_HEAD): Adjust for new type of TB_history_stack.
   24415 	(TB_history_prev): Likewise.
   24416 
   24417 2010-06-28  Nathan Froyd  <froydnj (a] codesourcery.com>
   24418 
   24419 	* vec.h (vec_heap_free): Add parentheses around free.
   24420 
   24421 2010-06-28  Steven Bosscher  <steven (a] gcc.gnu.org>
   24422 
   24423 	* system.h: Poison GCC_EXCEPT_H for front-end files.
   24424 
   24425 	* langhooks.h (struct lang_hooks): Add eh_protect_cleanup_actions
   24426 	langhook.
   24427 	* langhooks-def.h (LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS) New.
   24428 	Define to NULL by default.
   24429 	* except.h: Define GCC_EXCEPT_H.
   24430 	(doing_eh): Remove prototype.
   24431 	(init_eh, init_eh_for_function): Move prototypes to toplev.h.
   24432 	(lang_protect_cleanup_actions): Remove.
   24433 	* except.c (lang_protect_cleanup_actions): Remove.
   24434 	(doing_eh): Remove.
   24435 	(gen_eh_region): Don't check doing_eh here.
   24436 	* toplev.h (init_eh, init_eh_for_function_): Moved from except.h.
   24437 	* tree-eh.c (honor_protect_cleanup_actions): Use new langhook
   24438 	instead of lang_protect_cleanup_actions.
   24439 	* omp-low.c (maybe_catch_exception): Likewise.
   24440 	* Makefile.in: Update dependencies.
   24441 
   24442 2010-06-28  Bingfeng Mei  <bmei (a] broadcom.com>
   24443 
   24444 	* cgraph.h (struct varpool_node): new used_from_object_file flag.
   24445 	(struct cgraph_local_info): new used_from_object_file flag.
   24446 	* cgraph.c (dump_cgraph_node): dump used_from_object_file flag.
   24447 	(cgraph_clone_node): initialize used_from_object_file.
   24448 	(cgraph_create_virtual_clone): initialize used_from_object_file.
   24449 	* lto-symbtab.c (lto_symtab_merge_decls_1): Set
   24450 	used_from_object_file flags for symbols of LDPR_PREVAILING_DEF
   24451 	when compiling with -fwhole-program.
   24452 	(lto_symtab_resolve_symbols) Use LDPR_PREVAILING_DEF_IRONLY for
   24453 	internal resolver.
   24454 	* ipa.c (function_and_variable_visibility): Set externally_visible
   24455 	flag of varpool_node if used_from_object_file flag is set.
   24456 	(cgraph_externally_visible_p): check used_from_object_file flag.
   24457 	* doc/invoke.texi (-fwhole-program option): Change description of
   24458 	externally_visible attribute accordingly.
   24459 	* doc/extend.texi (externally_visible): Ditto.
   24460 
   24461 2010-06-27  Jan Hubicka  <jh (a] suse.cz>
   24462 
   24463 	* params.def (max-inline-insns-auto): Default to 40.
   24464 	* doc/invoke.texi (max-inline-insns-auto): Document the change.
   24465 
   24466 2010-06-27  Jan Hubicka  <jh (a] suse.cz>
   24467 
   24468 	PR middle-end/44671
   24469 	PR middle-end/44686
   24470 	* tree.c (build_function_decl_skip_args): Clear DECL_BUILT_IN on
   24471 	signature change.
   24472 	* ipa-split.c (split_function): Always clear DECL_BUILT_IN.
   24473 	* ipa-prop.c (ipa_modify_formal_parameters): Likewise.
   24474 
   24475 2010-06-27  Anatoly Sokolov  <aesok (a] post.ru>
   24476 
   24477 	* target.h (struct gcc_target): Add register_move_cost field.
   24478 	* target-def.h (TARGET_REGISTER_MOVE_COST): New.
   24479 	(TARGET_INITIALIZER): Use TARGET_REGISTER_MOVE_COST.
   24480 	* targhooks.c (default_register_move_cost): New function.
   24481 	* targhooks.h (default_register_move_cost): Declare function.
   24482 	* defaults.h (REGISTER_MOVE_COST): Delete.
   24483 	* ira-int.h (ira_register_move_cost): Update comment.
   24484 	* ira.c (ira_register_move_cost): Update comment.
   24485 	* reload.h (register_move_cost): Declare.
   24486 	* reginfo.c (register_move_cost): New function.
   24487 	(move_cost): Update comment.
   24488 	(init_move_cost, memory_move_secondary_cost): Replace
   24489 	REGISTER_MOVE_COST with register_move_cost.
   24490 	* postreload.c (reload_cse_simplify_set): (Ditto.).
   24491 	* reload.c (find_valid_class, find_reloads): (Ditto.).
   24492 	* reload1.c (choose_reload_regs): (Ditto.).
   24493 	* doc/tm.texi (TARGET_REGISTER_MOVE_COST): New.
   24494 	(REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Update documentation.
   24495 	* doc/md.texi (can_create_pseudo_p): Update documentation.
   24496 
   24497 	* config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
   24498 	* config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
   24499 	* config/i386/i386.h (ix86_memory_move_cost): Make static.
   24500 	(TARGET_MEMORY_MOVE_COST): Define.
   24501 
   24502 	* config/ia64/ia64.h (MEMORY_MOVE_COST): Remove macro.
   24503 	* config/ia64/ia64-protos.h (int ia64_memory_move_cost): Remove.
   24504 	* config/ia64/ia64.h (ia64_memory_move_cost): Make static.
   24505 	(TARGET_MEMORY_MOVE_COST): Define.
   24506 
   24507 2010-06-27  Richard Guenther  <rguenther (a] suse.de>
   24508 
   24509 	PR tree-optimization/44683
   24510 	* tree-ssa-dom.c (record_edge_info): Record equivalences for the
   24511 	false edge from the inverted condition.
   24512 
   24513 2010-06-27  Richard Guenther  <rguenther (a] suse.de>
   24514 
   24515 	PR middle-end/44684
   24516 	* tree-ssa-alias.c (refs_may_alias_p_1): Allow SSA name refs.
   24517 	(stmt_may_clobber_ref_p_1): Do not bother to call the oracle
   24518 	for register LHS.  Or non-store assignments.
   24519 
   24520 2010-06-26  Eric Botcazou  <ebotcazou (a] adacore.com>
   24521 
   24522 	* config/sparc/sparc.c (sparc_emit_set_const32): Make static.
   24523 	(sparc_emit_set_const64): Likewise.  Remove disabled code.
   24524 	* config/sparc/sparc-protos.h (sparc_emit_set_const32): Delete.
   24525 	(sparc_emit_set_const64): Likewise.
   24526 
   24527 2010-06-26  Catherine Moore  <clm (a] codesourcery.com>
   24528 
   24529 	* config/mips/mips.md (alu_type): New attribute.
   24530 	(type): Infer type from alu_type.
   24531 	(*add<mode>3, *add<mode>3_mips16, *addsi3_extended,
   24532 	*baddu_si_eb, *baddu_si_el, *baddu_di, sub<mode>3,
   24533 	*subsi3_extended, negsi2, negdi2, *low<mode>,
   24534 	*low<mode>_mips16, *ior<mode>3, *ior<mode>3_mips16,
   24535 	xor<mode>3, *nor<mode>3,
   24536 	*zero_extend<GPR:mode>_trunc<SHORT:mode>,
   24537 	*zero_extendhi_truncqi):  Set alu_type instead of type.
   24538 
   24539 2010-06-26  Douglas B Rupp  <rupp (a] gnat.com>
   24540 
   24541 	* config/alpha/alpha.c (alpha_need_linkage): Adjust
   24542 	splay_tree_new_ggc call.
   24543 	(alpha_use_linkage): Likewise.
   24544 
   24545 2010-06-26  Joseph Myers  <joseph (a] codesourcery.com>
   24546 
   24547 	* collect2.c (main): Remove SWITCHES_NEED_SPACES conditional.
   24548 	* doc/tm.texi (SWITCHES_NEED_SPACES): Don't document.
   24549 	* gcc.c (SWITCHES_NEED_SPACES, switches_need_spaces): Remove.
   24550 	(static_specs): Remove switches_need_spaces.
   24551 	(process_command, do_self_spec): Hardcode handling "-o" instead of
   24552 	checking switches_need_spaces.
   24553 	* system.h (SWITCHES_NEED_SPACES): Poison.
   24554 
   24555 2010-06-26  Richard Guenther  <rguenther (a] suse.de>
   24556 
   24557 	PR tree-optimization/44393
   24558 	* tree-loop-distribution.c (generate_loops_for_partition): Fix
   24559 	stmt removal and VOP renaming.
   24560 	(generate_memset_zero): Remove redundant stmt updating.
   24561 	* tree-flow.h (mark_virtual_ops_in_bb): Remove.
   24562 	* tree-cfg.c (mark_virtual_ops_in_bb): Likewise.
   24563 
   24564 2010-06-26  Jan Hubicka  <jh (a] suse.cz>
   24565 
   24566 	* ipa-split.c (consider_split): PHI in entry block is OK as long as all
   24567 	edges comming from header are equivalent.
   24568 	(visit_bb): Handle PHIs correctly.
   24569 	* tree-inline.c (copy_phis_for_bb): Be able to copy
   24570 	PHI from entry edge.
   24571 	(copy_cfg_body): Produce edge from entry BB before copying PHIs.
   24572 
   24573 2010-06-26  Richard Guenther  <rguenther (a] suse.de>
   24574 
   24575 	PR middle-end/44674
   24576 	* tree-ssa-alias.c (refs_may_alias_p_1): Allow all kind of
   24577 	decls.  Handle LABEL_DECLs like FUNCTION_DECLs.
   24578 
   24579 2010-06-26  Joseph Myers  <joseph (a] codesourcery.com>
   24580 
   24581 	* gcc.c (n_switches_alloc, n_infiles_alloc, alloc_infile,
   24582 	add_infile, alloc_switch): New.
   24583 	(process_command): Remove variable lang_n_infiles.  Process
   24584 	options in a single pass.  Use new functions for allocating
   24585 	infiles and switches arrays.  Properly skip operands of
   24586 	-Xpreprocessor and -Xassembler.
   24587 
   24588 2010-06-26  Jan Hubicka  <jh (a] suse.cz>
   24589 
   24590 	PR middle-end/44671
   24591 	* cgraphunit.c (cgraph_function_versioning): Remove wrong
   24592 	cgraph_make_decl_local call; fix typo copying RTL data.
   24593 
   24594 2010-06-25  DJ Delorie  <dj (a] redhat.com>
   24595 
   24596 	* config/m32c/m32c-protos.h (m32c_note_pragma_address): Declare.
   24597 	(m32c_output_aligned_common): Likewise.
   24598 	* config/m32c/m32c.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
   24599 	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
   24600 	* config/m32c/m32c-pragma.c (m32c_pragma_address): New.
   24601 	(m32c_register_pragmas): Register it.
   24602 	* config/m32c/m32c.c (m32c_get_pragma_address): New.
   24603 	(m32c_insert_attributes): Set #pragma address decls volatile.
   24604 	(pragma_entry_eq): New.
   24605 	(pragma_entry_hash): New.
   24606 	(m32c_note_pragma_address): New.
   24607 	(m32c_get_pragma_address): New.
   24608 	(m32c_output_aligned_common): New.
   24609 	* doc/extend.texi: Document the new pragma.
   24610 
   24611 	* config/m32c/m32c.c (m32c_illegal_subreg_p): Reject illegal MEMs
   24612 	also.
   24613 	* config/m32c/predicates.md (m32c_any_operand): Check the code
   24614 	instead of memory_operand so as to allow matching volatile MEMs.
   24615 	(m32c_nonimmediate_operand): Likewise.
   24616 	(mra_operand): Allow volatiles.
   24617 
   24618 2010-06-25  Alexandre Oliva  <aoliva (a] redhat.com>
   24619 
   24620 	PR debug/44610
   24621 	* simplify-rtx.c (delegitimize_mem_from_attrs): Don't use a base
   24622 	address if the offset is unknown.
   24623 
   24624 2010-06-25  Douglas B Rupp  <rupp (a] gnat.com>
   24625 
   24626 	* dwarf2out.c (dwarf2out_vms_debug_main_pointer): New function.
   24627 	* dwarf2out.h (dwarf2out_vms_debug_main_pointer): Declare new function.
   24628 	* config/ia64/ia64-protos.h (ia64_start_function): Declare.
   24629 	* config/ia64/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Move contents
   24630 	to ia64_start_function. Invoke it.
   24631 	* config/ia64/ia64.c (ia64_start_function): Call new function
   24632 	dwarf2out_vms_debug_main_pointer.
   24633 
   24634 2010-06-25  Sebastian Pop  <sebastian.pop (a] amd.com>
   24635 
   24636 	* tree-if-conv.c (insert_gimplified_predicates): Do not insert
   24637 	statements computing the true predicate.
   24638 
   24639 2010-06-25  Sebastian Pop  <sebastian.pop (a] amd.com>
   24640 
   24641 	* tree-if-conv.c (init_bb_predicate): Initialize the predicate
   24642 	to boolean_true_node.
   24643 	(reset_bb_predicate): New.
   24644 	(predicate_bbs): Call reset_bb_predicate.
   24645 
   24646 2010-06-25  Sebastian Pop  <sebastian.pop (a] amd.com>
   24647 
   24648 	* tree-if-conv.c (combine_blocks): Remove FIXME comment.
   24649 	(tree_if_conversion): Returns true when something has been changed.
   24650 	(main_tree_if_conversion): Return TODO_cleanup_cfg when if-conversion
   24651 	changed something.
   24652 
   24653 2010-06-25  Sebastian Pop  <sebastian.pop (a] amd.com>
   24654 
   24655 	* Makefile.in (tree-if-conv.o): Depends on DBGCNT_H.
   24656 	* dbgcnt.def (if_conversion_tree): New DEBUG_COUNTER.
   24657 	* tree-if-conv.c: Include dbgcnt.h.
   24658 	(tree_if_conversion): Use if_conversion_tree to count the number of
   24659 	if-convertible loops.
   24660 
   24661 2010-06-25  Changpeng Fang  <changpeng.fang (a] amd.com>
   24662 
   24663 	* common.opt (fprefetch-loop-arrays): Re-define
   24664 	-fprefetch-loop-arrays as a tri-state option with the initial
   24665 	value of -1.
   24666 	* tree-ssa-loop.c (gate_tree_ssa_loop_prefetch): Invoke prefetch
   24667 	pass only when flag_prefetch_loop_arrays > 0.
   24668 	* toplev.c (process_options): Note that, with tri-states,
   24669 	flag_prefetch_loop_arrays>0 means prefetching is enabled.
   24670 	* config/i386/i386.c (override_options): Enable prefetching at -O3
   24671 	for a set of CPUs that sw prefetching is helpful.
   24672 	(software_prefetching_beneficial_p): New.  Return TRUE if software
   24673 	prefetching is beneficial for the given CPU.
   24674 
   24675 2010-06-25  H.J. Lu  <hongjiu.lu (a] intel.com>
   24676 
   24677 	PR rtl-optimization/44326
   24678 	* implicit-zee.c (find_removable_zero_extends): Replace
   24679 	INSN_P with NONDEBUG_INSN_P.
   24680 
   24681 2010-06-25  Martin Jambor  <mjambor (a] suse.cz>
   24682 
   24683 	* ipa-prop.h (struct ipa_param_descriptor): Removed the modified flag.
   24684 	(struct ipa_node_params): Removed the modification_analysis_done flag.
   24685 	(ipa_is_param_modified): Removed.
   24686 	(ipa_analyze_node): Declare.
   24687 	(ipa_compute_jump_functions): Remove declaration.
   24688 	(ipa_count_arguments): Likewise.
   24689 	(ipa_detect_param_modifications): Likewise.
   24690 	(ipa_analyze_params_uses): Likewise.
   24691 	* ipa-prop.c (struct param_analysis_info): New type.
   24692 	(visit_store_addr_for_mod_analysis): Removed.
   24693 	(visit_load_for_mod_analysis): Renamed to visit_ref_for_mod_analysis,
   24694 	moved down in the file.
   24695 	(ipa_detect_param_modifications): Merged into ipa_analyze_params_uses.
   24696 	(ipa_count_arguments): Made static.
   24697 	(mark_modified): New function.
   24698 	(is_parm_modified_before_call): New function.
   24699 	(compute_pass_through_member_ptrs): New parameter parms_info, call
   24700 	is_parm_modified_before_call instead of ipa_is_param_modified.
   24701 	(ipa_compute_jump_functions_for_edge): New parameter parms_info, pass
   24702 	it to compute_pass_through_member_ptrs.
   24703 	(ipa_compute_jump_functions): New parameter parms_info, pass it to
   24704 	ipa_compute_jump_functions_for_edge.  Call ipa_initialize_node_params
   24705 	on the callee if it is analyzed.  Made static.
   24706 	(ipa_analyze_indirect_call_uses): New parameter parms_info, call
   24707 	is_parm_modified_before_call instead of ipa_is_param_modified.
   24708 	(ipa_analyze_call_uses): New parameter parms_info, pass it to
   24709 	ipa_analyze_indirect_call_uses.
   24710 	(ipa_analyze_stmt_uses): New parameter parms_info, pass it to
   24711 	ipa_analyze_call_uses.
   24712 	(ipa_analyze_params_uses): New parameter parms_info, pass it to
   24713 	ipa_analyze_stmt_uses.  Also perform the used analysis.  Made static.
   24714 	(ipa_analyze_node): New function.
   24715 	(ipa_print_node_params): Do not dump the modified flag.
   24716 	(ipa_write_node_info): Assert uses_analysis_done rather than streaming
   24717 	it.  Do not stream the modified parameter flag.
   24718 	(ipa_read_node_info): Set uses_analysis_done to 1 instead of streaming
   24719 	it.  Do not stream the modified parameter flag.
   24720 	* ipa-cp.c (ipcp_analyze_node): Removed.
   24721 	(ipcp_init_stage): Iterate only once over the nodes, analyze each one
   24722 	with only a call to ipa_analyze_node.
   24723 	* ipa-inline.c (inline_indirect_intraprocedural_analysis): Analyze the
   24724 	node with only a call to ipa_analyze_node.
   24725 
   24726 2010-06-25  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   24727 
   24728 	* doc/invoke.texi (-Wsuggest-attribute): Add item for noreturn.
   24729 
   24730 2010-06-25  Jan Hubicka  <jh (a] suse.cz>
   24731 
   24732 	* tree-pass.h (pass_split_functions): Declare.
   24733 	* opts.c (decode_options): Enable function splitting at -O2
   24734 	* timevar.def (TV_IPA_FNSPLIT): New macro.
   24735 	* ipa-split.c: New file.
   24736 	* common.opt (-fpartial-inlining): New flag.
   24737 	* Makefile.in (ipa-split.o): New object file.
   24738 	* passes.c (init_optimization_passes): Add ipa-split.
   24739 	* params.def (partial-inlining-entry-probability): New parameters.
   24740 	* doc/invoke.texi (-fpartial-inlining): New.
   24741 
   24742 2010-06-25  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   24743 
   24744 	PR 44665
   24745 	* tree-inline.c (gimple_expand_calls_inline): Fix typo in comment.
   24746 	* gimplify.c (is_gimple_reg_rhs_or_call): Likewise.
   24747 	(gimplify_expr): Likewise.
   24748 
   24749 2010-06-25  Martin Jambor  <mjambor (a] suse.cz>
   24750 
   24751 	* ipa-prop.c (determine_cst_member_ptr): Ignore non-clobbering
   24752 	statements instead of bailing out on them.
   24753 	(ipa_analyze_indirect_call_uses): Do not require that loads from the
   24754 	parameter are in the same BB as the condition.  Update comments.
   24755 
   24756 2010-06-25  Jakub Jelinek  <jakub (a] redhat.com>
   24757 
   24758 	PR middle-end/43866
   24759 	* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): If stmt is always
   24760 	true or always false, return NULL_TREE.
   24761 	(tree_unswitch_single_loop): Optimize conditions even when reaching
   24762 	max-unswitch-level parameter.  If num > 0, optimize first all conditions
   24763 	using entry checks, then do still reachable block discovery and consider
   24764 	only conditions in still reachable basic blocks in the loop.
   24765 
   24766 	PR tree-optimization/44539
   24767 	* tree-cfgcleanup.c (fixup_noreturn_call): Call update_stmt even when
   24768 	the call doesn't have LHS, but has VDEF.
   24769 
   24770 2010-06-25  Joseph Myers  <joseph (a] codesourcery.com>
   24771 
   24772 	* config/pa/pa.h (MODIFY_TARGET_NAME): Remove.
   24773 	* doc/tm.texi (MODIFY_TARGET_NAME): Don't document.
   24774 	* gcc.c (enum add_del, struct modify_target, modify_target): Remove.
   24775 	(process_command): Remove code conditional on MODIFY_TARGET_NAME.
   24776 	* system.h (MODIFY_TARGET_NAME): Poison.
   24777 
   24778 2010-06-25  Alan Modra  <amodra (a] gmail.com>
   24779 
   24780 	* doc/invoke.texi: Delete mcmodel=medium from powerpc options.
   24781 	* config/rs6000/rs6000.h (enum rs6000_cmodel): Delete CMODEL_MEDIUM.
   24782 	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
   24783 	CMODEL_LARGE as default.
   24784 	* config/rs6000/rs6000.c (rs6000_handle_option): Remove mcmodel=medium.
   24785 	(offsettable_ok_by_alignment): Delete.
   24786 	(rs6000_emit_move): Remove mcmodel=medium optimization.
   24787 
   24788 2010-06-25  Bernd Schmidt  <bernds (a] codesourcery.com>
   24789 
   24790 	With large parts from Jim Wilson:
   24791 	PR target/43902
   24792 	* tree-pretty-print.c (dump_generic_node, op_code_prio): Add
   24793 	WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
   24794 	* optabs.c (optab_for_tree_code): Likewise.
   24795 	(expand_widen_pattern_expr): Likewise.
   24796 	* tree-ssa-math-opts.c (convert_mult_to_widen): New function, broken
   24797 	out of execute_optimize_widening_mul.
   24798 	(convert_plusminus_to_widen): New function.
   24799 	(execute_optimize_widening_mul): Use the two new functions.
   24800 	* expr.c (expand_expr_real_2): Add support for GIMPLE_TERNARY_RHS.
   24801 	Remove code to generate widening multiply-accumulate.  Add support
   24802 	for WIDEN_MULT_PLUS_EXPR and WIDEN_MULT_MINUS_EXPR.
   24803 	* gimple-pretty-print.c (dump_ternary_rhs): New function.
   24804 	(dump_gimple_assign): Call it when appropriate.
   24805 	* tree.def (WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR): New codes.
   24806 	* cfgexpand.c (gimple_assign_rhs_to_tree): Likewise.
   24807 	(expand_gimple_stmt_1): Likewise.
   24808 	(expand_debug_expr): Support WIDEN_MULT_PLUS_EXPR and
   24809 	WIDEN_MULT_MINUS_EXPR.
   24810 	* tree-ssa-operands.c (get_expr_operands): Likewise.
   24811 	* tree-inline.c (estimate_operator_cost): Likewise.
   24812 	* gimple.c (extract_ops_from_tree_1): Renamed from
   24813 	extract_ops_from_tree.  Add new arg for a third operand; fill it.
   24814 	(gimple_build_assign_stat): Support operations with three operands.
   24815 	(gimple_build_assign_with_ops_stat): Likewise.
   24816 	(gimple_assign_set_rhs_from_tree): Likewise.
   24817 	(gimple_assign_set_rhs_with_ops_1): Renamed from
   24818 	gimple_assign_set_rhs_with_ops.  Add new arg for a third operand.
   24819 	(get_gimple_rhs_num_ops): Support GIMPLE_TERNARY_RHS.
   24820 	(get_gimple_rhs_num_ops): Handle WIDEN_MULT_PLUS_EXPR and
   24821 	WIDEN_MULT_MINUS_EXPR.
   24822 	* gimple.h (enum gimple_rhs_class): Add GIMPLE_TERNARY_RHS.
   24823 	(extract_ops_from_tree_1): Adjust declaration.
   24824 	(gimple_assign_set_rhs_with_ops_1): Likewise.
   24825 	(gimple_build_assign_with_ops): Pass NULL for last operand.
   24826 	(gimple_build_assign_with_ops3): New macro.
   24827 	(gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3,
   24828 	gimple_assign_set_rhs_with_ops, extract_ops_from_tree): New inline
   24829 	functions.
   24830 	* tree-cfg.c (verify_gimple_assign_ternary): New static function.
   24831 	(verify_gimple_assign): Call it.
   24832 	* doc/gimple.texi (Manipulating operands): Document GIMPLE_TERNARY_RHS.
   24833 	(Tuple specific accessors, subsection GIMPLE_ASSIGN): Document new
   24834 	functions for dealing with three-operand statements.
   24835 	* tree.c (commutative_ternary_tree_code): New function.
   24836 	* tree.h (commutative_ternary_tree_code): Declare it.
   24837 	* tree-vrp.c (gimple_assign_nonnegative_warnv_p): Return false for
   24838 	ternary statements.
   24839 	(gimple_assign_nonzero_warnv_p): Likewise.
   24840 	* tree-ssa-sccvn.c (stmt_has_constants): Handle GIMPLE_TERNARY_RHS.
   24841 	* tree-ssa-ccp.c (get_rhs_assign_op_for_ccp): New static function.
   24842 	(ccp_fold): Use it.  Handle GIMPLE_TERNARY_RHS.
   24843 	* tree-ssa-dom.c (enum expr_kind): Add EXPR_TERNARY.
   24844 	(struct hashtable_expr): New member ternary in the union.
   24845 	(initialize_hash_element): Handle GIMPLE_TERNARY_RHS.
   24846 	(hashable_expr_equal_p): Fix indentation.  Handle EXPR_TERNARY.
   24847 	(iterative_hash_hashable_expr): Likewise.
   24848 	(print_expr_hash_elt): Handle EXPR_TERNARY.
   24849 	* gimple-fold.c (fold_gimple_assign): Handle GIMPLE_TERNARY_RHS.
   24850 	* tree-ssa-threadedge.c (fold_assignment_stmt): Remove useless break
   24851 	statements.  Handle GIMPLE_TERNARY_RHS.
   24852 
   24853 2010-06-25  Jan Hubicka  <jh (a] suse.cz>
   24854 
   24855 	* doc/invoke.texi (-Wsuggest-attribute): Add noreturn.
   24856 
   24857 2010-06-25  Shujing Zhao  <pearly.zhao (a] oracle.com>
   24858 
   24859 	PR c/44517
   24860 	* c-parser.c (c_parser_parms_list_declarator): Return NULL if one of
   24861 	parameters are not good.
   24862 	(c_parser_parameter_declaration): Error unknown type name if the type
   24863 	name can't start declaration specifiers.
   24864 
   24865 2010-06-25  Joseph Myers  <joseph (a] codesourcery.com>
   24866 
   24867 	* gcc.c (translate_options): Don't mention +e in comment.
   24868 	(process_command): Don't handle +e specially.
   24869 
   24870 2010-06-25  Bernd Schmidt  <bernds (a] codesourcery.com>
   24871 
   24872 	* ira.c (allocno_pool, copy_pool, allocno_live_range_pool): Delete.
   24873 
   24874 	* ira-build.c (merge_hard_reg_conflicts): New function.
   24875 	(create_cap_allocno, copy_info_to_removed_store_destinations,
   24876 	propagate_some_info_from_allocno, propagate_allocno_info): Use it.
   24877 	(move_allocno_live_ranges, copy_allocno_live_ranges): New functions.
   24878 	(remove_unnecessary_allocnos, remove_low_level_allocnos)
   24879 	copy_nifo_to_removed_store_destination): Use them.
   24880 	* ira-lives.c (make_hard_regno_born): New function, split out of
   24881 	make_regno_born.
   24882 	(make_allocno_born): Likewise.
   24883 	(make_hard_regno_dead): New function, split out of make_regno_dead.
   24884 	(make_allocno_dead): Likewise.
   24885 	(inc_register_pressure): New function, split out of set_allocno_live.
   24886 	(dec_register_pressure): New function, split out of clear_allocno_live.
   24887 	(mark_pseudo_regno_live): New function, split out of mark_reg_live.
   24888 	(mark_hard_reg_live): Likewise.  Use inc_register_pressure.
   24889 	(mark_pseudo_regno_dead): New function, split out of mark_reg_dead.
   24890 	(mark_hard_reg_dead): Likewise.  Use dec_register_pressure.
   24891 	(make_pseudo_conflict): Use mark_pseudo_regno_dead and
   24892 	mark_pseudo_regno_live.
   24893 	(process_bb_node_lives): Use mark_pseudo_regno_live,
   24894 	make_hard_regno_born and make_allocno_dead.
   24895 	(make_regno_born, make_regno_dead, mark_reg_live, mark_reg_dead,
   24896 	set_allocno_live, clear_allocno_live): Delete functions.
   24897 
   24898 	* ira-int.h (ira_parent_allocno, ira_parent_or_cap_allocno): Declare.
   24899 	* ira-build.c (ira_parent_allocno, ira_parent_or_cap_allocno): New
   24900 	functions.
   24901 	(ira_flattening): Use ira_parent_allocno.
   24902 	* ira-conflicts.c (process_regs_for_copy, propagate_copies)
   24903 	build_allocno_conflicts): Use ira_parent_or_cap_allocno.
   24904 
   24905 	* ira-color.c (assign_hard_reg): Improve formatting of multi-line for
   24906 	statement.
   24907 
   24908 	* ira-int.h (SET_MINMAX_SET_BIT, CLEAR_MINMAX_SET_BIT,
   24909 	TEST_MINMAX_SET_BIT, minmax_set_iterator, minmax_set_iter_init,
   24910 	minmax_set_iter_cond, minmax_set_iter_next,
   24911 	FOR_EACH_BIT_IN_MINMAX_SET): Renamed from SET_ALLOCNO_SET_BIT,
   24912 	CLEAR_ALLOCNO_SET_BIT, TEST_ALLOCNO_SET_BIT, ira_allocno_set_iterator,
   24913 	ira_allocno_set_iter_init, ira_allocno_set_iter_cond,
   24914 	ira_allocno_set_iter_Next and FOR_EACH_ALLOCNO_IN_ALLOCNO_SET.  All
   24915 	uses changed.
   24916 
   24917 	* ira-int.h (struct live_range, live_range_t): Renamed from struct
   24918 	ira_allocno_live_range and allocno_live_range_t; all uses changed.
   24919 	* ira-build.c (live_range_pool): Renamed from allocno_live_range_pool.
   24920 	All uses changed.
   24921 
   24922 2010-06-24  Richard Earnshaw  <rearnsha (a] arm.com>
   24923 
   24924 	* thumb2.md (thumb2_tlobits_cbranch): Delete.
   24925 	(peephole2 to convert zero_extract/compare of single bit to
   24926 	 lshift/compare): New.
   24927 
   24928 2010-06-24  Anatoly Sokolov  <aesok (a] post.ru>
   24929 
   24930 	* fold-const.c (const_binop): Remove 'notrunc' argement. Adjust
   24931 	recursive call and call to 'int_const_binop'.
   24932 	(build_range_check, fold_cond_expr_with_comparison, unextend,
   24933 	fold_truthop, extract_muldiv_1, fold_comparison, fold_binary_loc,
   24934 	multiple_of_p): Adjust call to const_binop.
   24935 
   24936 2010-06-24  Uros Bizjak  <ubizjak (a] gmail.com>
   24937 
   24938 	* config/i386/i386.md (XFmode push splitter): Use GET_MODE_SIZE to
   24939 	determine size of XFmode operand.
   24940 	(XFmode extended DFmode push splitter): Ditto.
   24941 	(XFmode extended SFmode push splitter): Ditto.
   24942 
   24943 2010-06-24  H.J. Lu  <hongjiu.lu (a] intel.com>
   24944 
   24945 	PR target/44588
   24946 	* config/i386/i386.md (extract_code): New.
   24947 	(<u>divmodqi4): Likewise.
   24948 	(divmodhiqi3): Likewise.
   24949 	(udivmodhiqi3): Likewise.
   24950 	(<u>divqi3): Remvoved.
   24951 
   24952 2010-06-24  Jakub Jelinek  <jakub (a] redhat.com>
   24953 
   24954 	PR middle-end/44492
   24955 	* recog.h (struct recog_data): Add is_asm field.
   24956 	* recog.c (asm_operand_ok, constrain_operands): If neither < nor > is
   24957 	present in constraints of inline-asm operand and memory operand
   24958 	contains {PRE,POST}_{INC,DEC,MODIFY}, return 0.
   24959 	(extract_insn): Initialize recog_data.is_asm.
   24960 	* doc/md.texi (Constraints): Document operand side-effect rules.
   24961 
   24962 2010-06-24  Andi Kleen  <ak (a] linux.intel.com>
   24963 
   24964 	* c-parser.c (c_parser_conditional_expression): Call
   24965 	warn_for_omitted_condop.
   24966 	* doc/invoke.texi: Document omitted condop warning.
   24967 
   24968 2010-06-24  Nick Clifton<nickc (a] redhat.com>
   24969 
   24970 	* loop-unswitch.c (compare_and_jump_seq): Assert that the last
   24971 	insn in the sequence is a jump insn before setting its label.
   24972 
   24973 2010-06-24  Alan Modra  <amodra (a] gmail.com>
   24974 
   24975 	* collect2.c (main): Match exactly --version and --help.
   24976 
   24977 2010-06-24  DJ Delorie  <dj (a] redhat.com>
   24978 
   24979 	* config/m32c/m32c-pragma.c: Don't include rtl.h.
   24980 
   24981 2010-06-23  Uros Bizjak  <ubizjak (a] gmail.com>
   24982 
   24983 	* config/i386/i386.md (mov<mode>): Macroize expander from mov{sf,df,xf}
   24984 	using X87MODEF mode iterator.
   24985 	(pushsf splitter): Macroize splitter using P mode iterator.
   24986 	(*swap<mode>): Macroize insn from *swap{sf,df} using MODEF
   24987 	mode iterator.
   24988 
   24989 	(*movxf_internal): Rename from *movxf_integer.
   24990 	(*movxf_internal_nointeger): Rename from *movxf_nointeger.
   24991 	(*movdf_internal_rex64): Rename from *movdf_integer_rex64.
   24992 	(*movdf_internal): Rename from *movdf_integer.
   24993 	(*movdf_internal_nointeger): Rename from *movdf_nointeger.
   24994 	(*movsf_internal): Rename from *movdf_1.
   24995 
   24996 2010-06-23  Basile Starynkevitch  <basile (a] starynkevitch.net>
   24997 
   24998 	* coretypes.h (gimple_seq_node_d, gimple_seq_node)
   24999 	(const_gimple_seq_node): Removed typedefs.
   25000 
   25001 	* gimple.h (gimple_seq_node_d, gimple_seq_node)
   25002 	(const_gimple_seq_node): Added typedefs moved from coretypes.h.
   25003 
   25004 2010-06-23  H.J. Lu  <hongjiu.lu (a] intel.com>
   25005 
   25006 	* config/i386/i386.c (bdesc_args): Replace CODE_FOR_avx_si_si256,
   25007 	CODE_FOR_avx_ps_ps256 and CODE_FOR_avx_pd_pd256 with
   25008 	CODE_FOR_vec_extract_lo_v8si, CODE_FOR_vec_extract_lo_v8sf
   25009 	and CODE_FOR_vec_extract_lo_v4df.
   25010 
   25011 	* config/i386/sse.md (vec_extract_lo_<AVX256MODE4P:mode>):
   25012 	Changed to define_insn_and_split.
   25013 	(vec_extract_lo_<AVX256MODE8P:mode>): Likewise.
   25014 	(vec_extract_lo_v16hi): Likewise.
   25015 	(vec_extract_lo_v32qi): Likewise.
   25016 	(avx_<avxmodesuffixp><avxmodesuffix>_<avxmodesuffixp>): Likewise.
   25017 	(avx_<avxmodesuffixp>_<avxmodesuffixp><avxmodesuffix>): Removed.
   25018 
   25019 2010-06-23  Joern Rennecke  <joern.rennecke (a] embecosm.com>
   25020 
   25021 	PR target/44640
   25022 	* config/spu/spu-protos.h (spu_expand_epilogue) Use bool.
   25023 	* config/spu/spu.c (spu_scalar_mode_supported_p): Declare with bool.
   25024 	(spu_vector_mode_supported_p, spu_handle_fndecl_attribute): Likewise.
   25025 	(spu_handle_vector_attribute, spu_pass_by_reference): Likewise.
   25026 	(spu_rtx_costs, spu_function_ok_for_sibcall): Likewise.
   25027 
   25028 	PR target/44640
   25029 	* config/spu/spu.c (ea_load_store_inline): Use add_reg_note.
   25030 
   25031 	PR other/44644
   25032 	* df-core.c (struct df): Rename to df_d.
   25033 	* df.h (struct df): Likewise.
   25034 	* dse.h (struct df): Remove forward declaration.
   25035 	* recog.h (struct insn_data): Rename to:
   25036 	(struct_insn_data_d).  Adjusted all users.
   25037 
   25038 2010-06-23  Arnaud Charlet  <charlet (a] adacore.com
   25039 
   25040 	PR ada/22220
   25041 	* doc/install.texi: Update requirements to build GNAT.
   25042 
   25043 2010-06-22  Andreas Schwab  <schwab (a] linux-m68k.org>
   25044 
   25045 	* config/m68k/m68k.c (m68k_output_addr_const_extra): Add cast to
   25046 	enum type.
   25047 	(m68k_sched_attr_opx_type): Remove unreachable return.
   25048 	(m68k_sched_attr_opy_type): Likewise.
   25049 	(m68k_sched_attr_size): Likewise.
   25050 	(sched_get_opxy_mem_type): Likewise.
   25051 	(m68k_sched_attr_op_mem): Likewise.
   25052 
   25053 2010-06-22  Eric Botcazou  <ebotcazou (a] adacore.com>
   25054 
   25055 	* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Chain the
   25056 	new statement and adjust VDEF only if necessary.  Remove superfluous
   25057 	call to maybe_clean_or_replace_eh_stmt.
   25058 	* gimple.c (gimple_call_copy_skip_args): Use gimple_call_copy_flags to
   25059 	copy the flags.
   25060 	* gimple-iterator.c (gsi_replace): Clear BB of old statement here...
   25061 	* tree-inline.c (copy_bb): ...and not there.
   25062 
   25063 2010-06-22  Cary Coutant  <ccoutant (a] google.com>
   25064 
   25065 	* dwarf2out.c (is_nested_in_subprogram): New function.
   25066 	(should_move_die_to_comdat): Use it.
   25067 	(copy_ancestor_tree): Don't mark DIEs here.
   25068 	(copy_decls_walk): Start walk from root of newly-added tree;
   25069 	mark DIEs here instead.
   25070 
   25071 2010-06-22  H.J. Lu  <hongjiu.lu (a] intel.com>
   25072 
   25073 	* config/i386/i386.md (unit): Also check sseishft1.
   25074 
   25075 2010-06-22  Jan Hubicka  <jh (a] suse.cz>
   25076 
   25077 	* gimple.h (gimple_expr_code): Do checking on when gimple checking is
   25078 	enabled.
   25079 
   25080 2010-06-22  Jan Hubicka  <jh (a] suse.cz>
   25081 
   25082 	* df-problems.c (df_rd_confluence_n, df_lr_confluence_n,
   25083 	df_live_confluence_n, df_byte_lr_confluence_n, df_md_confluence_n):
   25084 	Return true if something changed.
   25085 	* df.h (df_confluence_function_n): Return bool.
   25086 	* df-core.c (df_worklist_propagate_forward,
   25087 	df_worklist_propagate_backward): Track changes and ages.
   25088 	(df_worklist_dataflow_doublequeue): Use bitmap iterator for main walk;
   25089 	track ages.
   25090 	* dse.c (dse_confluence_n): Return always true.
   25091 
   25092 2010-06-22  Jan Hubicka  <jh (a] suse.cz>
   25093 
   25094 	* bitmap.c (bitmap_clear_bit): Micro optimize.
   25095 
   25096 2010-06-22  Uros Bizjak  <ubizjak (a] gmail.com>
   25097 
   25098 	* config/i386/i386.md (SWI1248x): New mode iterator.
   25099 	(SWI48x): Ditto.
   25100 	(SWI12): Ditto.
   25101 	(SWI24): Ditto.
   25102 
   25103 	(mov<mode>): Macroize expander from mov{qi,hi,si,di} using
   25104 	SWI1248x mode iterator.
   25105 	(*push<mode>2_rex64): Macroize insn from *push{qi,hi,si}_rex64
   25106 	using SWI124 mode iterator.
   25107 	(*push<mode>2): Macroize insn from *push{qi,hi} using SWI12
   25108 	mode iterator.
   25109 	(*push<mode>2_prologue): Macroize insn from  *pushsi2_prologue and
   25110 	*pushdi2_prologue_rex64 using P mode iterator.
   25111 	(*mov<mode>_xor): Macroize insn from *movsi_xor and *movdi_xor_rex64
   25112 	using SWI48 mode iterator.
   25113 	(*mov<mode>_or): Ditto from *movsi_or and *movdi_or_rex64.
   25114 	(*movabs<mode>_1): Macroize insn from *movabs{qi,hi,si,di}_1_rex64
   25115 	using SWI1248x mode iterator.
   25116 	(*movabs<mode>_2): Ditto from *movabs{qi,hi,si,di}_1_rex64.
   25117 	(*swap<mode>): Macroize insn from *swapsi and *swapdi_rex64 using
   25118 	SWI48 mode iterator.
   25119 	(*swap<mode>_1): Macroize insn from *swap{qi,hi}_1 using SWI12 mode
   25120 	iterator.
   25121 	(*swap<mode>_2): Ditto from *swap{qi,hi}_2.
   25122 	(movstrict<mode>): Macroize expander from movstrict{qi,hi} using
   25123 	SWI12 mode iterator.
   25124 	(*movstrict<mode>_1): Macroize insn from *movstrict{qi,hi}_1 using
   25125 	SWI12 mode iterator.
   25126 	(*movstrict<mode>_xor): Ditto from *movstrict{qi,hi}_xor.
   25127 	(*mov<mode>_extv_1): Macroize insn from *mov{hi,si}_extv_1 using
   25128 	SWI24 mode iterator.
   25129 	(*mov<mode>_extzv_1): Macroize insn from *mov{si,di}_extzv_1 using
   25130 	SWI48 mode iterator.
   25131 	(mov<mode>_insn_1): New expander.
   25132 	(*mov<mode>_insv_1_rex64): Macroize insn from *mov{si,di}_insv_1_rex64
   25133 	using SWI48x mode iterator.
   25134 
   25135 	(*movoi_internal_avx): Rename from *movoi_internal.
   25136 	(*movti_internal_rex64): Rename from *movti_rex64.
   25137 	(*movti_internal_sse): Rename from *movti_sse.
   25138 	(*movdi_internal_rex64): Rename from *movdi_1_rex64.
   25139 	(*movdi_internal): Rename from *movdi_2.
   25140 	(*movsi_internal): Rename from *movsi_1.
   25141 	(*movhi_internal): Rename from *movhi_1.
   25142 	(*movqi_internal): Rename from *movqi_1.
   25143 
   25144 	(insv): Update the call to gen_movsi_insv_1 for rename.
   25145 	* config/i386/i386.c (promote_duplicated_reg): Ditto.
   25146 
   25147 2010-06-22  Jan Hubicka  <jh (a] suse.cz>
   25148 
   25149 	* passes.c (execute_function_todo): Move call of statistics_fini_pass
   25150 	to ...
   25151 	(execute_todo) ... this one.
   25152 
   25153 2010-06-22  Alan Modra  <amodra (a] gmail.com>
   25154 
   25155 	PR target/44364
   25156 	* config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
   25157 	* caller-save.c (insert_restore, insert_save): Use non-validate
   25158 	form of adjust_address.
   25159 
   25160 2010-06-21  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   25161 
   25162 	PR target/39690
   25163 	* config/pa/pa.c (override_options): Disable
   25164 	-freorder-blocks-and-partition.
   25165 
   25166 2010-06-21  H.J. Lu  <hongjiu.lu (a] intel.com>
   25167 
   25168 	PR target/44615
   25169 	* config/i386/atom.md (atom_sseishft_2): Also check sseishft1.
   25170 
   25171 	* config/i386/i386.md (type): Add sseishft1
   25172 
   25173 	* config/i386/ppro_insn (ppro_insn): Also check sseishft1.
   25174 	(ppro_insn_load): Likewise.
   25175 	(ppro_insn_store): Likewise.
   25176 	(ppro_insn_both): Likewise.
   25177 
   25178 	* config/i386/sse.md (sse2_lshrv1ti3): Add atom_unit.
   25179 	(*vec_extractv2di_1_rex64_avx): Replace sseishft with sseishft1
   25180 	for type.
   25181 	(*vec_extractv2di_1_avx): Likewise.
   25182 	(*vec_extractv2di_1_rex64): Replace sseishft with sseishft1 for
   25183 	type.  Remove atom_unit.
   25184 	(*vec_extractv2di_1_sse2): Likewise.
   25185 
   25186 2010-06-21  DJ Delorie  <dj (a] redhat.com>
   25187 
   25188 	* diagnostic.h (diagnostic_classification_change_t): New.
   25189 	(diagnostic_context): Add history and push/pop list.
   25190 	(diagnostic_push_diagnostics): Declare.
   25191 	(diagnostic_pop_diagnostics): Declare.
   25192 	* diagnostic.c (diagnostic_classify_diagnostic): Store changes
   25193 	from pragmas in a history chain instead of the global table.
   25194 	(diagnostic_push_diagnostics): New.
   25195 	(diagnostic_pop_diagnostics): New.
   25196 	(diagnostic_report_diagnostic): Scan history chain to find state
   25197 	of diagnostics as of the diagnostic location.
   25198 	* opts.c (set_option): Pass UNKNOWN_LOCATION to
   25199 	diagnostic_classify_diagnostic.
   25200 	(enable_warning_as_error): Likewise.
   25201 	* diagnostic-core.h (DK_POP): Add after "real" diagnostics, for
   25202 	use in the history chain.
   25203 	* doc/extend.texi: Document pragma GCC diagnostic changes.
   25204 
   25205 2010-06-21  Jakub Jelinek  <jakub (a] redhat.com>
   25206 
   25207 	* dwarf2out.c (add_linkage_name): New function.  Don't add
   25208 	anything to DW_TAG_member DIEs.
   25209 	(add_name_and_src_coords_attributes): Use it.
   25210 	(gen_variable_die): Call it for C++ static data members if
   25211 	specification is DW_TAG_member.
   25212 
   25213 	* dwarf2out.c (base_type_die): Use DW_ATE_UTF for
   25214 	C++ char16_t and char32_t.
   25215 
   25216 	* Makefile.in (build/genattrtab.o): Depend on vecprim.h.
   25217 	* genattrtab.c: Include vecprim.h.
   25218 	(cached_attrs, cached_attr_count, attrs_seen_once,
   25219 	attrs_seen_more_than_once, attrs_to_cache, attrs_cached_inside,
   25220 	attrs_cached_after): New variables.
   25221 	(find_attrs_to_cache): New function.
   25222 	(FLG_BITWISE, FLG_AFTER, FLG_INSIDE, FLG_OUTSIDE_AND): Define.
   25223 	(write_test_expr): Add attrs_cached argument, return it too,
   25224 	attempt to cache non-const attributes used more than once in
   25225 	a single case handling.
   25226 	(write_attr_get): Use find_attrs_to_cache, for caching candidates
   25227 	emit cached_* variables.  Adjust write_attr_set callers.
   25228 	(write_attr_set): Add attrs_cached attribute, use find_attrs_to_cache
   25229 	to find attributes that should be cached in this block.  Adjust
   25230 	write_test_expr callers.
   25231 	(write_attr_case): Clear attrs_to_cache.  Adjust write_attr_set
   25232 	callers.
   25233 	(make_automaton_attrs): Adjust write_test_expr caller.
   25234 
   25235 	* Makefile.in (cfgexpand.o): Depend on $(INSN_ATTR_H).
   25236 	* genattrtab.c (check_tune_attr, find_tune_attr): New functions.
   25237 	(make_automaton_attrs): If find_tune_attr returns non-NULL,
   25238 	write separate internal_dfa_insn_code_* and insn_default_latency_*
   25239 	functions for each attribute's value and emit init_sched_attrs
   25240 	function and function pointers.
   25241 	* genattr.c (const_attrs, reservations): New variables.
   25242 	(gen_attr): Add const attributes to const_attrs vector.
   25243 	(check_tune_attr, find_tune_attr): New functions.
   25244 	(main): Add reservations to reservations vector.  If find_tune_attr
   25245 	returns true, add prototype for init_sched_attrs and make
   25246 	internal_dfa_insn_code and insn_default_latency function pointers,
   25247 	otherwise define init_sched_attrs as dummy macro.
   25248 	* cfgexpand.c: Include insn-attr.h.
   25249 	(gimple_expand_cfg): Call init_sched_attrs.
   25250 
   25251 	* stmt.c (resolve_asm_operand_names): Fix handling of %%.
   25252 
   25253 	PR target/44575
   25254 	* config/i386/i386.c (ix86_gimplify_va_arg): When copying
   25255 	va_arg from a set of register save slots into a temporary,
   25256 	if the container is bigger than type size, do the copying
   25257 	using smaller mode or using memcpy.
   25258 
   25259 	PR bootstrap/44426
   25260 	* sel-sched-dump.h (sel_prepare_string_for_dot_label): Remove
   25261 	prototype.
   25262 	(sel_print_to_dot): Remove macro.
   25263 	(sel_print): Likewise.  New prototype.
   25264 	* sel-sched-dump.c (sel_prepare_string_for_dot_label): Make static.
   25265 	(sel_print): New function.
   25266 
   25267 2010-06-21  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   25268 
   25269 	* config/sol2.h (TARGET_OS_CPP_BUILTINS): Define
   25270 	__STDC_VERSION__=199901L, _XOPEN_SOURCE=600 for C++.
   25271 
   25272 2010-06-21  Nick Clifton  <nickc (a] redhat.com>
   25273 
   25274 	* config/rx/rx.h (PTRDIFF_TYPE): Define.
   25275 	(SMALL_REGISTER_CLASS): Define (to zero).
   25276 	(PRINT_OPERAND): Delete.
   25277 	(PRINT_OPERAND_ADDRESS): Delete.
   25278 	* config/rx/rx-protos.h (rx_print_operand): Delete prototype.
   25279 	(rx_print_operand_address): Delete prototype.
   25280 	* config/rx/rx.c (rx_print_operand): Make static.
   25281 	Allow %H and %L to handle CONST_DOUBLEs.
   25282 	(rx_print_operand_address): Make static.
   25283 	(rx_gen_move_template): Rename local variable 'template' to
   25284 	out_template.
   25285 	(rx_function_arg): Do not pass unknown sized objects in registers.
   25286 	(TARGET_PRINT_OPERAND): Define.
   25287 	(TARGET_PRINT_OPERAND_ADDRESS): Define.
   25288 
   25289 2010-06-21  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
   25290 
   25291 	* Makefile.in (POD2MAN): Provide --date from $(DATESTAMP).
   25292 
   25293 2010-06-21  Kai Tietz  <kai.tietz (a] onevision.com>
   25294 
   25295 	* config/i386/i386.c (ix86_compute_frame_layout): Avoid
   25296 	stack-alignment for simple leaf-functions.
   25297 
   25298 2010-06-20  Alexandre Oliva  <aoliva (a] redhat.com>
   25299 
   25300 	* doc/install.texi: Document bootstrap-lto.
   25301 
   25302 2010-06-20  Alexandre Oliva  <aoliva (a] redhat.com>
   25303 
   25304 	PR debug/44248
   25305 	* lto-streamer-in.c (input_bb): Leave debug stmts alone.
   25306 	(input_function): Drop them here, if VTA is disabled.
   25307 
   25308 2010-06-20  Uros Bizjak  <ubizjak (a] gmail.com>
   25309 
   25310 	PR target/44546
   25311 	* config/i386/predicates.md (ix86_swapped_fp_comparsion_operator):
   25312 	New predicate.
   25313 	* config/i386/i386.md (*fp_jcc_8<mode>_387 and splitters): Use
   25314 	ix86_swapped_fp_comparsion_operator instead of
   25315 	ix86_fp_comparison_operator.
   25316 
   25317 	(*fp_jcc_1_387): Rename from *fp_jcc_3_387.
   25318 	(*fp_jcc_1r_387): Rename from *fp_jcc_4_387.
   25319 	(*fp_jcc_2_387): Rename from *fp_jcc_5_387.
   25320 	(*fp_jcc_2r_387): Rename from *fp_jcc_6_387.
   25321 	(*fp_jcc_3_387): Rename from *fp_jcc_7_387.
   25322 	(*fp_jcc_4_<mode>_387): Rename from *fp_jcc_8<mode>_387.
   25323 
   25324 2010-06-20  Joseph Myers  <joseph (a] codesourcery.com>
   25325 
   25326 	PR other/32998
   25327 	* opth-gen.awk: Generate definitions of OPT_SPECIAL_unknown,
   25328 	OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
   25329 	* opts-common.c (find_opt): Return OPT_SPECIAL_unknown on failure.
   25330 	(decode_cmdline_option): Update for this return value.  Set
   25331 	orig_option_with_args_text field.  Set arg field for unknown
   25332 	options.  Make static.
   25333 	(decode_cmdline_options_to_array): New.
   25334 	(prune_options): Update handling of find_opt return value.
   25335 	* opts.c (read_cmdline_option): Take decoded option.  Return void.
   25336 	(read_cmdline_options): Take decoded options.
   25337 	(decode_options): Add parameters for decoded options.  Use
   25338 	decode_cmdline_options_to_array.  Use decoded options for -O
   25339 	scan.  Use integral_argument for -O parameters.  Update call to
   25340 	read_cmdline_options.
   25341 	(enable_warning_as_error): Update handling of find_opt return value.
   25342 	* opts.h: Update comment on unknown options.
   25343 	(struct cl_decoded_option): Update comments on opt_index and arg.
   25344 	Add orig_option_with_args_text.
   25345 	(decode_cmdline_option): Remove.
   25346 	(decode_cmdline_options_to_array): Declare.
   25347 	(decode_options): Update prototype.
   25348 	* toplev.c (save_argv): Remove.
   25349 	(save_decoded_options, save_decoded_options_count): New.
   25350 	(read_integral_parameter): Remove.
   25351 	(print_switch_values): Use decoded options.
   25352 	(toplev_main): Don't set save_argv.  Update call to decode_options.
   25353 	* toplev.h (read_integral_parameter): Remove.
   25354 	* varasm.c (elf_record_gcc_switches): Don't handle holding back names.
   25355 
   25356 2010-06-19  Richard Earnshaw  <rearnsha (a] arm.com>
   25357 
   25358 	PR target/44072
   25359 	* arm.md (cmpsi2_addneg): Prefer emitting adds to subs with a negative
   25360 	immediate.
   25361 	* constraints.md (Pw, Px): New constraints.
   25362 	* thumb2.md (cmpsi2_addneg peephole2): New peepholes.
   25363 
   25364 2010-06-19  H.J. Lu  <hongjiu.lu (a] intel.com>
   25365 
   25366 	* config/i386/sse.md (fma4modesuffixf4): Removed.
   25367 	(ssemodesuffixf2s): Likewise.
   25368 	(ssemodesuffixf4): Likewise.
   25369 	(ssemodesuffixf2c): Likewise.
   25370 	(ssescalarmodesuffix2s): Likewise.
   25371 	(avxmodesuffixf2c): Likewise.
   25372 	(ssemodesuffix): New.
   25373 	(ssescalarmodesuffix): Likewise.
   25374 	Update patterns with ssemodesuffix and ssescalarmodesuffix.
   25375 
   25376 2010-06-19  Philip Herron  <herron.philip (a] googlemail.com>
   25377 
   25378 	* c-decl.c (c_write_global_declarations): Don't check flag_syntax_only.
   25379 
   25380 2010-06-18  H.J. Lu  <hongjiu.lu (a] intel.com>
   25381 
   25382 	* stor-layout.c (debug_rli): Remove unused local variables.
   25383 
   25384 2010-06-18  Eric Botcazou  <ebotcazou (a] adacore.com>
   25385 
   25386 	PR rtl-optimization/40900
   25387 	* expr.c (expand_expr_real_1) <SSA_NAME>: Fix long line.  Save the
   25388 	original expression for later reuse.
   25389 	<expand_decl_rtl>: Use promote_function_mode to compute the signedness
   25390 	of the promoted RTL for a SSA_NAME on the LHS of a call statement.
   25391 
   25392 2010-06-18  Anatoly Sokolov  <aesok (a] post.ru>
   25393 
   25394 	* double-int.h (double_int_to_shwi, double_int_to_uhwi,
   25395 	double_int_fits_in_uhwi_p): Implement as static inline.
   25396 	(double_int_xor): New inline function.
   25397 	(double_int_lrotate, double_int_rrotate, double_int_max,
   25398 	double_int_umax, double_int_smax, double_int_min, double_int_umin,
   25399 	double_int_smin): Declare.
   25400 	(lrotate_double, rrotate_double): Remove declaration.
   25401 	* double-int.c (double_int_fits_in_uhwi_p, double_int_to_shwi,
   25402 	double_int_to_uhwi, lrotate_double, rrotate_double): Remove function.
   25403 	(double_int_lrotate, double_int_rrotate, double_int_max,
   25404 	double_int_umax, double_int_smax, double_int_min, double_int_umin,
   25405 	double_int_smin): New function.
   25406 	* fold-const.c (int_const_binop): Clean up, use double_int_*
   25407 	functions.
   25408 	* simplify-rtx.c (simplify_const_binary_operation): Clean up, use
   25409 	double_int_* and immed_double_int_const functions.
   25410 
   25411 2010-06-18  Nathan Froyd  <froydnj (a] codesourcery.com>
   25412 
   25413 	* function.h (types_used_by_cur_var_decl): Change type to a VEC.
   25414 	* function.c (types_used_by_cur_var_decl): Likewise.
   25415 	(used_types_insert): Adjust for new type of types_used_by_cur_var_decl.
   25416 
   25417 2010-06-18  Nathan Froyd  <froydnj (a] codesourcery.com>
   25418 
   25419 	* tree.h (record_layout_info): Change type of pending_statics field
   25420 	to a VEC.
   25421 	* stor-layout.c (start_record_layout): Store NULL into
   25422 	pending_statics.
   25423 	(debug_rli): Call debug_vec_tree instead of debug_tree.
   25424 	(place_field): Likewise.
   25425 	(finish_record_layout): Likewise.
   25426 
   25427 2010-06-18  Alan Modra  <amodra (a] gmail.com>
   25428 
   25429 	* config/rs6000/linux64.h (SET_CMODEL): Don't expand to empty.
   25430 
   25431 2010-06-17  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   25432 
   25433 	PR target/43740
   25434 	* config/pa/pa.c (emit_move_sequence): Don't infer REG_POINTER flag
   25435 	for SET source operand from SET destination operand.
   25436 
   25437 2010-06-17  Bernd Schmidt  <bernds (a] codesourcery.com>
   25438 
   25439 	PR rtl-optimization/39871
   25440 	* reload1.c (init_eliminable_invariants): For flag_pic, disable
   25441 	equivalences only for constants that aren't LEGITIMATE_PIC_OPERAND_P.
   25442 	(function_invariant_p): Rule out a plus of frame or arg pointer with
   25443 	a SYMBOL_REF.
   25444 	* ira.c (find_reg_equiv_invariant_const): Likewise.
   25445 
   25446 2010-06-17  Gunther Nikl  <gnikl (a] users.sourceforge.net>
   25447 
   25448 	* config/rs6000/rs6000.c (print_operand) <'K'>: Also use
   25449 	print_operand_address and puts to output the operand for CONST.
   25450 
   25451 2010-06-17  Jakub Jelinek  <jakub (a] redhat.com>
   25452 
   25453 	PR debug/44572
   25454 	* dwarf2out.c (dwarf2out_debug_hooks): Add entry for begin_epilogue
   25455 	hook.
   25456 
   25457 2010-06-17  Nathan Froyd  <froydnj (a] codesourcery.com>
   25458 
   25459 	* v850-protos.h (print_operand): Delete.
   25460 	(print_operand_address): Delete.
   25461 	* v850.h (PRINT_OPERAND): Delete.
   25462 	(PRINT_OPERAND_PUNCT_VALID_P): Delete.
   25463 	(PRINT_OPERAND_ADDRESS): Delete.
   25464 	* v850.c (print_operand_address): Rename to...
   25465 	(v850_print_operand_address): ...this.  Make static. Call
   25466 	v850_print_operand.
   25467 	(print_operand): Rename to...
   25468 	(v850_print_operand): ...this.  Make static.  Call
   25469 	v850_print_operand_address.
   25470 	(v850_print_operand_punct_valid_p): New function.
   25471 	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
   25472 	(TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
   25473 
   25474 2010-06-17  Nathan Froyd  <froydnj (a] codesourcery.com>
   25475 
   25476 	* config/sh/sh-protos.h (print_operand): Delete.
   25477 	(print_operand_address): Delete.
   25478 	* config/sh/sh.h (PRINT_OPERAND): Delete.
   25479 	(PRINT_OPERAND_PUNCT_VALID_P): Delete.
   25480 	(PRINT_OPERAND_ADDRESS): Delete.
   25481 	* config/sh/sh.c (sh_print_operand_address): Make static.
   25482 	(sh_print_operand): Make static.  Call sh_print_operand_address
   25483 	and sh_print_operand.
   25484 	(sh_print_operand_punct_valid_p): New function.
   25485 	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
   25486 	(TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
   25487 
   25488 2010-06-17  Nathan Froyd  <froydnj (a] codesourcery.com>
   25489 
   25490 	* config/mcore/mcore-protos.h (mcore_print_operand): Delete.
   25491 	(mcore_print_operand_address): Delete.
   25492 	* config/mcore/mcore.h (PRINT_OPERAND): Delete.
   25493 	(PRINT_OPERAND_PUNCT_VALID_P): Delete.
   25494 	(PRINT_OPERAND_ADDRESS): Delete.
   25495 	* config/mcore/mcore.c (mcore_print_operand_address): Make static.
   25496 	(mcore_print_operand): Make static.
   25497 	(mcore_print_operand_punct_valid_p): New function.
   25498 	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define
   25499 	(TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
   25500 
   25501 2010-06-17  Nathan Froyd  <froydnj (a] codesourcery.com>
   25502 
   25503 	* config/m68hc11/m68hc11-protos.h (print_operand): Delete.
   25504 	(print_operand_address): Delete.
   25505 	* config/m68hc11/m68hc11.h (PRINT_OPERAND): Delete.
   25506 	(PRINT_OPERAND_ADDRESS): Delete.
   25507 	* config/m68hc11/m68hc11.c (m68hc11_print_operand_address): Make
   25508 	static.
   25509 	(m68hc11_print_operand): Make static.
   25510 	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
   25511 
   25512 2010-06-17  Nathan Froyd  <froydnj (a] codesourcery.com>
   25513 
   25514 	* config/m32r/m32r-protos.h (m32r_print_operand): Delete.
   25515 	(m32r_print_operand_address): Delete.
   25516 	* config/m32r/m32r.h (m32r_punct_chars): Delete.
   25517 	(PRINT_OPERAND): Delete.
   25518 	(PRINT_OPERAND_PUNCT_VALID_P): Delete.
   25519 	(PRINT_OPERAND_ADDRESS): Delete.
   25520 	* config/m32r/m32r.c (m32r_punct_chars): Make static.
   25521 	(m32r_print_operand_address): Make static.
   25522 	(m32r_print_operand): Make static.
   25523 	(m32r_print_operand_punct_valid_p): New function.
   25524 	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
   25525 	(TARGET_PRINT_OPERAND_ADDRESS): Define.
   25526 
   25527 2010-06-17  Nathan Froyd  <froydnj (a] codesourcery.com>
   25528 
   25529 	* config/iq2000/iq2000-protos.h (print_operand): Delete.
   25530 	(print_operand_address): Delete.
   25531 	* config/iq2000/iq2000.h (PRINT_OPERAND): Delete.
   25532 	(PRINT_OPERAND_PUNCT_VALID_P): Delete.
   25533 	(PRINT_OPERAND_ADDRESS): Delete.
   25534 	(iq2000_print_operand_punct): Delete.
   25535 	* config/iq2000/iq2000.c (iq2000_print_operand_punct): Make static.
   25536 	(iq2000_print_operand_address): Make static.
   25537 	(iq2000_print_operand): Make static.
   25538 	(iq2000_print_operand_punct_valid_p): New function.
   25539 	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
   25540 	(TARGET_PRINT_OPERAND_ADDRESS): Define.
   25541 
   25542 2010-06-17  Nathan Froyd  <froydnj (a] codesourcery.com>
   25543 
   25544 	* config/frv/frv-protos.h (frv_print_operand): Delete.
   25545 	(frv_print_operand_address): Delete.
   25546 	* config/frv/frv.h (PRINT_OPERAND): Delete.
   25547 	(PRINT_OPERAND_PUNCT_VALID_P): Delete.
   25548 	(PRINT_OPERAND_ADDRESS): Delete.
   25549 	* config/frv/frv.c (frv_print_operand_address): Make static.
   25550 	(frv_print_operand): Make static.
   25551 	(frv_print_operand_punct_valid_p): New function.
   25552 	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
   25553 	(TARGET_PRINT_OPERAND_ADDRESS): Define.
   25554 
   25555 2010-06-17  Nathan Froyd  <froydnj (a] codesourcery.com>
   25556 
   25557 	* tree.h (vec_member): Declare.
   25558 	* tree.c (vec_member): Define.
   25559 
   25560 2010-06-17  Richard Guenther  <rguenther (a] suse.de>
   25561 
   25562 	* tree-flow-inline.h (array_ref_contains_indirect_ref): Remove.
   25563 	* tree-flow.h (array_ref_contains_indirect_ref): Likewise.
   25564 
   25565 2010-06-17  Richard Guenther  <rguenther (a] suse.de>
   25566 
   25567 	* tree-inline.c (declare_return_variable): Remove bogus code.
   25568 
   25569 2010-06-17  Richard Guenther  <rguenther (a] suse.de>
   25570 
   25571 	* gimplify.c (gimplify_bind_expr): Always promote complex
   25572 	and vector variables to registers if possible.
   25573 
   25574 2010-06-17  Richard Guenther  <rguenther (a] suse.de>
   25575 
   25576 	* expr.c (get_inner_reference): Use double_int for bit_offset
   25577 	calculation.
   25578 
   25579 2010-06-16  DJ Delorie  <dj (a] redhat.com>
   25580 
   25581 	* common.opt (-fstrict-volatile-bitfields): new.
   25582 	* doc/invoke.texi: Document it.
   25583 	* fold-const.c (optimize_bit_field_compare): For volatile
   25584 	bitfields, use the field's type to determine the mode, not the
   25585 	field's size.
   25586 	* expr.c (expand_assignment): Likewise.
   25587 	(get_inner_reference): Likewise.
   25588 	(expand_expr_real_1): Likewise.
   25589 	* expmed.c (store_fixed_bit_field): Likewise.
   25590 	(extract_bit_field_1): Likewise.
   25591 	(extract_fixed_bit_field): Likewise.
   25592 
   25593 2010-06-16  Richard Guenther  <rguenther (a] suse.de>
   25594 
   25595 	* tree-inline.c (remap_gimple_op_r): Recurse using remap_gimple_op_r.
   25596 
   25597 2010-06-16  Douglas B Rupp  <rupp (a] gnat.com>
   25598 
   25599 	* config/ia64/vms.h (ASM_OUTPUT_DWARF_DELTA_UNITS): Remove.
   25600 	(ASM_OUTPUT_DWARF_VMS_DELTA: Define new macro.
   25601 	* dbxout.c (gcc_debug_hooks): New entry begin_epilogue.
   25602 	* debug.c: Likewise.
   25603 	* sdbout.c: Likewise.
   25604 	* vmsdbgout.c: Likewise.
   25605 	* debug.h: Likewise. (dwarf2out_vms_{begin,end}_prologue): Declare.
   25606 	* doc/tm.texi (ASM_OUTPUT_DWARF_VMS_DELTA): Document.
   25607 	* dwarf2asm.c (dw2_asm_output_vms_delta): New function.
   25608 	(ASM_OUTPUT_DWARF_VMS_DELTA): Call it.
   25609 	* dwarf2asm.h (dw2_asm_output_vms_delta): Declare.
   25610 	* dwarf2out.c (dw_fde_struct): New fields
   25611 	dw_fde_vms_{end,begin}_prologue.
   25612 	(PROLOGUE_END_LABEL, EPILOGUE_BEGIN_LABEL): New macros.
   25613 	(dwarf2out_begin_prologue): Set dw_fde_struct defaults for above.
   25614 	(dwarf2out_vms_end_prologue): New function.
   25615 	(dwarf2out_vms_begin_epilogue): New function.
   25616 	(dw_val_struct): New value dw_val_class_vms_delta.
   25617 	(gcc_debug_hooks): New entry begin_epilogue. Set end_prologue,
   25618 	begin_epilogue for VMS.
   25619 	(AT_vms_delta1, AT_vms_delta2, add_AT_vms_delta): Declare
   25620 	new static functions.
   25621 	(dwarf_attr_name): New cases DW_AT_HP_{prologue,epilogue}.
   25622 	(AT_vms_delta1, AT_vms_delta2, add_AT_vms_delta): New
   25623 	static functions.
   25624 	(print_die): New case dw_val_class_vms_delta.
   25625 	(attr_checksum): Likewise.
   25626 	(same_dw_val_p: Likewise.
   25627 	(size_of_die): Likewise.
   25628 	(value_format): Likewise.
   25629 	(output_die): Likewise.
   25630 	(gen_subprogram_die): Call add_AT_vms_delta on VMS.
   25631 	(dwarf2out_begin_epilogue): Rename to dwarf2out_cfi_begin_epilogue
   25632 	* dwarf2out.h (dwarf2out_begin_epilogue): Rename to
   25633 	dwarf2out_cfi_begin_epilogue
   25634 	* final.c (final_scan_insn): Likewise. Call begin_epilogue.
   25635 
   25636 2010-06-16  Nathan Froyd  <froydnj (a] codesourcery.com>
   25637 
   25638 	* config/cris/cris-protos.h (cris_print_operand): Delete.
   25639 	(cris_print_operand_address): Delete.
   25640 	* config/cris/cris.h (PRINT_OPERAND): Delete.
   25641 	(PRINT_OPERAND_PUNCT_VALID_P): Delete.
   25642 	(PRINT_OPERAND_ADDRESS): Delete.
   25643 	* config/cris/cris.c (cris_print_operand_address): Make static.
   25644 	(cris_print_operand): Make static.
   25645 	(cris_print_operand_punct_valid_p): New function.
   25646 	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
   25647 	(TARGET_PRINT_OPERAND_ADDRESS): Define.
   25648 
   25649 2010-06-16  Nathan Froyd  <froydnj (a] codesourcery.com>
   25650 
   25651 	* config/arm/arm-protos.h (arm_print_operand): Delete.
   25652 	(arm_print_operand_address): Delete.
   25653 	* config/arm/arm.h (PRINT_OPERAND): Delete.
   25654 	(PRINT_OPERAND_PUNCT_VALID_P): Delete.
   25655 	(PRINT_OPERAND_ADDRESS, ARM_PRINT_OPERAND_ADDRESS):
   25656 	(THUMB_PRINT_OPERAND_ADDRESS): Delete and move code to...
   25657 	* config/arm/arm.c (arm_print_operand_address): ...here.  New function.
   25658 	(arm_print_operand): Make static.
   25659 	(arm_print_operand_punct_valid_p): New function.
   25660 	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
   25661 	(TARGET_PRINT_OPERAND_ADDRESS): Define.
   25662 
   25663 2010-06-16  Nick Clifton  <nickc (a] redhat.com>
   25664 
   25665 	* config/rx/constraints.md (NEGint4): New constraint.
   25666 	* config/rx/rx.md (attr cc): Add set_zsc.
   25667 	(cbranchsf4): Only test for -fnon-call-exceptions if cfun has been
   25668 	initialised.
   25669 	(cmpsf): Likewise.
   25670 	(call_internal): Clobber the cc0 register.
   25671 	(call_value_internal): Likewise.
   25672 	(cstoresi4): Likewise.
   25673 	(movsieq): Likewise.
   25674 	(movsine): Likewise.
   25675 	(addsi3): Add alternative to handle small negative constants.
   25676 	(sunsi3): Likewise.
   25677 	(addsi3): Do not set the O bit in the cc0 register.
   25678 	(adddi3): Likewise.
   25679 	(subsi3): Likewise.
   25680 	(subdi3): Likewise.
   25681 	(andsi3): Reorder alternatives to prefer shorter forms.
   25682 	(mulsi3): Likewise.
   25683 	(iorsi3): Likewise.
   25684 	(negsi2): Note that the cc0 flags are set.
   25685 	(rotlsi3): Note that only the Z and S bits are set in cc0.
   25686 	(lshrsi3): Likewise.
   25687 	(ashlsi3): Likewise.
   25688 	(subsf3): Use %Q for the MEM operand.
   25689 	(fix_truncsfsi2): Likewise.
   25690 	(floatsisf2): Likewise.
   25691 	(bitset): Remove early clobber from destination.
   25692 	(bitset_in_memory): Likewise.
   25693 	(lrintsf2): Clobber the cc0 register.
   25694 	* config/rx/rx.c (rx_notice_update_cc): Handle CC_SET_ZSC.
   25695 	(rx_print_operand): Handle %N.
   25696 
   25697 2010-06-16  Jan Hubicka  <jh (a] suse.cz>
   25698 
   25699 	* df-core.c (df_compact_blocks): Free problem_temps vector.
   25700 
   25701 2010-06-16  Martin Jambor  <mjambor (a] suse.cz>
   25702 
   25703 	PR tree-optimization/43905
   25704 	* tree-sra.c: Include tree-inline.h.
   25705 	(create_abstract_origin): Removed.
   25706 	(modify_function): Version the call graph node instead of creating
   25707 	abstract origins and dealing with same_body aliases.
   25708 	* tree-sra.c (ipa_sra_preliminary_function_checks): Check whether the
   25709 	function is versionable.
   25710 	* Makefile.in (tree-sra.o): Add TREE_INLINE_H to dependencies.
   25711 
   25712 2010-06-16  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   25713 
   25714 	* config/mips/linux64.h (BIONIC_DYNAMIC_LINKERN32): Define.
   25715 	(CHOOSE_DYNAMIC_LINKER): Update.
   25716 
   25717 2010-06-15  Uros Bizjak  <ubizjak (a] gmail.com>
   25718 
   25719 	* config/i386/i386.c (*prefetch_sse_<mode>):  Macroize insn from
   25720 	*prefetch_sse and *prefetch_sse_rex using P mode iterator.
   25721 	(*prefetch_3dnow_<mode>): Ditto from *prefetch_3dnow and
   25722 	*prefetch_3dnow_rex.
   25723 
   25724 2010-06-15  Anatoly Sokolov  <aesok (a] post.ru>
   25725 
   25726 	* target.h (struct asm_out):Add declare_constant_name field.
   25727 	* target-def.h (TARGET_ASM_DECLARE_CONSTANT_NAME): Define.
   25728 	(TARGET_INITIALIZER): Use TARGET_ASM_DECLARE_CONSTANT_NAME.
   25729 	* output.h (default_asm_declare_constant_name): Declare.
   25730 	(assemble_label): Update prototype.
   25731 	* varasm.c (assemble_constant_contents): Use
   25732 	targetm.asm_out.declare_constant_name target hook.
   25733 	(assemble_label): Add 'file' argument.
   25734 	(default_asm_declare_constant_name): New function.
   25735 	* system.h (ASM_DECLARE_CONSTANT_NAME): Poison.
   25736 	* doc/tm.texi (ASM_DECLARE_CONSTANT_NAME): Remove.
   25737 	(TARGET_ASM_DECLARE_CONSTANT_NAME): Document it.
   25738 
   25739 	* config/darwin-protos.h (darwin_asm_declare_constant_name): Declare.
   25740 	* config/darwin.c (darwin_asm_declare_constant_name): New function.
   25741 	(machopic_output_indirection): Update assemble_label argument list.
   25742 	* config/darwin.h (ASM_DECLARE_CONSTANT_NAME): Remove.
   25743 	(TARGET_ASM_DECLARE_CONSTANT_NAME): Define.
   25744 
   25745 2010-06-15  Sebastian Pop  <sebastian.pop (a] amd.com>
   25746 
   25747 	PR middle-end/44391
   25748 	* graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
   25749 	size_one_node for pointer types.  Do not call gmp_cst_to_tree.
   25750 
   25751 2010-06-15  Richard Guenther  <rguenther (a] suse.de>
   25752 
   25753 	* tree-ssa-pre.c (eliminate): Handle PHI elimination to constants.
   25754 
   25755 2010-06-15  Paul Brook  <paul (a] codesourcery.com>
   25756 
   25757 	* config/arm/arm.c (use_vfp_abi): Add sorry() for Thumb-1
   25758 	hard-float ABI.
   25759 
   25760 2010-06-15  Alexandre Oliva  <aoliva (a] redhat.com>
   25761 
   25762 	* tree-vect-patterns.c (vect_pattern_recog_1): Bail out if we
   25763 	don't get a vector type for output.
   25764 
   25765 2010-06-15  Jakub Jelinek  <jakub (a] redhat.com>
   25766 
   25767 	PR fortran/44536
   25768 	* langhooks.h (struct lang_hooks_for_decls): Add omp_report_decl.
   25769 	* langhooks-def.h (LANG_HOOKS_OMP_REPORT_DECL): Define.
   25770 	(LANG_HOOKS_DECLS): Add it.
   25771 	* gimplify.c (omp_notice_variable): Call
   25772 	lang_hooks.decls.omp_report_decl.
   25773 
   25774 2010-06-15  Martin Jambor  <mjambor (a] suse.cz>
   25775 
   25776 	PR lto/44464
   25777 	* tree-sra.c (replace_removed_params_ssa_names): Call release_ssa_name
   25778 	on the newly dead SSA name.
   25779 
   25780 2010-06-15  Alan Modra  <amodra (a] gmail.com>
   25781 
   25782 	* doc/invoke.texi: Add mcmodel to powerpc options.
   25783 	* configure.ac: Add HAVE_LD_LARGE_TOC test.
   25784 	* configure: Regenerate.
   25785 	* config.in: Regenerate.
   25786 	* config/rs6000/linux64.opt (mcmodel): New.
   25787 	* config/rs6000/linux64.h (TARGET_USES_LINUX64_OPT): Define.
   25788 	(TARGET_CMODEL, SET_CMODEL): Define.
   25789 	(SUBSUBTARGET_OVERRIDE_OPTIONS): Check user -mcmodel choice,
   25790 	select CMODEL_MEDIUM default.
   25791 	* config/rs6000/rs6000.h (enum rs6000_cmodel): New.
   25792 	(TARGET_CMODEL): Define default.
   25793 	* config/rs6000/rs6000.c (cmodel): New variable.
   25794 	(rs6000_explicit_options): Add cmodel field.
   25795 	(rs6000_handle_option): Handle -mcmodel.
   25796 	(create_TOC_reference): Add largetoc_reg param.  Generate high,
   25797 	lo_sum rtl for CMODEL_MEDIUM and CMODEL_LARGE.  Update all callers.
   25798 	(rs6000_delegitimize_address): Recognise new toc reference rtl
   25799 	and minimal-toc rtl.
   25800 	(rs6000_legitimize_reload_address): Handle new toc references.
   25801 	(print_operand_address): Handle legitimate_constant_pool_address_p
   25802 	match before lo_sum.
   25803 	(rs6000_eliminate_indexed_memrefs): Tidy.
   25804 	(rs6000_emit_move): Tweak threshold for inlining constants.
   25805 	Keep rs6000_emit_allocate_stack large stack frame offsets
   25806 	loaded into r0 inline.
   25807 	(rs6000_generate_compare <cmptf_internal2>): One more clobber.
   25808 	(tocrel_base, tocrel_offset): New variables.
   25809 	(toc_relative_expr_p): Set them here.
   25810 	(print_operand_address): Skip over any offset on constant pool address.
   25811 	(rs6000_output_addr_const_extra): Print tocrel_offset before @toc.
   25812 	(rs6000_mode_dependent_address <LO_SUM>): False for new toc refs.
   25813 	(offsettable_ok_by_alignment): New function.
   25814 	(rs6000_emit_move): Address suitably aligned local symbol_refs
   25815 	relative to the toc pointer for -mcmodel=medium.
   25816 	(legitimate_constant_pool_address_p): Make param const_rtx.  Add
   25817 	strict param.  Allow lo_sum version of addressing.  Verify reg
   25818 	used for -mminimal-toc and -mcmodel != small.  Update all callers.
   25819 	* config/rs6000/constraints.md: Update for above change.
   25820 	* config/rs6000/predicates.md: Likewise.
   25821 	* config/rs6000/rs6000.md (tls_gd_aix): Generate -mcmodel=medium/large
   25822 	code.
   25823 	(tls_gd): Split for -mcmodel=medium/large.
   25824 	(tls_gd_high, tls_gd_low): New.
   25825 	(tls_ld_aix, tls_ld, tls_ld_high, tls_ld_low): Similarly.
   25826 	(tls_got_dtprel, tls_got_dtprel_high, tls_got_dtprel_low): Similarly.
   25827 	(tls_got_tprel, tls_got_tprel_high, tls_got_tprel_low): Similarly.
   25828 	(largetoc_high, largetoc_low): New.
   25829 	(cmptf_internal2): Add clobber.
   25830 	* config/rs6000/rs6000-protos.h: Update.
   25831 
   25832 2010-06-14  Changpeng Fang  <changpeng.fang (a] amd.com>
   25833 
   25834 	* tree-ssa-loop-prefetch.c (nothing_to_prefetch_p): New.  Return
   25835 	true if no prefetch is going to be generated for a given group.
   25836 	(estimate_prefetch_count): Use prefetch_mod and unroll_factor to
   25837 	estimate the prefetch_count.
   25838 	(loop_prefetch_arrays): Call nothing_to_prefetch_p; estimate the
   25839 	prefetch count by considering the unroll_factor and prefetch_mod
   25840 	for is_loop_prefetching_profitable.
   25841 
   25842 2010-06-14  Andreas Schwab  <schwab (a] linux-m68k.org>
   25843 
   25844 	* config/m68k/m68k.c (m68k_delegitimize_address): Don't do
   25845 	anything if the argument is not a MEM.
   25846 
   25847 2010-06-14  Alexandre Oliva  <aoliva (a] redhat.com>
   25848 
   25849 	PR debug/43650
   25850 	PR debug/44181
   25851 	PR debug/44247
   25852 	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Skip
   25853 	debug stmts.
   25854 	(canonicalize_loop_ivs): Likewise.
   25855 
   25856 2010-06-14  Alexandre Oliva  <aoliva (a] redhat.com>
   25857 
   25858 	PR debug/43656
   25859 	* haifa-sched.c (setup_insn_reg_pressure_info,
   25860 	update_register_pressure): Reject debug insns.
   25861 	(ready_sort): Don't setup reg pressure for debug insns.
   25862 	(schedule_insn): Don't update reg pressure for debug insns.
   25863 
   25864 2010-06-14  Richard Guenther  <rguenther (a] suse.de>
   25865 
   25866 	* lto-streamer.c (cached_bp): Remove.
   25867 	(bitpack_delete): Likewise.
   25868 	(bitpack_create): Likewise.
   25869 	(bp_get_next_word): Likewise.
   25870 	(bp_pack_value, bp_unpack_value): Move ...
   25871 	* lto-streamer.h (bp_pack_value, bp_unpack_value): ... here.
   25872 	Re-implement.
   25873 	(struct bitpack_d): Likewise.
   25874 	(bitpack_create, lto_output_bitpack, lto_input_bitpack):
   25875 	New inline functions.
   25876 	* lto-streamer-out.c (lto_output_bitpack): Remove.
   25877 	(pack_ts_base_value_fields): Adjust.  Avoid conditional bitpacking.
   25878 	(pack_value_fields): Adjust.
   25879 	(lto_write_tree): Likewise.
   25880 	(output_gimple_stmt): Likewise.
   25881 	(output_function): Likewise.
   25882 	* lto-streamer-in.c (input_gimple_stmt): Adjust.
   25883 	(input_function): Likewise.
   25884 	(unpack_ts_base_value_fields): Adjust.  Avoid conditional bitpacking.
   25885 	(lto_input_bitpack): Remove.
   25886 	(lto_materialize_tree): Adjust.
   25887 	* Makefile.in (ipa-prop.o): Add $(LTO_STREAMER_H) dependency.
   25888 	* lto-cgraph.c (lto_output_edge): Adjust.
   25889 	(lto_output_node): Likewise.
   25890 	(lto_output_varpool_node): Likewise.
   25891 	(lto_output_ref): Likewise.
   25892 	(input_node): Likewise.
   25893 	(input_varpool_node): Likewise.
   25894 	(input_ref): Likewise.
   25895 	(input_edge): Likewise.
   25896 	(output_node_opt_summary): Likewise.
   25897 	(input_node_opt_summary): Likewise.
   25898 	* ipa-pure-const.c (pure_const_write_summary): Likewise.
   25899 	(pure_const_read_summary): Likewise.
   25900 	* ipa-prop.c (ipa_write_indirect_edge_info): Likewise.
   25901 	(ipa_read_indirect_edge_info): Likewise.
   25902 	(ipa_write_node_info): Likewise.
   25903 	(ipa_read_node_info): Likewise.
   25904 
   25905 2010-06-14  H.J. Lu  <hongjiu.lu (a] intel.com>
   25906 
   25907 	PR target/44534
   25908 	* config/i386/sse.md (vec_extract_lo_<mode>): Replace 0x1 with 0x0.
   25909 	(vec_extract_lo_v16hi): Likewise.
   25910 	(vec_extract_lo_v32qi): Likewise.
   25911 
   25912 2010-06-14  Jakub Jelinek  <jakub (a] redhat.com>
   25913 
   25914 	PR bootstrap/44426
   25915 	* tree.h (build_call_expr): Don't define as vararg macro, instead
   25916 	add a prototype.
   25917 	* builtins.c (build_call_nofold): Remove.
   25918 	(expand_builtin_int_roundingfn, expand_builtin_pow,
   25919 	expand_builtin_mempcpy_args, expand_builtin_stpcpy,
   25920 	expand_builtin_memset_args, expand_builtin_strcmp,
   25921 	expand_builtin_strncmp, expand_builtin_memory_chk): Use
   25922 	build_call_nofold_loc instead of build_call_nofold.
   25923 	(build_call_expr): New function.
   25924 
   25925 	PR tree-optimization/44508
   25926 	* tree-ssa-propagate.h (substitute_and_fold): Add DO_DCE argument.
   25927 	* tree-ssa-propagate.c (substitute_and_fold): If !DO_DCE,
   25928 	don't eliminate trivially dead stmts.
   25929 	* tree-vrp.c (vrp_finalize): Pass false as last argument
   25930 	to substitute_and_fold.
   25931 	* tree-ssa-copy.c (fini_copy_prop): Pass true as last argument
   25932 	to substitute_and_fold.
   25933 	* tree-ssa-ccp.c (ccp_finalize): Likewise.
   25934 
   25935 	PR bootstrap/44509
   25936 	* c-config-lang.in (gtfiles): Add c-family/c-cppbuiltin.c.
   25937 
   25938 2010-06-14  Ira Rosen  <irar (a] il.ibm.com>
   25939 
   25940 	PR tree-optimization/44507
   25941 	* tree-vect-loop.c (get_initial_def_for_reduction): Use -1
   25942 	to build initial vector for BIT_AND_EXPR.
   25943 	* tree-vect-slp.c (vect_get_constant_vectors): Likewise.
   25944 
   25945 2010-06-14  Jakub Jelinek  <jakub (a] redhat.com>
   25946 
   25947 	* config/s390/s390.md (*mov<mode>_64 DD_DF, mov<mode>): Properly
   25948 	adjust z10prop set_attr.
   25949 
   25950 2010-06-13  Jan Hubicka  <jh (a] suse.cz>
   25951 
   25952 	* bitmap.c (bitmap_and, bitmap_and_into, bitmap_and_compl,
   25953 	bitmap_and_compl_into, bitmap_compl_and_into, bitmap_ior,
   25954 	bitmap_ior_into, bitmap_xor, bitmap_xor_into,
   25955 	bitmap_ior_and_compl, bitmap_ior_and_compl): Turn internal
   25956 	datastructure checks into checking asserts.
   25957 	* rtlanal.c (find_reg_note): Use gcc_checking_assert.
   25958 	* tree-ssa-sccvn.c (VN_INFO): Likewise.
   25959 	* df-scan.c (df_reorganize_refs_by_reg_by_reg, df_install_ref,
   25960 	df_ref_create_structure): Likewise.
   25961 	* alloc-pool.c (create_alloc_pool, empty_alloc_pool, pool_alloc,
   25962 	pool_free): Use gcc_checking_assert.
   25963 	* alias.c (get_alias_set): Likewise.
   25964 	* var-tracking.c (variable_htab_free, shared_hash_copy,
   25965 	canonicalize_values_mark, variable_merge_over_cur): Likewise.
   25966 	* lto-streamer.c (bp_unpack_value): Likewise.
   25967 
   25968 2010-06-13  Richard Guenther  <rguenther (a] suse.de>
   25969 
   25970 	* lto-streamer-in.c (lto_input_ts_type_tree_pointers):
   25971 	Do not stream but initialize TYPE_CANONICAL to NULL.
   25972 	(lto_output_ts_type_tree_pointers): Do not stream TYPE_CANONICAL.
   25973 	* gimple.c (gimple_types_compatible_p): Disregard
   25974 	TYPE_STRUCTURAL_EQUALITY_P.
   25975 	(gimple_register_type): Use TYPE_CANONICAL as cache.
   25976 	* lto-streamer.c (lto_record_common_node): Zero TYPE_CANONICAL
   25977 	before registering common types.
   25978 	* config/i386/i386.c (ix86_function_arg_boundary): Do not
   25979 	use TYPE_CANONICAL, instead use TYPE_MAIN_VARIANT.
   25980 	* tree.h (TYPE_CANONICAL): Clarify documentation.
   25981 
   25982 2010-06-13  Anatoly Sokolov  <aesok (a] post.ru>
   25983 
   25984 	* config/ia64/ia64.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
   25985 	LIBCALL_VALUE): Remove macros.
   25986 	* config/ia64/ia64-protos.h (ia64_function_value): Remove.
   25987 	* config/ia64/ia64.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
   25988 	TARGET_FUNCTION_VALUE_REGNO_P): Define.
   25989 	(ia64_libcall_value, ia64_function_value_regno_p): New functions.
   25990 	(ia64_function_value): Make static. Handle receiving the function
   25991 	type in 'fn_decl_or_type' argunent. Add 'outgoing' argument.
   25992 
   25993 2010-06-12  Jan Hubicka  <jh (a] suse.cz>
   25994 
   25995 	* cse.c (cse_extended_basic_block): Move optimize_bb_for_speed_p
   25996 	at correct place.
   25997 
   25998 2010-06-12  Bernd Schmidt  <bernds (a] codesourcery.com>
   25999 
   26000 	* config/arm/arm.c (thumb2_reorg): Fix errors in previous change.
   26001 
   26002 2010-06-12  Jan Hubicka  <jh (a] suse.cz>
   26003 
   26004 	* df-core.c (df_clear_bb_info): New function.
   26005 	(df_set_blocks): bb_info is always allocated.
   26006 	(df_get_bb_info): Use block_info_elt_size.
   26007 	(df_set_bb_info): Likewise.
   26008 	(df_compact_blocks): Update for new block_info.
   26009 	(grow_bb_info): New function.
   26010 	* df-problems.c (df_grow_bb_info): Move to df-core.c
   26011 	(df_rd_set_bb_info): Remove.
   26012 	(df_rd_free_bb_info): Do not free block pool.
   26013 	(df_rd_alloc): Do not create pool, use check for
   26014 	obstack presence instead of NULL pointer for new blocks.
   26015 	(df_rd_free): DO not free alloc pool; clear block_info.
   26016 	(problem_RD): Add size of block info structure.
   26017 	(df_lr_set_bb_info): Remove.
   26018 	(df_lr_free_bb_info): Do not free block pool.
   26019 	(df_lr_alloc): Do not create pool, use check for
   26020 	obstack presence instead of NULL pointer for new blocks.
   26021 	(df_lr_free): DO not free alloc pool; clear block_info.
   26022 	(problem_LR): Add size of block info structure.
   26023 	(df_live_set_bb_info): Remove.
   26024 	(df_live_free_bb_info): Do not free block pool.
   26025 	(df_live_alloc): Do not create pool, use check for
   26026 	obstack presence instead of NULL pointer for new blocks.
   26027 	(df_live_free): DO not free alloc pool; clear block_info.
   26028 	(problem_LIVE): Add size of block info structure.
   26029 	(problem_CHAIN): Add size of block info structure.
   26030 	(df_byte_lr_set_bb_info): Remove.
   26031 	(df_byte_lr_free_bb_info): Do not free block pool.
   26032 	(df_byte_lr_alloc): Do not create pool, use check for
   26033 	obstack presence instead of NULL pointer for new blocks.
   26034 	(df_byte_lr_free): DO not free alloc pool; clear block_info.
   26035 	(problem_BYTE_LR): Add size of block info structure.
   26036 	(problem_NOTE): Add size of block info structure.
   26037 	(df_byte_MD_set_bb_info): Remove.
   26038 	(df_byte_MD_free_bb_info): Do not free block pool.
   26039 	(df_byte_MD_alloc): Do not create pool, use check for
   26040 	obstack presence instead of NULL pointer for new blocks.
   26041 	(df_byte_MD_free): DO not free alloc pool; clear block_info.
   26042 	(problem_BD): Add size of block info structure.
   26043 	* df-scan.c (df_scan_free_internal): Free block pool.
   26044 	(df_scan_set_bb_info): Remove.
   26045 	(df_scan_free_bb_info): Check for artificial_defs instead
   26046 	of bb_info being non-NULL.
   26047 	(df_scan_alloc): DO not create df_scan_block pool.
   26048 	(problem_SCAN): Set size of block info.
   26049 	(df_bb_refs_record): Do not allocate bb_info.
   26050 	* df.h (df_problem): Add block_info_elt_size.
   26051 	(struct dataflow): Change block_info to void *.
   26052 	(df_scan_get_bb_info, df_rd_get_bb_info, df_lr_get_bb_info,
   26053 	df_md_get_bb_info, df_live_get_bb_info, df_byte_lr_get_bb_info): Return
   26054 	in-line structures.
   26055 
   26056 2010-06-12  Jan Hubicka  <jh (a] suse.cz>
   26057 
   26058 	PR tree-optimize/44485
   26059 	* tree-cfgcleanup.c (fixup_noreturn_call): Remove basic blocks
   26060 	containing use of return value of noreturn function.
   26061 
   26062 2010-06-12  Anatoly Sokolov  <aesok (a] post.ru>
   26063 
   26064 	* targhooks.c (default_function_value): Don't use
   26065 	FUNCTION_OUTGOING_VALUE.
   26066 	* system.h (FUNCTION_OUTGOING_VALUE): Poison.
   26067 	* doc/tm.texi (FUNCTION_OUTGOING_VALUE): Removed.
   26068 
   26069 2010-06-12  Kazu Hirata  <kazu (a] codesourcery.com>
   26070 
   26071 	* config.gcc (mips64*-*-linux*, mipsisa64*-*-linux*, mips*-*-linux*):
   26072 	Add crtfastmath.o to extra_parts.
   26073 	* config/mips/crtfastmath.c: New.
   26074 	* config/mips/linux.h (ENDFILE_SPEC): New.
   26075 
   26076 2010-06-12  Sebastian Pop  <sebastian.pop (a] amd.com>
   26077 
   26078 	* graphite-clast-to-gimple.c (gcc_type_for_interval): Do not pass
   26079 	old_type in parameter.
   26080 	(gcc_type_for_value): Update call to gcc_type_for_interval.
   26081 	(compute_type_for_level_1): Renamed compute_type_for_level.
   26082 	Update call to gcc_type_for_interval.
   26083 
   26084 2010-06-11  Joseph Myers  <joseph (a] codesourcery.com>
   26085 
   26086 	* common.opt (Wstrict-aliasing=, Wstrict-overflow=, fabi-version=,
   26087 	flto-compression-level=, ftree-parallelize-loops=): Add RejectNegative.
   26088 
   26089 2010-06-11  Joseph Myers  <joseph (a] codesourcery.com>
   26090 
   26091 	* opts-common.c: Include options.h.
   26092 	(integral_argument): Move from opts.c.
   26093 	(decode_cmdline_option): New.  Based on read_cmdline_option.
   26094 	* opts.c (integral_argument): Move to opts-common.c.
   26095 	(read_cmdline_option): Move most contents to
   26096 	decode_cmdline_option.  Use %qs in diagnostics.
   26097 	* opts.h (CL_ERR_DISABLED, CL_ERR_MISSING_ARG, CL_ERR_WRONG_LANG,
   26098 	CL_ERR_UINT_ARG, struct cl_decoded_option, integral_argument,
   26099 	decode_cmdline_option): New.
   26100 
   26101 2010-06-11  Uros Bizjak  <ubizjak (a] gmail.com>
   26102 
   26103 	PR target/44481
   26104 	* config/i386/i386.md (UNSPEC_PARITY): New unspec.
   26105 	(paritydi2_cmp): Use UNSPEC_PARITY unspec instead of parity RTX.
   26106 	(partiysi2_cmp): Ditto.
   26107 	(*partiyhi2_cmp): Ditto.
   26108 	(*parityqi2_cmp): Remove.
   26109 
   26110 2010-06-11  Jan Hubicka  <jh (a] suse.cz>
   26111 
   26112 	* bitmap.h (bmp_iter_next_bit): New.
   26113 	(bmp_iter_set, bmp_iter_and, bmp_iter_and_compl): Use it.
   26114 
   26115 2010-06-11  Sandra Loosemore  <sandra (a] codesourcery.com>
   26116 	    Eric Botcazou  <ebotcazou (a] adacore.com>
   26117 
   26118 	* tree-ssa-loop-ivopts.c (get_computation_cost_at): Return again the
   26119 	computed cost.
   26120 
   26121 2010-06-11  Uros Bizjak  <ubizjak (a] gmail.com>
   26122 
   26123 	* config/i386/i386.md (unspec): New define_c_enum.
   26124 	(unspecv): Ditto.
   26125 
   26126 2010-06-10  Jakub Jelinek  <jakub (a] redhat.com>
   26127 
   26128 	* Makefile.in (c-family/c-cppbuiltin.o): Depend on $(CPP_ID_DATA_H).
   26129 
   26130 2010-06-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   26131 
   26132 	PR middle-end/44483
   26133 	* tree-if-conv.c (bb_predicate_s): New struct.
   26134 	(bb_predicate_p): New.
   26135 	(bb_has_predicate): New.
   26136 	(bb_predicate): New.
   26137 	(set_bb_predicate): New.
   26138 	(bb_predicate_gimplified_stmts): New.
   26139 	(set_bb_predicate_gimplified_stmts): New.
   26140 	(add_bb_predicate_gimplified_stmts): New.
   26141 	(init_bb_predicate): New.
   26142 	(free_bb_predicate): New.
   26143 	(is_predicated): Use bb_predicate.
   26144 	(add_to_predicate_list): Use bb_predicate and set_bb_predicate.
   26145 	(predicate_bbs): Same.  Gimplify the condition of the basic blocks
   26146 	before processing their successors.
   26147 	(clean_predicate_lists): Removed.
   26148 	(find_phi_replacement_condition): Use bb_predicate.
   26149 	(process_phi_nodes): Renamed ifconvert_phi_nodes.  Avoid useless
   26150 	computations.
   26151 	(insert_gimplified_predicates): New.
   26152 	(combine_blocks): Call insert_gimplified_predicates.
   26153 	(tree_if_conversion): Call free_bb_predicate instead of
   26154 	clean_predicate_lists.
   26155 
   26156 2010-10-11  Paul Brook  <paul (a] codesourcery.com>
   26157 
   26158 	* doc/invoke.texi: Document ARM -mcpu=cortex-m4.
   26159 	* config/arm/arm.c (all_architectures): Change v7e-m default to
   26160 	cortexm4.
   26161 	* config/arm/arm-cores.def: Add cortex-m4.
   26162 	* config/arm/arm-tune.md: Regenerate.
   26163 
   26164 2010-06-11  Jan Hubicka  <jh (a] suse.cz>
   26165 
   26166 	* ipa-pure-const.c (special_builtlin_state): New function.
   26167 	(check_call): Use it instead of special casign BUILT_IN_RETURN.
   26168 	(propagate_pure_const): Use it.
   26169 
   26170 2010-06-11  Jan Hubicka  <jh (a] suse.cz>
   26171 
   26172 	* df-problems.c (df_live_scratch): Convert to bitmap_head.
   26173 	(df_live_alloc): Initialize df_live_scratch when initializing
   26174 	problem_data.
   26175 	(df_live_transfer_function): Update uses of df_live_scratch.
   26176 	(df_live_free): Free problem_data; clear df_live_scratch before
   26177 	releasing the obstack.
   26178 	(df_md_free): Free problem data.
   26179 
   26180 2010-06-11  Jan Hubicka  <jh (a] suse.cz>
   26181 
   26182 	* doc/invoke.texi (Wsuggest-attribute): Document.
   26183 	(Wmissing-noreturn): Remove.
   26184 	* ipa-pure-const.c (warn_function_noreturn): New function.
   26185 	* opts.c (decode_options): Set warn_suggest_attribute_noreturn on
   26186 	warn_missing_noreturn.
   26187 	* common.opt (Wsuggest-attribute=noreturn): New.
   26188 	* tree-flow.h (warn_function_noreturn): Declare.
   26189 	* tree-cfg.c (execute_warn_function_noreturn): Use
   26190 	warn_function_noreturn.
   26191 	(gate_warn_function_noreturn): New.
   26192 	(pass_warn_function_noreturn): Update.
   26193 
   26194 2010-06-11  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   26195 
   26196 	* c-typeck.c (handle_warn_cast_qual): Add loc
   26197 	parameter. Improve warning message.
   26198 	(build_c_cast): Pass location to handle_warn_cast_qual.
   26199 
   26200 2010-06-11  Uros Bizjak  <ubizjak (a] gmail.com>
   26201 
   26202 	* config/i386/i386.md (pro_epilogue_adjust_stack_1) <TYPE_ALU>: Assert
   26203 	that operand 0 == operand 1.  Use x86_maybe_negate_const_int to output
   26204 	insn mnemonic.
   26205 	(pro_epilogue_adjust_stack_rex64) <TYPE_ALU>: Ditto.
   26206 
   26207 2010-06-10  Dodji Seketeli  <dodji (a] redhat.com>
   26208 
   26209 	Fix bootstap on mips
   26210 	* dwarf2out.c (is_naming_typedef_dec): Built-in TYPE_DECLs cannot
   26211 	be naming typedefs.
   26212 
   26213 2010-06-11  Kai Tietz  <kai.tietz (a] onevision.com>
   26214 
   26215 	* system.h (helper_const_non_const_cast): New inline for
   26216 	gcc version <= 4.0.
   26217 	(CONST_CAST2): For gcc version <= 4.0 use
   26218 	new helper to do const/non-const casting.
   26219 
   26220 2010-06-10  Richard Sandiford  <rdsandiford (a] googlemail.com>
   26221 
   26222 	* doc/md.texi: Document the "unspec" and "unspecv" enum names.
   26223 	* Makefile.in (OBJS-common): Include insn-enums.o.
   26224 	(insn-enums.o): New rule.
   26225 	(simple_generated_c): Add insn-enums.c.
   26226 	(build/genenums.o): New rule.
   26227 	(genprogmd): Add "enums".
   26228 	* genconstants.c (print_enum_type): Declare a C string array
   26229 	for each enum.
   26230 	* genenums.c: New file.
   26231 	* print-rtl.c (print_rtx): If defined, use the "unspecv" enum
   26232 	for UNSPEC_VOLATILE.  If defined, use the "unspec" enum for both
   26233 	UNSPEC and (as a fallback) for UNSPEC_VOLATILE.
   26234 
   26235 2010-06-10  Richard Sandiford  <rdsandiford (a] googlemail.com>
   26236 
   26237 	* doc/md.texi (define_enum_attr): Document.
   26238 	* rtl.def (DEFINE_ENUM_ATTR): New rtx.
   26239 	* read-md.h (lookup_enum_type): Declare.
   26240 	* read-md.c (lookup_enum_type): New function.
   26241 	* genattr.c (gen_attr, main): Handle DEFINE_ENUM_ATTR.
   26242 	* genattrtab.c (attr_desc): Add an enum_name field.
   26243 	(evaluate_eq_attr): Take the associated attribute as argument.
   26244 	Get the enum prefix from the enum_name field, if defined.
   26245 	Use ACONCAT rather than a fixed-length buffer.  Update recursive calls.
   26246 	(simplify_test_exp): Pass attr to evaluate_eq_attr.
   26247 	(add_attr_value): New function, split out from...
   26248 	(gen_attr): ...here.  Handle DEFINE_ENUM_ATTR.
   26249 	(write_test_expr): Pass attr to evaluate_eq_attr.
   26250 	(write_attr_get): Use the enum_name as the enum tag, if defined.
   26251 	(write_attr_valueq): Use the enum_name as a prefix, if defined.
   26252 	(find_attr): Initialize enum_name.
   26253 	(main): Handle DEFINE_ENUM_ATTR.
   26254 	* gensupport.c (process_rtx): Likewise.
   26255 	* config/mips/mips.h (mips_tune_attr): Delete.
   26256 	* config/mips/mips.md (cpu): Use define_attr_enum.
   26257 
   26258 2010-06-10  Richard Sandiford  <rdsandiford (a] googlemail.com>
   26259 
   26260 	* doc/md.texi (define_c_enum, define_enum): Document.
   26261 	* read-md.h (md_constant): Add a parent_enum field.
   26262 	(enum_value, enum_type): New structures.
   26263 	(upcase_string, traverse_enum_types): Declare.
   26264 	* read-md.c (enum_types): New variable.
   26265 	(upcase_string, add_constant): New functions.
   26266 	(handle_constants): Don't create the hash table here.
   26267 	Use add_constant.
   26268 	(traverse_md_constants): Don't check for a null md_constants.
   26269 	(decimal_string, handle_enum, traverse_enum_types): New functions.
   26270 	(read_md_files): Initialize md_constants and md_enums.
   26271 	* genconstants.c (print_md_constant): Ignore info argument.
   26272 	Only print constants that belong to no enum.
   26273 	(print_enum_type): New function.
   26274 	(main): Don't pass stdout to print_md_constant.  Call print_enum_type
   26275 	for each defined enum type.
   26276 	* config/mips/mips.md (processor): New define_enum.
   26277 	(unspec): New define_c_enum.
   26278 	(UNSPEC_COMPARE_AND_SWAP, UNSPEC_COMPARE_AND_SWAP_12)
   26279 	(UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP, UNSPEC_SYNC_NEW_OP_12)
   26280 	(UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE, UNSPEC_SYNC_EXCHANGE_12)
   26281 	(UNSPEC_MEMORY_BARRIER): Moved to sync.md.
   26282 	(UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC)
   26283 	(UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S)
   26284 	(UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W)
   26285 	(UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR)
   26286 	(UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA)
   26287 	(UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR)
   26288 	(UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL)
   26289 	(UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R)
   26290 	(UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH)
   26291 	(UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL)
   26292 	(UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR)
   26293 	(UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH)
   26294 	(UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL)
   26295 	(UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR)
   26296 	(UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH)
   26297 	(UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB)
   26298 	(UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH)
   26299 	(UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H)
   26300 	(UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
   26301 	(UNSPEC_RDDSP): Move to mips-dsp.md.
   26302 	(UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH, UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB)
   26303 	(UNSPEC_ADDUH_R_QB, UNSPEC_APPEND, UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB)
   26304 	(UNSPEC_CMPGDU_LT_QB, UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH)
   26305 	(UNSPEC_DPS_W_PH, UNSPEC_MADD, UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU)
   26306 	(UNSPEC_MUL_PH, UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH)
   26307 	(UNSPEC_MULQ_S_W, UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU)
   26308 	(UNSPEC_PRECR_QB_PH, UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W)
   26309 	(UNSPEC_PREPEND, UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH)
   26310 	(UNSPEC_SUBU_PH, UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB)
   26311 	(UNSPEC_ADDQH_PH, UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W)
   26312 	(UNSPEC_SUBQH_PH, UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W)
   26313 	(UNSPEC_DPAX_W_PH, UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH)
   26314 	(UNSPEC_DPAQX_SA_W_PH, UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH):
   26315 	Moved to mips-dspr2.md.
   26316 	(UNSPEC_MOVE_TF_PS, UNSPEC_C, UNSPEC_ALNV_PS, UNSPEC_CABS)
   26317 	(UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS, UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS)
   26318 	(UNSPEC_ABS_PS, UNSPEC_RSQRT1, UNSPEC_RSQRT2, UNSPEC_RECIP1)
   26319 	(UNSPEC_RECIP2, UNSPEC_SINGLE_CC, UNSPEC_SCC): Move from mips-ps-3d.md.
   26320 	(UNSPEC_LOONGSON_PAVG, UNSPEC_LOONGSON_PCMPEQ, UNSPEC_LOONGSON_PCMPGT)
   26321 	(UNSPEC_LOONGSON_PEXTR, UNSPEC_LOONGSON_PINSR_0)
   26322 	(UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
   26323 	(UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
   26324 	(UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
   26325 	(UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
   26326 	(UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD,
   26327 	UNSPEC_LOONGSON_PSADBH)
   26328 	(UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
   26329 	(UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
   26330 	(UNSPEC_LOONGSON_PSUBD): Move to mips-loongson.md.
   26331 	(UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
   26332 	(UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
   26333 	(UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
   26334 	(UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Move to mips-loongson2ef.md.
   26335 	(cpu): Update comment.
   26336 	* config/mips/sync.md (UNSPEC_COMPARE_AND_SWAP)
   26337 	(UNSPEC_COMPARE_AND_SWAP_12, UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP)
   26338 	(UNSPEC_SYNC_NEW_OP_12, UNSPEC_SYNC_OLD_OP_12, UNSPEC_SYNC_EXCHANGE)
   26339 	(UNSPEC_SYNC_EXCHANGE_12, UNSPEC_MEMORY_BARRIER): Moved from mips.md.
   26340 	* config/mips/loongson.md (UNSPEC_LOONGSON_PAVG,
   26341 	UNSPEC_LOONGSON_PCMPEQ)
   26342 	(UNSPEC_LOONGSON_PCMPGT, UNSPEC_LOONGSON_PEXTR,
   26343 	UNSPEC_LOONGSON_PINSR_0)
   26344 	(UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2)
   26345 	(UNSPEC_LOONGSON_PINSR_3, UNSPEC_LOONGSON_PMADD)
   26346 	(UNSPEC_LOONGSON_PMOVMSK, UNSPEC_LOONGSON_PMULHU)
   26347 	(UNSPEC_LOONGSON_PMULH, UNSPEC_LOONGSON_PMULL, UNSPEC_LOONGSON_PMULU)
   26348 	(UNSPEC_LOONGSON_PASUBUB, UNSPEC_LOONGSON_BIADD,
   26349 	UNSPEC_LOONGSON_PSADBH)
   26350 	(UNSPEC_LOONGSON_PSHUFH, UNSPEC_LOONGSON_PUNPCKH)
   26351 	(UNSPEC_LOONGSON_PUNPCKL, UNSPEC_LOONGSON_PADDD)
   26352 	(UNSPEC_LOONGSON_PSUBD): Moved from mips.md
   26353 	* config/mips/loongson2ef.md (UNSPEC_LOONGSON_ALU1_TURN_ENABLED_INSN)
   26354 	(UNSPEC_LOONGSON_ALU2_TURN_ENABLED_INSN)
   26355 	(UNSPEC_LOONGSON_FALU1_TURN_ENABLED_INSN)
   26356 	(UNSPEC_LOONGSON_FALU2_TURN_ENABLED_INSN): Moved from mips.md
   26357 	* config/mips/mips-dsp.md (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ)
   26358 	(UNSPEC_SUBQ_S, UNSPEC_ADDSC, UNSPEC_ADDWC, UNSPEC_MODSUB)
   26359 	(UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S, UNSPEC_PRECRQ_QB_PH)
   26360 	(UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W, UNSPEC_PRECRQU_S_QB_PH)
   26361 	(UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR, UNSPEC_PRECEQU_PH_QBL)
   26362 	(UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA, UNSPEC_PRECEQU_PH_QBRA)
   26363 	(UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR, UNSPEC_PRECEU_PH_QBLA)
   26364 	(UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL, UNSPEC_SHLL_S, UNSPEC_SHRL_QB)
   26365 	(UNSPEC_SHRA_PH, UNSPEC_SHRA_R, UNSPEC_MULEU_S_PH_QBL)
   26366 	(UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH, UNSPEC_MULEQ_S_W_PHL)
   26367 	(UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL, UNSPEC_DPAU_H_QBR)
   26368 	(UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR, UNSPEC_DPAQ_S_W_PH)
   26369 	(UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH, UNSPEC_DPAQ_SA_L_W)
   26370 	(UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL, UNSPEC_MAQ_S_W_PHR)
   26371 	(UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR, UNSPEC_BITREV, UNSPEC_INSV)
   26372 	(UNSPEC_REPL_QB, UNSPEC_REPL_PH, UNSPEC_CMP_EQ, UNSPEC_CMP_LT)
   26373 	(UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB, UNSPEC_CMPGU_LT_QB)
   26374 	(UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH, UNSPEC_EXTR_W)
   26375 	(UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H, UNSPEC_EXTP)
   26376 	(UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
   26377 	(UNSPEC_RDDSP): Moved from mips.md.
   26378 	* config/mips/mips-dspr2.md (UNSPEC_ABSQ_S_QB, UNSPEC_ADDU_PH)
   26379 	(UNSPEC_ADDU_S_PH, UNSPEC_ADDUH_QB, UNSPEC_ADDUH_R_QB, UNSPEC_APPEND)
   26380 	(UNSPEC_BALIGN, UNSPEC_CMPGDU_EQ_QB, UNSPEC_CMPGDU_LT_QB)
   26381 	(UNSPEC_CMPGDU_LE_QB, UNSPEC_DPA_W_PH, UNSPEC_DPS_W_PH, UNSPEC_MADD)
   26382 	(UNSPEC_MADDU, UNSPEC_MSUB, UNSPEC_MSUBU, UNSPEC_MUL_PH)
   26383 	(UNSPEC_MUL_S_PH, UNSPEC_MULQ_RS_W, UNSPEC_MULQ_S_PH, UNSPEC_MULQ_S_W)
   26384 	(UNSPEC_MULSA_W_PH, UNSPEC_MULT, UNSPEC_MULTU, UNSPEC_PRECR_QB_PH)
   26385 	(UNSPEC_PRECR_SRA_PH_W, UNSPEC_PRECR_SRA_R_PH_W, UNSPEC_PREPEND)
   26386 	(UNSPEC_SHRA_QB, UNSPEC_SHRA_R_QB, UNSPEC_SHRL_PH, UNSPEC_SUBU_PH)
   26387 	(UNSPEC_SUBU_S_PH, UNSPEC_SUBUH_QB, UNSPEC_SUBUH_R_QB, UNSPEC_ADDQH_PH)
   26388 	(UNSPEC_ADDQH_R_PH, UNSPEC_ADDQH_W, UNSPEC_ADDQH_R_W, UNSPEC_SUBQH_PH)
   26389 	(UNSPEC_SUBQH_R_PH, UNSPEC_SUBQH_W, UNSPEC_SUBQH_R_W, UNSPEC_DPAX_W_PH)
   26390 	(UNSPEC_DPSX_W_PH, UNSPEC_DPAQX_S_W_PH, UNSPEC_DPAQX_SA_W_PH)
   26391 	(UNSPEC_DPSQX_S_W_PH, UNSPEC_DPSQX_SA_W_PH): Moved from mips.md.
   26392 	* config/mips/mips-ps-3d.md (UNSPEC_MOVE_TF_PS, UNSPEC_C)
   26393 	(UNSPEC_ALNV_PS, UNSPEC_CABS, UNSPEC_ADDR_PS, UNSPEC_CVT_PW_PS)
   26394 	(UNSPEC_CVT_PS_PW, UNSPEC_MULR_PS, UNSPEC_ABS_PS, UNSPEC_RSQRT1)
   26395 	(UNSPEC_RSQRT2, UNSPEC_RECIP1, UNSPEC_RECIP2, UNSPEC_SINGLE_CC)
   26396 	(UNSPEC_SCC): Moved from mips.md.
   26397 	* config/mips/mips.c (mips_arch, mips_tune): Change enum from
   26398 	"processor_type" to "processor".
   26399 	(mips_rtx_cost_data): Replace PROCESSOR_MAX with NUM_PROCESSOR_VALUES.
   26400 	* config/mips/mips.h (processor_type): Delete.
   26401 	(mips_cpu_info.cpu, mips_arch, mips_tune): Change enum from
   26402 	"processor_type" to "processor".
   26403 
   26404 2010-06-10  Richard Sandiford  <rdsandiford (a] googlemail.com>
   26405 
   26406 	* configure.ac (tm_include_list): Add insn-constants.h.
   26407 	* configure: Regenerate.
   26408 	* Makefile.in (GTM_H): Move insn-constants.h here from...
   26409 	(TM_H): ...here.
   26410 	* mkconfig.sh: Remove special handling for insn-constants.h.
   26411 
   26412 2010-06-10  Richard Sandiford  <rdsandiford (a] googlemail.com>
   26413 
   26414 	* Makefile.in (BUILD_RTL): Move build/read-md.o to...
   26415 	(BUILD_MD): ...this new variable.
   26416 	(simple_generated_rtl_h, simple_generated_rtl_c): New variables
   26417 	that include the old contents of simple_generated_h and
   26418 	simple_generated_c.
   26419 	(simple_generated_h, simple_generated_c): Include them.  Add
   26420 	insn-constants.h.
   26421 	(s-%): Make simple_generated_{h,c} stamps depend on $(MD_DEPS)
   26422 	and simple_generated_rtl_{h,c} stamps depend on insn-conditions.md.
   26423 	Remove these dependencies from the main rule and include
   26424 	insn-conditions.md in the command line only if it appears
   26425 	in the dependency list.
   26426 	(insn-constants.h, s-constants): Delete.
   26427 	(build/genconstants.o): Don't depend on $(RTL_BASE_H), $(GTM_H)
   26428 	or gensupport.h.
   26429 	(build/genmddeps.o): Likewise.
   26430 	(genprogrtl): New variable that contains everything from genprogmd
   26431 	except mddeps and constants.
   26432 	(genprogmd): Redefine in terms of genprogrtl.  Make these programs
   26433 	depend on $(BUILD_MD)
   26434 	(genprog): New variable.  Make these programs depend on
   26435 	$(BUILD_ERRORS).
   26436 	* genmddeps.c: Don't include tm.h, rtl.h or gensupport.h.
   26437 	(main): Use read_md_files instead of init_rtx_reader_args.
   26438 	* genconstants.c: As for genmddeps.c.
   26439 	* read-md.h (read_skip_construct): Declare.
   26440 	* read-md.c (read_skip_construct): New function.
   26441 	(handle_file): Allow a null handle_directive, skipping the
   26442 	construct if so.
   26443 	(parse_include): Update the comment accordingly.
   26444 
   26445 2010-06-10  Richard Sandiford  <rdsandiford (a] googlemail.com>
   26446 
   26447 	* Makefile.in (build/genmddeps.o): Depend on $(READ_MD_H).
   26448 	* genmddeps.c: Include read-md.h.
   26449 	(main): Call init_rtx_reader_args instead of init_md_reader_args.
   26450 	* genattr.c (main): Likewise.
   26451 	* genattrtab.c (main): Likewise.
   26452 	* genautomata.c (main): Likewise.
   26453 	* gencodes.c (main): Likewise.
   26454 	* genconditions.c (main): Likewise.
   26455 	* genconfig.c (main): Likewise.
   26456 	* genconstants.c (main): Likewise.
   26457 	* genemit.c (main): Likewise.
   26458 	* genextract.c (main): Likewise.
   26459 	* genflags.c (main): Likewise.
   26460 	* genopinit.c (main): Likewise.
   26461 	* genoutput.c (main): Likewise.
   26462 	* genpeep.c (main): Likewise.
   26463 	* genrecog.c (main): Likewise.
   26464 	* genpreds.c (main): Likewise.
   26465 	* gensupport.h (in_fname): Move to read-md.h.
   26466 	(init_md_reader_args_cb): Rename to...
   26467 	(init_rtx_reader_args_cb): ...this and return a bool.
   26468 	(init_md_reader_args): Rename to...
   26469 	(init_rtx_reader_args): ...this and return a bool.
   26470 	(include_callback): Move to read-md.h.
   26471 	* gensupport.c (in_fname, include_callback, base_dir, max_include_len)
   26472 	(file_name_list, first_dir_md_include): Move to read-md.c
   26473 	(first_bracket_include): Delete unused variable.
   26474 	(last_dir_md_include): Move to read-md.c.
   26475 	(process_include): Delete, moving code to read-md.c:handle_include.
   26476 	(process_rtx): Don't handle INCLUDE.
   26477 	(save_string): Delete.
   26478 	(rtx_handle_directive): New function.
   26479 	(init_md_reader_args_cb): Rename to...
   26480 	(init_rtx_reader_args_cb): ...this and return a boolean success value.
   26481 	Use read_md_args.
   26482 	(init_md_reader_args): Rename to...
   26483 	(init_rtx_reader_args): ...this and return a boolean success value.
   26484 	* rtl.def (INCLUDE): Delete.
   26485 	* rtl.h (read_rtx): Remove "int *" argument.  Add "const char *"
   26486 	argument.
   26487 	* read-rtl.c (read_conditions): Don't gobble ')' here.
   26488 	(read_mapping): Likewise.
   26489 	(read_rtx): Remove LINENO argument.  Add RTX_NAME argument.
   26490 	Handle top-level non-rtx constructs here rather than in read_rtx_1.
   26491 	Store the whole queue in *X.  Remove call to init_md_reader.
   26492 	(read_rtx_1): Rename to...
   26493 	(read_rtx_code): ...this.  Call read_nested_rtx to read subrtxes.
   26494 	Don't handle top-level non-rtx constructs here.  Don't handle (nil)
   26495 	here.
   26496 	(read_nested_rtx): New function.  Handle (nil) here rather than
   26497 	in read_rtx_code.
   26498 	(read_rtx_variadic): Call read_nested_rtx to read subrtxes.  Don't
   26499 	gobble ')' here.
   26500 	* read-md.h (directive_handler_t): New type.
   26501 	(in_fname, include_callback): Moved from read-md.h.
   26502 	(read_constants, init_md_reader): Delete.
   26503 	(read_md_files): Declare.
   26504 	* read-md.c (file_name_list, in_fname, base_dir, first_dir_md_include)
   26505 	(last_dir_md_include_ptr, include_callback, max_include_len): Moved
   26506 	from gensupport.c.
   26507 	(read_constants): Rename to...
   26508 	(handle_constants): ...this.  Don't gobble ')' here.
   26509 	(handle_include, handle_file, handle_toplevel_file)
   26510 	(parse_include): New functions, mostly taken from gensupport.c.
   26511 	(init_md_reader): Subsume into...
   26512 	(read_md_files): ...this new function.
   26513 
   26514 2010-06-10  Richard Sandiford  <rdsandiford (a] googlemail.com>
   26515 
   26516 	* read-md.h (read_char): Increment read_md_lineno after reading '\n'.
   26517 	(unread_char): Decrement read_md_lineno after putting back '\n'.
   26518 	* read-md.c (fatal_with_file_and_line): Push back any characters
   26519 	that we decide not to add to the context.
   26520 	(read_skip_spaces): Don't increment read_md_lineno here.  Avoid using
   26521 	fatal_expected_char in cases where '/' ends a line (for example).
   26522 	(read_name): Don't increment read_md_lineno here.
   26523 	(read_escape): Likewise.
   26524 	(read_quoted_string): Likewise.
   26525 	(read_braced_string): Likewise.
   26526 
   26527 2010-06-10  Richard Sandiford  <rdsandiford (a] googlemail.com>
   26528 
   26529 	* Makefile.in (READ_MD_H): Add $(HASHTAB_H).
   26530 	(build/genconstants.o): Depend on $(READ_MD_H) gensupport.h.
   26531 	* genconstants.c: Include read-md.h.
   26532 	* read-rtl.c (md_constants): Move to read-md.c.
   26533 	(md_name): Move to read-md.h.
   26534 	(initialize_iterators): Use leading_string_hash instead of def_hash
   26535 	and leading_string_eq_p instead of def_name_eq_p.
   26536 	(read_name): Move to read-md.c.
   26537 	(def_hash, def_name_eq_p): Delete.
   26538 	(read_constants, traverse_md_constants): Move to read-md.c.
   26539 	* rtl.h (md_constant, traverse_md_constants): Move to read-md.h.
   26540 	* read-md.h: Include hashtab.h.
   26541 	(md_name): Moved from read-rtl.c.
   26542 	(md_constant): Moved from read-md.h.
   26543 	(leading_string_hash, leading_string_eq_p, read_name)
   26544 	(read_constants, traverse_md_constants): Declare.
   26545 	* read-md.c (md_constants): Moved from read-rtl.c.
   26546 	(leading_string_hash, leading_string_eq_p): New functions.
   26547 	(read_name, read_constants, traverse_md_constants): Moved from
   26548 	read-rtl.c.
   26549 
   26550 2010-06-10  Richard Sandiford  <rdsandiford (a] googlemail.com>
   26551 
   26552 	* read-rtl.c (md_name): New structure.
   26553 	(read_name): Take an md_name instead of a buffer pointer.
   26554 	Use the "string" field instead of strcpy when expanding constants.
   26555 	(read_constants): Remove the tmp_char argument.  Update the calls
   26556 	to read_name, using two local name buffers instead of the tmp_char
   26557 	argument.  Merge the constant-creation code.
   26558 	(read_conditions): Remove the tmp_char argument.  Update the calls
   26559 	to read_name, using a local name buffer instead of the tmp_char
   26560 	argument.
   26561 	(read_mapping): Replace tmp_char variable with a local name buffer.
   26562 	Update the calls to read_name.
   26563 	(read_rtx_1): Likewise.  Update the calls to read_constants and
   26564 	read_conditions.
   26565 
   26566 2010-06-10  Richard Sandiford  <rdsandiford (a] googlemail.com>
   26567 
   26568 	* Makefile.in (build/read-md.o): Depend on errors.h.
   26569 	* read-md.h (error_with_line): Declare.
   26570 	* read-md.c: Include errors.h.
   26571 	(message_with_line_1): New function, extracted from...
   26572 	(message_with_line): ...here.
   26573 	(error_with_line): New function.
   26574 	* genattrtab.c: If a call to message_with_line is followed by
   26575 	"have_error = 1;", replace both statements with a call to
   26576 	error_with_line.
   26577 	* genoutput.c: Likewise.
   26578 	* genpreds.c: Likewise.
   26579 	* genrecog.c: If a call to message_with_line is followed by
   26580 	"error_count++;", replace both statements with a call to
   26581 	error_with_line.
   26582 	(errorcount): Delete.
   26583 	(main): Don't check it.
   26584 	* gensupport.c: If a call to message_with_line is followed by
   26585 	"errors = 1;", replace both statements with a call to error_with_line.
   26586 	(errors): Delete.
   26587 	(process_define_cond_exec): Check have_error instead of errors.
   26588 	(init_md_reader_args_cb): Likewise.  Don't set errors.
   26589 
   26590 2010-06-10  Richard Sandiford  <rdsandiford (a] googlemail.com>
   26591 
   26592 	* read-md.h (read_md_file): Declare.
   26593 	(read_char, unread_char): New functions.
   26594 	(fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
   26595 	(read_quoted_string, read_string): Remove FILE * argument.
   26596 	* read-md.c (read_md_file): New variable.
   26597 	(read_md_filename, read_md_lineno): Update comments and remove
   26598 	unnecessary initialization.
   26599 	(fatal_with_file_and_line, fatal_expected_char, read_skip_spaces)
   26600 	(read_escape, read_quoted_string, read_braced_string, read_string):
   26601 	Remove FILE * argument.  Update calls accordingly, using read_char
   26602 	and unread_char instead of getc and ungetc.
   26603 	* rtl.h (read_rtx): Remove FILE * argument.
   26604 	* read-rtl.c (iterator_group): Remove FILE * argument from
   26605 	"find_builtin".
   26606 	(iterator_traverse_data): Remove "infile" field.
   26607 	(find_mode, find_code, apply_mode_maps, apply_iterator_to_rtx)
   26608 	(add_mapping, read_name, read_constants, read_conditions)
   26609 	(validate_const_int, find_iterator, read_mapping, check_code_iterator)
   26610 	(read_rtx, read_rtx_1, read_rtx_variadic): Remove FILE * argument.
   26611 	Remove file arguments from all calls, using read_char and unread_char
   26612 	instead of getc and ungetc.
   26613 	* gensupport.c (process_include): Preserve read_md_file around
   26614 	the include.  Set read_md_file to the handle of the included file.
   26615 	Update call to read_rtx.
   26616 	(init_md_reader_args_cb): Set read_md_file to the handle of the file
   26617 	and remove local FILE *.  Update calls to read_rtx.
   26618 
   26619 2010-06-10  Richard Sandiford  <rdsandiford (a] googlemail.com>
   26620 
   26621 	* read-md.h (read_rtx_lineno): Rename to...
   26622 	(read_md_lineno): ...this.
   26623 	(read_rtx_filename): Rename to...
   26624 	(read_md_filename): ...this.
   26625 	(copy_rtx_ptr_loc): Rename to...
   26626 	(copy_md_ptr_loc): ...this.
   26627 	(print_rtx_ptr_loc): Rename to...
   26628 	(print_md_ptr_loc): ...this.
   26629 	* read-md.c: Likewise.  Update references after renaming.
   26630 	(string_obstack): Replace RTL with MD in comment.
   26631 	(set_rtx_ptr_loc): Rename to...
   26632 	(set_md_ptr_loc): ...this.
   26633 	(get_rtx_ptr_loc): Rename to...
   26634 	(get_md_ptr_loc): ...this.
   26635 	* genconditions.c: Update references after renaming.
   26636 	* genemit.c: Likewise.
   26637 	* genoutput.c: Likewise.
   26638 	* genpreds.c: Likewise.
   26639 	* gensupport.c: Likewise.
   26640 	* read-rtl.c: Likewise.
   26641 
   26642 2010-06-10  Richard Sandiford  <rdsandiford (a] googlemail.com>
   26643 
   26644 	* Makefile.in (READ_MD_H): New variable.
   26645 	(BUILD_RTL): Add build/read-md.o.
   26646 	(lto-wrapper.o): Depend on coretypes.h instead of defaults.h.
   26647 	(build/gensupport.o, build/read-rtl.o, build/genattr.o)
   26648 	(build/genattrtab.o, build/genconditions.o build/genemit.o)
   26649 	(build/genextract.o, build/genflags.o, build/genoutput.o)
   26650 	(build/genpreds.o, build/genrecog.o): Depend on $(READ_MD_H).
   26651 	(build/read-md.o): New rule.
   26652 	* defaults.h (obstack_chunk_alloc, obstack_chunk_free)
   26653 	(OBSTACK_CHUNK_SIZE, gcc_obstack_init): Move to...
   26654 	* coretypes.h: ...here.
   26655 	* lto-wrapper.c: Include coretypes.h instead of defaults.h.
   26656 	* pretty-print.c (obstack_chunk_alloc, obstack_chunk_free): Delete.
   26657 	* genattr.c: Include read-md.h.
   26658 	* genattrtab.c: Likewise.
   26659 	* genconditions.c: Likewise.
   26660 	* genemit.c: Likewise.
   26661 	* genextract.c: Likewise.
   26662 	* genflags.c: Likewise.
   26663 	* genoutput.c: Likewise.
   26664 	* genpreds.c: Likewise.
   26665 	* genrecog.c: Likewise.
   26666 	* rtl.h (read_skip_spaces, copy_rtx_ptr_loc, print_rtx_ptr_loc)
   26667 	(join_c_conditions, print_c_condition, read_rtx_filename)
   26668 	(read_rtx_lineno): Move to read-md.h.
   26669 	* read-rtl.c: Include read-md.h.
   26670 	(ptr_loc, string_obstack, ptr_locs, ptr_loc_obstack)
   26671 	(joined_conditions, joined_conditions_obstack, read_rtx_lineno)
   26672 	(read_rtx_filename, fatal_with_file_and_line, fatal_expected_char)
   26673 	(leading_ptr_hash, leading_ptr_eq_p, set_rtx_ptr_loc, get_rtx_ptr_loc)
   26674 	(copy_rtx_ptr_loc, print_rtx_ptr_loc, join_c_conditions)
   26675 	(print_c_condition, read_skip_spaces, read_escape, read_quoted_string)
   26676 	(read_braced_string, read_string): Move to read-md.c.
   26677 	(read_rtx): Move some initialization to init_md_reader and call
   26678 	init_md_reader here.
   26679 	* gensupport.h (message_with_line, n_comma_elts, scan_comma_elt):
   26680 	Move to read-md.h.
   26681 	* gensupport.c: Include read-md.h.
   26682 	(message_with_line, n_comma_elts, scan_comma_elt): Move to read-md.c.
   26683 	* read-md.h, read-md.c: New files.
   26684 
   26685 2010-06-10  Anatoly Sokolov  <aesok (a] post.ru>
   26686 
   26687 	* config/moxie/moxie.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
   26688 	LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
   26689 	* config/moxie/moxie-protos.h (moxie_function_value): Remove.
   26690 	* config/moxie/moxie.c (moxie_function_value): Make static.
   26691 	(moxie_libcall_value, moxie_function_value_regno_p): New functions.
   26692 	(TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
   26693 
   26694 2010-06-10  Martin Jambor  <mjambor (a] suse.cz>
   26695 
   26696 	* Makefile.in (tree-sra.o): Add DBGCNT_H to dependencies.
   26697 	* dbgcnt.def (tree_sra): New counter.
   26698 	* tree-sra.c: Include dbgcnt.h.
   26699 	(gate_intra_sra): Check tree_sra debug counter.
   26700 
   26701 2010-06-10  Martin Jambor  <mjambor (a] suse.cz>
   26702 
   26703 	PR tree-optimization/44258
   26704 	* tree-sra.c (build_access_subtree): Return false iff there is a
   26705 	partial overlap.
   26706 	(build_access_trees): Likewise.
   26707 	(analyze_all_variable_accesses): Disqualify candidates if
   26708 	build_access_trees returns true for them.
   26709 
   26710 2010-06-10  Alexandre Oliva  <aoliva (a] redhat.com>
   26711 
   26712 	PR debug/41371
   26713 	* var-tracking.c (find_loc_in_1pdv): Remove recursion, only
   26714 	tail-recurse into canonical node.  Fast-forward over
   26715 	non-canonical VALUEs.
   26716 
   26717 2010-06-10  H.J. Lu  <hongjiu.lu (a] intel.com>
   26718 
   26719 	PR boostrap/44470
   26720 	* config/i386/i386.md (*add<mode>_1): Revert revision 160394.
   26721 	(*addsi_1_zext) <TYPE_LEA>: Likewise.
   26722 	(add lea splitter): Likewise.
   26723 	(add_zext lea splitter): Likewise.
   26724 
   26725 2010-06-10  Joseph Myers  <joseph (a] codesourcery.com>
   26726 
   26727 	* common.opt (fshow-column): Don't mark as C ObjC C++ ObjC++.
   26728 
   26729 2010-06-10  Jan Hubicka  <jh (a] suse.cz>
   26730 
   26731 	* df-problems.c (df_live_problem_data): Add live_bitmaps.
   26732 	(df_live_alloc): Initialize problem data and live_osbtacks.
   26733 	(df_live_finalize): Remove obstack, problem data; do not
   26734 	clear all bitmaps.
   26735 	(df_live_top_dump, df_live_bottom_dump): Do not dump old
   26736 	data when not allocated.
   26737 	(df_live_verify_solution_start): Do not allocate problem data.
   26738 	(df_live_verify_solution_end): Check if out is allocated.
   26739 	(struct df_md_problem_data): New structure.
   26740 	(df_md_alloc): Allocate problem data.
   26741 	(df_md_free): Free problem data; do not clear bitmaps.
   26742 
   26743 2010-06-10  Jan Beulich  <jbeulich (a] novell.com>
   26744 
   26745 	PR bootstrap/37304
   26746 	* configure.ac: Replace $() with ${} when intending to expand
   26747 	variables rather than invoking commands.
   26748 	* configure: Re-generate.
   26749 
   26750 2010-06-10  Jan Hubicka  <jh (a] suse.cz>
   26751 
   26752 	PR rtl-optimization/44460
   26753 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Remove
   26754 	TYPE_NEEDS_CONSTRUCTING sanity check.
   26755 
   26756 2010-06-10  Gerald Pfeifer  <gerald (a] pfeifer.com>
   26757 
   26758 	* doc/include/fdl.texi: Move to GFDL version 1.3.
   26759 
   26760 	* doc/cpp.texi: Move to GFDL version 1.3.
   26761 	* doc/gcc.texi: Move to GFDL version 1.3.  Fix copyright years.
   26762 	* doc/gccint.texi: Move to GFDL version 1.3.
   26763 	* doc/gcov.texi: Move to GFDL version 1.3.  Update copyright years.
   26764 	* doc/install.texi: Move to GFDL version 1.3.  Fix copyright years.
   26765 	* doc/invoke.texi: Move to GFDL version 1.3.
   26766 
   26767 2010-06-09  Jan Hubicka  <jh (a] suse.cz>
   26768 
   26769 	* ipa-pure-const.c (propagate_pure_const, propagate_noreturn):
   26770 	Break out from ...
   26771 	(propagate) ... here; swap the order.
   26772 
   26773 2010-06-09  Jan Hubicka  <jh (a] suse.cz>
   26774 
   26775 	* bitmap.c (bitmap_elt_insert_after, bitmap_first_set_bit,
   26776 	bitmap_first_set_bit, bitmap_last_set_bit, bitmap_last_set_bit,
   26777 	bitmap_and_into, bitmap_and_compl_into, bitmap_set_range,
   26778 	bitmap_compl_and_into, bitmap_elt_ior): Use checking asserts.
   26779 
   26780 2010-06-09  Changpeng Fang  <changpeng.fang (a] amd.com>
   26781 
   26782 	* tree-ssa-loop-prefetch.c (gather_memory_references_ref):
   26783 	Do not the gather memory reference in the outer loop if the step
   26784 	is not a constant.
   26785 
   26786 2010-06-09  Changpeng Fang  <changpeng.fang (a] amd.com>
   26787 
   26788 	* tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO) :
   26789 	Change the PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO threshold value from
   26790 	8 to 4.  Minor change of the related comments.
   26791 
   26792 2010-06-09  Sebastian Pop  <sebastian.pop (a] amd.com>
   26793 
   26794 	* tree-scalar-evolution.c (instantiate_scev_name): Do not fail
   26795 	the scev analysis when the variable is not used outside the loop
   26796 	in a close phi node: call compute_overall_effect_of_inner_loop.
   26797 
   26798 2010-06-09  Sebastian Pop  <sebastian.pop (a] amd.com>
   26799 
   26800 	* graphite-sese-to-poly.c (single_pred_cond): Renamed
   26801 	single_pred_cond_non_loop_exit.  Return NULL for loop exit edges.
   26802 	(build_sese_conditions_before): Renamed call to single_pred_cond.
   26803 	(build_sese_conditions_after): Same.
   26804 
   26805 2010-06-09  Sebastian Pop  <sebastian.pop (a] amd.com>
   26806 
   26807 	* graphite-poly.h: Fix comments and indentation.
   26808 	* graphite-sese-to-poly.c: Same.
   26809 	(build_sese_conditions_before): Compute stmt and gbb only when needed.
   26810 	* tree-chrec.c: Fix comments and indentation.
   26811 	(tree-ssa-loop-niter.c): Same.
   26812 
   26813 2010-06-09  Eric Botcazou  <ebotcazou (a] adacore.com>
   26814 
   26815 	PR rtl-optimization/42461
   26816 	* dce.c (deletable_insn_p): Return true for const or pure calls again.
   26817 	* except.c (insn_could_throw_p): Return false if !flag_exceptions.
   26818 
   26819 2010-06-09  Jan Hubicka  <jh (a] suse.cz>
   26820 
   26821 	* bitmap.c (bitmap_and): Walk array forward.
   26822 	(bitmap_and_compl_into): Likewise.
   26823 	(bitmap_xor): Likewise.
   26824 	(bitmap_xor_into):  Likewise.
   26825 	(bitmap_equal_p): Likewise.
   26826 	(bitmap_intersect_p): Likewise.
   26827 	(bitmap_intersect_compl_p): Likewise.
   26828 	(bitmap_ior_and_into): Likewise.
   26829 	(bitmap_elt_copy): Likewise.
   26830 	(bitmap_and_compl): Likewise.
   26831 	(bitmap_elt_ior): Likewise.
   26832 
   26833 2010-06-09  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   26834 
   26835 	* opts-common.c (prune_options): Ensure replacement argv array
   26836 	is correctly terminated by a NULL entry.
   26837 
   26838 2010-06-09  Jan Hubicka  <jh (a] suse.cz>
   26839 
   26840 	* cgraph.h (varpool_first_static_initializer,
   26841 	varpool_next_static_initializer): Make checking only when
   26842 	checking enabled.
   26843 	* tree-vectorizer.h (vinfo_for_stmt): Remove check.
   26844 	(set_vinfo_for_stmt, get_earlier_stmt, is_loop_header_bb_p): Change
   26845 	gcc_assert to gcc_checking_assert.
   26846 	* tree-flow-inline.h (gimple_vop, get_var_ann, relink_imm_use,
   26847 	phi_nodes, set_phi_nodes, phi_arg_index_from_use, op_iter_next_use,
   26848 	op_iter_next_def, op_iter_next_tree, op_iter_init, op_iter_init_use,
   26849 	op_iter_init_phiuse, op_iter_init_phidef,
   26850 	array_ref_contains_indirect_ref, ref_contains_array_ref): Use
   26851 	gcc_checking_assert.
   26852 	* emit-rtl.h (set_first_insn, set_last_insn): Likewise.
   26853 	* tree-ssa-live.h (var_to_partition, var_to_partition_to_var,
   26854 	partition_is_global, live_on_entry, live_on_exit,
   26855 	live_merge_and_clear): Likewise.
   26856 	* system.h (gcc_checking_assert): New macro.
   26857 	* gimple.h (set_bb_seq): Use gcc_checking_assert.
   26858 
   26859 2010-06-09  Jason Merrill  <jason (a] redhat.com>
   26860 
   26861 	* Makefile.in (TAGS): Collect tags info from c-family.
   26862 
   26863 2010-06-09  Jan Hubicka  <jh (a] suse.cz>
   26864 
   26865 	* gimple.h (gcc_gimple_checking_assert): New macro.
   26866 	(gimple_set_def_ops, gimple_set_use_ops,
   26867 	gimple_set_vuse, gimple_set_vdef,
   26868 	gimple_omp_subcode, gimple_omp_set_subcode, gimple_ops, gimple_op,
   26869 	gimple_op_ptr, gimple_op_ptr, gimple_set_op, gimple_bind_set_block,
   26870 	gimple_asm_input_op, gimple_asm_input_op_ptr, gimple_asm_set_input_op,
   26871 	gimple_asm_output_op, gimple_asm_output_op_ptr,
   26872 	gimple_asm_set_output_op, gimple_asm_clobber_op,
   26873 	gimple_asm_set_clobber_op, gimple_asm_label_op,
   26874 	gimple_asm_set_label_op, gimple_try_set_kind,
   26875 	gimple_try_catch_is_cleanup, gimple_try_set_catch_is_cleanup,
   26876 	gimple_phi_arg, gimple_switch_num_labels, gimple_switch_set_index,
   26877 	gimple_switch_label, gimple_switch_set_label, gimple_omp_for_index,
   26878 	gimple_omp_for_index_ptr, gimple_omp_for_set_index,
   26879 	gimple_omp_for_initial, gimple_omp_for_initial_ptr,
   26880 	gimple_omp_for_set_initial, gimple_omp_for_final,
   26881 	gimple_omp_for_final_ptr, gimple_omp_for_set_final,
   26882 	gimple_omp_for_incr, gimple_omp_for_incr_ptr, gimple_omp_for_set_incr,
   26883 	gimple_omp_for_set_cond, gimple_omp_for_cond): Make checking
   26884 	conditional with ENABLE_GIMPLE_CHECKING.
   26885 	(gimple_phi_set_arg): Likewise; replace memcpy by assignment.
   26886 
   26887 2010-06-09  Sandra Loosemore  <sandra (a] codesourcery.com>
   26888 
   26889 	* tree-ssa-loop-ivopts.c (adjust_setup_cost): New function.
   26890 	(get_computation_cost_at): Use it.
   26891 	(determine_use_iv_cost_condition): Likewise.
   26892 	(determine_iv_cost): Likewise.
   26893 
   26894 2010-06-09  Richard Guenther  <rguenther (a] suse.de>
   26895 
   26896 	* tree-ssa-loop-niter.c (simplify_replace_tree): Do not
   26897 	replace constants.
   26898 
   26899 2010-06-09  Kai Tietz  <kai.tietz (a] onevision.com>
   26900 
   26901 	* c-objc-common.c (c_tree_printer): Pre-intialize t by NULL_TREE.
   26902 
   26903 2010-06-09  Martin Jambor  <mjambor (a] suse.cz>
   26904 
   26905 	PR tree-optimization/44423
   26906 	* tree-sra.c (dump_access): Dump also grp_assignment_read.
   26907 	(analyze_access_subtree): Pass negative allow_replacements to children
   26908 	if the current type is scalar.
   26909 
   26910 2010-06-09  Joern Rennecke  <joern.rennecke (a] embecosm.com>
   26911 
   26912 	PR testsuite/42843
   26913 	* gcc-plugin.h (int plugin_is_GPL_compatible): Declare as extern "C".
   26914 	* doc/plugins.texi (Plugin license check): Update information
   26915 	on type of plugin_is_GPL_compatible.
   26916 	* Makefile.in (PLUGINCC): Define as $(COMPILER).
   26917 	(PLUGINCFLAGS): Define as $(COMPILER_FLAGS).
   26918 
   26919 2010-06-09  Bernd Schmidt  <bernds (a] codesourcery.com>
   26920 
   26921 	* config/arm/arm.c (thumb2_reorg): New function.
   26922 	(arm_reorg): Call it.
   26923 	* config/arm/thumb2.md (define_peephole2 for flag clobbering
   26924 	arithmetic operations): Delete.
   26925 
   26926 2010-06-09  Edmar Wienskoski  <edmar (a] freescale.com>
   26927 
   26928 	PR target/44067
   26929 	* config/rs6000/rs6000.md (DIFD): Do not split dpfp values for
   26930 	e500v2 target.
   26931 
   26932 2010-06-09  Joern Rennecke  <joern.rennecke (a] embecosm.com>
   26933 
   26934 	PR plugins/44459
   26935 	* gcc-plugin.h: Encapsulate all declarations in extern "C".
   26936 
   26937 2010-06-08  Jan Hubicka  <jh (a] suse.cz>
   26938 
   26939 	* basic-block.h (single_succ_edge, single_pred_edge, ei_container,
   26940 	ei_next, ei_prev): Do sanity checking with ENABLE_CHECKING only.
   26941 
   26942 2010-06-08  Sandra Loosemore  <sandra (a] codesourcery.com>
   26943 
   26944 	PR tree-optimization/39874
   26945 	PR middle-end/28685
   26946 	* gimple.h (maybe_fold_and_comparisons, maybe_fold_or_comparisons):
   26947 	Declare.
   26948 	* gimple-fold.c (canonicalize_bool, same_bool_comparison_p,
   26949 	same_bool_result_p): New.
   26950 	(and_var_with_comparison, and_var_with_comparison_1,
   26951 	and_comparisons_1, and_comparisons, maybe_fold_and_comparisons): New.
   26952 	(or_var_with_comparison, or_var_with_comparison_1,
   26953 	or_comparisons_1, or_comparisons, maybe_fold_or_comparisons): New.
   26954 	* tree-ssa-reassoc.c (eliminate_redundant_comparison): Use
   26955 	maybe_fold_and_comparisons or maybe_fold_or_comparisons instead
   26956 	of combine_comparisons.
   26957 	* tree-ssa-ifcombine.c (ifcombine_ifandif, ifcombine_iforif): Likewise.
   26958 
   26959 2010-06-08  Anatoly Sokolov  <aesok (a] post.ru>
   26960 
   26961 	* config/pdp11/pdp11.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
   26962 	LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
   26963 	* config/pdp11/pdp11.c (pdp11_function_value, pdp11_libcall_value,
   26964 	pdp11_function_value_regno_p): New functions.
   26965 	(TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
   26966 	TARGET_FUNCTION_VALUE_REGNO_P): Define.
   26967 
   26968 2010-06-08  Kazu Hirata  <kazu (a] codesourcery.com>
   26969 
   26970 	* config/arm/arm.c (arm_rtx_costs_1): Don't special case for
   26971 	Thumb-2 in the MINUS case.
   26972 
   26973 2010-06-08  Laurynas Biveinis  <laurynas.biveinis (a] gmail.com>
   26974 
   26975 	* doc/tm.texi (Per-Function Data): Do not reference ggc_alloc.
   26976 
   26977 	* doc/gty.texi (GTY Options): Document typed GC allocation and
   26978 	variable_size GTY option.
   26979 
   26980 	* ggc-internal.h: New.
   26981 
   26982 	* ggc.h: Update copyright year.
   26983 	(digit_string): Move to stringpool.c.
   26984 	(ggc_mark_stringpool, ggc_purge_stringpool, ggc_mark_roots)
   26985 	(gt_pch_save_stringpool, gt_pch_fixup_stringpool)
   26986 	(gt_pach_restore_stringpool, gt_pch_p_S, gt_pch_note_object)
   26987 	(init_ggc_pch, ggc_pch_count_object, ggc_pch_total_size)
   26988 	(ggc_pch_this_base, ggc_pch_alloc_object, ggc_pch_prepare_write)
   26989 	(ggc_pch_write_object, ggc_pch_finish, ggc_pch_read)
   26990 	(ggc_force_collect, ggc_get_size, ggc_statistics)
   26991 	(ggc_print_common_statistics): Move to ggc-internal.h.
   26992 	(digit_vector, new_ggc_zone, destroy_ggc_zone, ggc_alloc_stat)
   26993 	(ggc_alloc, ggc_alloc_cleared, ggc_realloc, ggc_calloc, GGC_NEW)
   26994 	(GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR, ggc_alloc_rtvec)
   26995 	(ggc_alloc_tree, gt_pch_save, ggc_min_expand_heuristic)
   26996 	(ggc_min_heapsize_heuristic, ggc_alloc_zone)
   26997 	(ggc_alloc_zone_pass_stat): Remove.
   26998 	(ggc_internal_alloc_stat, ggc_internal_alloc)
   26999 	(ggc_internal_cleared_alloc_stat): New.
   27000 	(GGC_RESIZEVEC, GGC_RESIZEVAR): Redefine.
   27001 	(ggc_internal_vec_alloc_stat)
   27002 	(ggc_internal_cleared_vec_alloc_stat)
   27003 	(ggc_internal_vec_alloc_stat, ggc_internal_cleared_vec_alloc)
   27004 	(ggc_alloc_atomic_stat, ggc_alloc_atomic)
   27005 	(ggc_alloc_cleared_atomic, ggc_cleared_alloc_htab_ignore_args)
   27006 	(ggc_cleared_alloc_ptr_array_two_args): New.
   27007 	(htab_create_ggc, splay_tree_new_ggc): Redefine.
   27008 	(ggc_splay_alloc): Change the type of the first argument to
   27009 	enum gt_types_enum.
   27010 	(ggc_alloc_string): Make macro.
   27011 	(ggc_alloc_string_stat): New.
   27012 	(ggc_strdup): Redefine.
   27013 	(rtl_zone, tree_zone, tree_id_zone): Declare unconditionally.
   27014 	(ggc_alloc_rtvec_sized): New.
   27015 	(ggc_alloc_zone_stat): Rename to ggc_internal_alloc_zone_stat.
   27016 	(ggc_internal_alloc_zone_pass_stat, ggc_internal_alloc_zone_stat)
   27017 	(ggc_internal_cleared_alloc_zone_stat)
   27018 	(ggc_internal_zone_alloc_stat)
   27019 	(ggc_internal_zone_cleared_alloc_stat)
   27020 	(ggc_internal_zone_vec_alloc_stat)
   27021 	(ggc_alloc_zone_rtx_def_stat)
   27022 	(ggc_alloc_zone_tree_node_stat)
   27023 	(ggc_alloc_zone_cleared_tree_node_stat)
   27024 	(ggc_alloc_cleared_gimple_statement_d_stat): New.
   27025 
   27026 	* ggc-common.c: Include ggc-internal.h.
   27027 	(ggc_internal_cleared_alloc_stat): Rename from
   27028 	ggc_alloc_cleared_stat.
   27029 	(ggc_realloc_stat): Use ggc_internal_alloc_stat.
   27030 	(ggc_calloc): Remove.
   27031 	(ggc_cleared_alloc_htab_ignore_args): New.
   27032 	(ggc_cleared_alloc_ptr_array_two_args): New.
   27033 	(ggc_splay_alloc): Add obj_type parameter.
   27034 	(init_ggc_heuristics): Formatting fixes.
   27035 
   27036 	* ggc-none.c: Update copyright year.
   27037 	(ggc_alloc_stat): Rename to ggc_alloc_stat.
   27038 	(ggc_alloc_cleared_stat): Rename to
   27039 	ggc_internal_cleared_alloc_stat.
   27040 	(struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
   27041 
   27042 	* ggc-page.c: Update copyright year.  Include ggc-internal.h.
   27043 	Remove references to ggc_alloc in comments.
   27044 	(ggc_alloc_typed_stat): Call ggc_internal_alloc_stat.
   27045 	(ggc_alloc_stat): Rename to ggc_internal_alloc_stat.
   27046 	(new_ggc_zone, destroy_ggc_zone): Remove.
   27047 	(struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
   27048 
   27049 	* ggc-zone.c: Include ggc-internal.h.  Remove references to
   27050 	ggc_alloc in comments.
   27051 	(ggc_alloc_zone_stat): ggc_internal_alloc_zone_stat.
   27052 	(ggc_internal_alloc_zone_pass_stat): New.
   27053 	(ggc_internal_cleared_alloc_zone_stat): New.
   27054 	(ggc_alloc_typed_stat): Use ggc_internal_alloc_zone_pass_stat.
   27055 	(ggc_alloc_stat): Rename ggc_internal_alloc_stat.
   27056 	(new_ggc_zone, destroy_ggc_zone): Remove.
   27057 
   27058 	* stringpool.c: Update copyright year.  Include ggc-internal.h
   27059 	(digit_vector): Make static.
   27060 	(digit_string): Moved from ggc.h.
   27061 	(stringpool_ggc_alloc): Use ggc_alloc_atomic.
   27062 	(ggc_alloc_string): Rename to ggc_alloc_string_stat.
   27063 
   27064 	* Makefile.in (GGC_INTERNAL_H): New.
   27065 	(ggc_common.o, ggc-page.o, ggc-zone.o, stringpool.o): Add
   27066 	$(GGC_INTERNAL_H) to dependencies.
   27067 
   27068 	* gengtype.c: Update copyright year.
   27069 	(walk_type): Accept variable_size GTY option.
   27070 	(USED_BY_TYPED_GC_P): New macro.
   27071 	(write_enum_defn): Use USED_BY_TYPED_GC_P.  Do not output
   27072 	whitespace at the end of strings.
   27073 	(get_type_specifier, variable_size_p): New functions.
   27074 	(alloc_quantity, alloc_zone): New enums.
   27075 	(write_typed_alloc_def): New function.
   27076 	(write_typed_struct_alloc_def): Likewise.
   27077 	(write_typed_typed_typedef_alloc_def): Likewise.
   27078 	(write_typed_alloc_defns): Likewise.
   27079 	(output_typename, write_splay_tree_allocator_def): Likewise.
   27080 	(write_splay_tree_allocators): Likewise.
   27081 	(main): Call write_typed_alloc_defns and
   27082 	write_splay_tree_allocators.
   27083 
   27084 	* lto-streamer.h (lto_file_decl_data_ptr): New.
   27085 
   27086 	* passes.c (order): Define using cgraph_node_ptr.
   27087 
   27088 	* strinpool.c (struct string_pool_data): Declare nested_ptr using
   27089 	ht_identifier_ptr.
   27090 
   27091 	* gimple.h (union gimple_statement_d): Likewise.
   27092 
   27093 	* rtl.h (struct rtx_def): Likewise.
   27094 	(struct rtvec_def): Likewise.
   27095 
   27096 	* tree.h (union tree_node): Likewise.
   27097 
   27098 	* tree-ssa-operands.h (struct ssa_operand_memory_d): Likewise.
   27099 
   27100 	* cfgloop.c (record_loop_exits): Use htab_create_ggc.
   27101 
   27102 	* tree-scalar-evolution.c (scev_initialize): Likewise.
   27103 
   27104 	* alias.c (record_alias_subset): Update splay_tree_new_ggc call.
   27105 
   27106 	* dwarf2asm.c (dw2_force_const_mem): Likewise.
   27107 
   27108 	* omp-low.c (lower_omp_critical): Likewise.
   27109 
   27110 	* bitmap.h (struct bitmap_head_def): Update comment to not
   27111 	reference ggc_alloc.
   27112 
   27113 	* config/pa/pa.c (get_deferred_label): Use GGC_RESIZEVEC.
   27114 
   27115 	* ira.c (fix_reg_equiv_init): Use GGC_RESIZEVEC.
   27116 
   27117 	* ipa-prop.c (duplicate_ggc_array): Rename to
   27118 	duplicate_ipa_jump_func_array.  Use typed GC allocation.
   27119 	(ipa_edge_duplication_hook): Call duplicate_ipa_jump_func_array.
   27120 
   27121 	* gimple.c (gimple_alloc_stat): Use
   27122 	ggc_alloc_cleared_gimple_statement_d_stat.
   27123 
   27124 	* varasm.c (create_block_symbol): Use ggc_alloc_zone_rtx_def.
   27125 
   27126 	* tree.c (make_node_stat): Use
   27127 	ggc_alloc_zone_cleared_tree_node_stat.
   27128 	(make_tree_vec_stat): Likewise.
   27129 	(build_vl_exp_stat): Likewise.
   27130 	(copy_node_stat): Use ggc_alloc_zone_tree_node_stat.
   27131 	(make_tree_binfo_stat): Likewise.
   27132 	(tree_cons_stat): Likewise.
   27133 
   27134 	* rtl.c (rtx_alloc_stat): Use ggc_alloc_zone_rtx_def_stat.
   27135 	(shallow_copy_rtx_stat): Likewise.
   27136 	(make_node_stat): Likewise.
   27137 
   27138 	* lto-symtab.c: Fix comment.
   27139 
   27140 	* tree-cfg.c (create_bb): Update comment to not reference
   27141 	ggc_alloc_cleared.
   27142 	* tree-ssa-structalias.c (struct heapvar_for_stmt): Fix param_is value.
   27143 
   27144 	* varpool.c (varpool_node): Use typed GC allocation.
   27145 	(varpool_extra_name_alias): Likewise.
   27146 
   27147 	* varasm.c (emutls_decl): Likewise.
   27148 	(get_unnamed_section): Likewise.
   27149 	(get_noswitch_section): Likewise.
   27150 	(get_section): Likewise.
   27151 	(get_block_for_section): Likewise.
   27152 	(build_constant_desc): Likewise.
   27153 	(create_constant_pool): Likewise.
   27154 	(force_const_mem): Likewise.
   27155 
   27156 	* tree.c (build_vl_exp_stat): Likewise.
   27157 	(build_real): Likewise.
   27158 	(build_string): Likewise.
   27159 	(decl_debug_expr_insert): Likewise.
   27160 	(decl_value_expr_insert): Likewise.
   27161 	(type_hash_add): Likewise.
   27162 	(build_omp_clause): Likewise.
   27163 
   27164 	* tree-ssanames.c (duplicate_ssa_name_ptr_info): Likewise.
   27165 
   27166 	* tree-ssa.c (init_tree_ssa): Likewise.
   27167 
   27168 	* tree-ssa-structalias.c (heapvar_insert): Likewise.
   27169 
   27170 	* tree-ssa-operands.c (ssa_operand_alloc): Likewise.
   27171 
   27172 	* tree-ssa-loop-niter.c (record_estimate): Likewise.
   27173 
   27174 	* tree-ssa-alias.c (get_ptr_info): Likewise.
   27175 
   27176 	* tree-scalar-evolution.c (new_scev_info_str): Likewise.
   27177 
   27178 	* tree-phinodes.c (allocate_phi_node): Likewise.
   27179 
   27180 	* tree-iterator.c (tsi_link_before): Likewise.
   27181 	(tsi_link_after): Likewise.
   27182 
   27183 	* tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
   27184 
   27185 	* tree-dfa.c (create_var_ann): Likewise.
   27186 
   27187 	* tree-cfg.c (create_bb): Likewise.
   27188 
   27189 	* toplev.c (alloc_for_identifier_to_locale): Likewise.
   27190 	(general_init): Likewise.
   27191 
   27192 	* stringpool.c (stringpool_ggc_alloc): Likewise.
   27193 	(gt_pch_save_stringpool): Likewise.
   27194 
   27195 	* sese.c (if_region_set_false_region): Likewise.
   27196 
   27197 	* passes.c (do_per_function_toporder): Likewise.
   27198 
   27199 	* optabs.c (set_optab_libfunc): Likewise.
   27200 	(set_conv_libfunc): Likewise.
   27201 
   27202 	* lto-symtab.c (lto_symtab_register_decl): Likewise.
   27203 
   27204 	* lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
   27205 	(input_eh_region): Likewise.
   27206 	(input_eh_lp): Likewise.
   27207 	(make_new_block): Likewise.
   27208 	(unpack_ts_real_cst_value_fields): Likewise.
   27209 
   27210 	* lto-section-in.c (lto_new_in_decl_state): Likewise.
   27211 
   27212 	* lto-cgraph.c (input_node_opt_summary): Likewise.
   27213 
   27214 	* loop-init.c (loop_optimizer_init): Likewise.
   27215 
   27216 	* lambda.h (lambda_vector_new): Likewise.
   27217 
   27218 	* lambda-code.c (replace_uses_equiv_to_x_with_y): Likewise.
   27219 
   27220 	* ira.c (update_equiv_regs): Likewise.
   27221 
   27222 	* ipa.c (cgraph_node_set_new): Likewise.
   27223 	(cgraph_node_set_add): Likewise.
   27224 	(varpool_node_set_new): Likewise.
   27225 	(varpool_node_set_add): Likewise.
   27226 
   27227 	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise.
   27228 	(duplicate_ipa_jump_func_array): Likewise.
   27229 	(ipa_read_node_info): Likewise.
   27230 
   27231 	* ipa-cp.c (ipcp_create_replace_map): Likewise.
   27232 
   27233 	* integrate.c (get_hard_reg_initial_val): Likewise.
   27234 
   27235 	* gimple.c (gimple_alloc_stat): Likewise.
   27236 	(gimple_build_omp_for): Likewise.
   27237 	(gimple_seq_alloc): Likewise.
   27238 	(gimple_copy): Likewise.
   27239 
   27240 	* gimple-iterator.c (gsi_insert_before_without_update): Likewise.
   27241 	(gsi_insert_after_without_update): Likewise.
   27242 
   27243 	* function.c (add_frame_space): Likewise.
   27244 	(insert_temp_slot_address): Likewise.
   27245 	(assign_stack_temp_for_type): Likewise.
   27246 	(allocate_struct_function): Likewise.
   27247 	(types_used_by_var_decl_insert): Likewise.
   27248 
   27249 	* except.c (init_eh_for_function): Likewise.
   27250 	(gen_eh_region): Likewise.
   27251 	(gen_eh_region_catch): Likewise.
   27252 	(gen_eh_landing_pad): Likewise.
   27253 	(add_call_site): Likewise.
   27254 
   27255 	* emit-rtl.c (get_mem_attrs): Likewise.
   27256 	(get_reg_attrs): Likewise.
   27257 	(start_sequence): Likewise.
   27258 	(init_emit): Likewise.
   27259 
   27260 	* dwarf2out.c (new_cfi): Likewise.
   27261 	(queue_reg_save): Likewise.
   27262 	(dwarf2out_frame_init): Likewise.
   27263 	(new_loc_descr): Likewise.
   27264 	(find_AT_string): Likewise.
   27265 	(new_die): Likewise.
   27266 	(add_var_loc_to_decl): Likewise.
   27267 	(clone_die): Likewise.
   27268 	(clone_as_declaration): Likewise.
   27269 	(break_out_comdat_types): Likewise.
   27270 	(new_loc_list): Likewise.
   27271 	(loc_descriptor): Likewise.
   27272 	(add_loc_descr_to_each): Likewise.
   27273 	(add_const_value_attribute): Likewise.
   27274 	(tree_add_const_value_attribute): Likewise.
   27275 	(add_comp_dir_attribute): Likewise.
   27276 	(add_name_and_src_coords_attributes): Likewise.
   27277 	(lookup_filename): Likewise.
   27278 	(store_vcall_insn): Likewise.
   27279 	(dwarf2out_init): Likewise.
   27280 
   27281 	* dbxout.c (dbxout_init): Likewise.
   27282 
   27283 	* config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
   27284 
   27285 	* config/sparc/sparc.c (sparc_init_machine_status): Likewise.
   27286 
   27287 	* config/score/score7.c (score7_output_external): Likewise.
   27288 
   27289 	* config/score/score3.c (score3_output_external): Likewise.
   27290 
   27291 	* config/s390/s390.c (s390_init_machine_status): Likewise.
   27292 
   27293 	* config/rs6000/rs6000.c (builtin_function_type): Likewise.
   27294 	(rs6000_init_machine_status): Likewise.
   27295 	(output_toc): Likewise.
   27296 
   27297 	* config/pa/pa.c (pa_init_machine_status): Likewise.
   27298 	(get_deferred_plabel): Likewise.
   27299 
   27300 	* config/moxie/moxie.c (moxie_init_machine_status): Likewise.
   27301 
   27302 	* config/mmix/mmix.c (mmix_init_machine_status): Likewise.
   27303 
   27304 	* config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
   27305 
   27306 	* config/mep/mep.c (mep_init_machine_status): Likewise.
   27307 	(mep_note_pragma_flag): Likewise.
   27308 
   27309 	* config/m32c/m32c.c (m32c_init_machine_status): Likewise.
   27310 
   27311 	* config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
   27312 
   27313 	* config/ia64/ia64.c (ia64_init_machine_status): Likewise.
   27314 
   27315 	* config/i386/winnt.c (i386_pe_record_external_function): Likewise.
   27316 	(i386_pe_maybe_record_exported_symbol): Likewise.
   27317 
   27318 	* config/i386/i386.c (get_dllimport_decl): Likewise.
   27319 	(ix86_init_machine_status): Likewise.
   27320 	(assign_386_stack_local): Likewise.
   27321 
   27322 	* config/frv/frv.c (frv_init_machine_status): Likewise.
   27323 
   27324 	* config/darwin.c (machopic_indirection_name): Likewise.
   27325 
   27326 	* config/cris/cris.c (cris_init_machine_status): Likewise.
   27327 
   27328 	* config/bfin/bfin.c (bfin_init_machine_status): Likewise.
   27329 
   27330 	* config/avr/avr.c (avr_init_machine_status): Likewise.
   27331 
   27332 	* config/arm/arm.c (arm_init_machine_status): Likewise.
   27333 
   27334 	* config/alpha/alpha.c (alpha_init_machine_status): Likewise.
   27335 	(alpha_need_linkage): Likewise.
   27336 	(alpha_use_linkage): Likewise.
   27337 
   27338 	* cgraph.c (cgraph_allocate_node): Likewise.
   27339 	(cgraph_create_edge_1): Likewise.
   27340 	(cgraph_create_indirect_edge): Likewise.
   27341 	(cgraph_add_asm_node): Likewise.
   27342 
   27343 	* cfgrtl.c (init_rtl_bb_info): Likewise.
   27344 
   27345 	* cfgloop.c (alloc_loop): Likewise.
   27346 	(rescan_loop_exit): Likewise.
   27347 
   27348 	* cfg.c (init_flow): Likewise.
   27349 	(alloc_block): Likewise.
   27350 	(unchecked_make_edge): Likewise.
   27351 
   27352 	* c-parser.c (c_parse_init): Likewise.
   27353 	(c_parse_file): Likewise.
   27354 
   27355 	* c-decl.c (bind): Likewise.
   27356 	(record_inline_static): Likewise.
   27357 	(push_scope): Likewise.
   27358 	(make_label): Likewise.
   27359 	(lookup_label_for_goto): Likewise.
   27360 	(finish_struct): Likewise.
   27361 	(finish_enum): Likewise.
   27362 	(c_push_function_context): Likewise.
   27363 
   27364 	* bitmap.c (bitmap_element_allocate): Likewise.
   27365 	(bitmap_gc_alloc_stat): Likewise.
   27366 
   27367 	* alias.c (record_alias_subset): Likewise.
   27368 	(init_alias_analysis): Likewise.
   27369 
   27370 2010-06-08  Shujing Zhao  <pearly.zhao (a] oracle.com>
   27371 
   27372 	* fold-const.c (fold_comparison): Remove redundant parenthesis.
   27373 	* tree-inline.c (expand_call_inline): Pass translated return value of
   27374 	cgraph_inline_failed_string to diagnostic function.
   27375 
   27376 2010-06-08  Andrew Pinski  <pinskia (a] gmail.com>
   27377 	    Shujing Zhao  <pearly.zhao (a] oracle.com>
   27378 
   27379 	PR c/37724
   27380 	* c-typeck.c (convert_for_assignment): Call pedwarn_init if the
   27381 	implicit bad conversions is initialization.
   27382 	(error_init): Use gmsgid instead of msgid for argument name and change
   27383 	the call for error.
   27384 	(pedwarn_init): Use gmsgid instead of msgid for argument name and
   27385 	change the call for pedwarn.
   27386 	(warning_init): Use gmsgid instead of msgid for argument name and
   27387 	change the call for warning.
   27388 
   27389 2010-06-07  Nathan Froyd  <froydnj (a] codesourcery.com>
   27390 
   27391 	* config/mips/mips-protos.h (mips_print_operand): Delete.
   27392 	(mips_print_operand_address): Delete.
   27393 	* config/mips/mips.h (mips_print_operand_punct): Delete.
   27394 	(PRINT_OPERAND): Delete.
   27395 	(PRINT_OPERAND_PUNCT_VALID_P): Delete.
   27396 	(PRINT_OPERAND_ADDRESS): Delete.
   27397 	* config/mips/mips.c (mips_print_operand_punct): Make static.
   27398 	(mips_print_operand_address): Make static.
   27399 	(mips_print_operand): Make static.  Call
   27400 	mips_print_operand_punct_valid_p.
   27401 	(mips_print_operand_punct_valid_p): New function.
   27402 	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
   27403 	(TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
   27404 
   27405 2010-06-07  Jan Hubicka  <jh (a] suse.cz>
   27406 
   27407 	PR middle-end/44454
   27408 	(df_lr_top_dump, df_lr_bottom_dump): Check that in/out bitmaps
   27409 	are allocated.
   27410 
   27411 2010-06-07  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   27412 
   27413 	* config/sh/sh.c (sh_build_builtin_va_list): Set tree type
   27414 	name of RECORD.
   27415 
   27416 2010-06-07  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   27417 
   27418 	* doc/sourcebuild.texi (Effective-Target Keywords, Other
   27419 	attributes): Document gas.
   27420 
   27421 2010-06-07  Uros Bizjak  <ubizjak (a] gmail.com>
   27422 
   27423 	* config/i386/i386.md (*add<mode>_1): Remove alternative 2.
   27424 	<TYPE_LEA>: Split instruction.
   27425 	<default>: Remove alternative 2 handling.
   27426 	(*addsi_1_zext) <TYPE_LEA>: Split instruction.
   27427 	(add lea splitter): Generate SImode lea for mode sizes <= SImode.
   27428 	(add_zext lea splitter): Use ix86_lea_for_add_ok in insn predicate.
   27429 
   27430 	(*movsi_1) <TYPE_LEA>: Use %a modifier to output operand 1.
   27431 	(ashift_zext lea splitter): Use DImode for multiplication.
   27432 
   27433 	* config/i386/i386.c (ix86_expand_epilogue): Do not use ix86_gen_add
   27434 	to generate addition.
   27435 
   27436 2010-06-07  Joseph Myers  <joseph (a] codesourcery.com>
   27437 
   27438 	* common.opt (fira-verbose): Use Var.
   27439 	(fpcc-struct-return): Use Init instead of VarExists.
   27440 	* defaults.h (DEFAULT_PCC_STRUCT_RETURN): Move definition from
   27441 	toplev.c.
   27442 	* flags.h (flag_signed_char, flag_short_enums,
   27443 	flag_pcc_struct_return, flag_ira_verbose,
   27444 	flag_detailed_statistics, flag_remove_unreachable_functions): Remove.
   27445 	* toplev.c (flag_detailed_statistics, flag_signed_char,
   27446 	flag_short_enums, flag_pcc_struct_return, flag_ira_verbose): Remove.
   27447 	(DEFAULT_PCC_STRUCT_RETURN): Move definition to defaults.h.
   27448 	* toplev.h (flag_crossjumping, flag_if_conversion,
   27449 	flag_if_conversion2, flag_keep_static_consts, flag_peel_loops,
   27450 	flag_rerun_cse_after_loop, flag_thread_jumps, flag_tracer,
   27451 	flag_unroll_loops, flag_unroll_all_loops, flag_unswitch_loops,
   27452 	flag_cprop_registers, time_report, flag_ira_loop_pressure,
   27453 	flag_ira_coalesce, flag_ira_move_spills,
   27454 	flag_ira_share_save_slots, flag_ira_share_spill_slots): Remove.
   27455 
   27456 2010-06-07  Jan Hubicka  <jh (a] suse.cz>
   27457 
   27458 	* df-core.c (df_analyze_problem): Do verification after allocation.
   27459 
   27460 	* df-problems.c (df_lr_problem_data): Add lr_bitmaps.
   27461 	(df_lr_alloc): Initialize problem data; move bitmaps to
   27462 	lr_bitmaps obstack.
   27463 	(df_lr_finalize): Free problem data; do not bother to free bitmaps.
   27464 	(df_lr_verify_solution_start): Do not initialize problem data;
   27465 	allocate bitmaps in lr_bitmaps.
   27466 	(df_lr_verify_solution_end): Do not free problem data.
   27467 
   27468 2010-06-07  Jan Hubicka  <jh (a] suse.cz>
   27469 
   27470 	* cgraph.c (cgraph_edge_cannot_lead_to_return): Also check
   27471 	if caller is noreturn.
   27472 	* ipa-reference.c (analyze_function): Use ipa_ref_cannot_lead_to_return
   27473 	* ipa-ref.h (ipa_ref_cannot_lead_to_return): New function.
   27474 	* ipa-ref.c (ipa_ref_cannot_lead_to_return): New function.
   27475 	* ipa-pure-const.c (check_decl): Add IPA parameter.
   27476 	(state_from_flags): New function.
   27477 	(better_state, worse_state): New functions.
   27478 	(check_call): When in IPA mode, do not care about callees.
   27479 	(check_load, check_store): Update.
   27480 	(check_ipa_load, check_ipa_store): New.
   27481 	(check_stmt): When in IPA mode, use IPA checkers.
   27482 	(analyze_function): Use state_from_flags.
   27483 	(propagate): Check indirect edges and references.
   27484 
   27485 2010-06-07  Kazu Hirata  <kazu (a] codesourcery.com>
   27486 
   27487 	PR rtl-optimization/44404
   27488 	* auto-inc-dec.c (find_inc): Use reg_overlap_mentioned_p instead
   27489 	of count_occurrences to see if it's safe to modify mem_insn.
   27490 
   27491 2010-06-07  Richard Guenther  <rguenther (a] suse.de>
   27492 
   27493 	* gimplify.c (gimplify_cleanup_point_expr): For empty body
   27494 	and EH-only cleanup drop the cleanup instead of inserting it
   27495 	unconditionally.
   27496 
   27497 2010-06-07  Ira Rosen  <irar (a] il.ibm.com>
   27498 
   27499 	* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Update
   27500 	documentation.
   27501 	* targhooks.c (default_builtin_vectorization_cost): New function.
   27502 	* targhooks.h (default_builtin_vectorization_cost): Declare.
   27503 	* target.h (enum vect_cost_for_stmt): Define.
   27504 	(builtin_vectorization_cost): Change argument and comment.
   27505 	* tree-vectorizer.h: Remove cost model macros.
   27506 	* tree-vect-loop.c: Include target.h.
   27507 	(vect_get_cost): New function.
   27508 	(vect_estimate_min_profitable_iters): Replace cost model macros with
   27509 	calls to vect_get_cost.
   27510 	(vect_model_reduction_cost, vect_model_induction_cost): Likewise.
   27511 	* target-def.h (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Add
   27512 	default implementation.
   27513 	* tree-vect-stmts.c (cost_for_stmt): Replace cost model macros with
   27514 	calls to target hook builtin_vectorization_cost.
   27515 	(vect_model_simple_cost, vect_model_store_cost, vect_model_load_cost):
   27516 	Likewise.
   27517 	* Makefile.in (tree-vect-loop.o): Add dependency on TARGET_H.
   27518 	* config/spu/spu.c (spu_builtin_vectorization_cost): Replace with new
   27519 	implementation to return costs.
   27520 	* config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
   27521 	* config/spu/spu.h: Remove vectorizer cost model macros.
   27522 	* config/i386/i386.h: Likewise.
   27523 	* tree-vect-slp.c (vect_build_slp_tree): Replace cost model macro with
   27524 	a call to target hook builtin_vectorization_cost.
   27525 
   27526 2010-06-06  Sriraman Tallam  <tmsriram (a] google.com>
   27527 
   27528 	PR target/44319
   27529 	* config/i386/i386.c (override_options): Turn zee pass on for level 2
   27530 	and above and defer till target is known.
   27531 	(optimization_options): Turn on zee pass if TARGET_64BIT is set and
   27532 	turn off otherwise.
   27533 
   27534 2010-05-25  Jan Hubicka  <jh (a] suse.cz>
   27535 
   27536 	* df-core.c (df_set_blocks): Use bitmap_head instead of bitmap.
   27537 	(df_compact_blocks): Likewise.
   27538 	* df.h (struct df): Turn hardware_regs_used,
   27539 	regular_block_artificial_uses, eh_block_artificial_uses,
   27540 	insns_to_delete, insns_to_rescan, insns_to_notes_rescan into
   27541 	bitmap_head.
   27542 	* df-problems.c (df_lr_local_compute, df_lr_confluence_0,
   27543 	df_byte_lr_alloc, df_simulate_fixup_sets): Update.
   27544 	* df-scan.c (df_scan_free_internal, df_scan_alloc, df_scan_start_dump,
   27545 	df_scan_blocks, df_insn_delete, df_insn_rescan,
   27546 	df_insn_rescan_debug_internal, df_insn_rescan_all,
   27547 	df_process_deferred_rescans, df_process_deferred_rescans,
   27548 	df_notes_rescan, df_get_call_refs, df_get_call_refs,
   27549 	regs_invalidated_by_call_regset, df_get_call_refs, df_bb_refs_collect,
   27550 	df_record_entry_block_defs, df_record_exit_block_uses,
   27551 	df_update_exit_block_uses, df_bb_verify, df_entry_block_bitmap_verify,
   27552 	df_scan_verify): Update.
   27553 
   27554 2010-05-25  Dodji Seketeli  <dodji (a] redhat.com>
   27555 
   27556 	PR c++/44188
   27557 	* c-common.c (is_typedef_decl): Move this definition ...
   27558 	* tree.c (is_typedef_decl): ... here.
   27559 	(typdef_variant_p): Move definition here from cp/tree.c.
   27560 	* c-common.h (is_typedef_decl): Move this declaration ...
   27561 	* tree.h (is_typedef_decl): ... here.
   27562 	(typedef_variant_p): Move declaration here from cp/cp-tree.h
   27563 	* dwarf2out.c (is_naming_typedef_decl): New function.
   27564 	(gen_tagged_type_die): Split out of ...
   27565 	(gen_type_die_with_usage): ... this function. When an anonymous
   27566 	tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
   27567 	is emitted for the typedef.
   27568 	(gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
   27569 	anonymous tagged types.
   27570 
   27571 2010-06-06  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   27572 
   27573 	PR c/20000
   27574 	* c-decl.c (grokdeclarator): Delete warning.
   27575 
   27576 2010-06-06  Eric Botcazou  <ebotcazou (a] adacore.com>
   27577 
   27578 	* stor-layout.c (self_referential_size): Set UNKNOWN_LOCATION on the
   27579 	newly built CALL_EXPR.
   27580 	* tree-profile.c (tree_profiling): Don't profile functions produced
   27581 	for built-in stuff.
   27582 
   27583 2010-06-06  Segher Boessenkool  <segher (a] kernel.crashing.org>
   27584 
   27585 	PR bootstrap/44427
   27586 	PR bootstrap/44428
   27587 	* genautomata.c (SET_BIT, CLEAR_BIT, TEST_BIT): Make these macros
   27588 	endianness-independent.
   27589 
   27590 2010-06-05  Steven Bosscher  <steven (a] gcc.gnu.org>
   27591 
   27592 	* c-common.c: Move to c-family/.
   27593 	* c-common.def: Likewise.
   27594 	* c-common.h: Likewise.
   27595 	* c-cppbuiltin.c: Likewise.
   27596 	* c-dump.c: Likewise.
   27597 	* c-format.c: Likewise.
   27598 	* c-format.h : Likewise.
   27599 	* c-gimplify.c: Likewise.
   27600 	* c-lex.c: Likewise.
   27601 	* c-omp.c: Likewise.
   27602 	* c.opt: Likewise.
   27603 	* c-opts.c: Likewise.
   27604 	* c-pch.c: Likewise.
   27605 	* c-ppoutput.c: Likewise.
   27606 	* c-pragma.c: Likewise.
   27607 	* c-pragma.h: Likewise.
   27608 	* c-pretty-print.c: Likewise.
   27609 	* c-pretty-print.h: Likewise.
   27610 	* c-semantics.c: Likewise.
   27611 	* stub-objc.c: Likewise.
   27612 
   27613 	* gengtype.c (get_file_langdir): Special-case files in c-family/.
   27614 	(get_output_file_with_visibility): Fix name for c-common.h.
   27615 	* c-config-lang.in: Update paths in gtfiles for files in c-family/.
   27616 
   27617 	* c-tree.h: Update include path for moved files.
   27618 	* c-lang.c: Likewise.
   27619 	* c-lang.h: Likewise.
   27620 	* c-parser.c: Likewise.
   27621 	* c-convert.c: Likewise.
   27622 	* c-decl.c: Likewise.
   27623 	* c-objc-common.c: Likewise.
   27624 	* configure.ac: Make sure c-family/ exists in the build directory.
   27625 	* configure: Regenerate.
   27626 	* Makefile.in: Update paths for moved files.  Regroup files per
   27627 	location and update dependencies.  Move generated_files down after
   27628 	ALL_GTFILES_H.
   27629 
   27630 	* config/spu/spu-c.c: Update paths for moved files.
   27631 	* config/mep/mep-pragma.c: Likewise.
   27632 	* config/darwin-c.c: Likewise.
   27633 	* config/i386/msformat-c.c: Likewise.
   27634 	* config/i386/i386-c.c: Likewise.
   27635 	* config/avr/avr-c.c: Likewise.
   27636 	* config/sol2-c.c: Likewise.
   27637 	* config/ia64/ia64-c.c: Likewise.
   27638 	* config/rs6000/rs6000-c.c: Likewise.
   27639 	* config/arm/arm.c: Likewise.
   27640 	* config/arm/arm-c.c: Likewise.
   27641 	* config/h8300/h8300.c: Likewise.
   27642 	* config/v850/v850-c.c: Likewise.
   27643 
   27644 	* config/t-darwin: Fix dependencies for moved files.
   27645 	* config/t-sol2: Fix dependencies for moved files.
   27646 	* config/mep/t-mep: Fix dependencies for moved files.
   27647 	* config/ia64/t-ia64: Fix dependencies for moved files.
   27648 	* config/rs6000/t-rs6000: Fix dependencies for moved files.
   27649 	* config/v850/t-v850: Fix dependencies for moved files.
   27650 	* config/v850/t-v850e: Fix dependencies for moved files.
   27651 
   27652 	* config/m32c/m32c-pragma.c
   27653 
   27654 	* po/exgettext: Look in c-family/ also.
   27655 
   27656 2010-06-05  Eric Botcazou  <ebotcazou (a] adacore.com>
   27657 
   27658 	* tree-ssa-dce.c (mark_last_stmt_necessary): New function.
   27659 	(mark_control_dependent_edges_necessary): Call it instead of marking
   27660 	the last statement manually.
   27661 	(propagate_necessity): Likewise.
   27662 
   27663 2010-06-05  Jan Hubicka  <jh (a] suse.cz>
   27664 
   27665 	* basic-block.h (compute_dominance_frontiers): Updated.
   27666 	(compute_idf): Likewise.
   27667 
   27668 	* tree-into-ssa.c (insert_phi_nodes): Use bitmap heads
   27669 	for dominance frontiers.
   27670 	(rewrite_into_ssa): Update for bitmap heads in dominance frontiers.
   27671 	(insert_updated_phi_nodes_for): Likewise.
   27672 	(update_ssa): Likewise.
   27673 	* cfganal.c (compute_dominance_frontiers_1): Likewise.
   27674 	(compute_dominance_frontiers): Likewise.
   27675 	(compute_idf): Likewise.
   27676 	* df-problems.c (df_md_local_compute): Likewise.
   27677 
   27678 2010-06-05  Anatoly Sokolov  <aesok (a] post.ru>
   27679 
   27680 	* target.h (struct gcc_target): Add memory_move_cost field.
   27681 	* target-def.h (TARGET_MEMORY_MOVE_COST): New.
   27682 	(TARGET_INITIALIZER): Use TARGET_MEMORY_MOVE_COST.
   27683 	* targhooks.c (default_memory_move_cost): New function.
   27684 	* targhooks.h (default_memory_move_cost): Declare function.
   27685 	* reload.h (memory_move_cost): Declare.
   27686 	(memory_move_secondary_cost): Change type of 'in' argument to bool.
   27687 	* reginfo.c (memory_move_cost): New function.
   27688 	(memory_move_secondary_cost): Change type of 'in' argument to bool.
   27689 	* ira.h (ira_memory_move_cost): Update comment.
   27690 	* ira.c (ira_memory_move_cost): Update comment.
   27691 	(setup_class_subset_and_memory_move_costs): Replace MEMORY_MOVE_COST
   27692 	with memory_move_cost.
   27693 	* postreload.c (reload_cse_simplify_set): (Ditto.).
   27694 	* reload1.c (choose_reload_regs): (Ditto.).
   27695 	* doc/tm.texi (TARGET_MEMORY_MOVE_COST): New.
   27696 	(MEMORY_MOVE_COST):  Revise documentation.
   27697 
   27698 	* config/i386/i386.h (MEMORY_MOVE_COST): Remove macro.
   27699 	* config/i386/i386-protos.h (int ix86_memory_move_cost): Remove.
   27700 	* config/i386/i386.h (ix86_memory_move_cost): Make static. Change
   27701 	type of 'in' argument to bool.
   27702 	(TARGET_MEMORY_MOVE_COST): Define.
   27703 
   27704 2010-06-05  Jan Hubicka  <jh (a] suse.cz>
   27705 
   27706 	* ipa-pure-const.c (propagate): Fix typo in handling of functions
   27707 	that cannot return.  Be more careful when merging the results with
   27708 	previously known ones.
   27709 
   27710 2010-06-05  Matthias Klose  <doko (a] ubuntu.com>
   27711 
   27712 	* gcc.c (cc1_options, cpp_unique_options): Use find-plugindir spec
   27713 	function to add the -iplugindir option.
   27714 	(find_plugindir_spec_function): Add new declaration and function.
   27715 	(static_spec_func): Use it for "find-plugindir".
   27716 
   27717 2010-06-05  Jakub Jelinek  <jakub (a] redhat.com>
   27718 
   27719 	PR c++/44361
   27720 	* c-typeck.c (mark_exp_read): Handle C_MAYBE_CONST_EXPR.
   27721 	* c-parser.c (c_parser_postfix_expression): Call mark_exp_read on
   27722 	statement expression.
   27723 
   27724 2010-06-05  Jan Hubicka  <jh (a] suse.cz>
   27725 
   27726 	* df-problems.c (seen_in_block, seen_in_insn): Convert to bitmap_head.
   27727 	(df_rd_problem_data): Convert sparse_invalidated_by_call,
   27728 	dense_invalidated_by_call to bitmap head.
   27729 	(df_rd_alloc, df_rd_bb_local_compute_process_def,
   27730 	df_rd_bb_local_compute, df_rd_confluence_n, df_rd_transfer_function,
   27731 	df_rd_start_dump, df_lr_verify_transfer_functions,
   27732 	df_live_verify_transfer_functions, df_chain_create_bb,
   27733 	df_chain_add_problem, df_byte_lr_check_regs, df_byte_lr_alloc,
   27734 	df_byte_lr_confluence_0, df_byte_lr_confluence_n, df_note_compute,
   27735 	df_simulate_one_insn_forwards, df_md_alloc,
   27736 	df_md_bb_local_compute_process_def,
   27737 	df_md_bb_local_compute_process_def, df_md_local_compute,
   27738 	df_md_transfer_function df_md_free): Update.
   27739 
   27740 2010-06-05  Joseph Myers  <joseph (a] codesourcery.com>
   27741 
   27742 	PR c/44322
   27743 	* c-typeck.c (build_unary_op): Merge qualifiers into pointer
   27744 	target type for ADDR_EXPR; require no changes to qualifiers except
   27745 	for function types.
   27746 	* c-tree.h (c_build_type_variant): Remove.
   27747 
   27748 2010-06-05  Segher Boessenkool  <segher (a] kernel.crashing.org>
   27749 
   27750 	* genautomata.c (get_excl_set): Do work per element, not per char.
   27751 	(check_presence_pattern_sets): Similar.
   27752 	(check_absence_pattern_sets): Similar.
   27753 
   27754 2010-06-05  Segher Boessenkool  <segher (a] kernel.crashing.org>
   27755 
   27756 	* genautomata.c (curr_state_pass_num): Delete.
   27757 	(min_issue_delay_pass_states): Delete.
   27758 	(min_issue_delay): Delete.
   27759 	(initiate_min_issue_delay_pass_states): Delete.
   27760 	(output_min_issue_delay_table): Compute min_issue_delay_vect
   27761 	using a breadth-first search variant.
   27762 	(output_tables): Don't call initiate_min_issue_delay_pass_states.
   27763 
   27764 2010-06-04  H.J. Lu  <hongjiu.lu (a] intel.com>
   27765 
   27766 	PR boostrap/44421
   27767 	* df-problems.c (df_lr_bb_local_compute): Updated for embedded bitmaps.
   27768 	(df_byte_lr_bb_local_compute): Likewise.
   27769 
   27770 2010-06-03  Jason Merrill  <jason (a] redhat.com>
   27771 
   27772 	Implement noexcept operator (5.3.7)
   27773 	* c-common.c (c_common_reswords): Add noexcept.
   27774 	* c-common.h (enum rid): Add RID_NOEXCEPT.
   27775 
   27776 2010-06-04  Joseph Myers  <joseph (a] codesourcery.com>
   27777 
   27778 	* config/darwin-driver.c (darwin_default_min_version): Use
   27779 	GCC-specific formats in diagnostics.
   27780 	* cppspec.c (lang_specific_driver): Use GCC-specific formats in
   27781 	diagnostics.
   27782 	* gcc.c (translate_options, read_specs, add_sysrooted_prefix,
   27783 	execute, process_command, end_going_arg, do_self_spec, do_spec_1,
   27784 	eval_spec_function, handle_braces, process_brace_body, main,
   27785 	perror_with_name, used_arg, set_multilib_dir, print_multilib_info,
   27786 	getenv_spec_function, compare_version_strings,
   27787 	version_compare_spec_function): Use GCC-specific formats in
   27788 	diagnostics.
   27789 
   27790 2010-06-04  Uros Bizjak  <ubizjak (a] gmail.com>
   27791 
   27792 	* config/i386/i386.md (*addhi_1_lea) <TYPE_INCDEC, default>: Assert
   27793 	that operand 0 and operand 1 are equal.
   27794 	(*addqi_1_lea) <TYPE_INCDEC, default>: Ditto.
   27795 	(*add<mode>_2) <TYPE_INCDEC>: Remove assert that operand 0
   27796 	and operand 1 are equal.
   27797 	<default>: Ditto.  Remove ??? comment.
   27798 	(*add<mode>_3) <TYPE_INCDEC>: Remove assert that operand 0
   27799 	and operand 1 are equal.
   27800 	<default>: Ditto.  Remove ??? comment.
   27801 	(*adddi_4) <default>: Remove assert that operand 0 and operand 1
   27802 	are equal.
   27803 	(*add<mode>_4) <default>: Ditto.
   27804 	(*add<mode>_5) <TYPE_INCDEC, default>: Ditto.
   27805 
   27806 2010-06-04  Nathan Froyd  <froydnj (a] codesourcery.com>
   27807 
   27808 	* config/i386/i386-protos.h (ix86_print_operand): Declare.
   27809 	* config/i386/i386.c (ix86_print_operand): Make non-static.
   27810 	* config/i386/sol2.h (ASM_OUTPUT_CALL): Call ix86_print_operand.
   27811 	* output.h (output_operand): Declare.
   27812 	* final.c (output_operand): Make non-static.
   27813 
   27814 2010-06-04  Alexandre Oliva  <aoliva (a] redhat.com>
   27815 
   27816 	PR rtl-optimization/44013
   27817 	* sched-deps.c (add_dependence_list_and_free): Don't free lists
   27818 	when processing debug insns.
   27819 
   27820 	PR debug/41371
   27821 	* var-tracking.c (find_loc_in_1pdv): Mark initial value before
   27822 	recursing.  Check that recursion is bounded.  Rename inner var
   27823 	to avoid hiding incoming argument.
   27824 
   27825 2010-06-04  Uros Bizjak  <ubizjak (a] gmail.com>
   27826 
   27827 	* config/i386/i386.md (*addqi_2) <TYPE_INCDEC>: Do not assert that
   27828 	operands[2] == 255.
   27829 	(*addqi_3): Ditto.
   27830 	(*addqi_4): Ditto.
   27831 	(*addqi_5): Ditto.
   27832 	(*addqi_ext_1_rex64): Ditto.
   27833 	(*addqi_ext_1): Ditto.
   27834 
   27835 	(*addqi_4): Check for incdec_operand in QImode.
   27836 
   27837 	(*add<mode>_2): Macroize insn from *add<mode>_2 and *add{qi,hi}_2
   27838 	using SWI mode iterator.
   27839 	(*add<mode>_3): Ditto from *add<mode>_3 and *add{qi,hi}_3.
   27840 	(*add<mode>_4): Macroize insn from *add{qi,hi,si}_4 using SWI124
   27841 	mode iterator.
   27842 	(*add<mode>_5): Macroize insn from *add<mode>_5 and *add{qi,hi}_5
   27843 	using SWI mode iterator.
   27844 
   27845 2010-06-04  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   27846 
   27847 	PR c/25880
   27848 	* c-objc-common.c (c_tree_printer): Handle %V, %v and %#v.
   27849 	* c-format.c (gcc_diag_flag_specs): Add hash.
   27850 	(gcc_cxxdiag_flag_specs): Use gcc_diag_flag_specs directly.
   27851 	(gcc_tdiag_char_table,gcc_cdiag_char_table): Handle %V and %v.
   27852 	* c-pretty-print.c (pp_c_cv_qualifier): Rename as
   27853 	pp_c_cv_qualifiers. Handle qualifiers spelling here.
   27854 	(pp_c_type_qualifier_list): Call the function above.
   27855 	* c-pretty-print.h (pp_c_cv_qualifiers): Declare.
   27856 	* c-typeck.c (handle_warn_cast_qual): Print qualifiers.
   27857 	(WARN_FOR_QUALIFIERS): New macro.
   27858 	(convert_for_assignment): Use it.
   27859 
   27860 2010-06-04  Kai Tietz  <kai.tietz (a] onevision.com>
   27861 
   27862 	* config/i386/cygming.h (ASM_GENERATE_INTERNAL_LABEL): Prefix by '*'.
   27863 
   27864 2010-06-04  Jan Hubicka  <jh (a] suse.cz>
   27865 
   27866 	* df.h (df_rd_bb_info, df_md_bb_info, df_lr_bb_info, df_live_bb_info,
   27867 	df_byte_lr_bb_info): Embedd bitmap_head into the structure.
   27868 	(DF_LIVE_IN, DF_LIVE_OUT, DF_LR_IN, DF_LR_OUT, DF_BYTE_LR_IN,
   27869 	DF_BYTE_LR_OUT): Update for embedded bitmaps.
   27870 	* fwprop.c (single_def_use_enter_block): Likewise.
   27871 	* ddg.c (create_ddg_dep_from_intra_loop_link,
   27872 	add_cross_iteration_register_deps, build_inter_loop_deps): Likewise.
   27873 	* loop-iv.c (latch_dominating_def): Likewise.
   27874 	* df-problems.c (df_rd_free_bb_info, df_rd_alloc,
   27875 	df_rd_bb_local_compute_process_def, df_rd_bb_local_compute_process_def,
   27876 	df_rd_init_solution, df_rd_init_solution, df_rd_transfer_function,
   27877 	df_rd_transfer_function, df_rd_top_dump,
   27878 	df_rd_bottom_dump): Update.
   27879 	(df_lr_free_bb_info, df_lr_alloc, df_lr_reset, df_lr_bb_local_compute,
   27880 	df_lr_bb_local_compute, df_lr_bb_local_compute, df_lr_bb_local_compute,
   27881 	df_lr_bb_local_compute, df_lr_local_compute, df_lr_init, df_lr_init,
   27882 	df_lr_confluence_0, df_lr_free, df_lr_top_dump, df_lr_bottom_dump,
   27883 	df_lr_verify_solution_start, df_lr_verify_solution_end,
   27884 	df_lr_verify_transfer_functions, df_lr_verify_transfer_functions,
   27885 	df_live_free_bb_info, df_live_alloc, df_live_reset,
   27886 	df_live_bb_local_compute, df_live_init, df_live_transfer_function,
   27887 	df_live_finalize, df_live_free, df_live_top_dump, df_live_bottom_dump,
   27888 	df_live_verify_solution_start, df_live_verify_solution_end,
   27889 	df_live_verify_transfer_functions, df_chain_create_bb,
   27890 	df_byte_lr_free_bb_info, df_byte_lr_alloc, df_byte_lr_reset,
   27891 	df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
   27892 	df_byte_lr_bb_local_compute, df_byte_lr_bb_local_compute,
   27893 	df_byte_lr_bb_local_compute, df_byte_lr_local_compute, df_byte_lr_init,
   27894 	df_byte_lr_confluence_0, df_byte_lr_confluence_n,
   27895 	df_byte_lr_transfer_function, df_byte_lr_top_dump,
   27896 	df_byte_lr_bottom_dump, df_create_unused_note,
   27897 	df_note_bb_compute, df_md_free_bb_info, df_md_alloc,
   27898 	df_md_bb_local_compute_process_def, df_md_local_compute, df_md_reset,
   27899 	df_md_transfer_function, df_md_init, df_md_confluence_0,
   27900 	df_md_confluence_n,
   27901 	df_md_top_dump, df_md_bottom_dump): Update.
   27902 	(struct df_lr_problem_data): Embedd bitmap headers.
   27903 
   27904 2010-06-04  Jan Hubicka  <jh (a] suse.cz>
   27905 
   27906 	* dce.c (dce_process_block): Do not re-scan already marked
   27907 	instructions.
   27908 
   27909 2010-06-04  Bernd Schmidt  <bernds (a] codesourcery.com>
   27910 
   27911 	PR rtl-optimization/39871
   27912 	PR rtl-optimization/40615
   27913 	PR rtl-optimization/42500
   27914 	PR rtl-optimization/42502
   27915 	* ira.c (init_reg_equiv_memory_loc: New function.
   27916 	(ira): Call it twice.
   27917 	* reload.h (calculate_elim_costs_all_insns): Declare.
   27918 	* ira-costs.c: Include "reload.h".
   27919 	(regno_equiv_gains): New static variable.
   27920 	(init_costs): Allocate it.
   27921 	(finish_costs): Free it.
   27922 	(ira_costs): Call calculate_elim_costs_all_insns.
   27923 	(find_costs_and_classes): Take estimated elimination costs
   27924 	into account.
   27925 	(ira_adjust_equiv_reg_cost): New function.
   27926 	* ira.h (ira_adjust_equiv_reg_cost): Declare it.
   27927 	* reload1.c (init_eliminable_invariants, free_reg_equiv,
   27928 	elimination_costs_in_insn, note_reg_elim_costly): New static functions.
   27929 	(elim_bb): New static variable.
   27930 	(reload): Move code out of here into init_eliminable_invariants and
   27931 	free_reg_equiv.  Call them.
   27932 	(calculate_elim_costs_all_insns): New function.
   27933 	(eliminate_regs_1): Declare.  Add extra arg FOR_COSTS;
   27934 	all callers changed.  If FOR_COSTS is true, don't call alter_reg,
   27935 	but call note_reg_elim_costly if we turned a valid memory address
   27936 	into an invalid one.
   27937 	* Makefile.in (ira-costs.o): Depend on reload.h.
   27938 
   27939 2010-06-04  Julian Brown  <julian (a] codesourcery.com>
   27940 
   27941 	* config/arm/thumb2.md (*thumb2_movdf_soft_insn): Fix alternatives
   27942 	for pool ranges.
   27943 
   27944 2010-06-04  Richard Guenther  <rguenther (a] suse.de>
   27945 
   27946 	PR lto/41584
   27947 	* cgraph.h (struct varpool_node): Add lto_file_data field.
   27948 	* lto-cgraph.c (input_varpool_node): Initialize it.
   27949 
   27950 2010-06-04  Uros Bizjak  <ubizjak (a] gmail.com>
   27951 
   27952 	* config/i386/predicates.md (pic_symbolic_operand): Remove predicate.
   27953 	* config/i386/i386.md (*add<mode>_1): Do not use pic_symbolic_operand
   27954 	predicate in "type" attribute calculation.
   27955 	(*addsi_1_zext): Ditto.
   27956 	(*add<mode>_2): Do not use pic_symbolic_operand in insn predicate.
   27957 	(*addsi_2_zext): Ditto.
   27958 	(*add<mode>_3): Ditto.
   27959 	(*addsi_3_zext): Ditto.
   27960 	(*add<mode>_5): Ditto.
   27961 
   27962 2010-06-03  Jan Hubicka  <jh (a] suse.cz>
   27963 
   27964 	* tree-into-ssa.c (mark_block_for_update): Avoid redundant call
   27965 	of bitmap_bit_p.
   27966 	* cfganal.c (compute_dominance_frontiers_1): Likewise.
   27967 
   27968 2010-06-03  Jan Hubicka  <jh (a] suse.cz>
   27969 
   27970 	* df-problems.c (df_create_unused_note, df_note_bb_compute):
   27971 	micro-optimize the checks when to add new note.
   27972 
   27973 2010-06-03  Nathan Froyd  <froydnj (a] codesourcery.com>
   27974 
   27975 	* final.c (output_asm_insn): Call
   27976 	targetm.asm_out.print_operand_punct_valid_p.  Update comments.
   27977 	(output_operand): Call targetm.asm_out.print_operand.  Update comments.
   27978 	(output_address): Call targetm.asm_out.print_operand_address.
   27979 	Update comments.
   27980 	* target.h (struct gcc_target): Add print_operand,
   27981 	print_operand_address, and print_operand_punct_valid_p fields.
   27982 	* targhooks.h (default_print_operand): Declare.
   27983 	(default_print_operand_address): Declare.
   27984 	(default_print_operand_punct_valid_p): Declare.
   27985 	* targhooks.c (default_print_operand): Define.
   27986 	(default_print_operand_address): Define.
   27987 	(default_print_operand_punct_valid_p): Define.
   27988 	* target-def.h (TARGET_PRINT_OPERAND): Define if not defined.
   27989 	(TARGET_PRINT_OPERAND_ADDRESS): Likewise.
   27990 	(TARGET_PRINT_OPERAND_PUNCT_VALID_P): Likewise.
   27991 	(TARGET_ASM_OUT): Add TARGET_PRINT_OPERAND,
   27992 	TARGET_PRINT_OPERAND_ADDRESS, and TARGET_PRINT_OPERAND_PUNCT_VALID_P.
   27993 	* vmsdbgout.c (addr_const_to_string): Update comment.
   27994 	* config/i386/i386.c (print_operand): Rename to...
   27995 	(ix86_print_operand): ...this.  Make static.
   27996 	(print_operand_address): Rename to...
   27997 	(ix86_print_operand_address): ...this.  Make static.  Call
   27998 	ix86_print_operand instead of PRINT_OPERAND.
   27999 	(ix86_print_operand_punct_valid_p): New function.
   28000 	(TARGET_PRINT_OPERAND): Define.
   28001 	(TARGET_PRINT_OPERAND_ADDRESS): Define.
   28002 	(TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
   28003 	* config/i386/i386.h (HI_REGISTER_NAMES): Update comment.
   28004 	(PRINT_OPERAND_PUNCT_VALID_P): Delete.
   28005 	(PRINT_OPERAND): Delete.
   28006 	(PRINT_OPERAND_ADDRESS): Delete.
   28007 	* config/i386/i386-protos.h (print_operand): Delete prototype.
   28008 	(print_operand_address): Delete prototype.
   28009 
   28010 2010-06-03  Richard Guenther  <rguenther (a] suse.de>
   28011 
   28012 	PR tree-optimization/44403
   28013 	* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
   28014 	Preserve pointer qualifiers.
   28015 	(vect_create_data_ref_ptr): Likewise.
   28016 
   28017 2010-06-03  H.J. Lu  <hongjiu.lu (a] intel.com>
   28018 
   28019 	PR c++/44294
   28020 	* defaults.h (MAX_FIXED_MODE_SIZE): New.
   28021 
   28022 	* stor-layout.c (MAX_FIXED_MODE_SIZE): Removed.
   28023 
   28024 2010-06-03  Jakub Jelinek  <jakub (a] redhat.com>
   28025 
   28026 	PR debug/44375
   28027 	* tree-cfg.c (gimple_can_merge_blocks_p): For -O0
   28028 	return false if merging the bbs would lead to goto_locus
   28029 	location being lost from the IL.
   28030 
   28031 2010-06-03  Jan Hubicka  <jh (a] suse.cz>
   28032 	    Jakub Jelinek  <jakub (a] redhat.com>
   28033 
   28034 	* var-tracking.c (dataflow_set_equiv_regs): Shortcut the loop if
   28035 	set->regs[i] is NULL or has just one entry.
   28036 
   28037 2010-06-03  Jan Hubicka  <jh (a] suse.cz>
   28038 
   28039 	* lto-cgraph.c (lto_varpool_encoder_size): Remove.
   28040 	* lto-streamer.h (lto_varpool_encoder_size): New inline function.
   28041 
   28042 2010-06-03  Paul Brook  <paul (a] codesourcery.com>
   28043 
   28044 	* config/arm/arm.c (FL_TUNE): Define.
   28045 	(arm_default_cpu, arm_cpu_select): Remove.
   28046 	(all_cores): Populate core field.
   28047 	(arm_selected_arch, arm_selected_cpu, arm_selected_tune): New.
   28048 	(arm_find_cpu): New function.
   28049 	(arm_handle_option): Lookup cpu/architecture names.
   28050 	(arm_override_options): Cleanup mcpu/march/mtune handling.
   28051 	(arm_file_start): Ditto.
   28052 
   28053 2010-06-03  Alan Modra  <amodra (a] gmail.com>
   28054 
   28055 	PR target/44169
   28056 	* config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Add label operand.
   28057 	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Pass label
   28058 	rtx to gen_load_toc_v4_PIC_1b.  Tidy.
   28059 	(rs6000_emit_load_toc_table): Likewise.
   28060 
   28061 2010-06-02  Jan Hubicka  <jh (a] suse.cz>
   28062 
   28063 	* passes.c (init_optimization_passes): Put ipa reference
   28064 	after ipa pure-const.
   28065 
   28066 2010-06-02  Jan Hubicka  <jh (a] suse.cz>
   28067 
   28068 	* ipa-reference.c (ipa_reference_local_vars_info_d): Remove
   28069 	calls_read_all and calls_write_all.
   28070 	(get_reference_optimization_summary): Fix formatting.
   28071 	(is_proper_for_analysis): Check that decl is not readonly.
   28072 	(propagate_bits): Check CONST/PURE/noreturn flags.
   28073 	(ipa_init): Move all_module_statics to optimization_summary_obstack.
   28074 	(analyze_function): Ignore indirect edges.
   28075 	(copy_global_bitmap): For all module statics, do nothing.
   28076 	(generate_summary): Do not print calls_read_all/calls_write_all.
   28077 	(read_write_all_from_decl): Take node as argument; check
   28078 	cgraph_node_cannot_return.
   28079 	(propagate): Reorganize read_all/write_all computation;
   28080 	check indirect edges; check ecf flags; use all_module_statics
   28081 	in the results; do not free all_module_statics.
   28082 	(stream_out_bitmap): Handle all_module_statics.
   28083 	(ipa_reference_write_optimization_summary): Likewise; use
   28084 	varpool/cgraph encoders to get boundaries.
   28085 	(ipa_reference_read_optimization_summary): Read in all_module_statics;
   28086 	use it when possible.
   28087 
   28088 2010-06-02  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   28089 
   28090 	PR target/44218
   28091 	* doc/invoke.texi (RS/6000 and PowerPC Options): Delete obsolete
   28092 	-mswdiv option.  Add -mrecip, -mrecip=<xxx>, -mrecip-precision options.
   28093 
   28094 	* doc/extend.texi (powerpc builtins): Document vec_recip,
   28095 	vec_rsqrt, vec_rsqrte altivec/vsx builtins.
   28096 
   28097 	* config/rs6000/rs60000-protos.h (rs6000_emit_swdiv): New function.
   28098 	(rs6000_emit_swrsqrt): Ditto.
   28099 	(rs6000_emit_swdivsf): Delete.
   28100 	(rs6000_emit_swdivdf): Ditto.
   28101 	(rs6000_emit_swrsqrtsf): Ditto.
   28102 
   28103 	* config/rs6000/rs6000.c (rs6000_recip_bits): New global to
   28104 	describe the reciprocal estimate support for each type.
   28105 	(recip_options): Map -mrecip=<opt> into option bits.
   28106 	(gen_2arg_fn_t): New typedef for binary rtx gen function.
   28107 	(rs6000_debug_reg_global): If -mdebug=reg, print the state of the
   28108 	reciprocal estimate instructions.
   28109 	(rs6000_init_hard_regno_mode_ok): Key ws constraint off of the
   28110 	debug -mvsx-scalar-memory switch instead of -mvsx-scalar-double.
   28111 	Set up rs6000_recip_bits based on the -mrecip* options.  Print the
   28112 	cost information if -mdebug=cost or -mdebug=reg.
   28113 	(rs6000_override_options): Set -mrecip-precision for power6, and
   28114 	power7 machines.  If -mvsx or -mdfp, enable various options that
   28115 	came in previous instruction set ISAs, unless the option was
   28116 	explicitly disabled by the command line option.  Parse
   28117 	-mrecip=<opt> options.
   28118 	(rs6000_builtin_vectorized_function): Add support for vectorizing
   28119 	the reciprocal estimate builtins and expansions.
   28120 	(rs6000_handle_option): Add -mrecip, -mrecip=<opt> support.
   28121 	(bdesc_2arg): Add reciprocal estimate builtins.
   28122 	(bdesc_1arg): Add reciprocal square root estimate builtins.
   28123 	(rs6000_expand_builtin): Rewrite to use a switch statement,
   28124 	instead of multiple if/then/elses.  Add reciprocal estimate builtins.
   28125 	(rs6000_init_builtins): Create declarations for reciprocal
   28126 	estimate builtins.
   28127 	(rs6000_preferred_reload_class): Simplify VSX preferences, if scalar
   28128 	sized, prefer traditional floating point registers, if integer
   28129 	vector types, prefer altivec registers.  Don't actually look at
   28130 	the memory address any more.
   28131 	(rs6000_builtin_reciprocal): Add new builtin reciprocal estimate
   28132 	builtins.
   28133 	(rs6000_load_constant_and_splat): New helper function to load up
   28134 	the constant for reciprocal estimate instructions.
   28135 	(rs6000_emit_madd): New helper function for generating
   28136 	multiply/add type instructions, based on the current switches.
   28137 	(rs6000_emit_msub): Ditto.
   28138 	(rs6000_emit_mnsub): Ditto.
   28139 	(rs6000_emit_swdiv_high_precision): Replace rs6000_emit_swdivsf to
   28140 	replace a divide with a reciprocal estimate and fixup, adding
   28141 	support for machines with high precision and vectors.
   28142 	(rs6000_emit_swdiv_low_precision): Rewrite rs6000_emit_swdivdf for
   28143 	low precision machines.
   28144 	(rs6000_emit_swdiv): New common function to be called to replace a
   28145 	division with reciprocal estimate and fixup.
   28146 	(rs6000_emit_swrsqrt): Replace rs6000_emit_swrsqrtsf.  Add support
   28147 	for double and vector types.  Add support for high precision machines.
   28148 
   28149 	* config/rs6000/rs6000.h (TARGET_FRES): New macro to say whether
   28150 	the reciprocal estimate instructions can be generated.
   28151 	(TARGET_FRE): Ditto.
   28152 	(TARGET_FRSQRTES): Ditto.
   28153 	(TARGET_FRSQRTE): Ditto.
   28154 	(RS6000_RECIP_*): New macros for reciprocal estimate support.
   28155 
   28156 	* config/rs6000/vector.md (rsqrte<mode>2): New insn for reciprocal
   28157 	square root estimate on vectors.
   28158 	(re<mode>2): New insn for reciprocal division estimate on vectors.
   28159 
   28160 	* config/rs6000/rs6000-buitlins.def (ALTIVEC_BUILTIN_VRSQRTFP):
   28161 	New builtin.
   28162 	(ALTIVEC_BUILTIN_VRECIPFP): Ditto.
   28163 	(ALTIVEC_BUITLIN_VEC_RE): Ditto.
   28164 	(ALTIVEC_BUILTIN_VEC_RSQRT): Ditto.
   28165 	(VSX_BUILTIN_RSQRT_V4SF): Ditto.
   28166 	(VSX_BUITLIN_RSQRT_V2DF): Ditto.
   28167 	(RS6000_BUILTIN_RSQRT): Ditto.
   28168 	(ALTIVEC_BUILTIN_VEC_RSQRTE): Denote that the builtin is a
   28169 	floating point builtin.
   28170 
   28171 	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
   28172 	macros __RECIP__, __RECIPF__, __RSQRTE__, __RSQRTEF__,
   28173 	__RECIP_PRECISION__ based on the command line switches.
   28174 	(altivec_overloaded_builtins): Add reciprocal estimate builtins.
   28175 
   28176 	* config/rs6000/rs6000.opt (-mrecip): Document add support for
   28177 	replacing division instructions with reciprocal estimate and fixup.
   28178 	(-mrecip=<opt>): New option.
   28179 	(-mrecip-precision): Ditto.
   28180 
   28181 	* config/rs6000/vsx.md (UNSPEC_VSX_RSQRTE): Delete.
   28182 	(vsx_rsqrte<mode>2): Use UNSPEC_RSQRT not UNSPEC_VSX_RSQRTE.
   28183 	(vsx_copysignsf3): If -mvsx, use double precision cpsign on single
   28184 	precision scalar.
   28185 
   28186 	* config/rs6000/altivec.md (UNSPEC_RSQRTEFP): Delete.
   28187 	(UNSPEC_VREFP): Ditto.
   28188 	(altivec_vnmsubfp*): Make altivec nmsub mirror the scalar and VSX
   28189 	conterparts with regard to support of -mno-fused-madd and -ffast-math.
   28190 	(altivec_vrsqrtefp): Use common UNSPEC to allow scalar/vector
   28191 	reciprocal estimate instructions to be generated.
   28192 	(altivec_vrefp): Ditto.
   28193 
   28194 	* config/rs6000/rs6000.md (RECIPF): New iterator for reciprocal
   28195 	estimate support.
   28196 	(rreg): New mode attribute for reciprocal estimate support.
   28197 	(recip<mode>3): New insn for division using reciprocal estimate
   28198 	and fixup builtins.
   28199 	(divide define_split): New define_split to convert floating point
   28200 	division to use reciprocal estimate if the user used the
   28201 	appropriate options and the split is run when we can add new
   28202 	pseudo registers for the fixup.
   28203 	(rsqrt<mode>2): New insn for reciprocal square root support.
   28204 	(recipsf3): Move into recip<mode>3.
   28205 	(recipdf3): Ditto.
   28206 	(fres): Use TARGET_FRES.
   28207 	(rsqrtsf2): Move into rsqrt<mode>2.
   28208 	(rsqrtsf_internal1): Use TARGET_FRSQRTSES.
   28209 	(copysignsf3): Add support for VSX.
   28210 	(fred): Use TARGET_FRE.
   28211 	(fred_fpr): Ditto.
   28212 	(rsqrtdf_internal1): New function for frsqrte instruciton.
   28213 
   28214 	* config/rs6000/altivec.h (vec_recipdiv): Define new vector builtin.
   28215 	(vec_rsqrt): Ditto.
   28216 
   28217 2010-06-03  Richard Guenther  <rguenther (a] suse.de>
   28218 
   28219 	PR middle-end/44291
   28220 	* optabs.c (init_one_libfunc): Use IDENTIFIER_HASH_VALUE.
   28221 	(set_user_assembler_libfunc): Likewise.
   28222 
   28223 2010-06-02  Steven Bosscher  <steven (a] gcc.gnu.org>
   28224 
   28225 	* mkconfig.sh: Include insn-flags.h and insn-constants.h before
   28226 	defaults.h.
   28227 	* except.h: Move MUST_USE_SJLJ_EXCEPTIONS and USING_SJLJ_EXCEPTIONS
   28228 	to defaults.h
   28229 	* expr.h (BRANCH_COST, MOVE_RATIO, CLEAR_RATIO, SET_RATIO,
   28230 	DEFAULT_FUNCTION_ARG_PADDING, FUNCTION_ARG_PADDING,
   28231 	FUNCTION_ARG_BOUNDARY, STACK_SAVEAREA_MODE, STACK_SIZE_MODE,
   28232 	STACK_CHECK_BUILTIN, STACK_CHECK_STATIC_BUILTIN,
   28233 	STACK_CHECK_PROBE_INTERVAL_EXP, STACK_CHECK_MOVING_SP,
   28234 	STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT,
   28235 	STACK_CHECK_MAX_FRAME_SIZE, STACK_CHECK_FIXED_FRAME_SIZE,
   28236 	STACK_CHECK_MAX_VAR_SIZE): Move target macro defaults to defaults.h.
   28237 	* defaults.h: Updated for above mentioned changes.
   28238 
   28239 2010-06-02  Kai Tietz  <kai.tietz (a] onevision.com>
   28240 
   28241 	* c-common.c: Remove header include of tm_p.h.
   28242 	* Makefile.in (c-common.o): Remove TM_P_H dependency.
   28243 
   28244 2010-06-02  Jakub Jelinek  <jakub (a] redhat.com>
   28245 
   28246 	* tree.h (struct tree_decl_map): New type.
   28247 	(tree_decl_map_eq, tree_decl_map_marked_p): Define.
   28248 	(tree_decl_map_hash): New prototype.
   28249 	(debug_expr_for_decl, value_expr_for_decl): Change into
   28250 	tree_decl_map hashtab from tree_map.
   28251 	(init_ttree): Adjust initialization.
   28252 	(tree_decl_map_hash): New function.
   28253 	(decl_debug_expr_lookup, decl_debug_expr_insert,
   28254 	decl_value_expr_lookup, decl_value_expr_insert): Adjust.
   28255 
   28256 2010-06-02  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   28257 
   28258 	* configure.ac (gcc_cv_ld_sol2_emulation): Test for GNU ld *_sol2
   28259 	linker emulations.
   28260 	* configure: Regenerate.
   28261 	* config.in: Regenerate.
   28262 
   28263 	* config/i386/sol2-10.h [TARGET_GNU_LD] (I386_EMULATION): Define.
   28264 	(X86_64_EMULATION): Define.
   28265 	(TARGET_LD_EMULATION): Use them.
   28266 
   28267 	* config/sparc/sol2-gld-bi.h (SPARC32_EMULATION): Define.
   28268 	(SPARC64_EMULATION): Define.
   28269 	(LINK_ARCH_SPEC): Use them.
   28270 
   28271 2010-06-02  Sebastian Pop  <sebastian.pop (a] amd.com>
   28272 
   28273 	* graphite-clast-to-gimple.c (gcc_type_for_interval): Use
   28274 	smallest_mode_for_size for computing the precision types of new
   28275 	graphite IVs.  Do not call lang_hooks.types.type_for_size.
   28276 
   28277 2010-06-02  Sebastian Pop  <sebastian.pop (a] amd.com>
   28278 
   28279 	* tree-if-conv.c (predicate_bbs): Do not reset the GIMPLE_DEBUG
   28280 	information.
   28281 	(remove_conditions_and_labels): Reset the GIMPLE_DEBUG information.
   28282 
   28283 2010-06-02  Sebastian Pop  <sebastian.pop (a] amd.com>
   28284 
   28285 	PR middle-end/44363
   28286 	* tree-if-conv.c (predicate_bbs): Do not call gcc_unreachable,
   28287 	return false instead.
   28288 
   28289 2010-06-02  Jan Hubicka  <jh (a] suse.cz>
   28290 
   28291 	PR middle-end/44295
   28292 	* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Do not
   28293 	create new cgraph node to check callee.
   28294 
   28295 2010-06-02  Richard Guenther  <rguenther (a] suse.de>
   28296 
   28297 	* lto-streamer-in.c (input_gimple_stmt): Fix typo.
   28298 
   28299 2010-06-02  Richard Guenther  <rguenther (a] suse.de>
   28300 
   28301 	* lto-wrapper.c (lto_wrapper_exit): Rename to ...
   28302 	(lto_wrapper_cleanup): ... this.  Do not exit.
   28303 	(fatal): Adjust.  Exit here.
   28304 	(fatal_perror): Likewise.
   28305 	(fatal_signal): New function.
   28306 	(main): Set up signal handlers to cleanup temporary files.
   28307 	* Makefile.in (lto-wrapper.o): Adjust dependencies.
   28308 
   28309 2010-06-02  Richard Guenther  <rguenther (a] suse.de>
   28310 
   28311 	PR tree-optimization/44377
   28312 	* tree-ssa-structalias.c (find_func_aliases): Fix typo.
   28313 
   28314 2010-06-02  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   28315 
   28316 	* config/s390/2097.md (z10_fhex): Remove insn reservation.
   28317 	* config/s390/s390.md (UNSPEC_COPYSIGN): Remove unused constant.
   28318 	(*mov<mode>_64 TD_TF, *mov<mode>_31 TD_TF, *mov<mode>_64dfp DD_DF,
   28319 	*mov<mode>_64 DD_DF, *mov<mode>_31, mov<mode>): Remove load zero
   28320 	instruction.
   28321 	* config/s390/s390.c: Don't accept fp zeros as valid constants anymore.
   28322 
   28323 2010-06-02  Jan Hubicka  <jh (a] suse.cz>
   28324 
   28325 	* bitmap.c (bitmap_descriptor): Add search_iter.
   28326 	(bitmap_find_bit): Increment it.
   28327 	(print_statistics): Print it.
   28328 
   28329 2010-06-02  Nathan Froyd  <froydnj (a] codesourcery.com>
   28330 
   28331 	* tree-vect-slp.c (vect_create_mask_and_perm): Use gimple_build_call
   28332 	instead of gimple_build_call_vec.  Delete unnecessary local variable.
   28333 
   28334 2010-06-02  Steven Bosscher  <steven (a] gcc.gnu.org>
   28335 
   28336 	* gimplify.c (gimplify_body): Revert "Do not initialize RTL profiling"
   28337 	change from yesterday.
   28338 
   28339 2010-06-02  Steven Bosscher  <steven (a] gcc.gnu.org>
   28340 
   28341 	* c-ada-spec.c: Clean up redundant includes.
   28342 
   28343 2010-06-01  Steven Bosscher  <steven (a] gcc.gnu.org>
   28344 
   28345 	* gimplify.c: Do not include except.h and optabs.h.
   28346 	(gimplify_body): Do not initialize RTL profiling.
   28347 	* gimple-low.c: Do not include rtl.h, diagnostic.h, langhooks.h,
   28348 	langhooks-def.h, timevar.h, except.h, hashtab.h, and expr.h.
   28349 	* gimple-fold.c: Do not include rtl.h, tm_p.h, ggc.h, basic-block.h,
   28350 	output.h, expr.h, diagnostic.h, timevar.h, value-prof.h, and
   28351 	langhooks.h.
   28352 
   28353 	* tree-pretty-print.h: Include pretty-print.h.
   28354 	* gimple-pretty-print.h: Include pretty-print.h.
   28355 
   28356 	* tree-pretty-print.c: Do not include diagnostic.h.
   28357 	* tree-vrp.c: Likewise.
   28358 	* tree-tailcall.c: Likewise
   28359 	* tree-scalar-evolution.c: Likewise
   28360 	* tree-ssa-dse.c: Likewise
   28361 	* tree-chrec.c: Likewise
   28362 	* tree-ssa-sccvn.c: Likewise
   28363 	* tree-ssa-copyrename.c: Likewise
   28364 	* tree-nomudflap.c: Likewise
   28365 	* tree-call-cdce.c: Likewise
   28366 	* tree-stdarg.c: Likewise
   28367 	* tree-ssa-math-opts.c: Likewise
   28368 	* tree-nrv.c: Likewise
   28369 	* tree-ssa-sink.c: Likewise
   28370 	* tree-browser.c: Likewise
   28371 	* tree-ssa-loop-ivcanon.c: Likewise
   28372 	* tree-ssa-loop.c: Likewise
   28373 	* tree-parloops.c: Likewise
   28374 	* tree-ssa-address.c: Likewise
   28375 	* tree-ssa-ifcombine.c: Likewise
   28376 	* tree-if-conv.c: Likewise
   28377 	* tree-data-ref.c: Likewise
   28378 	* tree-affine.c: Likewise
   28379 	* tree-ssa-phiopt.c: Likewise
   28380 	* tree-ssa-coalesce.c: Likewise
   28381 	* tree-ssa-pre.c: Likewise
   28382 	* tree-ssa-live.c: Likewise
   28383 	* tree-predcom.c: Likewise
   28384 	* tree-ssa-forwprop.c: Likewise
   28385 	* tree-ssa-dce.c: Likewise
   28386 	* tree-ssa-ter.c: Likewise
   28387 	* tree-ssa-loop-prefetch.c: Likewise
   28388 	* tree-optimize.c: Likewise
   28389 	* tree-ssa-phiprop.c: Likewise
   28390 	* tree-object-size.c: Likewise
   28391 	* tree-outof-ssa.c: Likewise
   28392 	* tree-ssa-structalias.c: Likewise
   28393 	* tree-switch-conversion.c: Likewise
   28394 	* tree-ssa-reassoc.c: Likewise
   28395 	* tree-ssa-operands.c: Likewise
   28396 	* tree-vectorizer.c: Likewise
   28397 	* tree-vect-data-refs.c: Likewise
   28398 	* tree-vect-generic.c: Likewise
   28399 	* tree-vect-stmts.c: Likewise
   28400 	* tree-vect-patterns.c: Likewise
   28401 	* tree-vect-slp.c: Likewise
   28402 	* tree-vect-loop.c: Likewise
   28403 	* tree-ssa-loop-ivopts.c: Likewise
   28404 	* tree-ssa-loop-im.c: Likewise
   28405 	* tree-ssa-loop-niter.c: Likewise
   28406 	* tree-ssa-loop-unswitch.c: Likewise
   28407 	* tree-ssa-loop-manip.c: Likewise
   28408 	* tree-ssa-loop-ch.c: Likewise
   28409 	* tree-dump.c: Likewise
   28410 	* tree-complex.c: Likewise
   28411 
   28412 	* tree-into-ssa.c: Do not include diagnostic.h and expr.h.
   28413 	* tree-ssa-uninit.c: Likewise
   28414 	* tree-ssa-threadupdate.c: Likewise
   28415 	* tree-ssa-uncprop.c: Likewise
   28416 	* tree-ssa-ccp.c: Likewise
   28417 	* tree-ssa-dom.c: Likewise
   28418 	* tree-ssa-propagate.c: Likewise
   28419 	* tree-ssa-alias.c: Likewise
   28420 	* tree-dfa.c: Likewise
   28421 	* tree-cfgcleanup.c: Likewise
   28422 	* tree-sra.c: Likewise
   28423 	* tree-ssa-copy.c: Likewise
   28424 	* tree-ssa.c: Likewise
   28425 	* tree-profile.c: Likewise
   28426 	* tree-cfg.c: Likewise
   28427 	* tree-ssa-threadedge.c: Likewise
   28428 	* tree-vect-loop-manip.c: Likewise
   28429 
   28430 	* tree-inline.c: Do not include diagnostic.h and expr.h.
   28431 	Include rtl.h.
   28432 	(copy_decl_for_dup_finish): Do not use NULL_RTX.
   28433 
   28434 	* tree-loop-linear.c: Do not include diagnostic.h, expr.h and optabs.h.
   28435 	* tree-loop-distribution.c: Likewise.
   28436 
   28437 2010-06-01  Jan Hubicka  <jh (a] suse.cz>
   28438 
   28439 	* ipa-pure-const.c (local_pure_const): Do NORETURN discovery.
   28440 
   28441 2010-06-01  Jan Hubicka  <jh (a] suse.cz>
   28442 
   28443 	* tree-cfgcleanup.c (fixup_noreturn_call): Break out from ...;
   28444 	remove return value.
   28445 	(split_bbs_on_noreturn_calls) .... here.
   28446 	* tree-optimize.c (execute_fixup_cfg): Fixup noreturn calls too.
   28447 	* tree-flow.h (fixup_noreturn_call): New.
   28448 
   28449 2010-06-01  Jan Hubicka  <jh (a] suse.cz>
   28450 
   28451 	* emit-rtl.c (remove_insn): Fix thinko in prevoius patch.
   28452 
   28453 2010-06-01  Nathan Froyd  <froydnj (a] codesourcery.com>
   28454 
   28455 	* tree.h (build_nt_call_list): Delete.
   28456 	* tree.c (build_nt_call_list): Delete.
   28457 
   28458 2010-06-01  Jan Hubicka  <jh (a] suse.cz>
   28459 
   28460 	* fwprop.c: Make emit-rtl.h include last.
   28461 	* rtlanal.c: Include emit-rtl.h.
   28462 	* genautomata.c: Output emit-rtl include into insn-automata.c
   28463 	* df-scan.c: Include emit-rtl.h.
   28464 	* haifa-sched.c: Indlude emit-rtl.h.
   28465 	* mode-switching.c: Indlude emit-rtl.h.
   28466 	* graph.c: Indlude emit-rtl.h.
   28467 	* sel-sched.c: Include emit-rtl.h.
   28468 	* sel-sched-ir.c: Include emit-rtl.h.
   28469 	* ira-build.c: Include emit-rtl.h.
   28470 	* emit-rtl.c (first_insn, last_insn): Remove defines.
   28471 	(get_insns, set_first_insn, get_last_insn, set_last_insn, get_max_uid):
   28472 	Move to emit-rtl.h.
   28473 	(set_new_first_and_last_insn, get_last_insn_anywhere,
   28474 	get_first_nonnote_insn, get_last_nonnote_insn, try_split,
   28475 	make_call_insn_raw, add_insn_after, add_insn_before, remove_insn,
   28476 	delete_insns_since, reorder_insns_nobb, emit_insn_after_1,
   28477 	emit_debug_insn_before, emit_insn, start_sequence, push_to_sequence,
   28478 	push_to_sequence2, push_topmost_sequence, end_sequence, copy_insn):
   28479 	Use accessor functions.
   28480 	* emit-rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
   28481 	 gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
   28482 	set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
   28483 	mem_expr_equal_p): Move here from rtl.h.
   28484 	(get_insns, set_first-insn, get_last_insn, set_last_insn, get_max_uid):
   28485 	Move here from emit-rtl.c; make inline.
   28486 	* cfglayout.h: Include emit-rtl.h.
   28487 	* rtl.h (gen_blockage, gen_rtvec, copy_insn_1, copy_insn,
   28488 	 gen_int_mode, emit_copy_of_insn_after, set_reg_attrs_from_value,
   28489 	set_reg_attrs_for_parm, set_reg_attrs_for_decl_rtl, adjust_reg_mode,
   28490 	mem_expr_equal_p, get_insns, set_first-insn,
   28491 	get_last_insn, set_last_insn, get_max_uid): Move to emit-rtl.h.
   28492 	* reg-stack.c: Include emit-rtl.h.
   28493 	* dce.c: Likewise.
   28494 
   28495 2010-06-01  Jan Hubicka  <jh (a] suse.cz>
   28496 
   28497 	* cgraph.h (tree_function_versioning): Update prototype.
   28498 	(cgraph_function_versioning): Update prototype.
   28499 	* cgraphunit.c (cgraph_copy_node_for_versioning): Accept bbs_to_copy
   28500 	bitmap.
   28501 	(cgraph_function_versioning): Accept new_entry_block and bbs_to_copy.
   28502 	(cgraph_materialize_clone, save_inline_function_body): Update use of
   28503 	tree_function_versioning.
   28504 	* tree-inline.c (copy_bb): Look for previous copied block to link
   28505 	after; fix debug output.
   28506 	(copy_cfg_body): Accept new_entry_block and bbs_to_copy.
   28507 	(copy_body): Likewise.
   28508 	(expand_call_inline): Update use of copy_body.
   28509 	(tree_function_versioning): Update use of copy body; accept
   28510 	blocks_to_copy and new_entry.
   28511 
   28512 2010-06-01  Jan Hubicka  <jh (a] suse.cz>
   28513 
   28514 	* gegenrtl.c: Remove unnecesary prototypes.
   28515 	(gendecl): Remove.
   28516 	(gendef): Produce static inline.
   28517 	(gencode): Remove.
   28518 	(main): Do not decode parameters; generate header only.
   28519 	* Makefile.in (genrtl.c): Remove.
   28520 
   28521 2010-06-01  Jan Hubicka  <jh (a] suse.cz>
   28522 
   28523 	* tree-switch-conversion.c (build_one_array): Make it readonly.
   28524 
   28525 2010-06-01  Richard Guenther  <rguenther (a] suse.de>
   28526 
   28527 	* optabs.c (init_optabs): Guard all accesses to reinit.
   28528 	* ipa-pure-const.c (propagate): Fix another typo.
   28529 	* opts.c (common_handle_option): Split assignment to bool.
   28530 	* c-opts.c (c_common_handle_option): Likewise.
   28531 
   28532 2010-06-01  Arnaud Charlet  <charlet (a] adacore.com>
   28533 	    Matthew Gingell  <gingell (a] adacore.com>
   28534 
   28535 	* doc/invoke.texi: Mention -fdump-ada-spec.
   28536 	* tree-dump.c (dump_files): Add ada-spec.
   28537 	(FIRST_AUTO_NUMBERED_DUMP): Bump to 8.
   28538 	* tree-pass.h (tree_dump_index): Add TDI_ada.
   28539 	* gcc.c: Add support for -C without -E and for -fdump-ada-spec.
   28540 	(cpp_unique_options): Do not reject -C or -CC when -E isn't present.
   28541 	(default_compilers) <@c-header>: Allow -fdump-ada-spec on header files.
   28542 	* c-decl.c: Include c-ada-spec.h.
   28543 	(collect_source_ref_cb, collect_all_refs, for_each_global_decl): New
   28544 	functions.
   28545 	(c_write_global_declarations): Add handling of -fdump-ada-spec.
   28546 	* c-lex.c (c_lex_with_flags): Add handling of CPP_COMMENT.
   28547 	* Makefile.in (C_AND_OBJC_OBJS): Add c-ada-spec.o.
   28548 	* c-ada-spec.h, c-ada-spec.c: New files.
   28549 
   28550 2010-06-01  Richard Guenther  <rguenther (a] suse.de>
   28551 
   28552 	PR lto/43853
   28553 	* ipa-pure-const.c (get_function_state): Hand back varying state
   28554 	if we do not have one.
   28555 	(has_function_state): New function.
   28556 	(duplicate_node_data): Adjust.
   28557 	(remove_node_data): Likewise.
   28558 	(pure_const_write_summary): Likewise.
   28559 	(propagate): Likewise.  Fix typo.
   28560 
   28561 2010-06-01  Jan Hubicka  <jh (a] suse.cz>
   28562 
   28563 	* tree-cfg.c (verify_stmt): Do not skip could_throw test.
   28564 	* passes.c (execute_function_todo): Do not make implicit verify_ssa.
   28565 	(execute_all_ipa_transforms): Do not play with the states.
   28566 
   28567 2010-06-01  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   28568 
   28569 	* config/arm/t-linux-androideabi: New.
   28570 	* config.gcc (arm*-*-linux-androideabi): Include multilib config.
   28571 
   28572 2010-06-01  Jan Hubicka  <jh (a] suse.cz>
   28573 
   28574 	* tree-inline.c (estimate_num_insns): For stdarg functions look
   28575 	into call statement to count cost of argument passing.
   28576 
   28577 2010-06-01  Kai Tietz  <kai.tietz (a] onevision.com>
   28578 
   28579 	* config/i386.c (ix86_output_addr_vec_elt): Make LPREFIX
   28580 	argument for fprintf.
   28581 	(ix86_output_addr_diff_elt): Likewise.
   28582 	(x86_function_profiler): Likewise.
   28583 	* config/cygming.h (LOCAL_LABEL_PREFIX): Fix for x64 no-underscore.
   28584 	(LPREFIX): Likewise.
   28585 	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
   28586 
   28587 2010-05-31  Jakub Jelinek  <jakub (a] redhat.com>
   28588 
   28589 	PR target/44338
   28590 	* config/i386/sse.md (fma4i_fmadd<mode>4256, fma4i_fmsub<mode>4256,
   28591 	fma4i_fnmadd<mode>4256, fma4i_fnmsub<mode>4256, fma4i_fmadd<mode>4,
   28592 	fma4i_fmsub<mode>4, fma4i_fnmadd<mode>4, fma4i_fnmsub<mode>4,
   28593 	fma4i_vmfmadd<mode>4, fma4i_vmfmsub<mode>4, fma4i_vmfnmadd<mode>4,
   28594 	fma4i_vmfnmsub<mode>4, fma4i_fmaddsubv8sf4, fma4i_fmaddsubv4df4,
   28595 	fma4i_fmaddsubv4sf4, fma4i_fmaddsubv2df4, fma4i_fmsubaddv8sf4,
   28596 	fma4i_fmsubaddv4df4, fma4i_fmsubaddv4sf4, fma4i_fmsubaddv2df4):
   28597 	Guard only with TARGET_FMA4 instead of TARGET_FMA4 &&
   28598 	TARGET_FUSED_MADD.
   28599 
   28600 2010-05-31  Jan Hubicka  <jh (a] suse.cz>
   28601 
   28602 	* tree.h (tree_range_check_failed): Declare noreturn.
   28603 
   28604 2010-05-31  Jan Hubicka  <jh (a] suse.cz>
   28605 
   28606 	* gimple.c (gimple_call_builtin_p): New function.
   28607 	* gimple.h (gimple_call_builtin_p): Declare.
   28608 	* tree-cfg.c (make_edges): Produce edge from BUILT_IN_RETURN
   28609 	to exit.
   28610 	(execute_warn_function_return): BUILT_IN_RETURN is return.
   28611 	(split_critical_edges): Return edges are not critical.
   28612 	(is_ctrl_altering_stmt): Builtin_in_return is altering.
   28613 	(gimple_verify_flow_info): Handle built_in_return.
   28614 	(execute_warn_function_return): Handle built_in_return.
   28615 	* ipa-pure-const.c (check_call): Ignore builtin_return.
   28616 
   28617 2010-05-31  Jakub Jelinek  <jakub (a] redhat.com>
   28618 
   28619 	PR middle-end/44337
   28620 	* expr.c (expand_assignment): Don't store anything for out-of-bounds
   28621 	array accesses with non-MEM.
   28622 
   28623 	PR tree-optimization/44182
   28624 	* tree-inline.c (copy_edges_for_bb): Don't split bb if a stmt that
   28625 	newly needs to end a bb is followed by debug stmts, instead return
   28626 	true from the function at the end.
   28627 	(maybe_move_debug_stmts_to_successors): New function.
   28628 	(copy_cfg_body): Call it if copy_edges_for_bb returned true.
   28629 
   28630 2010-05-31  Kai Tietz  <kai.tietz (a] onevision.com>
   28631 
   28632 	PR target/44161
   28633 	* config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Handle flag_pic.
   28634 
   28635 2010-05-31  Eric Botcazou  <ebotcazou (a] adacore.com>
   28636 
   28637 	* cgraphunit.c (cgraph_decide_is_function_needed): Really return false
   28638 	for nested functions in non-optimized compilation.
   28639 
   28640 2010-05-31  Richard Guenther  <rguenther (a] suse.de>
   28641 
   28642 	* tree-ssa-structalias.c (find_func_aliases): Handle BUILT_IN_RETURN.
   28643 
   28644 2010-05-30  Jan Hubicka  <jh (a] suse.cz>
   28645 
   28646 	* predict.c (maybe_hot_edge_p): Calls to functions called once is cold.
   28647 
   28648 2010-05-30  Richard Guenther  <rguenther (a] suse.de>
   28649 
   28650 	PR lto/42975
   28651 	* tree-eh.c (execute_cleanup_eh_1): Copy from execute_cleanup_eh.
   28652 	(execute_cleanup_eh): Clear DECL_FUNCTION_PERSONALITY if it is
   28653 	no longer needed.
   28654 
   28655 2010-05-30  Iain Sandoe  <iains (a] gcc.gnu.org>
   28656 
   28657 	* config/darwin.c (output_objc_section_asm_op): Add comment.
   28658 	(name_needs_quotes): Add '_' to list of valid comment chars.
   28659 	(machopic_output_function_base_name): Remove unneeded quotes.
   28660 	(darwin_encode_section_info): Adjust asm whitespace.
   28661 	* config/i386/darwin.h (ASM_OUTPUT_COMMON): Adjust asm tabs.
   28662 	(ASM_OUTPUT_LOCAL): Ditto.
   28663 	* config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Ditto.
   28664 	* config/darwin.h (GLOBAL_ASM_OP): Ditto.
   28665 	* config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Ditto.
   28666 
   28667 2010-05-30  Eric Botcazou  <ebotcazou (a] adacore.com>
   28668 
   28669 	* config/rs6000/rs6000.c (rs6000_output_function_entry): Use
   28670 	RS6000_OUTPUT_BASENAME unconditionally.
   28671 	(rs6000_output_function_epilogue): Likewise.
   28672 
   28673 2010-05-30  Jan Hubicka  <jh (a] suse.cz>
   28674 
   28675 	* toplev.c (wrapup_global_declaration_2): Avoid creation of new varpool
   28676 	nodes.
   28677 
   28678 2010-05-30  Richard Guenther  <rguenther (a] suse.de>
   28679 
   28680 	* tree-cfg.c (verify_gimple_assign_single): Implement
   28681 	verification for COND_EXPR rhs.
   28682 
   28683 2010-05-30  Jan Hubicka  <jh (a] suse.cz>
   28684 
   28685 	* cgraph.h (cgraph_dump_file): Declare.
   28686 	* cgraphunit.c (cgraph_dump_file): Export.
   28687 	* ipa.c (dump_cgraph_node_set, dump_varpool_node_set): Be less verbose.
   28688 
   28689 2010-05-30  Jan Hubicka  <jh (a] suse.cz>
   28690 
   28691 	* dwarf2out.c (reference_to_unused,
   28692 	premark_types_used_by_global_vars_helper): Avoid creation of new
   28693 	varpool nodes.
   28694 
   28695 2010-05-30  Jan Hubicka  <jh (a] suse.cz>
   28696 
   28697 	* cgraph.h (cgraph_node_cannot_return,
   28698 	cgraph_edge_cannot_lead_to_return): New functions.
   28699 	* cgraph.c (cgraph_node_cannot_return,
   28700 	cgraph_edge_cannot_lead_to_return): Use them.
   28701 	* ipa-pure-const.c (pure_const_names): New static var.
   28702 	(check_call): Handle calls not leading to return.
   28703 	(pure_const_read_summary): Dump info read.
   28704 	(propagate): Dump info about propagation process; ignore side effects
   28705 	of functions not leading to exit; fix handling of pure functions.
   28706 
   28707 2010-05-30  Jan Hubicka  <jh (a] suse.cz>
   28708 
   28709 	* config/i386/i386.c (pro_epilogue_adjust_stack): Use EBP
   28710 	for tail call epilogues.
   28711 
   28712 2010-05-30  Jan Hubicka  <jh (a] suse.cz>
   28713 
   28714 	* passes.c (ipa_write_optimization_summaries_1, ipa_write_summaries_2,
   28715 	ipa_read_summaries_1, ipa_read_optimization_summaries_1): Initialize
   28716 	dump files.
   28717 
   28718 2010-05-29  Jan Hubicka  <jh (a] suse.cz>
   28719 
   28720 	* ipa.c (cgraph_remove_unreachable_node): Walk references of correct
   28721 	node; remove references in node we no longer keep in cgrpah but need
   28722 	body of.
   28723 
   28724 2010-05-29  Jan Hubicka  <jh (a] suse.cz>
   28725 
   28726 	* cgraph.c (cgraph_mark_reachable): Relax check for analyzed nodes.
   28727 
   28728 2010-05-29  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   28729 
   28730 	PR target/44165
   28731 	* config/pa/pa32-linux.h (CTOR_LIST_BEGIN): Mark __CTOR_LIST__ as used.
   28732 
   28733 2010-05-29  Jan Hubicka  <jh (a] suse.cz>
   28734 
   28735 	* tree-vrp.c (debug_value_range, debug_all_value_ranges,
   28736 	debug_asserts_for, debug_all_asserts): Annotate with DEBUG_FUNCTION.
   28737 	* tree-into-ssa.c (debug_decl_set, debug_defs_stack, debug_currdefs,
   28738 	debug_tree_ssa, debug_tree_ssa_stats, debug_def_blocks,
   28739 	debug_names_replaced_by, debug_update_ssa): Likewise.
   28740 	* sbitmap.c (debug_sbitmap): Likewise.
   28741 	* genrecog.c (debug_decision, debug_decision_list): Likewise.
   28742 	* tree-pretty-print.c (debug_generic_expr, debug_generic_stmt,
   28743 	debug_tree_chain): Likewise.
   28744 	* tree-loop-distribution.c (debug_rdg_partitions): Likewise.
   28745 	* cgraph.c (debug_cgraph_node, debug_cgraph): Likewise.
   28746 	* optabs.c (debug_optab_libfuncs): Likewise.
   28747 	(verify_loop_closed_ssa): Likewise.
   28748 	* value-prof.c (verify_histograms): Likewise.
   28749 	* reload.c (debug_reload_to_stream, debug_reload): Likewise.
   28750 	* bitmap.c (debug_bitmap_file, debug_bitmap, bitmap_print): Likewise.
   28751 	* cfghooks.c (verify_flow_info): Likewise.
   28752 	* fold-const.c (debug_fold_checksum): Likewise.
   28753 	* omp-low.c (debug_omp_region, debug_all_omp_regions): Likewise.
   28754 	* cfg.c (debug_regset, debug_flow_info, debug_bb, debug_bb_n):
   28755 	Likewise.
   28756 	* omega.c (debug_omega_problem): Likewise.
   28757 	* cgraphunit.c (verify_cgraph_node, verify_cgraph): Likewise.
   28758 	* tree-ssa-ccp.c (debug_lattice_value): Likewise.
   28759 	* dominance.c (verify_dominators, debug_dominance_info,
   28760 	debug_dominance_tree): Likewise.
   28761 	* df-core.c (df_insn_uid_debug, df_insn_debug, df_insn_debug_regno,
   28762 	* df_regno_debug, df_ref_debug,
   28763 	debug_df_insn, debug_df_reg, debug_df_regno, debug_df_ref,
   28764 	debug_df_defno, debug_df_useno, debug_df_chain): Likewise.
   28765 	* tree-ssa-dom.c (debug_dominator_optimization_stats): Likewise.
   28766 	* sel-sched.c (debug_state): Likewise.
   28767 	* tree-ssa-alias.c (debug_alias_info, debug_points_to_info_for):
   28768 	Likewise.
   28769 	* cfganal.c (print_edge_list, verify_edge_list): Likewise.
   28770 	* dwarf2out.c (debug_dwarf_die, debug_dwarf): Likewise.
   28771 	* tree-eh.c (verify_eh_edges, verify_eh_dispatch_edge): Likewise.
   28772 	* gimple-pretty-print.c (debug_gimple_stmt, debug_gimple_seq):
   28773 	Likewise.
   28774 	* c-pretty-print.c (debug_c_tree): Likewise.
   28775 	* sel-sched-dump.c (debug_insn_rtx, debug_vinsn, debug_expr, debug_insn
   28776 	debug_av_set, debug_lv_set, debug_ilist, debug_blist,
   28777 	debug_insn_vector, debug_hard_reg_set, debug_mem_addr_value): Likewise.
   28778 	* ebitmap.c (debug_ebitmap): Likewise.
   28779 	* function.c (debug_find_var_in_block_tree): Likewise.
   28780 	* print-rtl.c (debug_rtx): Likewise.
   28781 	(debug_rtx_count): Likewise.
   28782 	(debug_rtx_list, debug_rtx_range, debug_rtx_find): Likewise.
   28783 	* stor-layout.c (debug_rli): Likewise.
   28784 	* ipa.c (debug_cgraph_node_set, debug_varpool_node_set): Likewise.
   28785 	* tree-data-ref.c (debug_data_references,
   28786 	debug_data_dependence_relations, debug_data_reference,
   28787 	debug_data_dependence_relation, debug_rdg_vertex,
   28788 	debug_rdg_component, debug_rdg): Likewise.
   28789 	* tree-affine.c (debug_aff): Likewise.
   28790 	* tree-dfa.c (debug_referenced_vars, debug_variable, debug_dfa_stats):
   28791 	Likewise.
   28792 	* except.c (debug_eh_tree, verify_eh_tree): Likewise.
   28793 	* emit-rtl.c (verify_rtl_sharing): Likewise.
   28794 	* tree-ssa-pre.c (debug_pre_expr, debug_bitmap_set,
   28795 	debug_value_expressions): Likewise.
   28796 	* tree-ssa-live.c (debug_scope_block, debug_scope_blocks): Likewise.
   28797 	* sese.c (debug_rename_map, debug_ivtype_map): Likewise.
   28798 	* print-tree.c (debug_tree, debug_vec_tree): Likewise.
   28799 	* cfglayout.c (verify_insn_chain): Likewise.
   28800 	* graphite-clast-to-gimple.c (debug_clast_name_indexes,
   28801 	debug_clast_stmt, debug_generated_program): Likewise.
   28802 	* ggc-page.c (debug_print_page_list): Likewise.
   28803 	* tree-ssa-ter.c (debug_ter): Likewise.
   28804 	* graphite-dependences.c (debug_pddr): Likewise.
   28805 	* sched-deps.c (debug_ds): Likewise.
   28806 	* tree-ssa.c (verify_ssa): Likewise.
   28807 	* graphite-poly.c (debug_scattering_function, debug_iteration_domain,
   28808 	debug_scattering_functions, debug_iteration_domains, debug_pdr,
   28809 	debug_pdrs, debug_pbb_domain, debug_pbb, debug_scop_context,
   28810 	debug_scop, debug_cloog, debug_scop_params, debug_lst): Likewise.
   28811 	* tree-inline.c (debug_find_tree): Likewise.
   28812 	* graphite-ppl.c (debug_ppl_linear_expr, debug_ppl_polyhedron_matrix,
   28813 	debug_ppl_powerset_matrix): Likewise.
   28814 	* var-tracking.c (debug_dv): Likewise.
   28815 	* system.h (DEBUG_FUNCTION, DEBUG_VARIABLE): Define.
   28816 	* cfgloop.c (verify_loop_structure): Likewise.
   28817 	* plugin.c (dump_active_plugins, debug_active_plugins): Likewise.
   28818 	* c-common.c (verify_sequence_points): Likewise.
   28819 	* sched-rgn.c (debug_regions, debug_region, debug_candidate,
   28820 	debug_candidates, debug_rgn_dependencies): Likewise.
   28821 	* tree-ssa-structalias.c (debug_constraint, debug_constraints,
   28822 	* debug_constraint_graph, debug_solution_for_var,
   28823 	debug_sa_points_to_info): Likewise.
   28824 	* sched-vis.c (debug_insn_slim, debug_bb_slim, debug_bb_n_slim):
   28825 	Likewie.
   28826 	* tree-cfg.c (debug_cfg_stats, verify_stmts, debug_function,
   28827 	debug_loops, debug_loop, debug_loop_num): Likewise.
   28828 	* passes.c (debug_pass): Likewise.
   28829 	(dump_properties): Likewise; add cfglayout property.
   28830 	(debug_properties): Likewise.
   28831 	* tree-ssa-reassoc.c (debug_ops_vector): Likewise.
   28832 	* varpool.c (debug_varpool): Likewise.
   28833 	* regcprop.c (debug_value_data): Likewise.
   28834 	* tree-ssa-operands.c (verify_imm_links, debug_immediate_uses,
   28835 	debug_immediate_uses_for): Likewise.
   28836 
   28837 2010-05-29  H.J. Lu  <hongjiu.lu (a] intel.com>
   28838 
   28839 	PR bootstrap/44315
   28840 	* Makefile.in (build/gencondmd.o): Remove TM_H := $(GTM_H).
   28841 	Filter out insn-flags.h.
   28842 
   28843 2010-05-29  Jan Hubicka  <jh (a] suse.cz>
   28844 
   28845 	* cgraph.h (struct varpool_node_set_def,
   28846 	struct cgraph_node_set_def): Remove unused AUX pointer.
   28847 	(cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p): Use
   28848 	VEC_empty macro.
   28849 
   28850 2010-05-29  Jan Hubicka  <jh (a] suse.cz>
   28851 
   28852 	PR middle-end/44324
   28853 	* ipa-cp.c (ipcp_insert_stage): Replace "clone" by "constprop".
   28854 
   28855 2010-05-29  Richard Guenther  <rguenther (a] suse.de>
   28856 
   28857 	* lto-streamer.c (cached_bp): New global variable.
   28858 	(bitpack_create): Return the cached bitpack, if available.
   28859 	(bitpack_delete): Clear and cache the bitpack, if appropriate.
   28860 	(bp_pack_value): Remove redundant asserts.
   28861 
   28862 2010-05-29  Sebastian Pop  <sebastian.pop (a] amd.com>
   28863 
   28864 	PR middle-end/44306
   28865 	* tree-if-conv.c (is_true_predicate): New.
   28866 	(is_predicated): Use is_true_predicate.
   28867 	(add_to_predicate_list): Same.  Do not use unshare_expr.
   28868 	(add_to_dst_predicate_list): Same.
   28869 
   28870 2010-05-29  Sebastian Pop  <sebastian.pop (a] amd.com>
   28871 
   28872 	* tree-if-conv.c (add_to_dst_predicate_list): Do not use the ->aux
   28873 	field on edges.
   28874 	(predicate_bbs): Same.
   28875 	(clean_predicate_lists): Same.
   28876 	(find_phi_replacement_condition): Do not AND the predicate from
   28877 	edge->aux.
   28878 
   28879 2010-05-29  H.J. Lu  <hongjiu.lu (a] intel.com>
   28880 
   28881 	PR bootstrap/44315
   28882 	* Makefile.in (build/gencondmd.o): Add a missing `\'.
   28883 
   28884 2010-05-29  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   28885 
   28886 	PR target/44261
   28887 	config/pa/pa.md (negdf2_slow, negsf2_slow): New patterns.
   28888 	(negdf2): Adjust expander pattern and use negdf2_slow.
   28889 	(negsf2): Likewise.
   28890 
   28891 2010-05-29  Nathan Froyd  <froydnj (a] codesourcery.com>
   28892 
   28893 	* basic-block.h (struct control_flow_graph): Move last_label_uid field
   28894 	up.
   28895 	* df.h (struct df_base_ref): Move regno field up.
   28896 	* dwarf2out.c (struct dw_fde_struct): Move funcdef_number field down.
   28897 	* expr.h (struct separate_ops): Move location field up.
   28898 	* optabs.h (struct optab_d): Move libcall_basename field down.
   28899 	* config/i386/i386.c (struct ix86_frame): Move red_zone_size up.
   28900 	* config/i386/i386.h (struct machine_function): Convert call_abi field
   28901 	into a bitfield.  Move cfa field to the end of the structure.
   28902 
   28903 2010-05-29  Jan Hubicka  <jh (a] suse.cz>
   28904 
   28905 	* varpool.c (varpool_get_node): Fix lookup.
   28906 
   28907 2010-05-29  Steven Bosscher  <steven (a] gcc.gnu.org>
   28908 
   28909 	* config/spu/spu-protos.h: Do not include rtl.h.  Protect
   28910 	RTL specific prototypes with #ifdef RTX_CODE.
   28911 	* config/spu/spu-c.c: Include c-common.h instead of c-tree.h.
   28912 	* config/spu/t-spu-elf: Fix dependencies.
   28913 
   28914 	* config/t-darwin (darwin-c.o): Remove C_TREE_H dependency.
   28915 
   28916 2010-05-29  Mike Stump  <mikestump (a] comcast.net>
   28917 
   28918 	PR bootstrap/44315
   28919 	* Makefile.in (build/gencondmd.o): Be sure to use GTM_H instead of
   28920 	TM_H when building to avoid dependency loops.
   28921 
   28922 2010-05-29  Jan Hubicka  <jh (a] suse.cz>
   28923 
   28924 	* cgraphunit.c (cgraph_materialize_clone): Only remove calles,
   28925 	refs and body; not the whole node for masters of materialized clones.
   28926 
   28927 2010-05-29  Mike Stump  <mikestump (a] comcast.net>
   28928 
   28929 	* config/rs6000/rs6000-c.c: Remove c-tree.h include.
   28930 
   28931 2010-05-29  Jan Hubicka  <jh (a] suse.cz>
   28932 
   28933 	* cgraph.c (clone_function_name): Take SUFFIX argument; export.
   28934 	(cgraph_create_virtual_clone): Take SUFFIX argument; udpate
   28935 	use of clone_function_name.
   28936 	* cgraph.h (cgraph_create_virtual_clone,
   28937 	cgraph_function_versioning): update prototypes.
   28938 	(clone_function_name): Declare.
   28939 	* ipa-cp.c (ipcp_insert_stage): Update call of
   28940 	cgraph_create_virtual_clone.
   28941 	* omp-low.c (create_omp_child_function_name): Use
   28942 	cgraph_create_virtual_clone.
   28943 	* cgraphunit.c (cgraph_copy_node_for_versioning): Fix edges updating.
   28944 	(cgraph_function_versioning): Take SUFFIX argument; produce new name
   28945 	and make decl local.
   28946 
   28947 2010-05-29  Steven Bosscher  <steven (a] gcc.gnu.org>
   28948 
   28949 	* vec.h: Include statistics.h
   28950 	* Makefile.in: Introduce VEC_H.  Replace all vec.h dependencies
   28951 	with VEC_H.
   28952 
   28953 2010-05-29  Steven Bosscher  <steven (a] gcc.gnu.org>
   28954 
   28955 	* c-lex.c: Do not include c-tree.h.
   28956 	* c-pretty-print.c: Likewise.
   28957 	* c-opts.c: Likewise.
   28958 	* c-gimplify.c: Likewise.
   28959 	* c-common.c: Likewise.
   28960 	* c-dump.c: Likewise.  Include c-common.h.
   28961 
   28962 2010-05-29  Steven Bosscher  <steven (a] gcc.gnu.org>
   28963 
   28964 	* c-common.h (GCC_DIAG_STYLE): Define earlier in the file,
   28965 	before including diagnostic-core.h.
   28966 	(c_cpp_error): New prototype moved from c-tree.h.
   28967 	Use ATTRIBUTE_GCC_DIAG instead of ATTRIBUTE_GCC_CDIAG.
   28968 	* c-tree.h (ATTRIBUTE_GCC_CDIAG): Remove define.
   28969 	(pedwarn_c90, perwarn_c99): Use ATTRIBUTE_GCC_DIAG instead.
   28970 	(c_cpp_error): Prototype moved to c-common.h.
   28971 	* Makefile.in: Update dependency for C_COMMON_H.
   28972 
   28973 2010-05-29  Steven Bosscher  <steven (a] gcc.gnu.org>
   28974 
   28975 	* c-common.h: Add FIXME for awkward split of c_register_addr_space.
   28976 	* c-common.c (c_register_addr_space): Remove here.
   28977 	* c-decl.c (c_register_addr_space): Re-add here.
   28978 
   28979 2010-05-28  Mike Stump  <mikestump (a] comcast.net>
   28980 
   28981 	* config/darwin-c.c: Remove c-tree.h include.
   28982 
   28983 2010-05-28  Joseph Myers  <joseph (a] codesourcery.com>
   28984 
   28985 	* gcc.c: Include diagnostic.h.
   28986 	(error_count): Remove.  All users changed to use errorcount.
   28987 	(programname): Remove.  All users changed to use progname.
   28988 	(fancy_abort, internal_error, fatal_error, error, warning, inform,
   28989 	fnotice): Remove.
   28990 	(execute): Don't include "Internal error" and bug reporting
   28991 	information in argument of internal_error call.
   28992 	(process_command): Don't increment error_count after calling
   28993 	perror_with_name.
   28994 	(input_filename): Rename to gcc_input_filename.  All users
   28995 	changed.
   28996 	(main): Call diagnostic_initialize.  Register delete_temp_files
   28997 	with atexit.  Use seen_error to test for errors.
   28998 	* gcc.h: Include diagnostic-core.h.
   28999 	(fatal_error, error, warning): Remove.
   29000 	* Makefile.in (GCC_H): Add $(DIAGNOSTIC_CORE_H).
   29001 	(GCC_OBJS): Add diagnostic.o, pretty-print.o and input.o.
   29002 	(gcc.o): Update dependencies.
   29003 
   29004 2010-05-28  Jeff Law  <law (a] redhat.com>
   29005 
   29006 	* ira.c (ira_bad_reload_regno, ira_build_reload_regno_1): New
   29007 	functions.
   29008 	* ira.h (ira_bad_reload_regno): Declare
   29009 	* reload1.c (allocate_reload_reg): Use ira_bad_reload_regno.
   29010 
   29011 	* ira-color.c (update_curr_costs): Free updated hard reg costs.
   29012 	(ira_reassign_conflict_allocnos): Remove bogus asserts.
   29013 	(allocno_reload_assign): Likewise.
   29014 
   29015 2010-05-28  Nathan Froyd  <froydnj (a] codesourcery.com>
   29016 
   29017 	* tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of
   29018 	build1_stat.
   29019 
   29020 2010-05-28  Richard Guenther  <rguenther (a] suse.de>
   29021 
   29022 	PR lto/44312
   29023 	* lto-streamer-in.c (unpack_ts_fixed_cst_value_fields):
   29024 	Stream fixed-point constants mode.
   29025 	(unpack_ts_type_value_fields): Fix width of TYPE_MODE
   29026 	and TYPE_PRECISION.
   29027 	* lto-streamer-out.c (pack_ts_fixed_cst_value_fields):
   29028 	Stream fixed-point constants mode.
   29029 	(pack_ts_function_decl_value_fields): Fix width of TYPE_MODE
   29030 	and TYPE_PRECISION.
   29031 
   29032 2010-05-28  Sebastian Pop  <sebastian.pop (a] amd.com>
   29033 
   29034 	* tree-scalar-evolution.c (set_nb_iterations_in_loop): Inlined in the
   29035 	only place it was called from.
   29036 	(number_of_latch_executions): Do not return chrec_dont_know when the
   29037 	may_be_zero is a runtime condition: instead, return a COND_EXPR
   29038 	including the may_be_zero condition.
   29039 	* cfgloop.h (struct loop): Add a note on COND_EXPRs to the comment
   29040 	of nb_iterations.
   29041 	* tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Handle
   29042 	COND_EXPRs.
   29043 
   29044 2010-05-28  Sebastian Pop  <sebastian.pop (a] amd.com>
   29045 
   29046 	* tree-if-conv.c (replace_phi_with_cond_gimple_assign_stmt): Don't
   29047 	generate COND_EXPRs for degenerate_phi_result.
   29048 
   29049 2010-05-28  Sebastian Pop  <sebastian.pop (a] amd.com>
   29050 
   29051 	PR middle-end/44293
   29052 	* tree-if-conv.c (if_convertible_loop_p): Check the
   29053 	if-convertibility of phi nodes in non predicated BBs.
   29054 
   29055 2010-05-28  Joseph Myers  <joseph (a] codesourcery.com>
   29056 
   29057 	* gcc.c (error, warning, inform): Remove duplicate ": " in output.
   29058 
   29059 2010-05-28  Joseph Myers  <joseph (a] codesourcery.com>
   29060 
   29061 	PR driver/15303
   29062 	* gcc.c (inform, warning, inform): New functions.
   29063 	(fatal_ice): Rename to internal_error; change cmsgid parameter to
   29064 	gmsgid.  All callers changed.
   29065 	(notice): Rename to fnotice; add parameter fp.  All callers changed.
   29066 	(fatal_error): Rename to fatal_signal.  All users changed.
   29067 	(fatal): Rename to fatal_error; change cmsgid parameter to
   29068 	gmsgid.  All callers changed.
   29069 	(process_command): Use warning instead of error for warnings.
   29070 	(end_going_arg): Don't use _() around argument of error.
   29071 	(do_spec_1): Use inform for message from %n specs.  Use warning
   29072 	instead of error for warnings.
   29073 	(main): Use inform for comparison messages.  Use warning for
   29074 	message about unused linker input.
   29075 	(error): Increment error_count.  Print "error: ".
   29076 	* gcc.h (fatal): Change to fatal_error.
   29077 	(warning): Declare.
   29078 	* config/darwin-driver.c (darwin_default_min_version): Use warning
   29079 	instead of fprintf for warnings.
   29080 	* cppspec.c (lang_specific_driver): Use fatal_error instead of fatal.
   29081 
   29082 2010-05-28  Julian Brown  <julian (a] codesourcery.com>
   29083 
   29084 	* config/arm/thumb2.md (*thumb2_addsi3_compare0): New.
   29085 	(*thumb2_addsi3_compare0_scratch): New.
   29086 	* config/arm/constraints.md (Pv): New.
   29087 	* config/arm/arm.md (*addsi3_compare0): Remove FIXME comment. Use
   29088 	for ARM mode only.
   29089 	(*addsi3_compare0_scratch): Likewise.
   29090 
   29091 2010-05-28  Jan Hubicka  <jh (a] suse.cz>
   29092 
   29093 	* ipa-reference.c (add_static_var): Remove redundant all_module_statics
   29094 	check.
   29095 	(ipa_reference_write_optimization_summary): Call is_proper_for_analysis
   29096 	only on local statics.
   29097 
   29098 2010-05-28  Iain Sandoe  <iains (a] gcc.gnu.org>
   29099 
   29100 	* config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.
   29101 
   29102 2010-05-28  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   29103 
   29104 	PR bootstrap/44314
   29105 	* config/alpha/linux.h, config/rs6000/linux.h, config/rs6000/linux64.h
   29106 	(OPTION_GLIBC): Define.
   29107 
   29108 2010-05-28  Jakub Jelinek  <jakub (a] redhat.com>
   29109 
   29110 	PR debug/41048
   29111 	* dwarf2out.c (double_int_type_size_in_bits): New function.
   29112 	(round_up_to_align): Change first argument and return value to
   29113 	double_int.
   29114 	(field_byte_offset): Work internally on double_ints.
   29115 
   29116 	PR target/43636
   29117 	* builtins.c (expand_movstr): Use a temporary pseudo instead
   29118 	of target even when target is not NULL and not const0_rtx, but
   29119 	fails movstr predicate.
   29120 	* config/m32c/blkmov.md (movstr): Add predicate to first operand.
   29121 
   29122 2010-05-28  Joseph Myers  <joseph (a] codesourcery.com>
   29123 
   29124 	* final.c (rest_of_clean_state): Use %m in errors instead of
   29125 	strerror (errno).
   29126 	* gengtype.c (read_input_list, close_output_files): Use xstrerror
   29127 	instead of strerror.
   29128 	* toplev.c (process_options): Use %m in errors instead of strerror
   29129 	(errno).
   29130 	* tree-dump.c (dump_begin): Use %m in errors instead of strerror
   29131 	(errno).
   29132 
   29133 2010-05-28  Uros Bizjak  <ubizjak (a] gmail.com>
   29134 
   29135 	* config/i386/i386.c (ix86_fn_abi_va_list): Make static.
   29136 	(ix86_canonical_va_list_type): Make static.  Add declaration.
   29137 	(ix86_enum_va_list): Make static.  Reindent.
   29138 	* config/i386/i386-protos.h (ix86_fn_abi_va_list): Remove declaration.
   29139 	(ix86_canonical_va_list_type): Ditto.
   29140 	(ix86_enum_va_list): Ditto.
   29141 
   29142 2010-05-28  Richard Guenther  <rguenther (a] suse.de>
   29143 
   29144 	* lto-wrapper.c (run_gcc): With -save-temps generate a
   29145 	user-visible ltrans filename.  Fixup ltrans unit numbering.
   29146 
   29147 2010-05-28  Kai Tietz  <kai.tietz (a] onevision.com>
   29148 
   29149 	* c-common.c (c_common_nodes_and_builtins): Replace use
   29150 	of TARGET_ENUM_VA_LIST by target hook enum_va_list.
   29151 	* config/i386/i386.c (TARGET_ENUM_VA_LIST_P): Hook
   29152 	to ix86_enum_va_list.
   29153 	* config/i386/i386.h (TARGET_ENUM_VA_LIST): Removed.
   29154 	* doc/tm.texi (TARGET_ENUM_VA_LIST): Removed.
   29155 	(TARGET_ENUM_VA_LIST_P): Add hook description.
   29156 	* target-def.h (TARGET_ENUM_VA_LIST_P): Added.
   29157 	* target.h (gcc_target): Add enum_va_list hook.
   29158 
   29159 	PR bootstrap/44299
   29160 	* config/i386/t-cygming: Adjust header dependencies for winnt-cxx.c.
   29161 	* config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Remove undefine.
   29162 	* config/i386/winnt.c (IN_GCC_FRONTEND): Likewise.
   29163 
   29164 2010-05-28  Alan Modra  <amodra (a] gmail.com>
   29165 
   29166 	PR target/44266
   29167 	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
   29168 	emit_library_call machinery to set up __tls_get_addr calls.
   29169 
   29170 2010-05-28  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   29171 
   29172 	* config/s390/s390.md (movqi): Fix typo ('*' -> '#').
   29173 
   29174 2010-05-28  Dodji Seketeli  <dodji (a] redhat.com>
   29175 
   29176 	Revert fix for PR c++/44188
   29177 	* c-common.c (is_typedef_decl): Revert the moving of  this
   29178 	definition ...
   29179 	* tree.c (is_typedef_decl): ... here.
   29180 	(typdef_variant_p): Revert the moving of this  definition
   29181 	here from cp/tree.c.
   29182 	* c-common.h (is_typedef_decl): Revert the moving of this
   29183 	declaration ...
   29184 	* tree.h (is_typedef_decl): ... here.
   29185 	(typedef_variant_p): Revert the moving of this  declaration here
   29186 	from cp/cp-tree.h
   29187 	* dwarf2out.c (is_naming_typedef_decl): Revert this new function.
   29188 	(gen_tagged_type_die): Revert the splitting out of ...
   29189 	(gen_type_die_with_usage): ... this function. Revert the anonymous
   29190 	tagged type handling.
   29191 	(gen_typedef_die): Revert emitting DW_TAG_typedef  for
   29192 	typedefs naming anonymous tagged types.
   29193 
   29194 2010-05-28  Segher Boessenkool  <segher (a] kernel.crashing.org>
   29195 
   29196 	* config/rs6000/rs6000-modes.def (PSImode): Delete.
   29197 
   29198 2010-05-28  Segher Boessenkool  <segher (a] kernel.crashing.org>
   29199 
   29200 	* config/rs6000/constraints.md ("z" constraint): Change to CA_REGS.
   29201 	* config/rs6000/predicates.md: Change XER_REGNO_P to CA_REGNO_P
   29202 	throughout.
   29203 	* config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Change
   29204 	"xer" to "ca".
   29205 	Change XER_REGNO_P to CA_REGNO_P, XER_REGNO to CA_REGNO, and
   29206 	XER_REGS to CA_REGS throughout.
   29207 	* config/rs6000/rs6000.h: Same.
   29208 	(ADDITIONAL_REGISTER_NAMES): Add "xer".
   29209 	* config/rs6000/rs6000.md: Change XER_REGNO to CA_REGNO.  Document
   29210 	that mode_iterator "P" is the size for arithmetic carries as well.
   29211 	* doc/md.texi (rs6000 section, "z" constraint): Fix documentation.
   29212 
   29213 2010-05-28  Jakub Jelinek  <jakub (a] redhat.com>
   29214 
   29215 	PR bootstrap/44255
   29216 	* combine.c (struct rtx_subst_pair): Define unconditionally.
   29217 	(propagate_for_debug_subst): Likewise.  If not AUTO_INC_DEC,
   29218 	copy_rtx pair->to instead of cleanup_auto_inc_dec it.
   29219 	Call make_compound_operation on pair->to.
   29220 	(propagate_for_debug): Don't call make_compound_operation here.
   29221 	Always use simplify_replace_fn_rtx.
   29222 
   29223 2010-05-27  Sterling Augustine  <sterling (a] tensilica.com>
   29224 
   29225 	* doc/invoke.texi (xtensa options): Add -mforce-no-pic.
   29226 	* config/xtensa/xtensa.c (override_options): Check
   29227 	  TARGET_FORCE_NO_PIC and set flag_pic.
   29228 	* config/xtensa/xtensa.opt: Document -mforce-no-pic
   29229 
   29230 2010-05-27  Kai Tietz  <kai.tietz (a] onevision.com>
   29231 
   29232 	PR bootstrap/44299
   29233 	* config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
   29234 	* config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
   29235 
   29236 2010-05-27  Joseph Myers  <joseph (a] codesourcery.com>
   29237 
   29238 	* diagnostic-core.h: New.  Contents moved from diagnostic.h and
   29239 	toplev.h.
   29240 	* diagnostic.c: Don't include toplev.h.
   29241 	(progname): Define.  Moved from toplev.c.
   29242 	(seen_error): New function.
   29243 	* diagnostic.h: Include diagnostic-core.h.
   29244 	(diagnostic_t, emit_diagnostic): Don't declare here.
   29245 	* toplev.c (progname): Move to toplev.c.
   29246 	(emit_debug_global_declarations, compile_file, finalize,
   29247 	do_compile, toplev_main): Use seen_error.
   29248 	* toplev.h: Include diagnostic-core.h.
   29249 	(trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
   29250 	internal_error, warning, warning_at, error, error_n, error_at,
   29251 	fatal_error, pedwarn, permerror, sorry, inform, inform_n,
   29252 	verbatim, fnotice, progname): Move to diagnostic-core.h.
   29253 	* builtins.c: Include diagnostic-core.h instead of diagnostic.h.
   29254 	(expand_builtin_expect): Use seen_error.
   29255 	* c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
   29256 	(c_make_fname_decl, c_write_global_declarations): Use seen_error.
   29257 	* c-format.c: Include diagnostic-core.h instead of diagnostic.h.
   29258 	* c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
   29259 	* c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
   29260 	* c-lex.c (c_lex_with_flags, interpret_float): Don't increment
   29261 	errorcount for errors.
   29262 	* c-opts.c (c_common_finish): Use seen_error.
   29263 	* cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
   29264 	* cgraphunit.c (verify_cgraph_node, verify_cgraph,
   29265 	cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
   29266 	* coverage.c: Include diagnostic-core.h instead of diagnostic.h.
   29267 	(get_coverage_counts): Use seen_error.
   29268 	* dwarf2out.c (dwarf2out_finish): Use seen_error.
   29269 	* gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
   29270 	gimplify_body): Use seen_error.
   29271 	* ipa-inline.c (cgraph_early_inlining): Use seen_error.
   29272 	* ipa-pure-const.c (gate_pure_const): Use seen_error.
   29273 	* ipa-reference.c (gate_reference): Use seen_error.
   29274 	* jump.c: Include diagnostic-core.h instead of diagnostic.h.
   29275 	* lambda-code.c: Include diagnostic-core.h instead of
   29276 	diagnostic.h.
   29277 	* lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
   29278 	* lto-compress.c: Include diagnostic-core.h instead of
   29279 	diagnostic.h.
   29280 	* lto-section-in.c: Include diagnostic-core.h instead of
   29281 	diagnostic.h.
   29282 	* lto-streamer-out.c: Include diagnostic-core.h instead of
   29283 	diagnostic.h.
   29284 	* lto-streamer.c: Include diagnostic-core.h instead of
   29285 	diagnostic.h.
   29286 	(gate_lto_out): Use seen_error.
   29287 	* matrix-reorg.c: Include diagnostic-core.h instead of
   29288 	diagnostic.h.
   29289 	* omega.c: Include diagnostic-core.h instead of diagnostic.h.
   29290 	* omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
   29291 	(gate_expand_omp, lower_omp_1): Use seen_error.
   29292 	* passes.c: Include diagnostic-core.h instead of diagnostic.h.
   29293 	(rest_of_decl_compilation, rest_of_type_compilation,
   29294 	gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
   29295 	* tree-cfg.c (label_to_block_fn): Use seen_error.
   29296 	* tree-inline.c (optimize_inline_calls): Use seen_error.
   29297 	* tree-mudflap.c (mudflap_finish_file): Use
   29298 	seen_error.
   29299 	* tree-optimize.c (gate_all_optimizations,
   29300 	gate_all_early_local_passes, gate_all_early_optimizations): Use
   29301 	seen_error.
   29302 	* tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
   29303 	* varpool.c: Include diagnostic-core.h instead of diagnostic.h.
   29304 	(varpool_remove_unreferenced_decls,
   29305 	varpool_assemble_pending_decls): Use seen_error.
   29306 	* Makefile.in (DIAGNOSTIC_CORE_H): Define.
   29307 	(TOPLEV_H, DIAGNOSTIC_H): Update.
   29308 	(c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
   29309 	lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
   29310 	c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
   29311 	builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
   29312 	coverage.o, lambda-code.o): Update dependencies.
   29313 
   29314 2010-05-25  Dodji Seketeli  <dodji (a] redhat.com>
   29315 
   29316 	PR c++/44188
   29317 	* c-common.c (is_typedef_decl): Move this definition ...
   29318 	* tree.c (is_typedef_decl): ... here.
   29319 	(typdef_variant_p): Move definition here from cp/tree.c.
   29320 	* c-common.h (is_typedef_decl): Move this declaration ...
   29321 	* tree.h (is_typedef_decl): ... here.
   29322 	(typedef_variant_p): Move declaration here from cp/cp-tree.h
   29323 	* dwarf2out.c (is_naming_typedef_decl): New function.
   29324 	(gen_tagged_type_die): Split out of ...
   29325 	(gen_type_die_with_usage): ... this function. When an anonymous
   29326 	tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
   29327 	is emitted for the typedef.
   29328 	(gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
   29329 	anonymous tagged types.
   29330 
   29331 2010-05-27  Jason Merrill  <jason (a] redhat.com>
   29332 
   29333 	* print-tree.c (debug_vec_tree): New fn.
   29334 	(print_vec_tree): New fn.
   29335 	* tree.h: Declare them.
   29336 	* gdbinit.in (pvt): New command.
   29337 
   29338 	* print-tree.c (print_node) [TREE_VEC]: Print elements normally.
   29339 
   29340 	* gdbinit.in (pdd): New command.
   29341 
   29342 2010-05-27  Jan Hubicka  <jh (a] suse.cz>
   29343 
   29344 	* ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
   29345 	(update_caller_keys): Return early if there are no callers;
   29346 	only update fibheap when decresing the key.
   29347 	(update_callee_keys): Avoid recursion.
   29348 	(decide_inlining_of_small_functions): When badness does not match;
   29349 	re-insert into fibheap.
   29350 
   29351 2010-05-27  Steven Bosscher  <steven (a] gcc.gnu.org>
   29352 
   29353 	* Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
   29354 	(ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
   29355 	(ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
   29356 	(ALL_HOST_OBJS): Now a union of the above two.
   29357 	<section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
   29358 	all files in ALL_HOST_FRONTEND_OBJS.
   29359 	* system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
   29360 
   29361 	* c-common.c: Pretend to be a backend file by undefining
   29362 	IN_GCC_FRONTEND (still need rtl.h here).
   29363 
   29364 2010-05-27  Jan Hubicka  <jh (a] suse.cz>
   29365 
   29366 	* cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
   29367 	* cgraphunit.c (clone_of_p): Compile only when checking is enabled.
   29368 
   29369 2010-05-27  Jan Hubicka  <jh (a] suse.cz>
   29370 
   29371 	* sched-ebb.c: Rename struct deps to struct deps_desc.
   29372 	* ddg.c: Likewise.
   29373 	* sel-sched-ir.c: Likewise.
   29374 	* sched-deps.c: Likewise.
   29375 	* sched-int.h: Likewise.
   29376 	* sched-rgn.c: Likewise.
   29377 
   29378 2010-05-27  Jon Beniston  <jon (a] beniston.com>
   29379 
   29380 	PR 43726
   29381 	* config/lm32/lm32.h: Remove definition of
   29382 	GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
   29383 
   29384 2010-05-27  Eric Botcazou  <ebotcazou (a] adacore.com>
   29385 
   29386 	PR lto/44230
   29387 	* dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
   29388 
   29389 2010-05-27  Richard Guenther  <rguenther (a] suse.de>
   29390 
   29391 	PR tree-optimization/44284
   29392 	* tree-vect-stmts.c (vectorizable_assignment): Handle
   29393 	sign-changing conversions as simple copy.
   29394 
   29395 2010-05-27  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   29396 
   29397 	* gthr-posix.h (pthread_cancel): Don't declare if compiling against
   29398 	Bionic C library.
   29399 	(__gthread_active_p): Check for pthread_create if compiling against
   29400 	Bionic C library.
   29401 
   29402 2010-05-27  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   29403 
   29404 	Support compilation for Android platform.  Reimplement -mandroid.
   29405 
   29406 	* config.gcc (*linux*): Include linux-android.h and linux-android.opt.
   29407 	(*android*): Set ANDROID_DEFAULT.
   29408 	(arm*-*-linux*): Include linux-android.h.
   29409 	(arm*-*-eabi*): Don't include previous -mandroid implementation.
   29410 	* config/arm/eabi.h: Remove, move Android-specific parts ...
   29411 	* config/linux-android.h: ... here.  New file.
   29412 	* config/arm/eabi.opt: Rename to ...
   29413 	* config/linux-android.opt: ... this.
   29414 	(mandroid): Allow -mno-android option.  Initialize based on
   29415 	ANDROID_DEFAULT.
   29416 	* config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC):
   29417 	Move logic to corresponding LINUX_TARGET_* macros.
   29418 	(TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate.
   29419 	* config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,)
   29420 	(STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and
   29421 	Android definitions.
   29422 	(LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID.
   29423 	* doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld):
   29424 	Document.
   29425 
   29426 2010-05-27  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   29427 
   29428 	Add support for Bionic C library
   29429 
   29430 	* config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
   29431 	macro.
   29432 	(DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
   29433 	(bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
   29434 
   29435 	* config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
   29436 	(LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
   29437 	(CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
   29438 	to support multiple C libraries.  Handle Bionic.
   29439 	(BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
   29440 	(BIONIC_DYNAMIC_LINKER64): Define.
   29441 	(LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
   29442 	Update.
   29443 	(TARGET_HAS_SINCOS): Enable for Bionic.
   29444 
   29445 	* config/linux.opt: Rewrite to handle more than 2 C libraries.  Make
   29446 	the last option specified on command line take effect.
   29447 	(linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
   29448 	(mbionic): New.
   29449 	(mglibc, muclibc): Update.
   29450 
   29451 	* config/alpha/linux-elf.h, config/rs6000/linux64.h,
   29452 	* config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
   29453 	DEFAULT_LIBC.
   29454 
   29455 	* doc/invoke.texi (-mglibc, -muclibc): Update.
   29456 	(-mbionic): Document.
   29457 
   29458 2010-05-27  Ulrich Weigand  <Ulrich.Weigand (a] de.ibm.com>
   29459 
   29460 	* c-common.h (c_register_addr_space): Add prototype.
   29461 	(ADDR_SPACE_KEYWORD): Remove.
   29462 	* c-common.c (c_register_addr_space): New function.
   29463 	(c_addr_space_name): Reimplement.
   29464 	(c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS.
   29465 
   29466 	* config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
   29467 	(REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
   29468 
   29469 	* doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
   29470 	Remove TARGET_ADDR_SPACE_KEYWORDS.
   29471 
   29472 2010-05-27  Joseph Myers  <joseph (a] codesourcery.com>
   29473 
   29474 	* input.c: New file.
   29475 	* input.h (main_input_filename): Move declaration to toplev.h.
   29476 	* toplev.c (input_location, line_table): Move to input.c
   29477 	* toplev.h (main_input_filename): Move declaration from input.h.
   29478 	* tree.c (expand_location): Move to input.c.
   29479 	* Makefile.in (OBJS-common): Add input.o.
   29480 	(input.o): Add dependencies.
   29481 
   29482 2010-05-27  Richard Guenther  <rguenther (a] suse.de>
   29483 
   29484 	* lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
   29485 	for non-existant files.
   29486 	(fork_execute): Mark args_name file as deleted.
   29487 
   29488 2010-05-27  Kai Tietz  <kai.tietz (a] onevision.com>
   29489 
   29490 	PR bootstrp/44287
   29491 	* c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
   29492 	(narrow_signed_type): Likewise.
   29493 
   29494 2010-05-26  Jan Hubicka  <jh (a] suse.cz>
   29495 
   29496 	* cgraphunit.c (verify_cgraph_node): Do checking that DECL match
   29497 	edge only when checking is enabled; check using former_clone_of;
   29498 	check inline clones too.
   29499 	(cgraph_materialize_clone): Record former_clone_of pointer.
   29500 	(cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not
   29501 	combining redirections; dump args_to_skip bitmap
   29502 	(cgraph_materialize_all_clones): Do no redirection here.
   29503 	* ipa-inline.c (inline_transform): Do redirection here.
   29504 	* cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled
   29505 	cheking only).
   29506 
   29507 2010-05-26  Steven Bosscher  <steven (a] gcc.gnu.org>
   29508 
   29509 	* config/avr/avr-c.c: Do not include regs.h.
   29510 	Include cpplib.h for cpp_define and tree.h for c-common.h.
   29511 	* config/avr/avr-devices.c (avr_mcu_types): Fix initializer.
   29512 	* config/avr/t-avr: Fix dependencies for avr-c.o.
   29513 
   29514 2010-05-26  Steven Bosscher  <steven (a] gcc.gnu.org>
   29515 
   29516 	* explow.c (set_stack_check_libfunc): Adjust to accept name as a
   29517 	string instead of SYMBOL_REF rtx.
   29518 	* rtl.h (set_stack_check_libfunc): Move prototype from here...
   29519 	* libfuncs.h: ...to here.  Adjust for explow.c change.
   29520 
   29521 2010-05-26  Joseph Myers  <joseph (a] codesourcery.com>
   29522 
   29523 	* pretty-print.c: Don't include ggc.h.
   29524 	(identifier_to_locale_alloc, identifier_to_locale_free): Define.
   29525 	(identifier_to_locale): Use them for allocation.
   29526 	* pretty-print.h (identifier_to_locale_alloc,
   29527 	identifier_to_locale_free): Declare.
   29528 	* toplev.c (alloc_for_identifier_to_locale): New.
   29529 	(general_init): Set identifier_to_locale_alloc and
   29530 	identifier_to_locale_free.
   29531 	* Makefile.in (pretty-print.o): Update dependencies.
   29532 
   29533 2010-05-26  Eric Botcazou  <ebotcazou (a] adacore.com>
   29534 
   29535 	* gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
   29536 	pointer types if they have different alignment or mode.
   29537 
   29538 2010-05-26  Anatoly Sokolov  <aesok (a] post.ru>
   29539 
   29540 	* config/sparc/sparc.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
   29541 	LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
   29542 	* config/sparc/sparc-protos.h (function_value): Remove declaration.
   29543 	* config/sparc/sparc.c (sparc_function_value, sparc_libcall_value,
   29544 	sparc_function_value_regno_p): New functions.
   29545 	(TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
   29546 	TARGET_FUNCTION_VALUE_REGNO_P): Define.
   29547 	(function_value): Rename to...
   29548 	(sparc_function_value_1): ... this. Make static. Change 'incoming_p'
   29549 	argument to 'outgoing'.
   29550 	(function_arg_record_value, function_arg_union_value,
   29551 	function_arg_vector_value): Update comment.
   29552 
   29553 2010-05-26  Eric Botcazou  <ebotcazou (a] adacore.com>
   29554 
   29555 	* dwarf2out.c (struct dw_fde_struct): Reorder flags.
   29556 	(fde_needed_for_eh_p): New predicate.
   29557 	(output_call_frame_info): Use it throughout to decide whether FDEs
   29558 	are needed for EH purpose.
   29559 	(dwarf2out_begin_prologue): Reorder assignments.
   29560 
   29561 2010-05-26  Sebastian Pop  <sebastian.pop (a] amd.com>
   29562 
   29563 	* tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Do not
   29564 	special case loop->header.
   29565 	(is_predicated): New.
   29566 	(if_convertible_loop_p): Call it.
   29567 
   29568 2010-05-26  Sebastian Pop  <sebastian.pop (a] amd.com>
   29569 
   29570 	* tree-if-conv.c (add_to_dst_predicate_list): Do not pass a statemet
   29571 	iterator in parameter.  Do not generate code during the analysis.
   29572 	(tree_if_convert_cond_stmt): Removed.
   29573 	(tree_if_convert_stmt): Removed.
   29574 	(predicate_bbs): New.
   29575 	(if_convertible_loop_p): Call predicate_bbs.
   29576 	(tree_if_conversion): Simplify the top-level logic as predicate_bbs
   29577 	now contains all the analysis part.
   29578 
   29579 2010-05-26  Sebastian Pop  <sebastian.pop (a] amd.com>
   29580 
   29581 	* tree-if-conv.c (tree_if_convert_cond_stmt): Do not remove
   29582 	statements in the analysis part.
   29583 	(tree_if_convert_stmt): Update comment.
   29584 	(remove_conditions_and_labels): New.
   29585 	(combine_blocks): Call remove_conditions_and_labels.
   29586 	(tree_if_conversion): Update comment.
   29587 
   29588 2010-05-26  Sebastian Pop  <sebastian.pop (a] amd.com>
   29589 
   29590 	* tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
   29591 	than 2 predecessors or more than 2 successors.
   29592 
   29593 2010-05-26  Sebastian Pop  <sebastian.pop (a] amd.com>
   29594 
   29595 	* tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
   29596 	of loops in which the data dependence analysis fails.
   29597 
   29598 2010-05-26  Sebastian Pop  <sebastian.pop (a] amd.com>
   29599 
   29600 	* tree-if-conv.c (if_convertible_loop_p): Do not compute/free
   29601 	CDI_POST_DOMINATORS.
   29602 	(tree_if_conversion): Same.
   29603 
   29604 2010-05-26  Sebastian Pop  <sebastian.pop (a] amd.com>
   29605 
   29606 	* tree-if-conv.c (tree_if_conversion): Do not return a bool.
   29607 
   29608 2010-05-26  Sebastian Pop  <sebastian.pop (a] amd.com>
   29609 
   29610 	* tree-if-conv.c: Update copyright years.  Fix comments.
   29611 	Fix indentation.
   29612 
   29613 2010-05-26  Kai Tietz  <kai.tietz (a] onevision.com>
   29614 
   29615 	* builtin-types.def (BT_INT128): New primitive type.
   29616 	(BT_UINT128): Likewise.
   29617 	* c-common.c (c_common_r): Add __int128 keyword.
   29618 	(c_common_type_for_size): Handle __int128.
   29619 	(c_common_type_for_mode): Likewise.
   29620 	(c_common_signed_or_unsigned_type): Likewise.
   29621 	(c_common_nodes_and_builtins): Add builtin type
   29622 	if target supports 128-bit integer scalar.
   29623 	* c-common.h (enum rid): Add RID_INT128.
   29624 	* c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
   29625 	if target supports 128-bit integer scalar.
   29626 	* c-decl.c (declspecs_add_type): Handle new keyword __int128.
   29627 	(finish_declspecs): Likewise.
   29628 	* c-parser.c (c_token_starts_typename): Handle RID_INT128.
   29629 	(c_token_starts_declspecs): Likewise.
   29630 	(c_parser_declspecs): Likewise.
   29631 	(c_parser_attributes): Likewise.
   29632 	(c_parser_objc_selector): Likewise.
   29633 	* c-pretty-print.c (pp_c_integer_constant): Handle __int128.
   29634 	* c-tree.h (enum c_typespec_keyword): Add cts_int128.
   29635 	* gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
   29636 	* tree.c (make_or_reuse_type): Likewise.
   29637 	(make_unsigned_type): Likewise.
   29638 	(build_common_tree_nodes_2): Likewise.
   29639 	* tree.h (enum integer_type_kind): Add itk_int128 and
   29640 	itk_unsigned_int128.
   29641 	(int128_integer_type_node): New define.
   29642 	(int128_unsigned_type_node): New define.
   29643 	* doc/extend.texi: Add documentation about __int128 type.
   29644 
   29645 2010-05-26  Richard Guenther  <rguenther (a] suse.de>
   29646 
   29647 	* tree-ssa-sccvn.c (copy_nary): Adjust.
   29648 	(copy_phis): Rename to ...
   29649 	(copy_phi): ... this.  Adjust.
   29650 	(copy_references): Rename to ...
   29651 	(copy_reference): ... this.  Adjust.
   29652 	(process_scc): Use HTAB_FOR_EACH_ELEMENT to insert the
   29653 	result into the valid table.
   29654 
   29655 2010-05-26  Steven Bosscher  <steven (a] gcc.gnu.org>
   29656 
   29657 	* config/spu/spu-c.c: Do not include function.h, rtl.h, expr.h,
   29658 	insn-config.h, insn-codes.h, recog.h, and optabs.h.
   29659 
   29660 2010-05-26  Laurynas Biveinis  <laurynas.biveinis (a] gmail.com>
   29661 
   29662 	* ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove.
   29663 
   29664 2010-05-26  Richard Guenther  <rguenther (a] suse.de>
   29665 
   29666 	* opts.c (common_handle_option): Handle OPT_Ofast.
   29667 
   29668 2010-05-26  Joseph Myers  <joseph (a] codesourcery.com>
   29669 
   29670 	* diagnostic.c: Don't include opts.h.
   29671 	(permissive_error_option): Define.
   29672 	(diagnostic_initialize): Take n_opts parameter.  Allocate memory
   29673 	for classify_diagnostic.  Don't use memset for
   29674 	classify_diagnostic.  Initialize new and recently added fields.
   29675 	(diagnostic_classify_diagnostic): Use context->n_opts instead of
   29676 	N_OPTS.
   29677 	(diagnostic_report_diagnostic): Pass context parameter to
   29678 	diagnostic_report_warnings_p.  Use option_enabled and option_name
   29679 	hooks from context.
   29680 	(emit_diagnostic): Use permissive_error_option.
   29681 	(permerror): Likewise.
   29682 	* diagnostic.h: Don't include options.h.
   29683 	(struct diagnostic_context): Add n_opts, opt_permissive,
   29684 	inhibit_warnings, warn_system_headers, option_enabled and
   29685 	option_name fields.  Change classify_diagnostic to a pointer.
   29686 	* opts-diagnostic.h: New file.
   29687 	* opts.c: Include opts-diagnostic.h.
   29688 	(common_handle_option): Set global_dc fields for -Wfatal-errors,
   29689 	-Wsystem-headers, -fshow-column, -pedantic-errors and -w.
   29690 	(option_name): New function.
   29691 	* c-opts.c (c_common_init_options): Set global_dc->opt_permissive.
   29692 	(c_common_handle_option): Set global_dc->permissive for
   29693 	-fpermissive.
   29694 	* c-common.c (c_cpp_error): Save and restore
   29695 	global_dc->warn_system_headers, not variable warn_system_headers.
   29696 	* toplev.c: Include opts-diagnostic.h.
   29697 	(general_init): Update call to diagnostic_initialize.  Set
   29698 	global_dc->show_column, global_dc->option_enabled and
   29699 	global_dc->option_name.
   29700 	(process_options): Don't set global_dc fields here.
   29701 	* Makefile.in (DIAGNOSTIC_H): Remove options.h.
   29702 	(diagnostic.o, opts.o, toplev.o): Update dependencies.
   29703 
   29704 2010-04-30  Hariharan Sandanagobalane  <hariharan (a] picochip.com>
   29705 
   29706 	* config/picochip/picochip.md (movsi): Split a movsi from a
   29707 	const after reload.
   29708 
   29709 2010-05-26  Laurynas Biveinis  <laurynas.biveinis (a] gmail.com>
   29710 
   29711 	* ggc-zone.c: Update copyright year.
   29712 	(poison_region): Mark memory for Valgrind as undefined before
   29713 	memset () call and inaccessible afterwards.
   29714 	(ggc_pch_total_size): Change type of i to int.
   29715 
   29716 2010-05-26  Laurynas Biveinis  <laurynas.biveinis (a] gmail.com>
   29717 
   29718 	* ggc-common.c (ggc_free_overhead): Allow empty slot.
   29719 
   29720 2010-05-26  Laurynas Biveinis  <laurynas.biveinis (a] gmail.com>
   29721 
   29722 	* ggc-common.c: Update copyright year.
   29723 	(ggc_rlimit_bound): Remove prototype.  Compile only if
   29724 	!ENABLE_GC_CHECKING && !ENABLE_GC_ALWAYS_COLLECT.
   29725 	(ggc_min_heapsize_heuristic): Compile only if !ENABLE_GC_CHECKING
   29726 	&& !ENABLE_GC_ALWAYS_COLLECT.  Make static.
   29727 	(ggc_min_heapsize_heuristic): Likewise.
   29728 
   29729 2010-05-26  Richard Guenther  <rguenther (a] suse.de>
   29730 
   29731 	PR rtl-optimization/44164
   29732 	* tree-ssa-alias.c (aliasing_component_refs_p): Fix the
   29733 	no-common access-path disambiguation.
   29734 	(indirect_ref_may_alias_decl_p): Adjust.
   29735 	(indirect_refs_may_alias_p): Likewise.
   29736 	(refs_may_alias_p_1): Likewise.
   29737 
   29738 2010-05-26  Steven Bosscher  <steven (a] gcc.gnu.org>
   29739 
   29740 	* c-typeck.c: Do not include expr.h.
   29741 
   29742 2010-05-26  Steven Bosscher  <steven (a] gcc.gnu.org>
   29743 
   29744 	* rtl.h (decl_default_tls_model): Move prototype from here...
   29745 	* output.h: ...to here.
   29746 	* c-decl.c: Do not include rtl.h.
   29747 	* c-pragma.c: Likewise.
   29748 	* c-parser.c: Likewise.
   29749 	* c-gimplify.c: Likewise.  And also not hard-reg-set.
   29750 	* c-common.c: Do not include rtl.h.  Include tm_p.h and add a
   29751 	FIXME note for it.  Add a FIXME note for expr.h.
   29752 	* config/i386/i386-protos.h (ix86_enum_va_list, ix86_fn_abi_va_list,
   29753 	ix86_canonical_va_list_type): Make visible even if RTX_CODE is not
   29754 	defined.
   29755 
   29756 2010-05-26  Jakub Jelinek  <jakub (a] redhat.com>
   29757 
   29758 	PR target/44199
   29759 	* config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
   29760 	or total_size is larger than red zone size for non-V4 ABI, emit a
   29761 	stack_tie resp. frame_tie insn before stack pointer restore.
   29762 	* config/rs6000/rs6000.md (frame_tie): New insn.
   29763 
   29764 2010-05-25  Eric Botcazou  <ebotcazou (a] adacore.com>
   29765 
   29766 	* function.h (struct function): Add can_throw_non_call_exceptions bit.
   29767 	* lto-streamer-in.c (input_function): Stream it in.
   29768 	* lto-streamer-out.c (output_function): Stream it out.
   29769 	* function.c (allocate_struct_function): Set it.
   29770 	(expand_function_end): Substitute cfun->can_throw_non_call_exceptions
   29771 	for flag_non_call_exceptions.
   29772 	* cfgbuild.c (control_flow_insn_p): Likewise.
   29773 	(make_edges): Likewise.
   29774 	* cfgexpand.c (expand_stack_alignment): Likewise.
   29775 	* combine.c (distribute_notes): Likewise.
   29776 	* cse.c (cse_extended_basic_block): Likewise.
   29777 	* except.c (insn_could_throw_p): Likewise.
   29778 	* gcse.c (simple_mem): Likewise.
   29779 	* ipa-pure-const.c (check_call): Likewise.
   29780 	(check_stmt ): Likewise.
   29781 	* lower-subreg.c (lower-subreg.c): Likewise.
   29782 	* optabs.c (emit_libcall_block): Likewise.
   29783 	(prepare_cmp_insn): Likewise.
   29784 	* postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
   29785 	* postreload.c (rest_of_handle_postreload): Likewise.
   29786 	* reload1.c (reload_as_needed): Likewise.
   29787 	(emit_input_reload_insns): Likewise.
   29788 	(emit_output_reload_insns): Likewise.
   29789 	(fixup_abnormal_edges): Likewise.
   29790 	* sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
   29791 	* store-motion.c (find_moveable_store): Likewise.
   29792 	* tree-eh.c (stmt_could_throw_p): Likewise.
   29793 	(tree_could_throw_p): Likewise.
   29794 	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
   29795 	* config/arm/arm.c (arm_expand_prologue): Likewise.
   29796 	(thumb1_expand_prologue): Likewise.
   29797 	* config/rx/rx.md (cbranchsf4): Likewise.
   29798 	(cmpsf): Likewise.
   29799 	* config/s390/s390.c (s390_emit_prologue): Likewise.
   29800 	* tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
   29801 	(inline_forbidden_into_p): New predicate.
   29802 	(expand_call_inline): Use it to forbid inlining.
   29803 	(tree_can_inline_p): Likewise.
   29804 
   29805 2010-05-25  Steven Bosscher  <steven (a] gcc.gnu.org>
   29806 
   29807 	* config/i386/i386-c.c: Do not include rtl.h.
   29808 	* config/i386/t-i386: Update dependencies.
   29809 
   29810 2010-05-25  Steven Bosscher  <steven (a] gcc.gnu.org>
   29811 
   29812 	* attribs.c: Do not include rtl.h.
   29813 	* Makefile.in: Update dependencies.
   29814 
   29815 2010-05-25  Anatoly Sokolov  <aesok (a] post.ru>
   29816 
   29817 	* double-int.h (double_int_and): New.
   29818 	* combine.c (try_combine): Clean up, use double_int_* and
   29819 	immed_double_int_const functions.
   29820 
   29821 2010-05-25  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   29822 
   29823 	* configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
   29824 	stderr to /dev/null instead of grep -q.
   29825 	* configure: Regenerate.
   29826 
   29827 2010-05-25  Steven Bosscher  <steven (a] gcc.gnu.org>
   29828 
   29829 	* Makefile.in (EXCEPT_H): Fix typo.
   29830 
   29831 2010-05-25  Vladimir Makarov  <vmakarov (a] redhat.com>
   29832 
   29833 	* ira-build.c (update_conflict_hard_reg_costs): New.
   29834 	(ira_build): Call update_conflict_hard_reg_costs.
   29835 
   29836 2010-05-25  Jakub Jelinek  <jakub (a] redhat.com>
   29837 
   29838 	PR debug/41371
   29839 	* var-tracking.c (find_loc_in_1pdv): Guard asserts with
   29840 	ENABLE_CHECKING.
   29841 	(intersect_loc_chains): Walk the s2var's loc_chain together
   29842 	with s1node chain as long as the locations are equal, don't
   29843 	call find_loc_in_1pdv in that case.
   29844 
   29845 	PR debug/42801
   29846 	* tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here...
   29847 	(copy_bind_expr): ... instead of here.
   29848 	(copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK
   29849 	if the block hasn't been remapped.
   29850 	* dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When
   29851 	emitting concrete instance of abstract VLA, add DW_AT_type attribute.
   29852 
   29853 2010-05-25  Richard Guenther  <rguenther (a] suse.de>
   29854 
   29855 	PR middle-end/44069
   29856 	* gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
   29857 	out-of-bounds array accesses.
   29858 
   29859 2010-05-25  Richard Guenther  <rguenther (a] suse.de>
   29860 
   29861 	* lto-wrapper.c (nr, input_names, output_names, makefile): Globalize.
   29862 	(lto_wrapper_exit): Unlink all LTRANS temporary files on error.
   29863 	(run_gcc): Re-organize to make cleanup easier.
   29864 
   29865 2010-05-25  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   29866 
   29867 	* config/s390/s390.c (optimization_options): Fix and move the
   29868 	flag_prefetch_loop_arrays override ...
   29869 	(override_options): ... here.
   29870 
   29871 2010-05-25  Joseph Myers  <joseph (a] codesourcery.com>
   29872 
   29873 	* diagnostic.c: Don't include plugin.h.
   29874 	(diagnostic_report_diagnostic): Don't handle plugins specially
   29875 	here.  Pass context to internal_error callback.
   29876 	* diagnostic.h (struct diagnostic_context): Add context parameter
   29877 	to internal_error callback.
   29878 	* plugin.c (warn_if_plugins, plugins_internal_error_function): New.
   29879 	* plugin.h (struct diagnostic_context): Declare.
   29880 	(warn_if_plugins, plugins_internal_error_function): Declare.
   29881 	* toplev.c (general_init): Set global_dc->internal_error.
   29882 	* Makefile.in (diagnostic.o): Update dependencies.
   29883 
   29884 2010-05-25  Iain Sandoe  <iains (a] gcc.gnu.org>
   29885 
   29886 	* config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
   29887 	* config/rs6000/t-darwin64: New.
   29888 	* config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
   29889 	build crt2.
   29890 
   29891 2010-05-25  Christian Borntraeger  <borntraeger (a] de.ibm.com>
   29892 
   29893 	PR 44203
   29894 	* tree-ssa-loop-prefetch.c: Fix logic for step calculation to
   29895 	match the original (and intended) behaviour before r159557.  This
   29896 	changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong
   29897 	in two ways.
   29898 
   29899 2010-05-25  Richard Guenther  <rguenther (a] suse.de>
   29900 
   29901 	* doc/invoke.texi: Document -Ofast.
   29902 	* target.h (struct gcc_target): Add handle_ofast.
   29903 	* target-def.h (TARGET_HANDLE_OFAST): Add.
   29904 	(TARGET_INITIALIZER): Adjust.
   29905 	* opts.c (decode_options): Handle -Ofast.  Enable -ffast-math with it.
   29906 	* common.opt (Ofast): Add.
   29907 
   29908 2010-05-25  Paolo Bonzini  <bonzini (a] gnu.org>
   29909 
   29910 	* doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
   29911 	* doc/md.texi (cstoreXX4): Update for cond-optab changes.
   29912 
   29913 2010-05-25  Paolo Bonzini  <bonzini (a] gnu.org>
   29914 
   29915 	PR target/43610
   29916 	* optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
   29917 	even if !FLOAT_LIB_COMPARE_RETURNS_BOOL.  Always compute true_rtx and
   29918 	false_rtx.  Use false_rtx to compute the correct *ptest for reversed
   29919 	comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
   29920 
   29921 2010-05-25  Jakub Jelinek  <jakub (a] redhat.com>
   29922 
   29923 	* dwarf2out.c (loc_descr_plus_const): When offset is negative, use
   29924 	DW_OP_minus with negated offset instead of DW_OP_plus.
   29925 	(loc_list_from_tree): Don't test whether second operand is INTEGER_CST.
   29926 
   29927 2010-05-25  Wei Guozhi  <carrot (a] google.com>
   29928 
   29929 	* config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
   29930 	tst instruction and a new alternative.
   29931 	* config/arm/constraints.md (Pu): New constraint.
   29932 
   29933 2010-05-24  Sebastian Pop  <sebastian.pop (a] amd.com>
   29934 
   29935 	* function.c (assign_stack_local_1): Initialize variable
   29936 	to avoid warning when bootstrapping at -O3.
   29937 
   29938 2010-05-24  Steven Bosscher  <steven (a] gcc.gnu.org>
   29939 
   29940 	* configure.ac (all_lang_makefiles): Remove everything related to it.
   29941 	* configure: Regenerate.
   29942 	* Makefile.in: Fix reference to ada Make-lang.in.
   29943 	Remove support for LANG_MAKEFILES.
   29944 
   29945 2010-05-24  Daniel Jacobowitz  <dan (a] codesourcery.com>
   29946 	    Sandra Loosemore  <sandra (a] codesourcery.com>
   29947 
   29948 	* config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
   29949 	* doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
   29950 	description.  Add arm_neon_fp16_ok.
   29951 	(Add Options): Add arm_neon and arm_neon_fp16.
   29952 
   29953 2010-05-24  Joseph Myers  <joseph (a] codesourcery.com>
   29954 
   29955 	* diagnostic.c: Don't include flags.h.
   29956 	(pedantic_warning_kind, permissive_error_kind): Take diagnostic
   29957 	context parameters.  Check flags in the context passed as a parameter.
   29958 	(diagnostic_build_prefix): Add context parameter.  Check
   29959 	show_column flag in context.
   29960 	(diagnostic_action_after_output): Check fatal_errors flag in context.
   29961 	(diagnostic_report_current_module): Check show_column flag in context.
   29962 	(default_diagnostic_starter): Update call to
   29963 	diagnostic_build_prefix.
   29964 	(diagnostic_report_diagnostic): Pass context to pedantic_warning_kind.
   29965 	(emit_diagnostic): Pass context to permissive_error_kind.
   29966 	(permerror): Pass context to permissive_error_kind.
   29967 	* diagnostic.h (struct diagnostic_context): Add show_column,
   29968 	pedantic_errors, permissive and fatal_errors fields.
   29969 	(diagnostic_build_prefix): Update prototype.
   29970 	* langhooks.c
   29971 	* toplev.c (process_options): Set flags in global_dc from
   29972 	flag_show_column, flag_pedantic_errors, flag_permissive,
   29973 	flag_fatal_errors.
   29974 	* tree-diagnostic.c (default_tree_diagnostic_starter): Update call
   29975 	to diagnostic_build_prefix.
   29976 	* Makefile.in (diagnostic.o): Update dependencies.
   29977 
   29978 2010-05-24  H.J. Lu  <hongjiu.lu (a] intel.com>
   29979 
   29980 	* config/i386/ia32intrin.h (__crc32q): Define only if
   29981 	__SSE4_2__ is defined.
   29982 
   29983 2010-05-24  Iain Sandoe  <iains (a] gcc.gnu.org>
   29984 
   29985 	PR target/44132
   29986 	PR middle-end/43602
   29987 	* varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P,
   29988 	DECL_VISIBILITY_SPECIFIED.
   29989 	(emutls_decl): Set DECL_PRESERVE_P and copy
   29990 	DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P.
   29991 	(emutls_finalize_control_var): New callback.
   29992 	(emutls_finish): Finalize emutls control variables.
   29993 	* toplev.c (compile_file): Move the call to emutls_finish ()
   29994 	before varpool_assemble_pending_decls ().
   29995 
   29996 2010-05-24  Daniel Gutson  <dgutson (a] codesourcery.com>
   29997 
   29998 	* config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
   29999 	added to the preprocessor condition.
   30000 
   30001 2010-05-24  Paul Brook  <paul (a] codesourcery.com>
   30002 
   30003 	* gengtype-lex.l: Add HARD_REG_SET.
   30004 	* expr.c (expand_expr_real_1): Record writes to hard registers.
   30005 	* function.c (rtl_data): Add asm_clobbers.
   30006 	* ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
   30007 	(ira_setup_eliminable_regset): Remove regs_asm_clobbered.
   30008 	Use crtl->asm_clobbers.
   30009 
   30010 2010-05-24  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   30011 
   30012 	* doc/makefile.texi (Makefile): Mention stages 'profile'
   30013 	and 'feedback' for profiledbootstrap.
   30014 
   30015 2010-05-23  H.J. Lu  <hongjiu.lu (a] intel.com>
   30016 
   30017 	PR target/44245
   30018 	* config/i386/i386.c (def_builtin): Properly check
   30019 	OPTION_MASK_ISA_64BIT.
   30020 
   30021 2010-05-23  Joseph Myers  <joseph (a] codesourcery.com>
   30022 
   30023 	* c-decl.c (diagnose_mismatched_decls): Give error for duplicate
   30024 	typedefs with different but compatible types.  Allow duplicate
   30025 	typedefs with the same type except for pedantic non-C1X, but give
   30026 	warning for variably modified types.
   30027 	* c-typeck.c (tagged_types_tu_compatible_p,
   30028 	function_types_compatible_p, type_lists_compatible_p,
   30029 	comptypes_internal): Add parameter different_types_p; set
   30030 	*different_types_p for different but compatible types.  All
   30031 	callers changed.
   30032 	(comptypes_check_different_types): New.
   30033 	* c-tree.h (comptypes_check_different_types): Declare.
   30034 
   30035 2010-05-23  Steven Bosscher  <steven (a] gcc.gnu.org>
   30036 
   30037 	* regs.h: Do not include obstack.h, basic-block.h.  Include machmode.h.
   30038 	* jump.c: Include basic-block.h.
   30039 	* profile.c: Likewise.
   30040 	* tree-profile.c: Likewise.
   30041 	* coverage.c: Likewise.
   30042 	* basic-block.h (optimize_function_for_size_p): Move to function.h.
   30043 	(optimize_function_for_speed_p): Likewise.
   30044 	* function.h (optimize_function_for_size_p,
   30045 	optimize_function_for_speed_p): Moved here from basic-block.h.
   30046 	* Makefile.in: Update dependencies.
   30047 
   30048 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   30049 
   30050 	* lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS
   30051 	before calling make; allow override through $MAKE.
   30052 	* doc/invoke.texi (Optimize Options): Document override.
   30053 
   30054 2010-05-23  Anatoly Sokolov  <aesok (a] post.ru>
   30055 
   30056 	* config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New.
   30057 	(TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
   30058 	(rs6000_mode_dependent_address_ptr): Make static.
   30059 	* config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
   30060 	* config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr):
   30061 	Remove.
   30062 
   30063 2010-05-23  Maarten Lankhorst  <mlankhorst (a] codeweavers.com>
   30064 
   30065 	PR target/43869
   30066 	* config/i386/i386.c: Make sure that the correct regparm is passed.
   30067 
   30068 2010-05-23  Steven Bosscher  <steven (a] gcc.gnu.org>
   30069 
   30070 	* sbitmap.h (sbitmap_ptr, const_sbitmap_ptr): Move from here...
   30071 	* sbitmap.c: ...to here to internalize sbitmap element access.
   30072 	Do not include tm.h, rtl.h, flags.h, hard-reg-set.h, and obstack.h.
   30073 	Explain why basic-block.h is included.
   30074 	* function.h: Include tm.h for CUMULATIVE_ARGS.
   30075 	* Makefile.in: Update dependencies.
   30076 
   30077 2010-05-22  Steven Bosscher  <steven (a] gcc.gnu.org>
   30078 
   30079 	* coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
   30080 	New core types.
   30081 	* sbitmap.h (struct sbitmap_def): Do not typedef here.
   30082 	* sbitmap.c: Include sbitmap.h.
   30083 	* basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
   30084 	hard-reg-set.h.  Split everything related to regsets out from here...
   30085 	* regset.h: ...to here.  New file.
   30086 	* df.h: Include regset.h and sbitmap.h.
   30087 	* tree-flow.h: Likewise.
   30088 	* cfgloop.h: Likewise.
   30089 	* except.h: Do not include sbitmap.h.  Include hashtab.h.
   30090 	* cgraph.h: Include vec.h and function.h.
   30091 	* reload.h (struct insn_chain): Change types of live_throughout
   30092 	and dead_or_set from regset_head to bitmap_head.
   30093 	(compute_use_by_pseudos): Be defined also if regset.h is not included.
   30094 	* ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
   30095 	spilled_regs from regset_head to bitmap_head to avoid dependency
   30096 	in regset.h.
   30097 	* sel-sched-ir.h: Include regset.h.
   30098 	* reload.c: Include df.h before reload.h.
   30099 	* caller-save.c: Likewise.
   30100 	* reload1.c: Likewise.
   30101 	* ira.c: Likewise.
   30102 	(mark_elimination): Update type of r to bitmap, consistent with
   30103 	DF_LR_IN.
   30104 	* dominance.c: Include bitmap.h.
   30105 	* modulo-sched.c: Include df.h.
   30106 	* cfganal.c: Include bitmap.h and sbitmap.h.
   30107 	* cfgbuild.c: Include sbitmap.h.
   30108 	* lcm.c: Include sbitmap.h.
   30109 	* gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
   30110 	* domwalk.c: Include sbitmap.h, exclude ggc.h.
   30111 	* cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
   30112 	* cselib.c: Include bitmap.h.
   30113 	* tree-optimize.c: Include regset.h.
   30114 	* stmt.c: Include bitmap.h.
   30115 	* Makefile.in: Update dependencies.
   30116 
   30117 2010-05-22  Jan Hubicka  <jh (a] suse.cz>
   30118 
   30119 	* cgraph.h (struct varpool_node): Add same_comdat_group.
   30120 	* lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group
   30121 	pointer.
   30122 	(output_varpool): Update call of lto_output_varpool_node.
   30123 	(input_varpool): Read same_comdat_group pointer.
   30124 	(input_varpool_1): Fixup same_comdat_group pointer.
   30125 	* ipa.c (cgraph_remove_unreachable_nodes): WHen one of same comdat
   30126 	group is needed, all are.
   30127 	* varpool.c (varpool_remove_node): Remove node from same comdat group
   30128 	linklist too.
   30129 	(varpool_analyze_pending_decls): Walk same comdat groups.
   30130 
   30131 2010-05-22  Steven Bosscher  <steven (a] gcc.gnu.org>
   30132 
   30133 	* rtl.h (union rtunion_def): Remove rt_bit member.
   30134 	(XBITMAP, X0BITMAP, XCBITMAP): Remove.
   30135 	* print-rtl (print_rtx): Do not print the member.
   30136 	* gengtype.c (adjust_field_rtx_def): Do not handle it.
   30137 	* gengenrtl.c (type_from_format): Likewise.
   30138 	(accessor_from_format): Likewise.
   30139 
   30140 2010-05-22  Joseph Myers  <joseph (a] codesourcery.com>
   30141 
   30142 	* dbgcnt.c: Include toplev.h instead of errors.h.
   30143 	* ira-emit.c: Don't include errors.h.
   30144 	* ira.c: Include toplev.h instead of errors.h.
   30145 	* lto-compress.c: Include toplev.h instead of errors.h.
   30146 	* Makefile.in (lto-compress.o, lto-streamer-out.o, ira-emit.o,
   30147 	ira.o, dbgcnt.o): Update dependencies.
   30148 
   30149 2010-05-22  Richard Guenther  <rguenther (a] suse.de>
   30150 
   30151 	* gimple.c (gimple_types_compatible_p): Check type qualifications
   30152 	before merging pointer to complete and pointer to incomplete type.
   30153 	* lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure
   30154 	we use our own resolution algorithm.  The gold linker plugin
   30155 	doesn't do the job we want it to do here.
   30156 
   30157 2010-05-22  Anatoly Sokolov  <aesok (a] post.ru>
   30158 
   30159 	* config/sparc/sparc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
   30160 	* config/sparc/sparc.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
   30161 	(sparc_mode_dependent_address_p): New function.
   30162 
   30163 2010-05-21  Steven Bosscher  <steven (a] gcc.gnu.org>
   30164 
   30165 	* Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars.
   30166 
   30167 	* timevar.c: Do not include any core headers.
   30168 	(timevar_print): De-i18n-ize.
   30169 	(print_time): Likewise.
   30170 	* timevar.h (timevar_push, timevar_pop): Make inline functions.
   30171 
   30172 2010-05-21  Joseph Myers  <joseph (a] codesourcery.com>
   30173 
   30174 	* diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
   30175 	langhooks-def.h.
   30176 	(diagnostic_initialize): Initialize x_data not last_function.
   30177 	(diagnostic_report_current_function): Move to tree-diagnostic.c.
   30178 	(default_diagnostic_starter): Call
   30179 	diagnostic_report_current_module not
   30180 	diagnostic_report_current_function.
   30181 	(diagnostic_report_diagnostic): Initialize x_data not
   30182 	abstract_origin.
   30183 	(verbatim): Likewise.
   30184 	* diagnostic.h (struct diagnostic_info): Change abstract_origin to
   30185 	x_data.
   30186 	(struct diagnostic_context): Change last_function to x_data.
   30187 	(diagnostic_auxiliary_data): Replace with
   30188 	diagnostic_context_auxiliary_data and
   30189 	diagnostic_info_auxiliary_data.
   30190 	(diagnostic_last_function_changed, diagnostic_set_last_function,
   30191 	diagnostic_report_current_function): Move to tree-diagnostic.h.
   30192 	(print_declaration, dump_generic_node, print_generic_stmt,
   30193 	print_generic_stmt_indented, print_generic_expr,
   30194 	print_generic_decl, debug_c_tree, dump_omp_clauses,
   30195 	print_call_name, debug_generic_expr, debug_generic_stmt,
   30196 	debug_tree_chain, default_tree_printer): Move to
   30197 	tree-pretty-print.h.
   30198 	(debug_gimple_stmt, debug_gimple_seq, print_gimple_seq,
   30199 	print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to
   30200 	gimple-pretty-print.h.
   30201 	* pretty-print.c: Don't include tree.h
   30202 	(pp_base_format): Don't handle %K here.
   30203 	(pp_base_tree_identifier): Move to tree-pretty-print.c.
   30204 	* pretty-print.h (text_info): Change abstract_origin to x_data.
   30205 	(pp_tree_identifier, pp_unsupported_tree,
   30206 	pp_base_tree_identifier): Move to tree-pretty-print.h.
   30207 	* gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h,
   30208 	tree-pretty-print.h: New files.
   30209 	* tree-pretty-print.c: Include tree-pretty-print.h.
   30210 	(percent_K_format): New.  Moved from pretty-print.c.
   30211 	(pp_base_tree_identifier): Move from pretty-print.c.
   30212 	* c-objc-common.c: Include tree-pretty-print.h.
   30213 	(c_tree_printer): Handle %K here.
   30214 	* langhooks.c: Include tree-diagnostic.h.
   30215 	(lhd_print_error_function): Use diagnostic_abstract_origin macro.
   30216 	* toplev.c: Include tree-diagnostic.h and tree-pretty-print.h.
   30217 	(default_tree_printer): Handle %K using percent_K_format.
   30218 	(general_init): Use default_tree_diagnostic_starter.
   30219 	* tree.c: Include tree-diagnostic.h and tree-pretty-print.h.
   30220 	(free_lang_data): Use default_tree_diagnostic_starter.
   30221 	* c-pretty-print.c: Include tree-pretty-print.h.
   30222 	* cfgexpand.c: Include tree-pretty-print.h and gimple-pretty-print.h.
   30223 	* cgraphunit.c: Include tree-pretty-print.h and gimple-pretty-print.h.
   30224 	* dwarf2out.c: Include tree-pretty-print.h.
   30225 	* except.c: Include tree-pretty-print.h.
   30226 	* gimple-pretty-print.c: Include tree-pretty-print.h and
   30227 	gimple-pretty-print.h.
   30228 	* gimplify.c: Include tree-pretty-print.h.
   30229 	* graphite-poly.c: Include tree-pretty-print.h and
   30230 	gimple-pretty-print.h.
   30231 	* ipa-cp.c: Include tree-pretty-print.h.
   30232 	* ipa-inline.c: Include gimple-pretty-print.h.
   30233 	* ipa-prop.c: Include tree-pretty-print.h and gimple-pretty-print.h.
   30234 	* ipa-pure-const.c: Include gimple-pretty-print.h.
   30235 	* ipa-struct-reorg.c: Include tree-pretty-print.h and
   30236 	gimple-pretty-print.h.
   30237 	* ipa-type-escape.c: Include tree-pretty-print.h.
   30238 	* print-rtl.c: Include tree-pretty-print.h.
   30239 	* print-tree.c: Include gimple-pretty-print.h.
   30240 	* sese.c: Include tree-pretty-print.h.
   30241 	* tree-affine.c: Include tree-pretty-print.h.
   30242 	* tree-browser.c: Include tree-pretty-print.h.
   30243 	* tree-call-cdce.c: Include gimple-pretty-print.h.
   30244 	* tree-cfg.c: Include tree-pretty-print.h and gimple-pretty-print.h.
   30245 	* tree-chrec.c: Include tree-pretty-print.h.
   30246 	* tree-data-ref.c: Include tree-pretty-print.h and
   30247 	gimple-pretty-print.h.
   30248 	* tree-dfa.c: Include tree-pretty-print.h.
   30249 	* tree-if-conv.c: Include tree-pretty-print.h and
   30250 	gimple-pretty-print.h.
   30251 	* tree-inline.c: Include tree-pretty-print.h.
   30252 	* tree-into-ssa.c: Include tree-pretty-print.h and
   30253 	gimple-pretty-print.h.
   30254 	* tree-nrv.c: Include tree-pretty-print.h.
   30255 	* tree-object-size.c: Include tree-pretty-print.h and
   30256 	gimple-pretty-print.h.
   30257 	* tree-outof-ssa.c: Include tree-pretty-print.h and
   30258 	gimple-pretty-print.h.
   30259 	* tree-parloops.c: Include tree-pretty-print.h and
   30260 	gimple-pretty-print.h.
   30261 	* tree-predcom.c: Include tree-pretty-print.h and
   30262 	gimple-pretty-print.h.
   30263 	* tree-scalar-evolution.c: Include tree-pretty-print.h and
   30264 	gimple-pretty-print.h.
   30265 	* tree-sra.c: Include tree-pretty-print.h.
   30266 	* tree-ssa-address.c: Include tree-pretty-print.h.
   30267 	* tree-ssa-alias.c: Include tree-pretty-print.h.
   30268 	* tree-ssa-ccp.c: Include tree-pretty-print.h and
   30269 	gimple-pretty-print.h.
   30270 	* tree-ssa-coalesce.c: Include tree-pretty-print.h.
   30271 	* tree-ssa-copy.c: Include tree-pretty-print.h and
   30272 	gimple-pretty-print.h.
   30273 	* tree-ssa-copyrename.c: Include tree-pretty-print.h.
   30274 	* tree-ssa-dce.c: Include tree-pretty-print.h and
   30275 	gimple-pretty-print.h.
   30276 	* tree-ssa-dom.c: Include tree-pretty-print.h and
   30277 	gimple-pretty-print.h.
   30278 	* tree-ssa-dse.c: Include gimple-pretty-print.h.
   30279 	* tree-ssa-forwprop.c: Include tree-pretty-print.h.
   30280 	* tree-ssa-ifcombine.c: Include tree-pretty-print.h.
   30281 	* tree-ssa-live.c: Include tree-pretty-print.h and
   30282 	gimple-pretty-print.h.
   30283 	* tree-ssa-loop-im.c: Include tree-pretty-print.h and
   30284 	gimple-pretty-print.h.
   30285 	* tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and
   30286 	gimple-pretty-print.h.
   30287 	* tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and
   30288 	gimple-pretty-print.h.
   30289 	* tree-ssa-loop-niter.c: Include tree-pretty-print.h and
   30290 	gimple-pretty-print.h.
   30291 	* tree-ssa-loop-prefetch.c: Include tree-pretty-print.h.
   30292 	* tree-ssa-math-opts.c: Include gimple-pretty-print.h.
   30293 	* tree-ssa-operands.c: Include tree-pretty-print.h and
   30294 	gimple-pretty-print.h.
   30295 	* tree-ssa-phiprop.c: Include tree-pretty-print.h and
   30296 	gimple-pretty-print.h.
   30297 	* tree-ssa-pre.c: Include tree-pretty-print.h and
   30298 	gimple-pretty-print.h.
   30299 	* tree-ssa-propagate.c: Include gimple-pretty-print.h.
   30300 	* tree-ssa-reassoc.c: Include tree-pretty-print.h and
   30301 	gimple-pretty-print.h.
   30302 	* tree-ssa-sccvn.c: Include tree-pretty-print.h and
   30303 	gimple-pretty-print.h.
   30304 	* tree-ssa-sink.c: Include gimple-pretty-print.h.
   30305 	* tree-ssa-ter.c: Include tree-pretty-print.h and
   30306 	gimple-pretty-print.h.
   30307 	* tree-ssa-uninit.c: Include gimple-pretty-print.h.
   30308 	* tree-ssa.c: Include tree-pretty-print.h and
   30309 	gimple-pretty-print.h.
   30310 	* tree-stdarg.c: Include gimple-pretty-print.h.
   30311 	* tree-switch-conversion.c: Include gimple-pretty-print.h.
   30312 	* tree-tailcall.c: Include tree-pretty-print.h and
   30313 	gimple-pretty-print.h.
   30314 	* tree-vect-data-refs.c: Include tree-pretty-print.h and
   30315 	gimple-pretty-print.h.
   30316 	* tree-vect-loop-manip.c: Include tree-pretty-print.h and
   30317 	gimple-pretty-print.h.
   30318 	* tree-vect-loop.c: Include tree-pretty-print.h and
   30319 	gimple-pretty-print.h.
   30320 	* tree-vect-patterns.c: Include gimple-pretty-print.h.
   30321 	* tree-vect-slp.c: Include tree-pretty-print.h and
   30322 	gimple-pretty-print.h.
   30323 	* tree-vect-stmts.c: Include tree-pretty-print.h and
   30324 	gimple-pretty-print.h.
   30325 	* tree-vectorizer.c: Include tree-pretty-print.h.
   30326 	* tree-vrp.c: Include tree-pretty-print.h and
   30327 	gimple-pretty-print.h.
   30328 	* value-prof.c: Include tree-pretty-print.h and
   30329 	gimple-pretty-print.h.
   30330 	* var-tracking.c: Include tree-pretty-print.h.
   30331 	* Makefile.in (OBJS-common): Add tree-diagnostic.o.
   30332 	(tree-diagnostic.o): New dependencies.
   30333 	(c-objc-common.o, c-pretty-print.o, langhooks.o, tree.o,
   30334 	tree-inline.o, print-tree.o, stor-layout.o, tree-ssa-uninit.o,
   30335 	tree-ssa.o, tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o,
   30336 	tree-outof-ssa.o, tree-ssa-forwprop.o, tree-ssa-phiprop.o,
   30337 	tree-ssa-ifcombine.o, tree-nrv.o, tree-ssa-copy.o,
   30338 	tree-ssa-propagate.o, tree-ssa-dom.o, tree-ssa-uncprop.o,
   30339 	tree-ssa-live.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
   30340 	tree-ssa-sccvn.o, tree-vrp.o, tree-cfg.o, tree-tailcall.o,
   30341 	tree-ssa-sink.o, tree-if-conv.o, tree-dfa.o, tree-ssa-operands.o,
   30342 	tree-ssa-address.o, tree-ssa-loop-niter.o,
   30343 	tree-ssa-loop-ivcanon.o, tree-ssa-loop-prefetch.o, tree-predcom.o,
   30344 	tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-im.o,
   30345 	tree-ssa-math-opts.o, tree-ssa-alias.o, tree-ssa-reassoc.o,
   30346 	gimplify.o, tree-browser.o, tree-chrec.o, tree-scalar-evolution.o,
   30347 	tree-data-ref.o, sese.o, graphite-poly.o, tree-vect-loop.o,
   30348 	tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o,
   30349 	tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o,
   30350 	tree-parloops.o, tree-stdarg.o, tree-object-size.o,
   30351 	gimple-pretty-print.o, tree-pretty-print.o, diagnostic.o,
   30352 	toplev.o, print-rtl.o, except.o, dwarf2out.o, cgraphunit.o,
   30353 	ipa-prop.o, ipa-cp.o, ipa-inline.o, ipa-pure-const.o,
   30354 	ipa-type-escape.o, ipa-struct-reorg.o, tree-ssa-dce.o,
   30355 	tree-call-cdce.o, tree-ssa-ccp.o, tree-sra.o,
   30356 	tree-switch-conversion.o, var-tracking.o, value-prof.o,
   30357 	cfgexpand.o, pretty-print.o): Update dependencies.
   30358 
   30359 2010-05-22  Andreas Tobler  <andreast (a] fgznet.ch>
   30360 
   30361 	* tree-ssa-structalias.c: Remove tm_p.h from include.
   30362 
   30363 2010-05-21  Jeff Law  <law (a] redhat.com>
   30364 
   30365 	* ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Fix typo.
   30366 
   30367 2010-05-21  Jason Merrill  <jason (a] redhat.com>
   30368 
   30369 	* tree-eh.c (cleanup_is_dead_in): New.
   30370 	(lower_try_finally): Don't generate a dead cleanup region.
   30371 	(lower_cleanup): Likewise.
   30372 
   30373 2010-05-21  Jakub Jelinek  <jakub (a] redhat.com>
   30374 
   30375 	PR debug/44223
   30376 	* haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
   30377 	unchain each use from the cyclic next_regno_use chain first.
   30378 
   30379 2010-05-21  Steven Bosscher  <steven (a] gcc.gnu.org>
   30380 
   30381 	* real: Do not include gmp.h, mpfr.h, and mpc.h.
   30382 	(REAL_VALUE_NEGATE, REAL_VALUE_ABS, real_arithmetic2): Remove.
   30383 	(real_value_negate, real_value_abs): New prototypes.
   30384 	(do_mpc_arg2, real_from_mpfr, mpfr_from_real): Move from here...
   30385 	* realmpfr.h (do_mpc_arg2, real_from_mpfr, mpfr_from_real): ...to here,
   30386 	new include file for interface between MPFR and REAL_VALUE_TYPE.
   30387 	* real.c: Include realmpfr.h.
   30388 	(real_arithmetic2): Remove legacy function.
   30389 	(real_value_negate): New.
   30390 	(real_value_abs): New.
   30391 	(mfpr_from_real, real_from_mpfr): Move from here...
   30392 	* realmpfr.c (mpfr_from_real, real_from_mpfr): ...to here, new file.
   30393 	* builtins.c: Include realmpfr.h.
   30394 	* fold-const.c: Include realmpfr.h.
   30395 	(fold_comparison): Use real_value_negate instead of REAL_VALUE_NEGATE.
   30396 	(fold_negate_const): Likewise.
   30397 	(fold_abs_const): Use real_value_abs instead of REAL_VALUE_ABS.
   30398 	* toplev.c: Include realmpfr.h.
   30399 	* simplify-rtx.c (simplify_const_unary_operation): Use real_value_abs
   30400 	and real_value_negate.
   30401 	* fixed-value.c (check_real_for_fixed_mode): Likewise.
   30402 	* config/arm/arm.c (neg_const_double_rtx_ok_for_fpa): Likewise.
   30403 	(vfp3_const_double_index): Likewise.
   30404 	(arm_print_operand): Likewise.
   30405 	* Makefile.in: Update dependencies.
   30406 
   30407 2010-05-21  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   30408 
   30409 	* config/s390/s390.c (override_options): Increase the default
   30410 	of max-completely-peel-times.
   30411 
   30412 2010-05-21  Julian Brown  <julian (a] codesourcery.com>
   30413 	    Mark Mitchell  <mark (a] codesourcery.com>
   30414 
   30415 	* config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
   30416 	sibling calls for Thumb-1.
   30417 	* config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
   30418 	* config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
   30419 	Thumb-2.
   30420 	(*call_insn, *call_value_insn): Don't use for Thumb-2.
   30421 	(sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
   30422 	for Thumb-2.
   30423 	(return): New expander.
   30424 	(*arm_return): New name for ARM return insn.
   30425 	* config/arm/thumb2.md (*thumb2_return): New insn pattern.
   30426 
   30427 2010-05-19  Joel Sherrill  <joel.sherrill (a] oarcorp.com>
   30428 
   30429 	* config.gcc (sparc64-*-rtems*): New target.
   30430 
   30431 2010-05-21  Nathan Froyd  <froydnj (a] codesourcery.com>
   30432 
   30433 	* tree.c (build_function_decl_skip_args): Fix grammar.
   30434 	(build_function_type_list_1): Fix typos, adjust formatting.
   30435 
   30436 2010-05-21  Steven Bosscher  <steven (a] gcc.gnu.org>
   30437 
   30438 	* tree.h: Include real.h and fixed-value.h as basic datatypes.
   30439 	* dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
   30440 	tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
   30441 	tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
   30442 	tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
   30443 	genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
   30444 	tree-pretty-print.c, tree-loop-distribution.c,
   30445 	tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
   30446 	tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
   30447 	tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
   30448 	tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
   30449 	tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
   30450 	tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
   30451 	tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
   30452 	tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
   30453 	tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
   30454 	tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
   30455 	genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
   30456 	tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
   30457 	gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
   30458 	tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
   30459 	tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
   30460 	store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
   30461 	tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
   30462 	tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
   30463 	tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
   30464 	tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
   30465 	fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
   30466 	tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
   30467 	config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
   30468 	config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
   30469 	config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
   30470 	config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
   30471 	config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
   30472 	config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
   30473 	config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
   30474 	config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
   30475 	config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
   30476 	config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
   30477 	config/score/score7.c, config/score/score.c, config/arm/arm.c,
   30478 	config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
   30479 	config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
   30480 	config/bfin/bfin.c: Clean up redundant includes.
   30481 	* Makefile.in: Update accordingly.
   30482 
   30483 2010-05-21  Nathan Froyd  <froydnj (a] codesourcery.com>
   30484 
   30485 	PR middle-end/44204
   30486 	* builtins.c (fold_call_stmt): Pass &error_mark_node if the call
   30487 	statement has no arguments.
   30488 
   30489 2010-05-21  Kai Tietz  <kai.tietz (a] onevision.com>
   30490 
   30491 	PR/44139
   30492 	* varasm.c (emutls_decl): Merge attributes to new decl.
   30493 
   30494 2010-05-21  Eric Botcazou  <ebotcazou (a] adacore.com>
   30495 
   30496 	PR middle-end/44101
   30497 	* gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
   30498 	around the uniquized constructor if its type requires a conversion.
   30499 
   30500 2010-05-21  Jakub Jelinek  <jakub (a] redhat.com>
   30501 
   30502 	PR debug/44205
   30503 	* tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
   30504 	at -O0 goto_locus of any of the incoming edges differs from
   30505 	goto_locus of outgoing edge, or gimple_location of any of the
   30506 	labels differs.
   30507 
   30508 2009-09-14  Vladimir Makarov  <vmakarov (a] redhat.com>
   30509 
   30510 	* ira.c (ira_non_ordered_class_hard_regs): Define.
   30511 	(setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs.
   30512 	* ira-int.h (ira_non_ordered_class_hard_regs): Declare.
   30513 	* ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase
   30514 	cost of unaligned hard regs when allocating multi-reg pseudos.
   30515 
   30516 2010-05-20  Richard Sandiford  <rdsandiford (a] googlemail.com>
   30517 
   30518 	* config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
   30519 	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float
   30520 	for TARGET_NO_FLOAT.
   30521 	* config/mips/mips.c (mips_file_start): Expand conditional expression
   30522 	into "if" statements.  Use .gnu_attribute 4,0 for TARGET_NO_FLOAT.
   30523 	(mips_override_options): Move -mno-float override -msoft-float and
   30524 	-mhard-float.
   30525 	* config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add
   30526 	Condition(TARGET_SUPPORTS_NO_FLOAT).
   30527 	* config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set
   30528 	__mips_no_float here.
   30529 	(SUBTARGET_OVERRIDE_OPTIONS): Delete.
   30530 	(TARGET_SUPPORTS_NO_FLOAT): Define.
   30531 	* config/mips/sdemtk.opt: Delete.
   30532 
   30533 2010-05-20  Segher Boessenkool  <segher (a] kernel.crashing.org>
   30534 
   30535 	* ipa-prop.c (compute_complex_ancestor_jump_func): Bail out if !cond.
   30536 
   30537 2010-05-20  Uros Bizjak  <ubizjak (a] gmail.com>
   30538 
   30539 	PR target/43733
   30540 	* configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
   30541 	* configure: Regenerate.
   30542 	* config.in: Regenerate.
   30543 	* config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
   30544 	instead of sahf only for 64bit targets.
   30545 
   30546 2010-05-20  Jakub Jelinek  <jakub (a] redhat.com>
   30547 
   30548 	PR debug/44178
   30549 	* haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
   30550 	setup_ref_regs for DEBUG_INSNs.
   30551 
   30552 2010-05-20  Jan Hubicka  <jh (a] suse.cz>
   30553 
   30554 	PR middle-end/44197
   30555 	* varpool.c (varpool_remove_node): Handle in-varpool aliases.
   30556 
   30557 2010-05-20  Kenneth Zadeck  <zadeck (a] naturalbridge.com>
   30558 
   30559 	PR bootstrap/43870
   30560 	* df-scan.c (df_ref_compare): Stabilize sort.
   30561 
   30562 2010-05-20  Jakub Jelinek  <jakub (a] redhat.com>
   30563 
   30564 	* dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
   30565 	argument.  Don't use DW_OP_piece if offset is non-zero,
   30566 	put offset into second DW_OP_bit_piece argument.
   30567 	(dw_sra_loc_expr): Adjust callers.  For memory expressions
   30568 	compute offset.
   30569 
   30570 2010-05-20  Hans-Peter Nilsson  <hp (a] axis.com>
   30571 
   30572 	PR target/44202
   30573 	* config/cris/cris.md ("*addsi3_v32"): Correct "cc"
   30574 	settings for 16-bit-constant "addo" alternative.
   30575 
   30576 2010-05-19  James E. Wilson  <wilson (a] codesourcery.com>
   30577 
   30578 	* config/mips/mips-dsp.md (add<DSPV:mode>3,
   30579 	mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.
   30580 
   30581 	PR target/43764
   30582 	* mips.c (mips_call_expr_from_insn): New arg second_call.  Set it.
   30583 	(mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
   30584 	Use it.
   30585 
   30586 2010-05-19  Joseph Myers  <joseph (a] codesourcery.com>
   30587 
   30588 	* diagnostic.c (FLOAT, FFS): Don't undefine.
   30589 	* passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
   30590 	* cse.c, regmove.c: Remove comments about stdio.h and rtl.h
   30591 	include ordering.
   30592 
   30593 2010-05-19  Richard Sandiford  <rdsandiford (a] googlemail.com>
   30594 
   30595 	* combine.c (propagate_for_debug): Call make_compound_operation
   30596 	on the source value.
   30597 	(try_combine): When implementing a split chosen by find_split_point,
   30598 	either copy i2src or set it to null.  Assert that i2src is not null
   30599 	before substituting into CALL_INSN_FUNCTION_USAGE.
   30600 
   30601 2010-05-19  Anatoly Sokolov  <aesok (a] post.ru>
   30602 
   30603 	* double-int.h (double_int_ior): New function.
   30604 	* tree.h (build_int_cst_wide_type): Remove.
   30605 	* tree.c (build_int_cst_wide_type): Remove.
   30606 	* fold-const.c (native_interpret_int): Use double_int_to_tree instead
   30607 	of build_int_cst_wide_type.
   30608 	* stor-layout.c (set_sizetype): (Ditto.).
   30609 	* dojump.c (do_jump): Use build_int_cstu instead of
   30610 	build_int_cst_wide_type.
   30611 
   30612 2010-05-19  Eric Botcazou  <ebotcazou (a] adacore.com>
   30613 
   30614 	* langhooks.h (struct lang_hooks): Add new field deep_unsharing.
   30615 	* langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
   30616 	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
   30617 	* gimplify.c (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
   30618 	TARGET_EXPR nodes, but only once, if instructed to do so.  Do not
   30619 	propagate the 'data' argument to copy_tree_r.
   30620 	(copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
   30621 	Propagate 'data' argument to walk_tree.
   30622 	(copy_if_shared): New function.
   30623 	(unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
   30624 	(unmark_visited): New function.
   30625 	(unshare_body): Call copy_if_shared instead of doing it manually.
   30626 	(unvisit_body): Call unmark_visited instead of doing it manually.
   30627 
   30628 2010-05-19  Nathan Froyd  <froydnj (a] codesourcery.com>
   30629 
   30630 	* hooks.h (hook_tree_tree_tree_bool_null): Rename to...
   30631 	(hook_tree_tree_int_treep_bool_null): ...this.  Update signature.
   30632 	* hooks.c: Likewise.
   30633 	* target-def.h (TARGET_FOLD_BUILTIN): Define to
   30634 	hook_tree_tree_int_treep_bool_null.
   30635 	* target.h (struct gcc_target): Update signature of fold_builtin
   30636 	field.
   30637 	* doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
   30638 	* builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
   30639 	instead of the call expression.
   30640 	(fold_builtin_call_array): Pass n and argarray directly.
   30641 	(fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
   30642 	consing a list.
   30643 	* config/alpha/alpha.c (alpha_fold_builtin): Update signature.  Lift
   30644 	MAX_ARGS check out of the loop.  Delete declaration of `arity', declare
   30645 	`i' and use it in place of `arity'.
   30646 	* config/sparc/sparc.c (sparc_fold_builtin): Update signature.
   30647 	Dereference `args' directly.
   30648 	* config/xtensa/xtensa (xtensa_fold_builtin): Likewise.
   30649 
   30650 2010-05-19  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   30651 
   30652 	* doc/sourcebuild.texi (Effective-Target Keywords): Document
   30653 	3dnow, sse3, sse2.
   30654 	(Directives): Document optional	dg-require-effective-target
   30655 	selector.
   30656 
   30657 2010-05-19  Richard Guenther  <rguenther (a] suse.de>
   30658 
   30659 	PR lto/44196
   30660 	* tree.c (find_decls_types_r): Walk BLOCKs and its vars.
   30661 
   30662 2010-05-19  Richard Guenther  <rguenther (a] suse.de>
   30663 
   30664 	* doc/invoke.texi (-fwhopr): Document new optional jobs argument.
   30665 	* common.opt (fwhopr=): New.
   30666 	* opts.c (common_handle_option): Handle OPT_fwhopr.
   30667 	* gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
   30668 	* collect2.c (main): Match -fwhopr*.
   30669 	* lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
   30670 	Execute ltrans stage in parallel when jobs is bigger than 1.
   30671 
   30672 2010-05-19  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   30673 
   30674 	* config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
   30675 	pentiumpro on Solaris 8/x86 with Sun as.
   30676 	* configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
   30677 	hidden alias bug.
   30678 	(gcc_cv_as_ix86_quad): Check for .quad directive.
   30679 	* configure: Regenerate.
   30680 	* config.in: Regenerate.
   30681 	* config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
   30682 
   30683 2010-05-19  Martin Jambor  <mjambor (a] suse.cz>
   30684 
   30685 	* ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
   30686 	also for indirect edges.  Actual printing moved...
   30687 	(ipa_print_node_jump_functions_for_edge): ...here.
   30688 	(ipa_compute_jump_functions): Renamed to
   30689 	ipa_compute_jump_functions_for_edge and made static.
   30690 	(ipa_compute_jump_functions): New function.
   30691 	(make_edge_direct_to_target): Check if the number of arguments on
   30692 	the newly direct edge is the same as the number of parametrs of
   30693 	the callee.
   30694 	* ipa-cp.c (ipcp_init_stage): Most functionality moved to new
   30695 	ipa_compute_jump_functions.  Call ipa_analyze_params_uses.
   30696 	* ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
   30697 	analysis functions unconditionally, call the new
   30698 	ipa_analyze_params_uses on the node instead of every edge.
   30699 
   30700 2010-05-19  Christian Borntraeger  <borntraeger (a] de.ibm.com>
   30701 
   30702 	* tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
   30703 	to tree.
   30704 	(dump_mem_ref): Adopt debug code to handle a tree as step.  This
   30705 	also checks for a constant int vs.  non-constant but
   30706 	loop-invariant steps.
   30707 	(find_or_create_group): Change the sort algorithm to only consider
   30708 	steps that are constant ints.
   30709 	(idx_analyze_ref): Adopt code to handle a tree instead of a
   30710 	HOST_WIDE_INT for step.
   30711 	(gather_memory_references_ref): Handle tree instead of int and be
   30712 	prepared to see a NULL_TREE.
   30713 	(prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
   30714 	prefetches if the step cannot be calculated at compile time.
   30715 	(issue_prefetch_ref): Issue prefetches for non-constant but
   30716 	loop-invariant steps.
   30717 
   30718 2010-05-18  Nathan Froyd  <froydnj (a] codesourcery.com>
   30719 
   30720 	Revert:
   30721 	2010-05-18  Nathan Froyd  <froydnj (a] codesourcery.com>
   30722 
   30723 	* tree.h (build_call_list): Remove.
   30724 	* tree.c (build_call_list): Remove.
   30725 
   30726 2010-05-18  Nathan Froyd  <froydnj (a] codesourcery.com>
   30727 
   30728 	* tree.h (build_call_list): Remove.
   30729 	* tree.c (build_call_list): Remove.
   30730 
   30731 2010-05-18  Jan Hubicka  <jh (a] suse.cz>
   30732 
   30733 	* ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
   30734 
   30735 2010-05-18  Vladimir Makarov  <vmakarov (a] redhat.com>
   30736 
   30737 	PR rtl-optimization/43332
   30738 	* haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
   30739 
   30740 2010-05-18  Anatoly Sokolov  <aesok (a] post.ru>
   30741 
   30742 	* tree.h (build_int_cstu): Implement as static inline.
   30743 	* tree.c (build_int_cstu): Remove function.
   30744 	(double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
   30745 	sign extended.
   30746 
   30747 2010-05-18  Richard Guenther  <rguenther (a] suse.de>
   30748 
   30749 	PR lto/44143
   30750 	* lto-wrapper.c (verbose): New variable.  Initialize from -v.
   30751 	(debug): Initialize from -save-temps.
   30752 	(collect_execute): Print command-line when verbose.
   30753 	(run_gcc): Always use COLLECT_GCC_OPTIONS.  Use fork_execute
   30754 	for ltrans invocation.  Produce -dumpbase flag again.
   30755 	(process_args): Remove.
   30756 	(main): Simplify.
   30757 	* collect2.c (maybe_run_lto_and_relink): Only pass object
   30758 	files to lto-wrapper.
   30759 	* gcc.c (LINK_COMMAND_SPEC): Likewise.
   30760 
   30761 2010-05-18  Jan Hubicka  <jh (a] suse.cz>
   30762 
   30763 	* opts.c (decode_options): Do not disable whopr at ipa_cp.
   30764 	* ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
   30765 
   30766 2010-05-18  Steven Bosscher  <steven (a] gcc.gnu.org>
   30767 
   30768 	PR lto/44184
   30769 	* lto-streamer-out.c (output_gimple_stmt): Output number of labels
   30770 	in a GIMPLE_ASM.
   30771 	* lto-streamer-in.c (input_gimple_stmt): Read number of labels
   30772 	in a GIMPLE_ASM.
   30773 
   30774 2010-05-18  Jakub Jelinek  <jakub (a] redhat.com>
   30775 
   30776 	PR debug/41371
   30777 	* var-tracking.c (find_loc_in_1pdv): Add a few checks from
   30778 	rtx_equal_p inline.
   30779 
   30780 2010-05-18  Steven Bosscher  <steven (a] gcc.gnu.org>
   30781 
   30782 	* config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
   30783 	lto-macho as lto_binary_reader.
   30784 
   30785 	* darwin.c (darwin_asm_named_section): Do not add assembler comment
   30786 	after .section directive; just print it before the directive instead.
   30787 
   30788 2010-05-17  Jan Hubicka  <jh (a] suse.cz>
   30789 
   30790 	* cgraph.c (cgraph_create_virtual_clone): Only check
   30791 	versionable_function_p when not in wpa and checking is enabled.
   30792 	* cgraphunit.c (cgraph_materialize_all_clones): Stabilize after
   30793 	there are no more functions to materialize.
   30794 
   30795 2010-05-17  Jan Hubicka  <jh (a] suse.cz>
   30796 
   30797 	* cgraph.h (struct ipa_replace_map): Add parm_num parameter.
   30798 	* lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
   30799 	New functions.
   30800 	(output_cgraph): Call output_cgraph_opt_summary.
   30801 	(input_cgrpah): Call input_cgraph_opt_summary.
   30802 	(output_cgraph_opt_summary_p, output_node_opt_summary,
   30803 	input_node_opt_summary, input_cgraph_opt_section): New functions.
   30804 	* lto-section-in.c (lto_section_name): Add cgraphopt.
   30805 	* tree-inline.c (tree_function_versioning): Handle parm_num.
   30806 	* lto-streamer.c (lto_get_section_name): Handle cgraphopt.
   30807 	* lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
   30808 
   30809 2010-05-17  Changpeng Fang  <changpeng.fang (a] amd.com>
   30810 
   30811 	* doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
   30812 	* tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
   30813 	the insn to prefetch ratio heuristic to loops with known trip count.
   30814 
   30815 2010-05-17  Changpeng Fang  <changpeng.fang (a] amd.com>
   30816 
   30817 	* tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
   30818 	(schedule_prefetches): Do not generate a prefetch if the unroll factor
   30819 	is far from what is required by the prefetch.
   30820 
   30821 2010-05-17  Jan Hubicka  <jh (a] suse.cz>
   30822 
   30823 	* ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
   30824 	(ipcp_estimate_growth): Likewise.
   30825 	(ipcp_const_param_count): Likewise.
   30826 	(ipcp_insert_stage): Likewise.
   30827 	* ipa-prop.c (visit_load_for_mod_analysis): New function.
   30828 	(visit_store_addr_for_mod_analysis): Set used flag.
   30829 	(ipa_detect_param_modifications): Set used flag for SSE params;
   30830 	update use of walk_stmt_load_store_addr_ops.
   30831 	(ipa_print_node_params): Print used flag.
   30832 	(ipa_write_node_info): Stream used flag.
   30833 	(ipa_read_node_info): Likewise.
   30834 	* ipa-prop.h (struct ipa_param_descriptor): Add used field.
   30835 	(ipa_is_param_used): New function.
   30836 	(lto_ipa_fixup_call_notes): Remove unused declaration.
   30837 
   30838 2010-05-17  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   30839 
   30840 	PR target/44074
   30841 	* configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
   30842 	* configure: Regenerate.
   30843 	* config.in: Regenerate.
   30844 	* config/i386/i386.c (print_operand) <case ;>: Also print ";" if
   30845 	!HAVE_AS_IX86_REP_LOCK_PREFIX.
   30846 	Don't emit whitespace.
   30847 	* config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
   30848 	(*rep_movsi): Likewise.
   30849 	(*rep_movsi_rex64): Likewise.
   30850 	(*rep_movqi): Likewise.
   30851 	(*rep_movqi_rex64): Likewise.
   30852 	(*rep_stosdi_rex64): Likewise.
   30853 	(*rep_stossi): Likewise.
   30854 	(*rep_stossi_rex64): Likewise.
   30855 	(*rep_stosqi): Likewise.
   30856 	(*rep_stosqi_rex64): Likewise.
   30857 	(*cmpstrnqi_nz_1): Use {%;} after repz.
   30858 	(*cmpstrnqi_nz_rex_1): Likewise.
   30859 	(*cmpstrnqi_1): Likewise.
   30860 	(*cmpstrnqi_rex_1): Likewise.
   30861 	(*strlenqi_1): Use {%;} after repnz.
   30862 	(*strlenqi_rex_1): Likewise.
   30863 	* config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
   30864 	(*sync_compare_and_swap<mode>): Likewise.
   30865 	(sync_double_compare_and_swap<mode>): Likewise.
   30866 	(*sync_double_compare_and_swapdi_pic): Likewise.
   30867 	(sync_old_add<mode>): Likewise.
   30868 	(sync_add<mode>): Likewise.
   30869 	(sync_sub<mode>): Likewise.
   30870 	(sync_<code><mode>): Likewise.
   30871 
   30872 2010-05-17  Martin Jambor  <mjambor (a] suse.cz>
   30873 
   30874 	* cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
   30875 	otr_token and polymorphic.
   30876 	* cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
   30877 	(cgraph_clone_edge): Copy the above fields.
   30878 	* tree.c (get_binfo_at_offset): New function.
   30879 	* tree.h (get_binfo_at_offset): Declare.
   30880 	* ipa-prop.h (enum jump_func_type): Added known_type jump function
   30881 	type, reordered items, updated comments.
   30882 	(union jump_func_value): Added base_type field, reordered fields.
   30883 	(enum ipa_lattice_type): Moved down in the file.
   30884 	(struct ipa_param_descriptor): New field polymorphic.
   30885 	(ipa_is_param_polymorphic): New function.
   30886 	* ipa-prop.c: Include gimple.h and gimple-fold.h.
   30887 	(ipa_print_node_jump_functions): Print known type jump functions.
   30888 	(compute_complex_pass_through): Renamed to...
   30889 	(compute_complex_assign_jump_func): this.
   30890 	(compute_complex_ancestor_jump_func): New function.
   30891 	(compute_known_type_jump_func): Likewise.
   30892 	(compute_scalar_jump_functions): Create known type and complex ancestor
   30893 	jump functions.
   30894 	(ipa_note_param_call): New parameter polymorphic, set the corresponding
   30895 	flag in the call note accordingly.
   30896 	(ipa_analyze_call_uses): Renamed to...
   30897 	(ipa_analyze_indirect_call_uses): this.  New parameter target, define
   30898 	variable var only in the block where it is used.
   30899 	(ipa_analyze_virtual_call_uses): New function.
   30900 	(ipa_analyze_call_uses): Likewise.
   30901 	(combine_known_type_and_ancestor_jfs): Likewise.
   30902 	(update_jump_functions_after_inlining): Implemented handling of a
   30903 	number of new jump function types combination.
   30904 	(print_edge_addition_message): Removed.
   30905 	(make_edge_direct_to_target): New function.
   30906 	(try_make_edge_direct_simple_call): Likewise.
   30907 	(try_make_edge_direct_virtual_call): Likewise.
   30908 	(update_call_notes_after_inlining): Renamed to...
   30909 	(update_indirect_edges_after_inlining): this.  Moved edge creation for
   30910 	indirect calls to try_make_edge_direct_simple_call, also calls
   30911 	try_make_edge_direct_virtual_call for virtual calls.
   30912 	(ipa_print_node_params): Changed the header message.
   30913 	(ipa_write_jump_function): Stream also known type jump functions.
   30914 	(ipa_read_jump_function): Likewise.
   30915 	(ipa_write_indirect_edge_info): Stream new fields in
   30916 	cgraph_indirect_call_info.
   30917 	(ipa_read_indirect_edge_info): Likewise.
   30918 	* Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
   30919 	GIMPLE_FOLD_H.
   30920 
   30921 2010-05-17  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   30922 
   30923 	* config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
   30924 
   30925 2010-05-17  Nathan Froyd  <froydnj (a] codesourcery.com>
   30926 
   30927 	* tree.h (CALL_EXPR_ARGS): Delete.
   30928 	(call_expr_arglist): Delete.
   30929 	* tree.c (call_expr_arglist): Delete.
   30930 	* builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
   30931 	targetm.fold_builtin.
   30932 	* config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
   30933 	Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
   30934 	* config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
   30935 	arglist parameter.  Use CALL_EXPR_ARG.
   30936 	(picochip_expand_builtin_3op): Likewise.
   30937 	(picochip_expand_builtin_2opvoid): Likewise.
   30938 	(picochip_expand_array_get): Likewise.
   30939 	(picochip_expand_array_put): Likewise.
   30940 	(picochip_expand_array_testport): Likewise.
   30941 	(picochip_expand_builtin): Don't call CALL_EXPR_ARGS.  Pass exp
   30942 	rather than arglist.
   30943 	* config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
   30944 	CALL_EXPR_ARGS.
   30945 	* config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
   30946 	than TREE_VALUE and TREE_CHAIN.
   30947 	* config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
   30948 	* doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
   30949 	the arglist.
   30950 
   30951 2010-05-17  Jakub Jelinek  <jakub (a] redhat.com>
   30952 
   30953 	PR bootstrap/42347
   30954 	* cfglayout.c (fixup_reorder_chain): Allow returnjump_p
   30955 	to have no fallthru edge.
   30956 
   30957 	PR middle-end/44102
   30958 	* cfgcleanup.c (try_optimize_cfg): When removing trivially empty
   30959 	bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
   30960 	mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
   30961 	add BARRIER after previous bb if needed.
   30962 
   30963 2010-05-17  Nathan Froyd  <froydnj (a] codesourcery.com>
   30964 
   30965 	* tree.c (build_function_type_list_1): Remove bogus assert condition.
   30966 
   30967 2010-05-17  Alan Modra  <amodra (a] gmail.com>
   30968 
   30969 	* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
   30970 	unnecessary prototype.  Replace copy_r12 and copy_r11 flag params
   30971 	with copy_reg rtx param.
   30972 	(rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
   30973 	Correct cases where code for ABI_V4 did not initialise the reg
   30974 	used to access frame.  Also leave frame_reg_rtx as sp for large
   30975 	frames that save no regs.
   30976 
   30977 2010-05-17  Martin Jambor  <mjambor (a] suse.cz>
   30978 
   30979 	PR middle-end/44133
   30980 	* tree-sra.c (create_access_replacement): New parameter rename, mark
   30981 	the replaement for renaming only when it is true.
   30982 	(get_access_replacement): Pass true in the rename parameter of
   30983 	create_access_replacement.
   30984 	(get_unrenamed_access_replacement): New function.
   30985 	(replace_uses_with_default_def_ssa_name): New parameter racc, get the
   30986 	replacement declaration from it.
   30987 
   30988 2010-05-17  Bernd Schmidt  <bernds (a] codesourcery.com>
   30989 
   30990 	* function.c (try_fit_stack_local, add_frame_space): New static
   30991 	functions.
   30992 	(assign_stack_local_1): Use them.  Look for opportunities to use
   30993 	space previously wasted on alignment.
   30994 	* function.h (struct frame_space): New.
   30995 	(struct rtl_data): Add FRAME_SPACE_LIST member.
   30996 	* reload1.c (something_was_spilled): New static variable.
   30997 	(alter_reg): Set it.
   30998 	(reload): Test it in addition to testing if the frame size changed.
   30999 
   31000 2010-05-17  Christian Borntraeger  <borntraeger (a] de.ibm.com>
   31001 
   31002 	* config/s390/s390.c: Define sane prefetch settings and activate
   31003 	flag_prefetch_loop_arrays on -O3.
   31004 	* config/s390/s390.h: Declare that read can use write prefetch.
   31005 
   31006 2010-05-17  Jakub Jelinek  <jakub (a] redhat.com>
   31007 
   31008 	* lto-streamer-out.c (lto_output): Fix --enable-checking=release
   31009 	build.
   31010 
   31011 2010-05-16  Jan Hubicka  <jh (a] suse.cz>
   31012 
   31013 	* ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
   31014 	function body; do not check stdarg field of struct function.
   31015 
   31016 2010-05-16  Jan Hubicka  <jh (a] suse.cz>
   31017 
   31018 	* cgraph.c (dump_cgraph_node): Dump versionable flag.
   31019 	* cgraph.h (cgraph_local_info): Add versionable flag.
   31020 	* ipa-cp.c (ipcp_analyze_node): Set versionable flag.
   31021 	(ipcp_versionable_function_p): Use it.
   31022 	* lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
   31023 	versionable flag.
   31024 
   31025 2010-05-16  Jan Hubicka  <jh (a] suse.cz>
   31026 
   31027 	* cgraph.c (cgraph_clone_node): Take decl argument and insert
   31028 	clone into hash when it is different from orig.
   31029 	(cgraph_create_virtual_clone): Update use of cgraph_clone_node.
   31030 	* cgraph.h (cgraph_clone_node): Update prototype.
   31031 	* lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
   31032 	(lto_cgraph_encoder_delete): Delete body map.
   31033 	(lto_cgraph_encoder_size): Move to header.
   31034 	(lto_cgraph_encoder_encode_body_p,
   31035 	lto_set_cgraph_encoder_encode_body): New.
   31036 	(lto_output_node): Do not take written_decls argument; output clone_of
   31037 	pointer.
   31038 	(add_node_to): Add include_body_argument; call
   31039 	lto_set_cgraph_encoder_encode_body on master of the clone.
   31040 	(add_references): Update use of add_node_to.
   31041 	(compute_ltrans_boundary): Likewise.
   31042 	(output_cgraph): Do not create written_decls bitmap.
   31043 	(input_node): Take nodes argument; stream in clone_of correctly.
   31044 	(input_cgraph_1): Update use of input_node.
   31045 	* lto-streamer-out.c (lto_output): Use encoder info to decide
   31046 	what bodies to output.
   31047 	* ipa-inline.c (cgraph_clone_inlined_nodes,
   31048 	cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
   31049 	* lto-streamer.h (lto_cgraph_encoder_d): Add body.
   31050 	(lto_cgraph_encoder_size): Define here.
   31051 	(lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
   31052 	Declare.
   31053 
   31054 2010-05-16  Richard Guenther  <rguenther (a] suse.de>
   31055 
   31056 	* doc/invoke.texi (-fipa-struct-reorg): Do not mention
   31057 	-fipa-type-escape.
   31058 	* ipa-type-escape.c (gate_type_escape_vars): Run when
   31059 	-fipa-struct-reorg runs.
   31060 	* opts.c (decode_options): Do not unset flag_ipa_type_escape.
   31061 	* common.opt (fipa-type-escape): Remove.
   31062 
   31063 2010-05-16  Eric Botcazou  <ebotcazou (a] adacore.com>
   31064 
   31065 	* opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
   31066 	(decode_options): Likewise.
   31067 	* Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
   31068 
   31069 2010-05-16  Jan Hubicka  <jh (a] suse.cz>
   31070 
   31071 	* ipa.c (function_and_variable_visibility): Also bring local all
   31072 	aliases.
   31073 
   31074 2010-05-16  Richard Guenther  <rguenther (a] suse.de>
   31075 
   31076 	* alias.c (nonoverlapping_memrefs_p): Remove use of
   31077 	IPA type-escape information.
   31078 
   31079 2010-05-16  Joseph Myers  <joseph (a] codesourcery.com>
   31080 
   31081 	* c-common.c (c_common_reswords): Add _Static_assert for C.
   31082 	* c-parser.c (c_token_starts_declaration,
   31083 	c_parser_next_token_starts_declaration,
   31084 	c_parser_static_assert_declaration_no_semi,
   31085 	c_parser_static_assert_declaration): New.
   31086 	(c_parser_declaration_or_fndef): Add parameter static_assert_ok.
   31087 	Handle static assertions if static_assert_ok.
   31088 	(c_parser_external_declaration, c_parser_declaration_or_fndef,
   31089 	c_parser_compound_statement_nostart, c_parser_label,
   31090 	c_parser_for_statement, c_parser_objc_methodprotolist,
   31091 	c_parser_omp_for_loop): All callers of
   31092 	c_parser_declaration_or_fndef changed.
   31093 	(c_parser_struct_declaration): Handle static assertions.
   31094 	(c_parser_compound_statement_nostart): Use
   31095 	c_parser_next_token_starts_declaration and
   31096 	c_token_starts_declaration to detect start of declarations.
   31097 	(c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
   31098 	Likewise.
   31099 
   31100 2010-05-16  Anatoly Sokolov  <aesok (a] post.ru>
   31101 
   31102 	* config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
   31103 	LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
   31104 	* config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
   31105 	TARGET_FUNCTION_VALUE_REGNO_P): Define.
   31106 	(mmix_function_outgoing_value): Rename to...
   31107 	(mmix_function_value): ...this. Make static. Add 'outgoing' argument.
   31108 	(mmix_function_value_regno_p): Make static.
   31109 	(mmix_libcall_value): New function.
   31110 	* config/mmix/mmix-protos.h (mmix_function_outgoing_value,
   31111 	mmix_function_value_regno_p): Remove declaration.
   31112 
   31113 2010-05-16  Eric Botcazou  <ebotcazou (a] adacore.com>
   31114 
   31115 	* tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
   31116 	BUILT_IN_ALLOCA if stack checking is enabled.
   31117 
   31118 2010-05-16  Richard Guenther  <rguenther (a] suse.de>
   31119 
   31120 	* var-tracking.c (vars_copy_1): Inline ...
   31121 	(vars_copy): ... here.  Use FOR_EACH_HTAB_ELEMENT.
   31122 	(variable_union): Use FOR_EACH_HTAB_ELEMENT.  Merge asserts.
   31123 	(variable_merge_over_cur): Adjust.  Merge asserts.
   31124 	(variable_merge_over_src): Likewise.
   31125 	(dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
   31126 	(variable_post_merge_new_vals): Merge asserts.
   31127 	(variable_post_merge_perm_vals): Likewise.
   31128 	(find_mem_expr_in_1pdv): Likewise.
   31129 	(dataflow_set_different_value): Remove.
   31130 	(onepart_variable_different_p): Merge asserts.
   31131 	(variable_different_p): Likewise.
   31132 	(dataflow_set_different_1): Inline ...
   31133 	(dataflow_set_different): ... here.  Use FOR_EACH_HTAB_ELEMENT.
   31134 	(emit_notes_for_differences_1): Merge asserts.
   31135 
   31136 2010-05-16  Richard Guenther  <rguenther (a] suse.de>
   31137 
   31138 	* lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
   31139 	* optabs.c (libfunc_decl_hash): Likewise.
   31140 	* varasm.c (emutls_decl): Likewise.
   31141 
   31142 2010-05-16  Steven Bosscher  <steven (a] gcc.gnu.org>
   31143 
   31144 	* c-decl.c: Don't include gimple.h.
   31145 	(merge_decls): Do not copy gimple_body.
   31146 
   31147 2010-05-15  Jason Merrill  <jason (a] redhat.com>
   31148 
   31149 	* c.opt: Add -fnothrow-opt.
   31150 
   31151 2010-05-15  Jan Hubicka  <jh (a] suse.cz>
   31152 
   31153 	* ipa-prop.c (ipa_prop_read_section): Add sanity check that node is
   31154 	analyzed.
   31155 	* passes.c (ipa_write_summaries): Write all analyzed nodes.
   31156 
   31157 2010-05-15  Steven Bosscher  <steven (a] gcc.gnu.org>
   31158 
   31159 	* vecir.h: New file with VEC primitives for tree, gimple, and rtl.
   31160 	* Makefile.in: Add it.
   31161 	Fix all other Makefile dependencies for changes below.
   31162 	* tree.h: Include it instead of defining VEC primitives here.
   31163 	* gimple.h: Likewise.
   31164 	* rtl.h: Likewise.
   31165 	* tree-inline.h: Inlclude vecir.h instead of gimple.h.
   31166 	* except.h: Include vecir.h, break dependence on tree.h.
   31167 
   31168 	* gimplify.c (append_to_statement_list_1, append_to_statement_list):
   31169 	Move from here...
   31170 	* tree-iterator.c: ...to here.
   31171 	* tree-iterator.h: Fix file introduction comment.  Add extern markers.
   31172 
   31173 	* c-lex.c: Include fixed-value.h instead of rtl.h.  Do not include
   31174 	tm_p.h.
   31175 	* c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
   31176 	* c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
   31177 	integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
   31178 	tree-mudflap.h, and target.h.
   31179 	* c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
   31180 	predict.h, tree-inline.h, gimple.h, and langhooks.h.
   31181 	* c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
   31182 	Add FIXME for why gimple.h is still included (should be unnecessary
   31183 	since GCC 4.5 gimplification unit-at-a-time).
   31184 	* c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
   31185 	* c-pragma.c: Add FIXME for why function.h needs to be included just
   31186 	for cfun, at front-end level.
   31187 	Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
   31188 	Do not include ggc.h, but include vecprim.h for VEC(char).
   31189 	* c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
   31190 	Explain why target.h is included.
   31191 	* c-omp.h: Do not include tm.h, function.h, and bitmap.h.
   31192 	Explain why gimple.h is included.
   31193 	* c-ppoutput.c: Do not include tm.h.
   31194 	* c-common.c: Do not include gimple.h.  Explain why expr.h is included.
   31195 	* c-parses.c: Explain why rtl.h is included, and that this (and only
   31196 	this) is also why tm.h must be included.
   31197 	Do not include except.h.
   31198 	* c-lang.c: Do not include ggc.h.
   31199 
   31200 2010-05-15  Uros Bizjak  <ubizjak (a] gmail.com>
   31201 
   31202 	* targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
   31203 
   31204 2010-05-15  Joseph Myers  <joseph (a] codesourcery.com>
   31205 
   31206 	* c-decl.c (grokfield): Allow typedefs for anonymous structs and
   31207 	unions by default if those structs and unions have no tags.  Do
   31208 	not condition anonymous struct and unions handling on flag_iso.
   31209 	Allow anonymous structs and unions for C1X.
   31210 	(finish_struct): Do not diagnose lack of named fields when
   31211 	anonymous structs and unions present for C1X.  Accept flexible
   31212 	array members in structure with anonymous structs or unions but no
   31213 	directly named fields.
   31214 	* doc/extend.texi (Unnamed Fields): Update.
   31215 
   31216 2010-05-15  Eric Botcazou  <ebotcazou (a] adacore.com>
   31217 
   31218 	* gimple.h (compare_field_offset): Rename into...
   31219 	(gimple_compare_field_offset): ...this.
   31220 	* gimple.c (compare_field_offset): Rename into...
   31221 	(gimple_compare_field_offset): ...this.  Compare the full access if
   31222 	the offset is self-referential.
   31223 	(gimple_types_compatible_p): Adjust for above renaming.
   31224 	* lto-streamer-in.c (input_gimple_stmt): Likewise.  Also compare the
   31225 	DECL_NONADDRESSABLE_P flag of fields before merging them.
   31226 
   31227 2010-05-15  Nathan Froyd  <froydnj (a] codesourcery.com>
   31228 
   31229 	* tree.h (ctor_to_list): Delete.
   31230 	* tree.c (ctor_to_list): Delete.
   31231 
   31232 2010-05-15  Jan Hubicka  <jh (a] suse.cz>
   31233 
   31234 	* ipa-reference.c: Include toplev.h
   31235 	(is_proper_for_analysis): Only add to all_module_statics
   31236 	if it is allocated.
   31237 	(write_node_summary_p, stream_out_bitmap,
   31238 	ipa_reference_write_optimization_summary,
   31239 	ipa_reference_read_optimization_summary): New.
   31240 	(struct ipa_opt_pass_d pass_ipa_reference): Add
   31241 	optimization summary streaming.
   31242 	* lto-cgraph.c (referenced_from_this_partition_p,
   31243 	reachable_from_this_partition_p): New functions.
   31244 	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
   31245 	call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
   31246 	* opts.c (decode_options): Enable ipa_reference.
   31247 	* Makefile.in (ipa-reference.o): Add toplev.h dependency.
   31248 	* lto-streamer.h (referenced_from_this_partition_p,
   31249 	reachable_from_this_partition_p): Declare.
   31250 
   31251 2010-05-15  Richard Guenther  <rguenther (a] suse.de>
   31252 
   31253 	PR tree-optimization/44038
   31254 	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
   31255 	taking the address of a V_C_E of a constant.
   31256 
   31257 2010-05-14  Jan Hubicka  <jh (a] suse.cz>
   31258 
   31259 	* tree.h (memory_identifier_string): Remove.
   31260 	* ipa-reference.c: Update comment; do not include gt-ipa-reference.h
   31261 	(ipa_reference_global_vars_info_d): Remove statics_not_read and
   31262 	statics_not_written.
   31263 	(ipa_reference_optimization_summary_d): New structure.
   31264 	(ipa_reference_optimization_summary_t): New type and vector.
   31265 	(ipa_reference_vars_info_d): Embedd structures instead of using
   31266 	pointers.
   31267 	(reference_vars_to_consider): Remove out of GGC space.
   31268 	(module_statics_escape): Remove.
   31269 	(global_info_obstack): Rename to ...
   31270 	(optimization_summary_obstack): ... this one.
   31271 	(initialization_status_t): Remove.
   31272 	(memory_identifier_string): Remove.
   31273 	(get_reference_vars_info): Fix indenting.
   31274 	(set_reference_vars_info): Likewise.
   31275 	(get_reference_optimization_summary): New.
   31276 	(set_reference_optimization_summary): New.
   31277 	(get_global_reference_vars_info): Remove.
   31278 	(ipa_reference_get_read_global): Remove.
   31279 	(ipa_reference_get_written_global): Remove.
   31280 	(ipa_reference_get_not_read_global): Update.
   31281 	(ipa_reference_get_not_written_global): Update.
   31282 	(is_proper_for_analysis): Outlaw addressable.
   31283 	(propagate_bits): Update for new datastructures.
   31284 	(analyze_variable): Remove.
   31285 	(init_function_info): Update for new datastructures.
   31286 	(clean_function_local_data): Remove.
   31287 	(clean_function): Remove.
   31288 	(copy_global_bitmap): Use optimizations_summary_obstack.
   31289 	(duplicate_node_data): Duplicate optimization summary only.
   31290 	(remove_node_data): Remove optimization summary only.
   31291 	(generate_summary): Do not analyze variables; do not compute
   31292 	module_statics_escape; do not prune solutions by it.
   31293 	(read_write_all_from_decl): Fix typos in comments.
   31294 	(propagate): Doscover readonly and nonaddressable first;
   31295 	update for new datastructures; share global bitmaps.
   31296 	* ipa-reference.h (ipa_reference_get_read_global,
   31297 	ipa_reference_get_written_global): Remove.
   31298 	* ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
   31299 	* Makefile.in: Remove ipa-refereference from GT files.
   31300 
   31301 2010-05-14  Jakub Jelinek  <jakub (a] redhat.com>
   31302 
   31303 	PR debug/44112
   31304 	* dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
   31305 	for all SYMBOL_REF_DECLs.
   31306 
   31307 2010-05-14  Jan Hubicka  <jh (a] suse.cz>
   31308 
   31309 	* cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
   31310 	(varpool_all_refs_explicit_p): New inline function.
   31311 	* ipa-reference.c: Update comment.
   31312 	(module_statics_written): Remove.
   31313 	(get_static_decl): Remove.
   31314 	(ipa_init): Do not initialize module_statics_written.
   31315 	(analyze_function): Likewise.
   31316 	(generate_summary): Likewise; do not compute module_statics_readonly
   31317 	and do not update variable flags.
   31318 	(propagate): Call ipa_discover_readonly_nonaddressable_vars.
   31319 	* ipa.c: Inlucde flags.h
   31320 	(cgraph_local_node_p): New.
   31321 	(cgraph_remove_unreachable_nodes): Return early when not optimizing;
   31322 	promote functions to local.
   31323 	(ipa_discover_readonly_nonaddressable_vars): New function.
   31324 	(function_and_variable_visibility): Use cgraph_local_node_p.
   31325 	* varpool.c (varpool_finalize_decl): Set force_output for
   31326 	DECL_PRESERVE_P vars.
   31327 
   31328 2010-05-14  Jan Hubicka  <jh (a] suse.cz>
   31329 
   31330 	* ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
   31331 
   31332 2010-05-14  Richard Guenther  <rguenther (a] suse.de>
   31333 
   31334 	PR tree-optimization/44119
   31335 	* tree-ssa-pre.c (eliminate): Properly mark replacement of
   31336 	a PHI node necessary.
   31337 
   31338 2010-05-14  Eric Botcazou  <ebotcazou (a] adacore.com>
   31339 
   31340 	* tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
   31341 
   31342 2010-05-14  Jason Merrill  <jason (a] redhat.com>
   31343 
   31344 	PR c++/44127
   31345 	* gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
   31346 	(gimple_call_set_nothrow): New.
   31347 	* gimple.c (gimple_build_call_from_tree): Call it.
   31348 	(gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
   31349 
   31350 	PR c++/44127
   31351 	* gimplify.c (gimplify_seq_add_stmt): No longer static.
   31352 	* gimple.h: Declare it.
   31353 	* gimple.c (gimple_build_eh_filter): No ops.
   31354 
   31355 2010-05-14  Jan Hubicka  <jh (a] suse.cz>
   31356 
   31357 	* ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
   31358 	nodes already in queue.
   31359 	(cgraph_remove_unreachable_nodes): Cleanup; fix problem with
   31360 	re-enqueueing node.
   31361 
   31362 2010-05-14  Jakub Jelinek  <jakub (a] redhat.com>
   31363 
   31364 	PR debug/44136
   31365 	* cfgexpand.c (expand_debug_expr): If non-memory op0
   31366 	has BLKmode, return NULL.
   31367 
   31368 2010-05-14  Harsha Jagasia  <harsha.jagasia (a] amd.com>
   31369 
   31370 	* config.gcc: Add support for --with-cpu option for bdver1.
   31371 	* config/i386/i386.h (TARGET_BDVER1): New macro.
   31372 	(ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
   31373 	to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
   31374 	(ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
   31375 	to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
   31376 	Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
   31377 	(TARGET_CPU_DEFAULT_NAMES): Add bdver1.
   31378 	(processor_type): Add PROCESSOR_BDVER1.
   31379 	* config/i386/i386.md: Add bdver1 as a new cpu attribute to match
   31380 	processor_type in config/i386/i386.h.
   31381 	Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
   31382 	movaps <reg, reg> instead of movapd <reg, reg> when replacing
   31383 	movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
   31384 	Add check for  TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
   31385 	to emit packed xor instead of packed double/packed integer
   31386 	xor for SSE and AVX when moving a zero value.
   31387 	* config/i386/sse.md: Add check for
   31388 	TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of
   31389 	movapd/movdqa for SSE and AVX.
   31390 	Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed
   31391 	single logical operations i.e and, or and xor instead of packed double
   31392 	logical operations for SSE and AVX.
   31393 	* config/i386/i386-c.c (ix86_target_macros_internal):
   31394 	Add PROCESSOR_BDVER1.
   31395 	* config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
   31396 	(has_fma4, has_xop): New.
   31397 	* config/i386/i386.c (bdver1_cost): New variable.
   31398 	(m_BDVER1): New macro.
   31399 	(m_AMD_MULTIPLE): Add m_BDVER1.
   31400 	(x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
   31401 	x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
   31402 	x86_tune_use_simode_fiop, x86_tune_promote_qimode,
   31403 	x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
   31404 	x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
   31405 	x86_tune_sse_partial_reg_dependency,
   31406 	x86_tune_sse_unaligned_load_optimal,
   31407 	x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
   31408 	x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
   31409 	x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
   31410 	x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
   31411 	x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
   31412 	Enable/disable for bdver1.
   31413 	(processor_target_table): Add bdver1_cost.
   31414 	(cpu_names): Add bdver1.
   31415 	(override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
   31416 	 processor_alias_table.
   31417 	(ix86_expand_vector_move_misalign): Change.
   31418 	TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
   31419 	Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
   31420 	Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
   31421 	of movupd/movdqu for SSE and AVX.
   31422 	(ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
   31423 	(ix86_tune_adjust_cost): Add code for bdver1.
   31424 	(standard_sse_constant_opcode): Add check for
   31425 	TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
   31426 	of packed double xor for SSE and AVX.
   31427 
   31428 2010-05-14  Pat Haugen  <pthaugen (a] us.ibm.com>
   31429 
   31430 	* tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
   31431 	result to unsigned.
   31432 
   31433 2010-05-14  Tristan Gingold  <gingold (a] adacore.com>
   31434 
   31435 	* toplev.c (default_debug_hooks): Remove this variable.
   31436 	(process_options): Remove assignments to default_debug_hooks.
   31437 
   31438 2010-05-14  Martin Jambor  <mjambor (a] suse.cz>
   31439 
   31440 	* langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
   31441 	(LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
   31442 	* langhooks.h (struct lang_hooks_for_decls): Removed field
   31443 	fold_obj_type_ref.
   31444 	* tree.c (free_lang_data): Remove assignment to
   31445 	lang_hooks.fold_obj_type_ref.
   31446 	* tree.def (OBJ_TYPE_REF): Update comment.
   31447 
   31448 2010-05-14  Richard Guenther  <rguenther (a] suse.de>
   31449 
   31450 	PR tree-optimization/44124
   31451 	* tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
   31452 
   31453 2010-05-14  Alan Modra  <amodra (a] gmail.com>
   31454 
   31455 	PR target/44075
   31456 	* config/rs6000/rs6000.c (struct machine_function): Reorder
   31457 	fields for better packing.  Add lr_save_state.
   31458 	(rs6000_ra_ever_killed): Return lr_save_state if set.
   31459 	(rs6000_emit_eh_reg_restore): Set lr_save_state.
   31460 
   31461 2010-05-13  Jan Hubicka  <jh (a] suse.cz>
   31462 
   31463 	* varpool.c (decide_is_variable_needed): Drop code checking
   31464 	TREE_SYMBOL_REFERENCED.
   31465 
   31466 2010-05-13  Jan Hubicka  <jh (a] suse.cz>
   31467 
   31468 	* final.c (output_addr_const): Do not call mark_decl_referenced.
   31469 	* cgraphunit.c (process_function_and_variable_attributes): Use
   31470 	mark_needed_node dirrectly.
   31471 	(assemble_thunk): Do not call mark_decl_referenced.
   31472 
   31473 2010-05-13  Anatoly Sokolov  <aesok (a] post.ru>
   31474 
   31475 	* targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
   31476 
   31477 2010-05-13  Jeff Law  <law (a] redhat.com>
   31478 
   31479 	* ira-conflicts.c (print_allocno_conflicts): New function broken out
   31480 	from...
   31481 	(print_conflicts): Call print_allocno_conflicts.
   31482 
   31483 2010-05-13  Jakub Jelinek  <jakub (a] redhat.com>
   31484 
   31485 	PR debug/44104
   31486 	* dwarf2out.c (modified_type_die): Don't dereference mod_type_die
   31487 	if it is NULL.
   31488 
   31489 2010-05-13  Kai Tietz  <kai.tietz (a] onevision.com>
   31490 
   31491 	* config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
   31492 	t-mingw-w64 or t-mingw-w32 for multilib configuration.
   31493 	* config/i386/t-mingw-w32: New.
   31494 	* config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
   31495 
   31496 2010-05-13  Martin Jambor  <mjambor (a] suse.cz>
   31497 
   31498 	* gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
   31499 	gimple-fold.c).
   31500 	* gimple-fold.c (get_base_binfo_for_type): New function.
   31501 	(gimple_get_relevant_ref_binfo): Likewise.
   31502 	(gimple_fold_obj_type_ref_known_binfo): Likewise.
   31503 	(gimple_fold_obj_type_ref): Likewise.
   31504 	(fold_gimple_call): Simplify condition for folding virtual calls
   31505 	and call gimple_fold_obj_type_ref.
   31506 	* gimple.h (gimple_get_relevant_ref_binfo): Declare.
   31507 	(gimple_fold_obj_type_ref_known_binfo): Likewise.
   31508 
   31509 2010-05-13  Andreas Schwab  <schwab (a] linux-m68k.org>
   31510 
   31511 	* config/rs6000/rs6000-protos.h
   31512 	(rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
   31513 	* config/rs6000/rs6000.c (rs6000_mode_dependent_address)
   31514 	(rs6000_debug_mode_dependent_address)
   31515 	(rs6000_mode_dependent_address_ptr): Likewise.
   31516 
   31517 2010-05-13  Jakub Jelinek  <jakub (a] redhat.com>
   31518 
   31519 	PR debug/43983
   31520 	* var-tracking.c (track_expr_p): Allow tracking of variables optimized
   31521 	by SRA.
   31522 	* Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
   31523 	* tree-sra.c (create_access_replacement): Call unshare_expr before
   31524 	passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it.
   31525 	* dwarf2out.c: Include tree-flow.h.
   31526 	(struct var_loc_node): Rename var_loc_note field to loc, add comment.
   31527 	(size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
   31528 	Handle DW_OP_bit_piece.
   31529 	(decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
   31530 	construct_piece_list, adjust_piece_list): New functions.
   31531 	(add_var_loc_to_decl): Handle SRA optimized variables.
   31532 	Adjust for var_loc_note to loc field renaming.
   31533 	(dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
   31534 	in VAR_LOCATION note.
   31535 	(new_loc_descr_op_bit_piece): New function.
   31536 	(dw_sra_loc_expr): New function.
   31537 	(dw_loc_list): Use it.  Don't handle the last range after the
   31538 	loop, handle it inside of the loop.  Adjust for var_loc_note
   31539 	to loc field renaming.
   31540 	(add_location_or_const_value_attribute): Only special case
   31541 	single entry loc lists if loc is NOTE_P.  Adjust for
   31542 	var_loc_note to loc field renaming.
   31543 	(dwarf2out_var_location): Don't set newloc->var_loc_note
   31544 	and newloc->next here.
   31545 
   31546 2010-05-12  Jan Hubicka  <jh (a] suse.cz>
   31547 
   31548 	* cgraph.c (cgraph_mark_address_taken_node): No longer imply needed
   31549 	flag.
   31550 	* cgraph.h (cgraph_only_called_directly_p,
   31551 	cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
   31552 	(cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
   31553 	* cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
   31554 	(assemble
   31555 	* ipa.c (cgraph_remove_unreachable_nodes): Use
   31556 	cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken
   31557 	flags.
   31558 	* tree-inline.c (copy_bb): Check address_taken flag.
   31559 	* tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
   31560 	externally_visible flag.
   31561 
   31562 2010-05-12  Jason Merrill  <jason (a] redhat.com>
   31563 
   31564 	PR bootstrap/44048
   31565 	PR target/44099
   31566 	* dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
   31567 	* sdbout.c (plain_type_1): Likewise.
   31568 	* dwarf2out.c (is_base_type): Likewise.
   31569 	(gen_type_die_with_usage): Likewise.  Generate
   31570 	DW_TAG_unspecified_type for any LANG_TYPE.
   31571 
   31572 2010-05-12  Jan Hubicka  <jh (a] suse.cz>
   31573 
   31574 	* cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
   31575 	indrect edges too.
   31576 	* cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
   31577 	(cgraph_clone_edge): Update.
   31578 	(cgraph_node_remove_callees): Remove indirect calls too.
   31579 	* cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
   31580 	(cgraph_create_indirect_edge): Update prototype.
   31581 	* ipa-reference.c (has_proper_scope_for_analysis): Rename to
   31582 	is_proper_for_analysis.
   31583 	(add_new_function, visited_nodes, function_insertion_hook_holder,
   31584 	get_local_reference_vars_info, mark_address_taken, mark_address,
   31585 	mark_load, mark_store, check_asm_memory_clobber, check_call,
   31586 	scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
   31587 	(ipa_init): Do not initialize visited_nodes;
   31588 	function_insertion_hook_holder.
   31589 	(analyze_variable): Rewrite.
   31590 	(analyze_function): Rewrite.
   31591 	(copy_local_bitmap): Remove.
   31592 	(duplicate_node_dat): Do not duplicate local info.
   31593 	(generate_summary): Simplify to only walk cgraph.
   31594 	(write_node_summary_p, ipa_reference_write_summary,
   31595 	ipa_reference_read_summary): Remove.
   31596 	(propagate): Do not remove function insertion;
   31597 	generate summary.
   31598 	(pass_ipa_reference): NULLify summary handling fields.
   31599 	* lto-cgraph.c (lto_output_edge): Output ecf_flags.
   31600 	(input_edge): Input ecf_flags.
   31601 	* ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
   31602 	(update_indirect_edges_after_inlining): Ignore edges with unknown
   31603 	param.
   31604 
   31605 2010-05-12  Sriraman Tallam  <tmsriram (a] google.com>
   31606 
   31607 	* implicit-zee.c: New file.
   31608 	* tree-pass.h (pass_implicit_zee): Declare.
   31609 	* passes.c (init_optimization_passes): Add zee pass.
   31610 	* common.opt (fzee): New flag.
   31611 	* timevar.def (TV_ZEE): Define.
   31612 	* config/i386/i386.c (optimization_options): Turn on ZEE for level 2
   31613 	and beyond.
   31614 	* Makefile.in (implicit-zee.o): Add new build file.
   31615 
   31616 2010-05-12  Kazu Hirata  <kazu (a] codesourcery.com>
   31617 	    Nathan Froyd  <froydnj (a] codesourcery.com>
   31618 
   31619 	* c-common.c (sync_resolve_params): Remove write-only variable.
   31620 
   31621 2010-05-12  Anatoly Sokolov  <aesok (a] post.ru>
   31622 
   31623 	* target.h (struct gcc_target): Add mode_dependent_address_p field.
   31624 	* target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
   31625 	(TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
   31626 	* targhooks.c (default_mode_dependent_address_p): New function.
   31627 	* targhooks.h (default_mode_dependent_address_p): Declare function.
   31628 	* doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
   31629 	(GO_IF_MODE_DEPENDENT_ADDRESS): Update.
   31630 	* recog.c (mode_dependent_address_p): Call mode_dependent_address_p
   31631 	target hook. Change return type to bool.
   31632 	* recog.h (mode_dependent_address_p): Change return type to bool.
   31633 
   31634 2010-05-12  Kazu Hirata  <kazu (a] codesourcery.com>
   31635 	    Nathan Froyd  <froydnj (a] codesourcery.com>
   31636 
   31637 	* tree-mudflap.c (build_function_type_0, build_function_type_1,
   31638 	build_function_type_2, build_function_type_3): Remove.
   31639 	(mudflap_init): Use build_function_type_list.
   31640 
   31641 2010-05-12  Kazu Hirata  <kazu (a] codesourcery.com>
   31642 	    Nathan Froyd  <froydnj (a] codesourcery.com>
   31643 
   31644 	* coverage.c (build_fn_info_value): Call build_constructor instead of
   31645 	build_constructor_from_list.
   31646 	(build_ctr_info_value): Likewise.
   31647 	(build_gcov_info): Likewise.
   31648 
   31649 2010-05-12  Nathan Froyd  <froydnj (a] codesourcery.com>
   31650 
   31651 	* tree.c (build_constructor): Compute TREE_CONSTANT for the
   31652 	resultant constructor.
   31653 	(build_constructor_single): Don't set TREE_CONSTANT.
   31654 	(build_constructor_from_list): Don't compute TREE_CONSTANT.
   31655 
   31656 2010-05-12  Jan Hubicka  <jh (a] suse.cz>
   31657 
   31658 	* cgraph.h (struct varpool_node): Add aux.
   31659 	* varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
   31660 	* varpool.c (varpool_remove_node): Do not remove initializer.
   31661 	(varpool_reset_queue): Export.
   31662 	(varpool_finalize_decl): Volatile vars are forced to be output.
   31663 	* lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
   31664 	replaced decl.
   31665 	* ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
   31666 	process_references, varpool_can_remove_if_no_refs): New functions.
   31667 	(cgraph_remove_unreachable_nodes): Handle variables too.
   31668 
   31669 2010-05-12  H.J. Lu  <hongjiu.lu (a] intel.com>
   31670 
   31671 	PR target/44088
   31672 	* config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
   31673 
   31674 2010-05-12  Jakub Jelinek  <jakub (a] redhat.com>
   31675 
   31676 	PR middle-end/44085
   31677 	* gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
   31678 	change value of ORT_TASK.
   31679 	(new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
   31680 	(omp_notice_threadprivate_variable): New function.
   31681 	(omp_notice_variable): Call it for threadprivate variables.
   31682 	If enclosing ctx is a task, print enclosing task rather than
   31683 	enclosing parallel.  Handle ORT_UNTIED_TASK like ORT_TASK.
   31684 	(gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
   31685 	if task has untied clause.
   31686 
   31687 	PR debug/42278
   31688 	* dwarf2out.c (base_type_die): Don't add name attribute here.
   31689 	(modified_type_die): Instead of sizetype use
   31690 	its underlying original type.  If a DW_TAG_base_type doesn't
   31691 	have name added, add __unknown__.
   31692 	(dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
   31693 	always call force_type_die instead.
   31694 
   31695 2010-05-12  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   31696 
   31697 	* targhooks.c (default_stack_protect_guard): Avoid sharing RTL
   31698 	for __stack_chk_guard.
   31699 
   31700 2010-05-11  Jakub Jelinek  <jakub (a] redhat.com>
   31701 
   31702 	* c-opts.c (c_common_parse_file): If start_end_main_source_file,
   31703 	don't call start_source_file debug hook here...
   31704 	(finish_options): ... but here, after outputting predefined and
   31705 	command line defines and undefs.
   31706 
   31707 	PR middle-end/44071
   31708 	* cfglayout.c (fixup_reorder_chain): Allow asm goto to have
   31709 	no fallthru edge.
   31710 	* cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
   31711 	optimizing away empty bb with no successors, move over its
   31712 	footer chain to fallthru predecessor.
   31713 	* cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
   31714 	(rtl_split_edge): For asm goto call patch_jump_insn even if
   31715 	splitting fallthru edge.
   31716 
   31717 	PR c++/44059
   31718 	* config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
   31719 	even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
   31720 	* config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
   31721 	* dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
   31722 	on DW.ref.* decls.
   31723 
   31724 	PR c++/44062
   31725 	* c-parser.c (c_parser_expression): Mark LHS of a comma
   31726 	expression as read if it is a decl, handled component or
   31727 	COMPOUND_EXPR with that on the RHS.
   31728 	* c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
   31729 	if it is a decl or handled component.
   31730 
   31731 2010-05-11  Jan Hubicka  <jh (a] suse.cz>
   31732 
   31733 	* lto-symtab.c (lto_symtab_free): New function.
   31734 	* lto-streamer.h (lto_symtab_free): Declare.
   31735 
   31736 2010-05-11  Jan Hubicka  <jh (a] suse.cz>
   31737 
   31738 	* lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
   31739 	that if function is needed it is reachable.
   31740 	(lto_output_node): See if it the function is reachable or referenced.
   31741 	(output_cgraph): Update call of lto_output_node.
   31742 	* lto-streamer.h (reachable_from_other_partition_p): Declare.
   31743 
   31744 2010-05-11  Jan Hubicka  <jh (a] suse.cz>
   31745 
   31746 	* crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
   31747 	Mark as used.
   31748 
   31749 2010-05-11  Jan Hubicka  <jh (a] suse.cz>
   31750 
   31751 	PR tree-optimize/44063
   31752 	* ipa-inline.c (cgraph_edge_badness): Move always inlines to top of
   31753 	queue.
   31754 	(cgraph_decide_inlining_of_small_function): Skip check when disrgarding
   31755 	limits.
   31756 	(estimate_function_body_sizes): Compute sizes even when disregarding.
   31757 
   31758 2010-05-11  Kai Tietz  <kai.tietz (a] onevision.com>
   31759 
   31760 	* collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
   31761 
   31762 2010-05-11  Jan Hubicka  <jh (a] suse.cz>
   31763 
   31764 	* lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
   31765 	into every boundary.
   31766 
   31767 2010-05-11  Jan Hubicka  <jh (a] suse.cz>
   31768 
   31769 	* matrix-reorg.c (matrix_reorg): Rebuild edges.
   31770 
   31771 2010-05-11  Jan Hubicka  <jh (a] suse.cz>
   31772 
   31773 	* lto-streamer.c (lto_streamer_cache_add_to_node_array,
   31774 	lto_streamer_cache_delete): Put nodes into heap.
   31775 	* lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
   31776 	heap.
   31777 
   31778 2010-05-11  Jan Hubicka  <jh (a] suse.cz>
   31779 
   31780 	* cgraphbuild.c (cgraph_rebuild_references): New.
   31781 	* cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
   31782 	out extern inlines.
   31783 	* cgraph.h (cgraph_rebuild_references): Declare.
   31784 	* tree-inline.c (tree_function_versioning): Use it.
   31785 	* ipa-struct-reorg.c (do_reorg_for_func): Likewise.
   31786 
   31787 2010-05-11  Jan Hubicka  <jh (a] suse.cz>
   31788 
   31789 	* cgraph.c: Include ipa-utils.h
   31790 	(cgraph_create_virtual_clone): Update references.
   31791 	* Makefile.in (cgraph.o): Add dependency at ipa-utils.h
   31792 
   31793 2010-05-11  Christian Borntraeger  <borntraeger (a] de.ibm.com>
   31794 
   31795 	* tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
   31796 	prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
   31797 	cache size.
   31798 
   31799 2010-05-11  Christian Borntraeger  <borntraeger (a] de.ibm.com>
   31800 
   31801 	* tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
   31802 
   31803 2010-05-11  Jakub Jelinek  <jakub (a] redhat.com>
   31804 
   31805 	* gcc.c (execute): For -### don't quote arguments that
   31806 	contain just alphanumerics and _/-. characters.
   31807 	* doc/invoke.texi: Document that change for -###.
   31808 
   31809 	PR debug/44023
   31810 	* df-problems.c (struct dead_debug): Add to_rescan field.
   31811 	(dead_debug_init): Clear to_rescan field.
   31812 	(dead_debug_finish): Rescan all debug insns in to_rescan
   31813 	bitmap and free the bitmap.
   31814 	(dead_debug_insert_before): Instead of rescanning debug insns
   31815 	immediately queue their rescanning until dead_debug_finish.
   31816 	(df_note_bb_compute): After dead_debug_add do continue instead
   31817 	of break.
   31818 
   31819 2010-05-10  Jakub Jelinek  <jakub (a] redhat.com>
   31820 
   31821 	PR debug/44028
   31822 	* haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
   31823 	clear also INSN_REG_USE_LIST.
   31824 
   31825 2010-05-10  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   31826 
   31827 	* config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
   31828 
   31829 2010-05-10  Jan Hubicka  <jh (a] suse.cz>
   31830 
   31831 	* lto-stramer-out.c (produce_asm_for_decls): Correct accidentally
   31832 	commited change.
   31833 
   31834 2010-05-10  Jan Hubicka  <jh (a] suse.cz>
   31835 
   31836 	* passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries):
   31837 	Allocate encoders.
   31838 	* lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
   31839 	* lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
   31840 	(lto_streamer_cache_create): Init alloc pool.
   31841 	(lto_streamer_cache_delete): Free alloc pool.
   31842 	* lto-streamer.h: Include alloc pool.
   31843 	(lto_streamer_cache_d): Use alloc pool.
   31844 	* lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
   31845 
   31846 2010-05-10  Jan Hubicka  <jh (a] suse.cz>
   31847 
   31848 	* Makefile.in (cgraphbuild.o): Add dependency on except.h.
   31849 	* cgraphbuild.c: Include except.h
   31850 	(record_type_list, record_eh_tables): New function.
   31851 	(build_cgraph_edges, rebuild_cgraph_edges): Use it.
   31852 
   31853 2010-05-10  Jan Hubicka  <jh (a] suse.cz>
   31854 
   31855 	* crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
   31856 	__frame_dummy_init_array_entry, force_to_data): Attribute as used
   31857 	rather than unused.
   31858 
   31859 2010-05-10  Michael Matz  <matz (a] suse.de>
   31860 
   31861 	* tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
   31862 	(can_reassociate_p): Use FLOAT_TYPE_P.
   31863 	* tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
   31864 	(vect_force_simple_reduction): ... this.
   31865 	* tree-parloops.c (gather_scalar_reductions): Use
   31866 	vect_force_simple_reduction.
   31867 	* tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
   31868 	vect_is_simple_reduction, add modify argument, if true rewrite
   31869 	"a-b" into "a+(-b)".
   31870 	(vect_is_simple_reduction, vect_force_simple_reduction): New
   31871 	functions.
   31872 	(vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
   31873 
   31874 2010-05-10  H.J. Lu  <hongjiu.lu (a] intel.com>
   31875 	    Vladimir Makarov  <vmakarov (a] redhat.com>
   31876 
   31877 	PR rtl-optimization/44012
   31878 	* ira-build.c (remove_unnecessary_allocnos): Nullify
   31879 	regno_allocno_map of the removed allocno.
   31880 
   31881 2010-05-10  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   31882 
   31883 	* configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
   31884 	to /dev/null.
   31885 	* configure: Regenerate.
   31886 
   31887 2010-05-10  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   31888 
   31889 	* config/sol2.c (solaris_assemble_visibility): Declare decl, vis
   31890 	unused.
   31891 	Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
   31892 	* configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
   31893 	support in Sun ld.
   31894 	* configure: Regenerate.
   31895 
   31896 2010-05-10  Richard Guenther  <rguenther (a] suse.de>
   31897 
   31898 	* lto-symtab.c (lto_symtab_entry_marked_p): Make entry
   31899 	marked if the entry identifier is marked.
   31900 
   31901 2010-05-10  Richard Guenther  <rguenther (a] suse.de>
   31902 
   31903 	* c-common.c (struct c_common_attributes): Add fnspec attribute.
   31904 	(handle_fnspec_attribute): New function.
   31905 	* gimple.h (gimple_call_return_flags): Declare.
   31906 	(gimple_call_arg_flags): Likewise.
   31907 	* gimple.c (gimple_call_arg_flags): New function.
   31908 	(gimple_call_return_flags): Likewise.
   31909 	* tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
   31910 	New argument flags.
   31911 	(ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
   31912 	return value flags.
   31913 	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
   31914 	* tree-ssa-structalias.c (make_constraint_from_heapvar): Split
   31915 	main work to ...
   31916 	(make_heapvar_for): ... this new function.
   31917 	(handle_rhs_call): Handle fnspec attribute argument specifiers.
   31918 	(handle_lhs_call): Likewise.
   31919 	(find_func_aliases): Adjust.
   31920 
   31921 2010-05-10  Richard Guenther  <rguenther (a] suse.de>
   31922 
   31923 	PR tree-optimization/44050
   31924 	* tree-inline.c (tree_function_versioning): Clone the ipa-pta flag.
   31925 
   31926 2010-05-10  Wei Guozhi  <carrot (a] google.com>
   31927 
   31928 	PR target/42879
   31929 	* config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
   31930 
   31931 2010-05-09  Joseph Myers  <joseph (a] codesourcery.com>
   31932 
   31933 	PR c/10676
   31934 	* c-typeck.c (lookup_field): Take a type directly.  Update
   31935 	recursive calls.
   31936 	(build_component_ref): Update call to lookup_field.
   31937 	(set_init_label): Use lookup_field to find initialized field.
   31938 	Handle returned list of fields like a sequence of designators.
   31939 
   31940 2010-05-09  Richard Guenther  <rguenther (a] suse.de>
   31941 
   31942 	PR middle-end/44024
   31943 	* fold-const.c (tree_single_nonzero_warnv_p): Properly
   31944 	handle &FUNCTION_DECL.
   31945 
   31946 2010-05-09  Joseph Myers  <joseph (a] codesourcery.com>
   31947 
   31948 	PR c/4784
   31949 	* c-decl.c (detect_field_duplicates_hash): New.  Handle anonymous
   31950 	structures and unions recursively.
   31951 	(detect_field_duplicates): Move duplicate detection with a hash to
   31952 	detect_field_duplicates_hash.  Always use a hash if anonymous
   31953 	structures or unions are present.
   31954 	* doc/extend.texi (Unnamed Fields): Document that duplicate fields
   31955 	give errors.
   31956 
   31957 2010-05-09  H.J. Lu  <hongjiu.lu (a] intel.com>
   31958 
   31959 	PR target/44046
   31960 	* config/i386/driver-i386.c (host_detect_local_cpu): Properly
   31961 	detect Atom, Core 2 and Core i7.
   31962 
   31963 2010-05-09  Richard Guenther  <rguenther (a] suse.de>
   31964 
   31965 	* gcc.c (store_arg): Handle temporary file deletion for
   31966 	joined arguments.
   31967 
   31968 2010-05-09  Richard Guenther  <rguenther (a] suse.de>
   31969 
   31970 	PR middle-end/44043
   31971 	* ipa-inline.c (estimate_function_body_sizes): Return after
   31972 	disregarding inline limits.
   31973 
   31974 2010-05-09  Richard Guenther  <rguenther (a] suse.de>
   31975 
   31976 	* gcc.c (store_arg): Revert last change.
   31977 
   31978 2010-05-08  Sandra Loosemore  <sandra (a] codesourcery.com>
   31979 
   31980 	PR middle-end/28685
   31981 	* tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
   31982 	(optimize_ops_list): Call it.
   31983 
   31984 2010-05-08  Richard Guenther  <rguenther (a] suse.de>
   31985 
   31986 	PR tree-optimization/44030
   31987 	* tree-ssa-pre.c (eliminate): Copy NECESSARY flag.  Set
   31988 	NECESSARY flag if we propagate from a inserted expression.
   31989 
   31990 2010-05-08  Eric Botcazou  <ebotcazou (a] adacore.com>
   31991 
   31992 	* gimple.c (gimple_types_compatible_p) <ARRAY_TYPE>: Treat bounds of
   31993 	domain types as equal if they are both PLACEHOLDER_EXPRs.
   31994 
   31995 2010-05-08  Richard Guenther  <rguenther (a] suse.de>
   31996 
   31997 	* lto-wrapper.c (run_gcc): Remove linker output from
   31998 	command line for LTRANS invocation.
   31999 
   32000 2010-05-07  Steven Bosscher  <steven (a] gcc.gnu.org>
   32001 
   32002 	* config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
   32003 	lto-macho as lto_binary_reader.
   32004 	* target.h (struct gcc_target): New hooks lto_start and	lto_end.
   32005 	* target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
   32006 	* cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
   32007 	in lto_start and lto_end calls.
   32008 	(is_elf_or_coff): Rename to maybe_lto_object_file.  Add Mach-O
   32009 	magic numbers.
   32010 	(scan_prog_file): Update is_elf_or_coff call.
   32011 	* doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
   32012 
   32013 	* collect2.c (main): Fix enum comparison.
   32014 
   32015 	* config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
   32016 	Add prototypes.
   32017 	* darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
   32018 	* darwin.h (LINK_COMMAND_SPEC): Likewise.  Define TARGET_ASM_LTO_START
   32019 	and TARGET_ASM_LTO_END.
   32020 	* darwin.c: Include obstack.h and lto-streamer.h.
   32021 	(lto_section_names_offset, lto_section_names_obstack,
   32022 	lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
   32023 	global variables.
   32024 	(LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
   32025 	(darwin_asm_lto_start): New function.  Redirect output to asm_out_file
   32026 	to a temporary file.
   32027 	(darwin_asm_lto_end): New function.  Restore asm_out_file.
   32028 	(darwin_asm_named_section): For LTO sections, replace the name with
   32029 	the offset of the section name in a string table, and build this
   32030 	table.
   32031 	(darwin_file_start): Initialize global vars for LTO support.
   32032 	(darwin_file_end): If output to asm_out_file was redirected, append it
   32033 	to the proper asm_out_file here.  Add the section names section.
   32034 
   32035 2010-05-07  Steven Bosscher  <steven (a] gcc.gnu.org>
   32036 
   32037 	* c-pragma.c (pending_weak_d, pending_weak): New.
   32038 	(pending_weaks): Change the type to VEC((pending_weak,gc) *.
   32039 	(maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks,
   32040 	handle_pragma_weak): Update the uses of pending_weaks.
   32041 
   32042 2010-05-07  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   32043 
   32044 	PR documentation/44016
   32045 	* doc/standards.texi (Standards): Link to unversioned
   32046 	cxx0x_status.html page.
   32047 
   32048 2010-05-07  Iain Sandoe  <iains (a] gcc.gnu.org>
   32049 
   32050 	PR target/43708
   32051 	* config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P
   32052 	in addition to TREE_USED, to avoid "set but unused" warnings.
   32053 
   32054 2010-05-07  Changpeng Fang  <changpeng.fang (a] amd.com>
   32055 
   32056 	* tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New.
   32057 	(is_loop_prefetching_profitable): Do not insert prefetches
   32058 	when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO
   32059 	times the prefetch ahead distance.
   32060 
   32061 2010-05-07  Changpeng Fang  <changpeng.fang (a] amd.com>
   32062 
   32063 	* tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable):
   32064 	Account for loop unrolling in the insn-to-prefetch ratio heuristic.
   32065 	(loop_prefetch_arrays): Pass to is_loop_prefetching_profitable
   32066 	the unroll_factor.
   32067 
   32068 2010-05-07  Changpeng Fang  <changpeng.fang (a] amd.com>
   32069 
   32070 	* tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump
   32071 	a diagnostic info when the insn-to-mem ratio is too small.
   32072 
   32073 2010-05-07  Richard Guenther  <rguenther (a] suse.de>
   32074 
   32075 	* gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to
   32076 	the linker plugin.
   32077 	(store_arg): Queue temp_filename for deletion instead of
   32078 	the whole argument.
   32079 
   32080 2010-05-07  Richard Guenther  <rguenther (a] suse.de>
   32081 
   32082 	* lto-wrapper.c (DUMPBASE_SUFFIX): Define.
   32083 	(run_gcc): Handle LTRANS phase invocation.
   32084 	* collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS.
   32085 
   32086 2010-05-07  Jakub Jelinek  <jakub (a] redhat.com>
   32087 
   32088 	* tree.h (TREE_ADDRESSABLE): Adjust comment to say that
   32089 	this is also meaningful on PARM_DECLs and RESULT_DECLs.
   32090 
   32091 2010-05-07  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   32092 
   32093 	* config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.
   32094 
   32095 2010-05-07  Richard Guenther  <rguenther (a] suse.de>
   32096 
   32097 	PR tree-optimization/44020
   32098 	* tree-ssa-pre.c (execute_pre): Do not remove dead inserted
   32099 	code when PRE is not yet initialized.
   32100 
   32101 2010-05-07  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   32102 
   32103 	* config/mips/dbxmdebug.h: Remove.
   32104 	* config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h.
   32105 
   32106 2010-05-07  Shujing Zhao  <pearly.zhao (a] oracle.com>
   32107 
   32108 	* c-typeck.c (build_binary_op): Warn ordered comparison of pointer
   32109 	with null pointer and also warn about ordered comparison of zero with
   32110 	pointer if -Wextra.
   32111 
   32112 2010-05-05  Andreas Simbuerger  <simbuerg (a] fim.uni-passau.de>
   32113 
   32114 	* graphite-blocking.c
   32115 	(pbb_strip_mine_profitable_p): Replace Value with mpz_t.
   32116 	* graphite-clast-to-gimple.c
   32117 	(clast_to_gcc_expression): Same.
   32118 	(precision_for_value): Same.
   32119 	(precision_for_interval): Same.
   32120 	(gcc_type_for_interval): Same.
   32121 	(graphite_create_new_guard): Same.
   32122 	(compute_bounds_for_level): Same.
   32123 	(graphite_create_new_loop_guard): Same.
   32124 	* graphite-interchange.c
   32125 	(build_linearized_memory_access): Same.
   32126 	(pdr_stride_in_loop): Same.
   32127 	(memory_strides_in_loop_1): Same.
   32128 	(memory_strides_in_loop): Same.
   32129 	(extend_scattering): Same.
   32130 	(psct_scattering_dim_for_loop_depth): Same.
   32131 	(pbb_number_of_iterations): Same.
   32132 	* graphite-poly.h
   32133 	(debug_iteration_domains): Same.
   32134 	* graphite-ppl.c
   32135 	(new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
   32136 	(ppl_set_inhomogeneous_gmp): Same.
   32137 	(ppl_strip_loop): Same.
   32138 	(ppl_lexico_compare_linear_expressions): Same.
   32139 	(ppl_read_polyhedron_matrix): Same.
   32140 	(ppl_max_for_le_pointset): Same.
   32141 	* graphite-ppl.h
   32142 	(ppl_read_polyhedron_matrix): Same.
   32143 	(tree_int_to_gmp): Same.
   32144 	(gmp_cst_to_tree): Same.
   32145 	(ppl_set_inhomogeneous): Same.
   32146 	(ppl_set_inhomogeneous_tree): Same.
   32147 	(ppl_set_coef): Same.
   32148 	(ppl_set_coef_tree): Same.
   32149 	* graphite-sese-to-poly.c
   32150 	(build_pbb_scattering_polyhedrons): Same.
   32151 	(build_scop_scattering): Same.
   32152 	(scan_tree_for_params_right_scev): Same.
   32153 	(scan_tree_for_params): Same.
   32154 	(find_params_in_bb): Same.
   32155 	(find_scop_parameters): Same.
   32156 	(add_upper_bounds_from_estimated_nit): Same.
   32157 	(build_loop_iteration_domains): Same.
   32158 	(add_condition_to_domain): Same.
   32159 	(pdr_add_memory_accesses): Same.
   32160 
   32161 2010-05-05  Andreas Simbuerger  <simbuerg (a] fim.uni-passau.de>
   32162 
   32163 	* graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve
   32164 	CLooG's value_* macros to their respective mpz_* counterparts.
   32165 	* graphite-clast-to-gimple.c (clast_to_gcc_expression): Same.
   32166 	(graphite_create_new_loop_guard): Same.
   32167 	* graphite-interchange.c (build_linearized_memory_access): Same.
   32168 	(pdr_stride_in_loop): Same.
   32169 	(memory_strides_in_loop_1): Same.
   32170 	(1st_interchange_profitable_p): Same.
   32171 	* graphite-poly.c (extend_scattering): Same.
   32172 	(psct_scattering_dim_for_loop_depth): Same.
   32173 	(pbb_number_of_iterations): Same.
   32174 	(pbb_number_of_iterations_at_time): Same.
   32175 	* graphite-poly.h (new_1st_loop): Same.
   32176 	* graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same.
   32177 	(oppose_constraint): Same.
   32178 	(insert_constraint_into_matrix): Same.
   32179 	(ppl_set_inhomogeneous_gmp): Same.
   32180 	(ppl_set_coef_gmp): Same.
   32181 	(ppl_strip_loop): Same.
   32182 	(ppl_lexico_compare_linear_expressions): Same.
   32183 	(ppl_max_for_le_pointset): Same.
   32184 	(ppl_min_for_le_pointset): Same.
   32185 	(ppl_build_realtion): Same.
   32186 	* graphite-ppl.h (gmp_cst_to_tree): Same.
   32187 	(ppl_set_inhomogeneous): Same.
   32188 	(ppl_set_inhomogeneous_tree): Same.
   32189 	(ppl_set_coef): Same.
   32190 	(ppl_set_coef_tree): Same.
   32191 	* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
   32192 	(build_scop_scattering): Same.
   32193 	(add_value_to_dim): Same.
   32194 	(scan_tree_for_params_right_scev): Same.
   32195 	(scan_tree_for_params_int): Same.
   32196 	(scan_tree_for_params): Same.
   32197 	(find_params_in_bb): Same.
   32198 	(find_scop_parameters): Same.
   32199 	(add_upper_bounds_from_estimated_nit): Same.
   32200 	(build_loop_iteration_domains): Same.
   32201 	(create_linear_expr_from_tree): Same.
   32202 	(add_condition_to_domain): Same.
   32203 	(pdr_add_memory_accesses): Same.
   32204 
   32205 2010-05-06  Magnus Fromreide  <magfr (a] lysator.liu.se>
   32206 	    Jason Merrill  <jason (a] redhat.com>
   32207 
   32208 	* c-common.c (c_common_reswords): Add nullptr.
   32209 	* c-common.h: Add RID_NULLPTR.  Reorganize C++0x rids.
   32210 	* dwarf2out.c (is_base_type): Handle NULLPTR_TYPE.
   32211 	(gen_type_die_with_usage): Likewise.
   32212 	* dbxout.c (dbxout_type): Likewise.
   32213 	* sdbout.c (plain_type_1): Likewise.
   32214 
   32215 2010-05-06  Jason Merrill  <jason (a] redhat.com>
   32216 
   32217 	* gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.
   32218 	Don't change GS_OK to GS_ALL_DONE.  Make sure that all cases set
   32219 	ret appropriately.
   32220 	(gimplify_compound_lval): Return GS_ALL_DONE as appropriate.
   32221 
   32222 	* gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for
   32223 	stripping WITH_SIZE_EXPR.
   32224 	(gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't
   32225 	change.
   32226 
   32227 2010-05-06  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   32228 
   32229 	* config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from
   32230 	list of obsolete configurations.
   32231 	Disabled check for obsolete configurations.
   32232 	(mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
   32233 	Removed support for previous versions.
   32234 	* config/mips/iris.h: Removed.
   32235 	* config/mips/iris5.h: Removed.
   32236 	* config/mips/iris6.h: Merged old iris.h contents.
   32237 	(TARGET_IRIX): Removed.
   32238 	(DRIVER_SELF_SPECS): Removed mabi=32.
   32239 	(IDENT_ASM_OP): Removed undef.
   32240 	(STARTFILE_SPEC): Removed mabi=32.
   32241 	(ENDFILE_SPEC): Likewise.
   32242 	(IRIX_SUBTARGET_LINK_SPEC): Likewise.
   32243 	(MACHINE_TYPE): Update for IRIX 6.5.
   32244 	* config/mips/mips.c (mips_build_builtin_va_list): Replaced
   32245 	TARGET_IRIX by TARGET_IRIX6.
   32246 	(mips_file_start): Likewise.
   32247 	(mips_output_external): Remove IRIX 5/6 O32 support.
   32248 	(mips_output_function_prologue): Likewise.
   32249 	* config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by
   32250 	TARGET_IRIX6.
   32251 	(TARGET_CPU_CPP_BUILTINS): Likewise.
   32252 	(TARGET_IRIX): Removed.
   32253 	* config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
   32254 	(MULTILIB_DIRNAMES): Removed 32.
   32255 	(MULTILIB_OSDIRNAMES): Removed ../lib.
   32256 	* doc/install.texi (Prerequisites): Don't reference IRIX before 6.5.
   32257 	(Specific, mips-sgi-irix5): Document removal.
   32258 	(Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal.
   32259 	Remove references to older IRIX 6 releases and the O32 ABI.
   32260 
   32261 2010-05-06  Jakub Jelinek  <jakub (a] redhat.com>
   32262 
   32263 	PR bootstrap/43994
   32264 	* df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
   32265 	instead of DF_REF_REAL_REG.
   32266 
   32267 2010-05-06  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   32268 
   32269 	PR target/43888
   32270 	* config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
   32271 	handling to still return true for x64 targets.
   32272 
   32273 2010-05-06  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   32274 
   32275 	* config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.
   32276 
   32277 2010-05-06  Jan Hubicka  <jh (a] suse.cz>
   32278 
   32279 	PR tree-optimization/43791
   32280 	* ipa-inline.c (update_caller_keys): Remove bogus
   32281 	disregard_inline_limits check.
   32282 
   32283 2010-05-06  Michael Matz  <matz (a] suse.de>
   32284 
   32285 	PR tree-optimization/43984
   32286 	* tree-ssa-pre.c (inserted_phi_names): Remove.
   32287 	(inserted_exprs): Change to bitmap.
   32288 	(create_expression_by_pieces): Set bits, don't append to vector.
   32289 	(insert_into_preds_of_block): Don't handle inserted_phi_names.
   32290 	(eliminate): Don't look at inserted_phi_names, remove deleted
   32291 	insns from inserted_exprs.
   32292 	(remove_dead_inserted_code): Adjust to use bitmaps instead of vectors.
   32293 	(init_pre, fini_pre): Allocate and free bitmaps.
   32294 	(execute_pre): Insert insns on edges before elimination.
   32295 
   32296 2010-05-06  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   32297 
   32298 	* tree.c (initializer_zerop): Handle STRING_CST.
   32299 
   32300 2010-05-06  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   32301 
   32302 	PR 40989
   32303 	* doc/invoke.texi (Wimplicit): Document as C only.
   32304 	* opts.c (common_handle_option): Add argument kind.
   32305 	(handle_option): Rename as read_cmdline_option. Factor out code to...
   32306 	(handle_option): ... here. New.
   32307 	(handle_options): Rename as read_cmdline_options.
   32308 	(decode_options): Update call.
   32309 	(set_option): Use option index instead of option pointer. Classify
   32310 	diagnostics correctly.
   32311 	(enable_warning_as_error): Call handle_option.
   32312 	* opts.h (set_option): Update declaration.
   32313 	(handle_option): Declare.
   32314 	* langhooks.h (struct lang_hooks): Add argument kind to handle_option.
   32315 	* c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
   32316 	* c-opts.c (set_Wimplicit): Delete.
   32317 	(c_family_lang_mask): New static constant.
   32318 	(c_common_handle_option): Add argument kind. Use handle_option
   32319 	instead of set_Wimplicit.
   32320 	(c_common_post_options): warn_implicit and warn_implicit_int
   32321 	are disabled by default.
   32322 	* c-common.c (warn_implicit): Do not define here.
   32323 	* c-common.h (warn_implicit): Do not declare here.
   32324 	(c_common_handle_option): Update declaration.
   32325 	* lto-opts.c (lto_reissue_options): Update call to set_option.
   32326 
   32327 2010-05-06  Richard Guenther  <rguenther (a] suse.de>
   32328 
   32329 	PR tree-optimization/43571
   32330 	* domwalk.c (walk_dominator_tree): Walk the dominator
   32331 	sons in more optimal order.
   32332 
   32333 2010-05-06  Richard Guenther  <rguenther (a] suse.de>
   32334 
   32335 	PR tree-optimization/43934
   32336 	* tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
   32337 	(stmt_cost): Likewise.
   32338 	(extract_true_false_args_from_phi): New helper.
   32339 	(determine_max_movement): For PHI nodes verify we can hoist them
   32340 	and compute their cost.
   32341 	(determine_invariantness_stmt): Handle PHI nodes.
   32342 	(move_computations_stmt): Likewise.  Hoist PHI nodes in
   32343 	if-converted form using COND_EXPRs.
   32344 	(move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes.
   32345 	(tree_ssa_lim): Likewise.
   32346 	* tree-flow.h (tree_ssa_lim): Adjust prototype.
   32347 	* tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
   32348 
   32349 2010-05-06  Richard Guenther  <rguenther (a] suse.de>
   32350 
   32351 	PR tree-optimization/43987
   32352 	* tree-ssa-structalias.c (could_have_pointers): For possibly
   32353 	address-taken variables force pointers to be recorded.
   32354 	(create_variable_info_for_1): Likewise.
   32355 	(push_fields_onto_fieldstack): Pass in wheter all fields
   32356 	must have pointers.
   32357 	(find_func_aliases): Query types instead of vars whether
   32358 	they contain pointers where appropriate.
   32359 
   32360 2010-05-06  Jan Hubicka  <jh (a] suse.cz>
   32361 
   32362 	* cgraphbuild.c (record_reference_ctx): Add varpool_node.
   32363 	(record_reference, mark_address, mark_load, mark_store): Record
   32364 	references.
   32365 	(record_references_in_initializer): Update call of record_references.
   32366 	(rebuild_cgraph_edges): Remove all references before rebuiding.
   32367 	* cgraph.c (cgraph_create_node): Clear ref list.
   32368 	(cgraph_remove_node): Remove references.
   32369 	(dump_cgraph_node): Dump references.
   32370 	(cgraph_clone_node): Clone references.
   32371 	* cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
   32372 	(struct cgraph_node, varpool_node): Add ref_lst.
   32373 	* ipa-ref.c: New file.
   32374 	* ipa-ref.h: New file.
   32375 	* ipa-ref-inline.h: New file.
   32376 	* lto-cgraph.c (output_varpool): Take cgrag node set argument.
   32377 	(referenced_from_other_partition_p): New function.
   32378 	(lto_output_varpool_node): Take set arugment; call
   32379 	referenced_from_other_partition.
   32380 	(lto_output_ref): New.
   32381 	(add_references): New.
   32382 	(output_refs): New.
   32383 	(output_cgraph): Compute boundary based on references; output refs.
   32384 	(output_varpool): Accept cgraph_node_set argument.
   32385 	(input_ref): New.
   32386 	(input_refs): New.
   32387 	(input_cgraph): Call input_refs.
   32388 	* lto-section-in.c (lto_section_name): Add refs.
   32389 	* Makefile.in (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
   32390 	(ipa-ref.o): New file.
   32391 	* varpool.c (varpool_node): Clear ipa ref list.
   32392 	(varpool_remove_node): Remove references.
   32393 	(dump_varpool_node): Dump references.
   32394 	(varpool_assemble_decl): Only compile finalized ones.
   32395 	(varpool_extra_name_alias): Initialize ref list.
   32396 	* lto-streamer.c (lto-get_section_name): Add .refs section.
   32397 	* lto-streamer.h (lto_section_type): Add LTO_section_refs.
   32398 	(referenced_from_other_partition_p): Declared.
   32399 
   32400 2010-05-06  Ira Rosen  <irar (a] il.ibm.com>
   32401 
   32402 	PR tree-optimization/43901
   32403 	* tree-vect-stmts.c (vectorizable_call): Assert that vector
   32404 	type is not NULL if it's transformation phase, and return
   32405 	FALSE if it's analysis.
   32406 	(vectorizable_conversion, vectorizable_operation,
   32407 	vectorizable_type_demotion, vectorizable_type_promotion): Likewise.
   32408 
   32409 2010-05-05  Andrew Pinski  <andrew.pinski (a] caviumnetworks.com>
   32410 
   32411 	* config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
   32412 	Delete.
   32413 	* config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
   32414 	New define.
   32415 	* config/mips/mips-protos.h
   32416 	(mips_small_register_classes_for_mode_p): Delete prototype.
   32417 
   32418 2010-05-06  Bernd Schmidt  <bernds (a] codesourcery.com>
   32419 
   32420 	* config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
   32421 	* config/arm/arm.c (multiple_operation_profitable_p,
   32422 	compute_offset_order): New static functions.
   32423 	(load_multiple_sequence, store_multiple_sequence): Use them.
   32424 	Replace constant 4 with MAX_LDM_STM_OPS.  Compute order[0] from
   32425 	memory offsets, not register numbers.
   32426 	(emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
   32427 
   32428 2010-05-05  Steven Bosscher  <steven (a] gcc.gnu.org>
   32429 
   32430 	* stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
   32431 	(get_pending_sizes, put_pending_size, put_pending_sizes):
   32432 	Update the uses of pending_sizes.
   32433 	* c-decl.c (store_parm_decls): Likewise.
   32434 	* c-tree.h (struct c_arg_info): Likewise.
   32435 	* tree.h: Update the prototype for get_pending_sizes and
   32436 	put_pending_sizes.
   32437 
   32438 2010-05-05  Jason Merrill  <jason (a] redhat.com>
   32439 
   32440 	PR debug/43370
   32441 	* c-common.c (handle_aligned_attribute): Respect
   32442 	ATTR_FLAG_TYPE_IN_PLACE.
   32443 
   32444 	PR testsuite/43758
   32445 	* target.h (struct gcc_target): Add attribute_takes_identifier_p.
   32446 	* target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
   32447 	(TARGET_INITIALIZER): Use it.
   32448 	* c-common.c (attribute_takes_identifier_p): Call it.
   32449 	* c-common.h: Update prototype.
   32450 	* config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
   32451 	(TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
   32452 
   32453 2010-05-05  Jakub Jelinek  <jakub (a] redhat.com>
   32454 
   32455 	PR debug/43950
   32456 	* dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
   32457 	DW_ID_down_case for Fortran compilation units.
   32458 
   32459 2010-05-05  Jan Hubicka  <jh (a] suse.cz>
   32460 
   32461 	* lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
   32462 	handle aliases.
   32463 
   32464 2010-05-05  Eric Botcazou  <ebotcazou (a] adacore.com>
   32465 
   32466 	* gimplify.c (gimplify_return_expr): Gimplify the size expressions of
   32467 	a variable-sized RESULT_DECL.
   32468 
   32469 2010-05-05  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   32470 
   32471 	* doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
   32472 
   32473 2010-05-05  Jason Merrill  <jason (a] redhat.com>
   32474 
   32475 	PR c++/43787
   32476 	* gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
   32477 	returns GS_OK.
   32478 	(gimplify_modify_expr_rhs): Return GS_OK if anything changed.
   32479 
   32480 2010-05-05  Alexandre Oliva  <aoliva (a] redhat.com>
   32481 	    Jakub Jelinek  <jakub (a] redhat.com>
   32482 
   32483 	PR debug/43478
   32484 	* df-problems.c (struct dead_debug_use, struct dead_debug): New.
   32485 	(dead_debug_init, dead_debug_finish): New functions.
   32486 	(dead_debug_add, dead_debug_insert_before): Likewise.
   32487 	(df_note_bb_compute): Initialize a dead_debug object, add dead
   32488 	debug uses to it, insert debug bind insns before death insns,
   32489 	reset debug insns that refer to pending uses at the end.
   32490 	* rtl.h (make_debug_expr_from_rtl): New prototype.
   32491 	* varasm.c (make_debug_expr_from_rtl): New function.
   32492 
   32493 2010-05-05  Jan Hubicka  <jh (a] suse.cz>
   32494 
   32495 	* lto-cgraph.c (output_varpool): Forward declare; work on encoder.
   32496 	(lto_varpool_encoder_new, lto_varpool_encoder_delete,
   32497 	lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
   32498 	lto_varpool_encoder_deref, lto_varpool_encoder_size,
   32499 	lto_varpool_encoder_encode_initializer_p,
   32500 	lto_set_varpool_encoder_encode_initializer): New functions.
   32501 	(lto_output_cgraph): Take vset parameter too; compute varpool encoder;
   32502 	call output_varpool.
   32503 	(input_varpool_node): Do not always set analyzed.
   32504 	(input_cgraph_1): Return vector of cgraph nodes.
   32505 	(input_varpool_1): Return vector of varpools.
   32506 	(input_cgraph): Free the vectors.
   32507 	* lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
   32508 	output only initializers needed.
   32509 	(lto_output): Only call output_cgraph.
   32510 	(produce_asm_for_decls): Call lto_varpool_encoder_delete.
   32511 	* lto-section-out.c (lto_new_out_decl_state): Initialize
   32512 	state->varpool_node_encoder.
   32513 	* lto-streamer.h (lto_varpool_encoder_d): New.
   32514 	(lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
   32515 	(lto_cgraph_encoder_delete, output_cgraph): Update prototype.
   32516 	(lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
   32517 	lto_varpool_encoder_encode, lto_varpool_encoder_delete,
   32518 	lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
   32519 	Declare.
   32520 	(output_varpool, input_varpool): Remove declarations.
   32521 
   32522 2010-05-05  Jan Hubicka  <jh (a] suse.cz>
   32523 
   32524 	* lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
   32525 	with body can prevail.
   32526 
   32527 2010-05-05  Jan Hubicka  <jh (a] suse.cz>
   32528 
   32529 	* lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
   32530 	size.
   32531 
   32532 2010-05-05  Laurynas Biveinis  <laurynas.biveinis (a] gmail.com>
   32533 
   32534 	* Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
   32535 
   32536 	* gengtype.h (erro_at_line): Constify pos argument.
   32537 
   32538 	* gengtype.c: Include hashtab.h.
   32539 	(enum gc_used): Document GC_MAYBE_POINTED_TO.
   32540 	(error_at_line): Constify pos argument.
   32541 	(do_typedef): Initialize p->opt field.
   32542 	(get_file_gtfilename): Fix comment typo.
   32543 	(struct walk_type_data): Constify line field.
   32544 	(get_output_file_for_structure): New function.
   32545 	(write_local_func_for_structure): Constify orig_s argument.
   32546 	Use get_output_file_for_structure.
   32547 	(write_func_for_structure): Use get_output_file_for_structure.
   32548 	(INDENT): New define.
   32549 	(dump_pair, dump_type, dump_type_list, dump_typekind)
   32550 	(dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
   32551 	(dump_type_u_a, dump_type_u_param_struct, dump_everything): New
   32552 	functions.
   32553 	(seen_types): New variable.
   32554 	(main): New variable do_dump.  Process "-d" command line option.
   32555 	Call dump_everything if dump requested.
   32556 
   32557 2010-05-05  Jakub Jelinek  <jakub (a] redhat.com>
   32558 
   32559 	* var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
   32560 	in a temporary instead of invoking the macro multiple times.
   32561 	(track_expr_p): Likewise.
   32562 
   32563 2010-05-04  Neil Vachharajani  <nvachhar (a] google.com>
   32564 
   32565 	* doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
   32566 	per new semantics.
   32567 	* opts.c (decode_options): Enable -Werror=coverage-mismatch.
   32568 	* coverage.c (get_coverage_counts): Always emit a warning.  Adjust
   32569 	conditions for printing notes.
   32570 	* common.opt (-Wcoverage-mismatch): Allow negative, default to
   32571 	true, update documentation.
   32572 	* Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
   32573 
   32574 2010-05-04  Jakub Jelinek  <jakub (a] redhat.com>
   32575 
   32576 	PR c/43981
   32577 	* c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
   32578 	on dimen.
   32579 
   32580 2010-05-04  H.J. Lu  <hongjiu.lu (a] intel.com>
   32581 
   32582 	PR target/43799
   32583 	* config/i386/i386.md (sse_prologue_save): Clobber CC register.
   32584 	(*sse_prologue_save_insn1): Likewise.
   32585 	(SSE prologue save splitter): Likewise.
   32586 
   32587 2010-05-04  Eric Botcazou  <ebotcazou (a] adacore.com>
   32588 
   32589 	* tree.c (free_lang_data_in_one_sizepos): New inline function.
   32590 	(free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
   32591 	types.  Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
   32592 	(free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
   32593 	all decls.  Call it on DECL_FIELD_OFFSET of fields.
   32594 	(find_decls_types_r): Follow DECL_VALUE_EXPR.
   32595 	(iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
   32596 
   32597 2010-05-04  Martin Jambor  <mjambor (a] suse.cz>
   32598 
   32599 	* tree-sra.c (build_access_from_expr_1): The first parameter type
   32600 	changed to simple tree.
   32601 	(build_access_from_expr): Likewise, gsi parameter was eliminated.
   32602 	(scan_assign_result): Renamed to assignment_mod_result, enum elements
   32603 	renamed as well.
   32604 	(build_accesses_from_assign): Removed all parameters except for a
   32605 	simple gimple statement.  Now returns a simple bool.
   32606 	(scan_function): All non-analysis parts moved to separate functions
   32607 	sra_modify_function_body and ipa_sra_modify_function_body.  Removed all
   32608 	parameters and updated both callers.
   32609 	(sra_modify_expr): Removed parameter data.
   32610 	(sra_modify_function_body): New function.
   32611 	(perform_intra_sra): Call sra_modify_function_body to modify the
   32612 	function body.
   32613 	(replace_removed_params_ssa_names): Parameter data changed into
   32614 	adjustments vector.
   32615 	(sra_ipa_modify_expr): Likewise.  Also removed unused parameter gsi and
   32616 	changed the parameter dont_convert to convert with the opposite
   32617 	meaning.
   32618 	(sra_ipa_modify_assign): Parameter data changed into adjustments
   32619 	vector, return value changed to bool.
   32620 	(ipa_sra_modify_function_body): New function.
   32621 	(sra_ipa_reset_debug_stmts): Updated a comment.
   32622 	(modify_function): Use ipa_sra_modify_function_body to modify function
   32623 	body.
   32624 
   32625 2010-05-04  H.J. Lu  <hongjiu.lu (a] intel.com>
   32626 
   32627 	PR middle-end/43671
   32628 	* alias.c (true_dependence): Handle the same VALUE in x and mem.
   32629 	(canon_true_dependence): Likewise.
   32630 	(write_dependence_p): Likewise.
   32631 
   32632 2010-05-04  Jan Hubicka  <jh (a] suse.cz>
   32633 
   32634 	* Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
   32635 	* cgraphbuild.c: Include ipa-utils.h
   32636 	(record_reference_ctx): New struct.
   32637 	(record_reference): Simplify to work on initializers; not statements.
   32638 	(mark_address, mark_load, mark_store): New.
   32639 	(build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
   32640 	walk PHI nodes too.
   32641 	(record_references_in_initializer): Update use of record_reference.
   32642 	(rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
   32643 	walk PHI nodes too.
   32644 
   32645 2010-05-04  Jan Hubicka  <jh (a] suse.cz>
   32646 
   32647 	* lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
   32648 	node will be removed anyway.
   32649 	(lto_varpool_replace_node): Allow also unanalyzed nodes;
   32650 	relink aliases of node into prevailing node.
   32651 	* varpool.c (varpool_remove_node): Remove aliases properly;
   32652 	when removing node, remove all its aliases too; remove DECL_INITIAL
   32653 	of removed node; ggc_free the varpool node.
   32654 
   32655 2010-05-04  Richard Guenther  <rguenther (a] suse.de>
   32656 
   32657 	PR tree-optimization/43879
   32658 	* tree-ssa-structalias.c (alias_get_name): Use
   32659 	DECL_ASSEMBLER_NAME if available.
   32660 	(create_function_info_for): Return the varinfo node.
   32661 	(ipa_pta_execute): Associate same-body aliases and extra names
   32662 	with their origin nodes varinfo.  Dump DECL_ASSEMBLER_NAME.
   32663 
   32664 2010-05-04  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   32665 
   32666 	* config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static.
   32667 
   32668 2010-05-04  Mikael Pettersson  <mikpe (a] it.uu.se>
   32669 
   32670 	PR bootstrap/43964
   32671 	* ira-color.c (assign_hard_reg): Declare rclass and add_cost
   32672 	only if HONOR_REG_ALLOC_ORDER is not defined.
   32673 
   32674 2010-05-04  Richard Guenther  <rguenther (a] suse.de>
   32675 
   32676 	PR tree-optimization/43949
   32677 	* tree-vrp.c (extract_range_from_binary_expr): Only handle
   32678 	TRUNC_MOD_EXPR.
   32679 
   32680 2010-04-26  Jason Merrill  <jason (a] redhat.com>
   32681 
   32682 	* c.opt (-fstrict-enums): New.
   32683 	* doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
   32684 
   32685 2010-05-03  David Ung  <davidu (a] mips.com>
   32686 	    James E. Wilson  <wilson (a] codesourcery.com>
   32687 
   32688 	* config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS,
   32689 	emit the trap instruction before the divide for TUNE_74K.
   32690 
   32691 2010-05-03  Steven Bosscher  <steven (a] gcc.gnu.org>
   32692 
   32693 	* doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
   32694 	(TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
   32695 	based on the above, for new target hook.
   32696 
   32697 	* hooks.c (hook_bool_mode_true): New generic hook.
   32698 	* hooks.h (hook_bool_mode_true): Add prototype.
   32699 
   32700 	* target.h (struct gcc_target): Add small_register_classes_for_mode_p
   32701 	target hook.
   32702 	* target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
   32703 	target hook, set to hook_bool_mode_false.
   32704 	* regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
   32705 	* reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
   32706 	with targetm.small_register_classes_for_mode_p.
   32707 	(find_reusable_reload): Likewise.
   32708 	(combine_reloads): Likewise.
   32709 	* reload1.c (reload_as_needed): Likewise.
   32710 	* cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
   32711 	* ifcvt.c (noce_process_if_block, check_cond_move_block,
   32712 	dead_or_predicable): Likewise.
   32713 	* regmove.c (optimize_reg_copy_1): Likewise.
   32714 	* calls.c (prepare_call_address): Likewise.
   32715 	(precompute_register_parameters): Likewise.
   32716 
   32717 	* config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
   32718 	hook definition.
   32719 	* config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
   32720 	implementation of the hook that considers all register classes
   32721 	small except for SH64.
   32722 	(sh_override_options): Use the new hook.
   32723 	* config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
   32724 	Add prototype.
   32725 
   32726 	* config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
   32727 	hook definition.
   32728 	* config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
   32729 	implementation of the hook that considers all register classes
   32730 	small for THUMB1.
   32731 	* config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
   32732 	Add prototype.
   32733 
   32734 	* config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
   32735 	hook definition.
   32736 	* config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
   32737 	implementation of the hook that considers all register classes
   32738 	small for MIPS16.
   32739 	* config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
   32740 	Add prototype.
   32741 
   32742 	* config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
   32743 	hook definition.
   32744 	* config/m32c/m32c.h: Likewise.
   32745 	* config/pdp11/pdp11.h: Likewise.
   32746 	* config/avr/avr.h: Likewise.
   32747 	* config/xtensa/xtensa.h: Likewise.
   32748 	* config/m68hc11/m68hc11.h: Likewise.
   32749 	* config/mn10300/mn10300.h: Likewise.
   32750 	* config/mcore/mcore.h: Likewise.
   32751 	* config/h8300/h8300.h: Likewise.
   32752 	* config/bfin/bfin.h: Likewise.
   32753 
   32754 	* config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
   32755 	* config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
   32756 
   32757 2010-05-03  Anatoly Sokolov  <aesok (a] post.ru>
   32758 
   32759 	* double-int.h (tree_to_double_int): Remove macro.
   32760 	(double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
   32761 	* tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
   32762 	(tree_to_double_int): New function.
   32763 	* double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
   32764 	Move ...
   32765 	* tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
   32766 
   32767 2010-05-03  Richard Guenther  <rguenther (a] suse.de>
   32768 
   32769 	PR tree-optimization/43971
   32770 	* tree-ssa-structalias.c (get_constraint_for_1): Fix
   32771 	constraints in the !flag_delete_null_pointer_checks case.
   32772 
   32773 2010-05-03  Jakub Jelinek  <jakub (a] redhat.com>
   32774 
   32775 	PR debug/43972
   32776 	* config/i386/i386.c (ix86_delegitimize_address): Make sure the
   32777 	result mode matches original rtl mode.
   32778 
   32779 2010-05-03  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   32780 
   32781 	PR target/43888
   32782 	* config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
   32783 
   32784 2010-05-02  Uros Bizjak  <ubizjak (a] gmail.com>
   32785 
   32786 	* config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
   32787 	when processing flag options.
   32788 
   32789 2010-05-02  Uros Bizjak  <ubizjak (a] gmail.com>
   32790 
   32791 	* gcov-iov.c (main): Change format string placeholder
   32792 	from %#08x to 0x%08x.
   32793 	* genchecksum.c (dosum): Change format string placeholder
   32794 	from %#02x to 0x%02x.
   32795 
   32796 2010-05-02  Richard Guenther  <rguenther (a] suse.de>
   32797 
   32798 	PR tree-optimization/43879
   32799 	* tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls.
   32800 
   32801 2010-05-02  Bruno Haible  <bruno (a] clisp.org>
   32802 
   32803 	* doc/extend.texi (Function Attributes): Fix a typo.
   32804 
   32805 2010-05-02  Uros Bizjak  <ubizjak (a] gmail.com>
   32806 
   32807 	Revert:
   32808 	* hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
   32809 	placeholder from 0x%x to %#x.
   32810 	(HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
   32811 	* config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
   32812 	* config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
   32813 	* config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
   32814 	* config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
   32815 	* config/i386/i386.c (ix86_target_string): Ditto.
   32816 	* config/i386/i386.c (output_pic_addr_const): Ditto.
   32817 	(print_operand): Ditto.
   32818 
   32819 2010-05-02  Uros Bizjak  <ubizjak (a] gmail.com>
   32820 
   32821 	* vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
   32822 	placeholder from 0x%x to %#x.
   32823 	(ASM_OUTPUT_DEBUG_DATA1): Ditto.
   32824 	(ASM_OUTPUT_DEBUG_DATA4): Ditto.
   32825 	(ASM_OUTPUT_DEBUG_DATA): Ditto.
   32826 	(ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
   32827 	(ASM_OUTPUT_DEBUG_DATA8): Ditto.
   32828 	* optc-gen.awk: Ditto.
   32829 	* hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
   32830 	(HOST_WIDE_INT_PRINT_HEX): Ditto.
   32831 	(HOST_WIDEST_INT_PRINT_HEX): Ditto.
   32832 	(HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
   32833 
   32834 2010-05-01  Anatoly Sokolov  <aesok (a] post.ru>
   32835 
   32836 	* target.h (struct calls): Add function_value_regno_p field.
   32837 	* target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
   32838 	(TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
   32839 	* targhooks.c (default_function_value_regno_p): New function.
   32840 	* targhooks.h (default_function_value_regno_p): Declare function.
   32841 	* rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
   32842 	* builtins.c. (apply_result_size): (Ditto.).
   32843 	* combine.c. (likely_spilled_retval_p): (Ditto.).
   32844 	* mode-switching.c. Include 'target.h'.
   32845 	(create_pre_exit): Use function_value_regno_p hook.
   32846 	* Makefile.in (mode-switching.o): Add dependency on TARGET_H.
   32847 	* doc/tm.texi (FUNCTION_VALUE_REGNO_P,
   32848 	TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
   32849 
   32850 	* config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
   32851 	* config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
   32852 	(ix86_function_value_regno_p): Declare as static, change argument
   32853 	type to const unsigned int.
   32854 	* config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
   32855 
   32856 2010-05-01  Richard Guenther  <rguenther (a] suse.de>
   32857 
   32858 	PR tree-optimization/43949
   32859 	* tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
   32860 	types.
   32861 	(extract_range_from_binary_expr): Handle *_MOD_EXPR.
   32862 
   32863 2010-05-01  Anatoly Sokolov  <aesok (a] post.ru>
   32864 
   32865 	* rtl.h (CONST_DOUBLE_P): Define.
   32866 	(rtx_to_double_int): Declare.
   32867 	* emit-rtl.c (rtx_to_double_int): New function.
   32868 	* dwarf2out.c (insert_double): New function.
   32869 	(loc_descriptor, add_const_value_attribute): Clean up, use
   32870 	rtx_to_double_int and insert_double functions.
   32871 
   32872 2010-05-01  Jonathan Wakely  <jwakely.gcc (a] gmail.com>
   32873 
   32874 	* doc/extend.texi (Inline): Add missing return keyword to examples.
   32875 	(Function Attributes, Variable Attributes, Pragmas): Hyphenate
   32876 	"command-line".
   32877 
   32878 2010-04-30  Eric Botcazou  <ebotcazou (a] adacore.com>
   32879 
   32880 	* tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
   32881 	the variable part of the offset as well.  Use highest_pow2_factor for
   32882 	all alignment checks.
   32883 
   32884 2010-04-30  Richard Guenther  <rguenther (a] suse.de>
   32885 
   32886 	PR tree-optimization/43879
   32887 	* tree-ssa-structalias.c (type_could_have_pointers): Functions
   32888 	can have pointers.
   32889 
   32890 2010-04-30  Jan Hubicka  <jh (a] suse.cz>
   32891 
   32892 	* lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with
   32893 	varpool.
   32894 	(lto_symtab_merge_decls_1): Remove logic looking for an initializer.
   32895 
   32896 2010-04-30  Jan Hubicka  <jh (a] suse.cz>
   32897 
   32898 	* cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p):
   32899 	New.
   32900 	* lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
   32901 	* lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
   32902 	(lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
   32903 	cgraph_node_set_needs_ltrans_p): Remove.
   32904 
   32905 2010-04-30  Steven Bosscher  <steven (a] gcc.gnu.org>
   32906 
   32907 	* sdbout.c: Include vec.h, do not include varray.h.
   32908 	(deferred_global_decls, sdbout_global_decl,
   32909 	sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
   32910 	* toplev.c: Do not include varray.h.
   32911 	(dump_memory_report): Do not dump VARRAY statistics.
   32912 	* gengtype.c (open_base_file): Ignore varray.h.
   32913 	* Makefile.in: Update for abovementioned changes.
   32914 	Remove all traces of varray.c and varray.h.
   32915 	* varray.c: Remove file.
   32916 	* varray.h: Remove file.
   32917 
   32918 2010-04-30  Jan Hubicka  <jh (a] suse.cz>
   32919 
   32920 	* lto-cgraph.c (lto_output_varpool_node): Always output constant pool
   32921 	references.
   32922 
   32923 2010-04-30  Jan Hubicka  <jh (a] suse.cz>
   32924 
   32925 	* tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
   32926 	needed.
   32927 
   32928 2010-04-30  Richard Guenther  <rguenther (a] suse.de>
   32929 
   32930 	* tree-ssa-structalias.c (get_constraint_for_1): Generate
   32931 	constraints for CONSTRUCTOR.
   32932 
   32933 2010-04-30  Richard Guenther  <rguenther (a] suse.de>
   32934 
   32935 	PR lto/43946
   32936 	* passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
   32937 	first after all lowering passes.
   32938 
   32939 2010-04-30  Steven Bosscher  <steven (a] gcc.gnu.org>
   32940 
   32941 	* toplev.c: Include varray.h for statistics dumping.
   32942 	* tree.h: Do not declare varray_head_tag.
   32943 	* tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
   32944 	regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
   32945 	c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
   32946 	gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
   32947 	lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
   32948 	tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
   32949 	c-common.c, c-common.h, reg-stack.c, basic-block.h,
   32950 	tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
   32951 	include varray.h.
   32952 	* Makefile.in: Update for abovementioned changes.
   32953 
   32954 2010-04-30  Jakub Jelinek  <jakub (a] redhat.com>
   32955 
   32956 	PR debug/43942
   32957 	* tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
   32958 
   32959 2010-04-30  Hariharan Sandanagobalane  <hariharan (a] picochip.com>
   32960 
   32961 	* config/picochip/picochip.c (picochip_legitimize_address): Define.
   32962 	Use this function to do machine-specific conversion.
   32963 	(picochip_legitimize_reload_address): Likewise.
   32964 	(picochip_legitimate_address_p): Check valid base register only if
   32965 	strict.
   32966 	(picochip_check_conditional_copy): Check for modw only if opnd is
   32967 	register.
   32968 	* config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
   32969 	to call the function in c.
   32970 	* config/picochip/picochip-protos.h
   32971 	(picochip_legitimize_reload_address): Define.
   32972 	* config/picochip/picochip.md (supported_compare1): Define.
   32973 
   32974 2010-04-30  Jan Hubicka  <jh (a] suse.cz>
   32975 
   32976 	* cgraph.h (cgraph_local_info): Remove for_functions_valid.
   32977 	(cgraph_global_info): Remove inlined.
   32978 	(LTO_cgraph_tag_names): Remove.
   32979 	(LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
   32980 	* lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
   32981 	simplify cgraph tags and document.
   32982 	(lto_output_node): Use only LTO_cgraph_unavail_node and
   32983 	LTO_cgraph_analyzed_node; Do not save analzed, reachable,
   32984 	for_functions_valid, global info, process and output flags.
   32985 	(input_overwrite_node): Initialize estimated stack size and
   32986 	estimated growth.  Do not read flags we no longer store.
   32987 	(input_node): Likewise do not read info no longer stored.
   32988 	* ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
   32989 	flag.
   32990 
   32991 2010-04-30  Richard Guenther  <rguenther (a] suse.de>
   32992 
   32993 	PR tree-optimization/43879
   32994 	* tree-ssa-structalias.c (get_constraint_for_1): Properly
   32995 	handle non-zero initializers.
   32996 
   32997 2010-04-30  Richard Guenther  <rguenther (a] suse.de>
   32998 
   32999 	* builtins.c (fold_builtin_1): Delete free (0).
   33000 
   33001 2010-04-29  Jan Hubicka  <jh (a] suse.cz>
   33002 
   33003 	* gengtype.c (open_base_files): Add lto-streamer.h
   33004 	* cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
   33005 	(pass_ipa_cp): GGC collect.
   33006 	* toplev. (compile_file): Do not output symbols.
   33007 	* ipa-inline.c (pass_ipa_inline): Add ggc collect.
   33008 	* timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
   33009 	TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
   33010 	* lto-section-in.c: Include ggc.h
   33011 	(lto_new_in_decl_state): Alloc in GGC.
   33012 	(lto_delete_in_decl_state): Likewise.
   33013 	* ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program):
   33014 	Collect.
   33015 
   33016 2010-04-29  Bernd Schmidt  <bernds (a] codesourcery.com>
   33017 
   33018 	PR target/42895
   33019 	* doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
   33020 	ORDER_REGS_FOR_LOCAL_ALLOC.  All instances of this macro changed.
   33021 	(HONOR_REG_ALLOC_ORDER): Describe new macro.
   33022 	* ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
   33023 	* ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
   33024 	account only if HONOR_REG_ALLOC_ORDER is not defined.
   33025 	* config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
   33026 	* system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
   33027 
   33028 2010-04-29  Jon Grant  <04 (a] jguk.org>
   33029 
   33030 	* collect2.c (vflag): Change type from int to bool.
   33031 	(debug): Likewise.
   33032 	(helpflag): New global bool.
   33033 	(main): Set vflag and debug with boolean, not integer truth values.
   33034 	Accept new "--help" option and output usage text if found.
   33035 	* collect2.h (vflag): Update prototype.
   33036 	(debug): Likewise.
   33037 
   33038 2010-04-29  H.J. Lu  <hongjiu.lu (a] intel.com>
   33039 
   33040 	PR bootstrap/43936
   33041 	* plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks.
   33042 
   33043 2010-04-29  Richard Guenther  <rguenther (a] suse.de>
   33044 
   33045 	PR bootstrap/43935
   33046 	* plugin.h (invoke_plugin_callbacks): Annotate arguments
   33047 	with ATTRIBUTE_UNUSED.
   33048 
   33049 2010-04-29  H.J. Lu  <hongjiu.lu (a] intel.com>
   33050 
   33051 	PR target/43921
   33052 	* config/i386/i386.c (get_some_local_dynamic_name): Replace
   33053 	INSN_P with NONDEBUG_INSN_P.
   33054 	(distance_non_agu_define): Likewise.
   33055 	(distance_agu_use): Likewise.
   33056 
   33057 2010-04-29  Bernd Schmidt  <bernds (a] codesourcery.com>
   33058 
   33059 	From Dominique d'Humieres  <dominiq (a] lps.ens.fr>
   33060 	PR bootstrap/43858
   33061 	* ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
   33062 	test_set.
   33063 
   33064 2010-04-29  Brian Hackett  <bhackett1024 (a] gmail.com>
   33065 
   33066 	* plugin.h (invoke_plugin_callbacks): New inline function.
   33067 	* plugin.c (flag_plugin_added): New global flag.
   33068 	(add_new_plugin): Initialize above flag.
   33069 	(invoke_plugin_callbacks): Rename to ...
   33070 	(invoke_plugin_callbacks_full): ... this.
   33071 
   33072 2010-04-28  Jan Hubicka  <jh (a] suse.cz>
   33073 
   33074 	* lto-symtab.c (lto_symtab_entry_def) Add vnode.
   33075 	(lto_varpool_replace_node): New.
   33076 	(lto_symtab_resolve_symbols): Resolve varpool nodes.
   33077 	(lto_symtab_merge_decls_1): Prefer decls with varpool node.
   33078 	(lto_symtab_merge_cgraph_nodes_1): Merge varpools.
   33079 	* cgraph.h (varpool_node_ptr): New type.
   33080 	(varpool_node_ptr): New vector.
   33081 	(varpool_node_set_def): New structure.
   33082 	(varpool_node_set): New type.
   33083 	(varpool_node_set): New vector.
   33084 	(varpool_node_set_element_def): New structure.
   33085 	(varpool_node_set_element, const_varpool_node_set_element): New types.
   33086 	(varpool_node_set_iterator): New type.
   33087 	(varpool_node): Add prev pointers, add used_from_other_partition,
   33088 	in_other_partition.
   33089 	(varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
   33090 	varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
   33091 	varpool_get_node, varpool_remove_node): Declare.
   33092 	(vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
   33093 	varpool_node_set_size): New inlines.
   33094 	* cgraph.c (dump_cgraph_node): Dump asm names of aliases.
   33095 	* tree-pass.h (varpool_node_set_def): Forward declare.
   33096 	(ipa_opt_pass_d): Summary writting takes vnode sets too.
   33097 	(ipa_write_optimization_summaries): Update prototype.
   33098 	* ipa-cp.c (ipcp_write_summary): Update.
   33099 	* ipa-reference.c (ipa_reference_write_summary): Update.
   33100 	* lto-cgraph.c (lto_output_varpool_node): New static function.
   33101 	(output_varpool): New function.
   33102 	(input_varpool_node): New static function.
   33103 	(input_varpool_1): New function.
   33104 	(input_cgraph): Input varpool.
   33105 	* ipa-pure-const.c (pure_const_write_summary): Update.
   33106 	* lto-streamer-out.c (lto_output): Update, output varpool too.
   33107 	(write_global_stream): Kill WPA hack.
   33108 	(produce_asm_for_decls): Update.
   33109 	(output_alias_pair_p): Handle variables.
   33110 	(output_unreferenced_globals): Output only needed partition of varpool.
   33111 	* ipa-inline.c (inline_write_summary): Update.
   33112 	* lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build
   33113 	cgraph.
   33114 	* lto-section-in.c (lto_section_name): Add varpool and jump funcs.
   33115 	* ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
   33116 	varpool_node_set_new, varpool_node_set_add,
   33117 	varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
   33118 	debug_varpool_node_set): New functions.
   33119 	* passes.c (rest_of_decl_compilation): when in LTO do not finalize.
   33120 	(execute_one_pass): Process new decls too.
   33121 	(ipa_write_summaries_2): Pass around vsets.
   33122 	(ipa_write_summaries_1): Likewise.
   33123 	(ipa_write_summaries): Build vset; be more selective about cgraph nodes
   33124 	to add.
   33125 	(ipa_write_optimization_summaries_1): Pass around vsets.
   33126 	(ipa_write_optimization_summaries): Likewise.
   33127 	* varpool.c (varpool_get_node): New.
   33128 	(varpool_node): Update doubly linked lists.
   33129 	(varpool_remove_node): New.
   33130 	(dump_varpool_node): More dumping.
   33131 	(varpool_enqueue_needed_node): Update doubly linked lists.
   33132 	(decide_is_variable_needed): Kill ltrans hack.
   33133 	(varpool_finalize_decl): Kill lto hack.
   33134 	(varpool_assemble_decl): Skip decls in other partitions.
   33135 	(varpool_assemble_pending_decls): Update doubly linkes lists.
   33136 	(varpool_empty_needed_queue): Likewise.
   33137 	(varpool_extra_name_alias): Likewise.
   33138 	* lto-streamer.c (lto_get_section_name): Add vars section.
   33139 	* lto-streamer.h (lto_section_type): Update.
   33140 	(output_varpool, input_varpool): Declare.
   33141 
   33142 2010-04-28  Mike Stump  <mikestump (a] comcast.net>
   33143 
   33144 	* config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
   33145 
   33146 2010-04-28  Eric Botcazou  <ebotcazou (a] adacore.com>
   33147 
   33148 	* lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
   33149 	record or union type with RECORD_OR_UNION_TYPE_P predicate.
   33150 	(lto_input_ts_type_tree_pointers): Likewise.
   33151 	* lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
   33152 	(lto_output_ts_type_tree_pointers): Likewise.
   33153 
   33154 2010-04-28  Eric Botcazou  <ebotcazou (a] adacore.com>
   33155 
   33156 	Uniquization of constants at the Tree level
   33157 	* tree.h (DECL_IN_CONSTANT_POOL): New macro.
   33158 	(tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
   33159 	bit to the end.
   33160 	(tree_output_constant_def): Declare.
   33161 	* gimplify.c (gimplify_init_constructor): When using block copy, first
   33162 	uniquize the constant constructor on the RHS.
   33163 	* lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
   33164 	DECL_IN_CONSTANT_POOL flag.
   33165 	* lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
   33166 	* varasm.c (make_decl_rtl): Deal with variables belonging to the global
   33167 	constant pool.
   33168 	(assemble_variable): Deal with symbols belonging to the tree constant
   33169 	pool.
   33170 	(get_constant_section): Add ALIGN parameter and simplify.
   33171 	(build_constant_desc): Build a VAR_DECL and attach it to the symbol.
   33172 	(assemble_constant_contents): Use the expression of the VAR_DECL.
   33173 	(output_constant_def_contents): Use the alignment of the VAR_DECL.
   33174 	(tree_output_constant_def): New global function.
   33175 	(mark_constant): Use the expression of the VAR_DECL.
   33176 	(place_block_symbol): Use the alignment of the VAR_DECL and the size of
   33177 	its expression.
   33178 	(output_object_block): Likewise and assemble the expression.
   33179 
   33180 2010-04-28  Eric Botcazou  <ebotcazou (a] adacore.com>
   33181 
   33182 	* lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
   33183 	hash_tree, eq_tree): New tree hash table.
   33184 	(lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
   33185 	[LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
   33186 	lto_orig_address_remove): Reimplement.
   33187 
   33188 2010-04-28  Xinliang David Li  <davidxl (a] google.com>
   33189 
   33190 	PR c/42643
   33191 	* tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
   33192 	(compute_uninit_opnds_pos): New function.
   33193 	(is_non_loop_exit_postdominating): New function.
   33194 	(compute_control_dep_chain): New function.
   33195 	(find_pdom): New function.
   33196 	(convert_control_dep_chain_into_preds): New function.
   33197 	(find_predicates): New function.
   33198 	(find_control_equiv_block): New function.
   33199 	(collect_phi_def_edges): New function.
   33200 	(find_def_preds): New function.
   33201 	(find_dom): New function.
   33202 	(dump_predicates): New function.
   33203 	(get_cmp_code): New function.
   33204 	(is_value_included_in): New function.
   33205 	(find_matching_predicate_in_rest_chains): New function.
   33206 	(use_pred_not_overlap_with_undef_path_pred): New function.
   33207 	(is_use_properly_guarded): New function.
   33208 	(normalize_cond_1): New function.
   33209 	(is_and_or_or): New function.
   33210 	(normalize_cond): New function.
   33211 	(is_gcond_subset_of): New function.
   33212 	(is_subset_of_any): New function.
   33213 	(is_or_set_subset_of): New function.
   33214 	(is_and_set_subset_of): New function.
   33215 	(is_norm_cond_subset_of): New function.
   33216 	(is_pred_expr_subset_of): New function.
   33217 	(is_pred_chain_subset_of): New function.
   33218 	(is_included_in): New function.
   33219 	(is_superset_of): New function.
   33220 	(find_uninit_use): New function.
   33221 	(warn_uninitialized_phi): New function.
   33222 	(compute_possibly_undefined_names): New function.
   33223 	(ssa_undefined_value_p): New function.
   33224 	(execute_late_warn_uninitialized): New function.
   33225 	* tree-ssa.c (ssa_undefined_value_p): Removed.
   33226 	(warn_uninit): Changed to extern.
   33227 	(warn_uninitialized_phi): Removed.
   33228 	(warn_uninitialized_vars): Changed to extern.
   33229 	(execute_late_warn_uninitialized): Removed
   33230 	* tree-flow.h: Add new prototypes.
   33231 	* timevar.def: Add new time variable.
   33232 	* Makefile.in: Add new build file.
   33233 
   33234 2010-04-28  Uros Bizjak  <ubizjak (a] gmail.com>
   33235 
   33236 	* config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
   33237 	type if available.
   33238 
   33239 2010-04-28  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   33240 
   33241 	PR target/22224
   33242 	* config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.
   33243 
   33244 2010-04-28  Martin Jambor  <mjambor (a] suse.cz>
   33245 
   33246 	* cgraph.h (struct cgraph_node): New field indirect_calls.
   33247 	(struct cgraph_indirect_call_info): New type.
   33248 	(struct cgraph_edge): Removed field indirect_call. New fields
   33249 	indirect_info, indirect_inlining_edge and indirect_unknown_callee.
   33250 	(cgraph_create_indirect_edge): Declare.
   33251 	(cgraph_make_edge_direct): Likewise.
   33252 	(enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
   33253 	* ipa-prop.h (struct ipa_param_call_note): Removed.
   33254 	(struct ipa_node_params): Removed field param_calls.
   33255 	(ipa_create_all_structures_for_iinln): Declare.
   33256 	* cgraph.c: Described indirect edges and uids in initial comment.
   33257 	(cgraph_add_edge_to_call_site_hash): New function.
   33258 	(cgraph_edge): Search also among the indirect edges, use
   33259 	cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
   33260 	(cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
   33261 	one, use cgraph_add_edge_to_call_site_hash to add edges to the call
   33262 	site hash.
   33263 	(initialize_inline_failed): Assign a reason to indirect edges.
   33264 	(cgraph_create_edge_1): New function.
   33265 	(cgraph_create_edge): Moved some functionality to
   33266 	cgraph_create_edge_1.
   33267 	(cgraph_create_indirect_edge): New function.
   33268 	(cgraph_edge_remove_callee): Add an assert checking for
   33269 	non-indirectness.
   33270 	(cgraph_edge_remove_caller): Special-case indirect edges.
   33271 	(cgraph_remove_edge): Likewise.
   33272 	(cgraph_set_edge_callee): New function.
   33273 	(cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
   33274 	(cgraph_make_edge_direct): New function.
   33275 	(cgraph_update_edges_for_call_stmt_node): Do nothing only when also
   33276 	the declaration of the call statement matches.
   33277 	(cgraph_node_remove_callees): Special-case indirect edges.
   33278 	(cgraph_clone_edge): Likewise.
   33279 	(cgraph_clone_node): Clone also the indirect edges.
   33280 	(dump_cgraph_node): Dump indirect_inlining_edge flag instead of
   33281 	indirect_call, dump count of indirect_calls edges.
   33282 	* ipa-prop.c (iinlining_processed_edges): New variable.
   33283 	(ipa_note_param_call): Create indirect edges instead of
   33284 	creating notes.  New parameter node.
   33285 	(ipa_analyze_call_uses): New parameter node, pass it on to
   33286 	ipa_note_param_call.
   33287 	(ipa_analyze_stmt_uses): Likewise.
   33288 	(ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
   33289 	(print_edge_addition_message): Work on edges rather than on notes.
   33290 	(update_call_notes_after_inlining): Likewise, renamed to
   33291 	update_indirect_edges_after_inlining.
   33292 	(ipa_create_all_structures_for_iinln): New function.
   33293 	(ipa_free_node_params_substructures): Do not free notes.
   33294 	(ipa_edge_duplication_hook): Propagate bits within
   33295 	iinlining_processed_edges bitmap.
   33296 	(ipa_node_duplication_hook): Do not duplicate notes.
   33297 	(free_all_ipa_structures_after_ipa_cp): Renamed to
   33298 	ipa_free_all_structures_after_ipa_cp.
   33299 	(free_all_ipa_structures_after_iinln): Renamed to
   33300 	ipa_free_all_structures_after_iinln.
   33301 	(ipa_write_param_call_note): Removed.
   33302 	(ipa_read_param_call_note): Removed.
   33303 	(ipa_write_indirect_edge_info): New function.
   33304 	(ipa_read_indirect_edge_info): Likewise.
   33305 	(ipa_write_node_info): Do not stream notes, do stream information
   33306 	in indirect edges.
   33307 	(ipa_read_node_info): Likewise.
   33308 	(lto_ipa_fixup_call_notes): Removed.
   33309 	* ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
   33310 	* ipa-inline.c (pass_ipa_inline): Likewise.
   33311 	* cgraphunit.c (verify_cgraph_node): Check also indirect edges.
   33312 	* cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
   33313 	* tree-inline.c (copy_bb): Removed an unnecessary double check for
   33314 	is_gimple_call.
   33315 	* tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
   33316 	edges.
   33317 	* lto-cgraph.c (output_outgoing_cgraph_edges): New function.
   33318 	(output_cgraph): Stream also indirect edges.
   33319 	(lto_output_edge): Added capability to stream indirect edges.
   33320 	(input_edge): Likewise.
   33321 	(input_cgraph_1): Likewise.
   33322 	* lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
   33323 	of indirect edges.
   33324 
   33325 2010-04-28  Richard Guenther  <rguenther (a] suse.de>
   33326 
   33327 	PR tree-optimization/43879
   33328 	PR tree-optimization/43909
   33329 	* tree-ssa-structalias.c (struct variable_info): Add
   33330 	only_restrict_pointers flag.
   33331 	(new_var_info): Initialize it.  Increment stats.total_vars here.
   33332 	(create_function_info_for): Do not increment stats.total_vars here.
   33333 	(get_function_part_constraint): Fix build with C++.
   33334 	(insert_into_field_list): Remove.
   33335 	(push_fields_onto_fieldstack): Properly merge fields.
   33336 	(create_variable_info_for): Split and simplify.
   33337 	(create_variable_info_for_1): New piece.
   33338 	(intra_create_variable_infos): Properly make restrict constraints
   33339 	from parameters.
   33340 
   33341 2010-04-28  Richard Guenther  <rguenther (a] suse.de>
   33342 
   33343 	PR c++/43880
   33344 	* tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs.
   33345 
   33346 2010-04-27  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   33347 	    Jan Hubicka  <hubicka (a] ucw.cz>
   33348 
   33349 	* doc/invoke.texi (-Wsuggest-attribute=const,
   33350 	-Wsuggest-attribute=pure): Document.
   33351 	* ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
   33352 	(function_always_visible_to_compiler_p,
   33353 	suggest_attribute, warn_function_pure, warn_function_const):
   33354 	New functions.
   33355 	(check_call): Improve debug info.
   33356 	(analyze_function): Do not check availability.
   33357 	(add_new_function): Check availability.
   33358 	(propagate): Output warnings.
   33359 	(skip_function_for_local_pure_const): New function.
   33360 	(local_pure_const): Use it; output warnings.
   33361 	* common.opt (Wsuggest-attribute=const,
   33362 	Wsuggest-attribute=pure): New.
   33363 
   33364 2010-04-27  Jakub Jelinek  <jakub (a] redhat.com>
   33365 
   33366 	* dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
   33367 	force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
   33368 	or DW_CFA_def_cfa_offset{,_sf}.
   33369 
   33370 2010-04-27  Eric Botcazou  <ebotcazou (a] adacore.com>
   33371 
   33372 	* tree.h: Fix truncated long macros.
   33373 
   33374 2010-04-27  Kai Tietz  <kai.tietz (a] onevision.com>
   33375 
   33376 	* collect2.c (TARGET_64BIT): Redefine to target's default.
   33377 	* tlink.c: Likewise.
   33378 	* config/i386/cygming.h (USER_LABEL_PREFIX): Define
   33379 	dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
   33380 	* config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
   33381 	for underscoring __USER_LABEL_PREFIX__.
   33382 	* config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
   33383 	(SUB_LINK_ENTRY32): New.
   33384 	(SUB_LINK_ENTRY64): New.
   33385 	(LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
   33386 	* config/i386/mingw32 (SUB_LINK_ENTRY32): New.
   33387 	(SUB_LINK_ENTRY64): New.
   33388 	(SUB_LINK_ENTRY): New.
   33389 	(LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
   33390 	(DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
   33391 	x64 target is choosen.
   33392 	* config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
   33393 	* configure: Regenerated.
   33394 	* configure.ac (leading-mingw64-underscores): Option added.
   33395 
   33396 2010-04-27  Jan Hubicka  <jh (a] suse.cz>
   33397 
   33398 	* doc/invoke.texi (-fipa-profile): Document.
   33399 	* opts.c (decode_options): Enable ipa-profile at -O1.
   33400 	* timevar.def (TV_IPA_PROFILE): Define.
   33401 	* common.opt (fipa-profile): Add.
   33402 	* cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
   33403 	flag for clones.
   33404 	(cgraph_propagate_frequency): Handle only local ones.
   33405 	* tree-pass.h (pass_ipa_profile): Declare.
   33406 	* ipa-profile.c (gate_profile): Use flag_ipa_profile.
   33407 	(pass_ipa_profile): Use TV_IPA_PROFILE.
   33408 	* ipa.c (ipa_profile): New function.
   33409 	(gate_ipa_profile): Likewise.
   33410 	(pass_ipa_profile): New global variable.
   33411 	* passes.c (pass_ipa_profile): New.
   33412 
   33413 2010-04-27  Nathan Froyd  <froydnj (a] codesourcery.com>
   33414 
   33415 	* config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
   33416 
   33417 2010-04-27  Martin Jambor  <mjambor (a] suse.cz>
   33418 
   33419 	PR middle-end/43812
   33420 	* ipa.c (dissolve_same_comdat_group_list): New function.
   33421 	(function_and_variable_visibility): Call
   33422 	dissolve_same_comdat_group_list when comdat group contains external or
   33423 	newly local nodes.
   33424 	* cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
   33425 	lists are circular and that they contain only DECL_ONE_ONLY nodes.
   33426 
   33427 2010-04-27  Eric Botcazou  <ebotcazou (a] adacore.com>
   33428 
   33429 	* varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
   33430 	(const_hash_1) <VECTOR_CST>: New case.
   33431 	(compare_constant) <VECTOR_CST>: Likewise.
   33432 	<ADDR_EXPR>: Deal with LABEL_REFs.
   33433 	(copy_constant) <VECTOR_CST>: New case.
   33434 
   33435 2010-04-27  Jan Hubicka  <jh (a] suse.cz>
   33436 
   33437 	* cgraph.c (cgraph_propagate_frequency): New function.
   33438 	* cgraph.h (cgraph_propagate_frequency): Declare.
   33439 	* ipa-inline.c (cgraph_clone_inlined_nodes): Call
   33440 	cgraph_propagate_frequency.
   33441 
   33442 2010-04-27  Jakub Jelinek  <jakub (a] redhat.com>
   33443 
   33444 	* unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
   33445 
   33446 2010-04-27  Bernd Schmidt  <bernds (a] codesourcery.com>
   33447 
   33448 	PR target/40657
   33449 	* config/arm/arm.c (thumb1_extra_regs_pushed): New function.
   33450 	(thumb1_expand_prologue, thumb1_output_function_prologue): Call it
   33451 	here to determine which regs to push and how much stack to reserve.
   33452 
   33453 2010-04-27  Jie Zhang  <jie (a] codesourcery.com>
   33454 
   33455 	* doc/gimple.texi (gimple_statement_with_ops): Remove
   33456 	addresses_taken field.
   33457 	(gimple_statement_with_memory_ops): Likewise.
   33458 
   33459 2010-04-27  Jan Hubicka  <jh (a] suse.cz>
   33460 
   33461 	* tree-inline.c (eni_inlining_weights): Remove.
   33462 	(estimate_num_insns): Special case more builtins.
   33463 
   33464 2010-04-27  Shujing Zhao  <pearly.zhao (a] oracle.com>
   33465 
   33466 	PR c/32207
   33467 	* c-typeck.c (build_binary_op): Move forward check for comparison
   33468 	pointer with null pointer constant and adjust the diagnostic message.
   33469 
   33470 2010-04-27  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   33471 
   33472 	PR lto/42776
   33473 	* configure.ac (gcc_cv_as_section_has_align): Set if installed
   33474 	binutils supports extended .section directive needed by LTO, or
   33475 	warn if older binutils found.
   33476 	(LTO_BINARY_READER): New AC_SUBST'd variable.
   33477 	(LTO_USE_LIBELF): Likewise.
   33478 	* config.gcc (lto_binary_reader): New target-specific configure
   33479 	variable.
   33480 	* Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
   33481 	(LTO_USE_LIBELF): Likewise.
   33482 	* configure: Regenerate.
   33483 
   33484 	* collect2.c (is_elf): Rename from this ...
   33485 	(is_elf_or_coff): ... to this, and recognize and allow i386 COFF
   33486 	 object files in addition to ELF-formatted ones.
   33487 	(scan_prog_file): Caller updated.  Also allow for LTO info marker
   33488 	symbol to be prefixed or not by an extra underscore.
   33489 
   33490 	* config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
   33491 	* config/i386/winnt.c: Also #include lto-streamer.h
   33492 	(i386_pe_asm_named_section): Specify 1-byte section alignment for
   33493 	LTO named sections.
   33494 	(i386_pe_asm_output_aligned_decl_common): Add comment.
   33495 	(i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
   33496 
   33497 2010-04-27  Hans-Peter Nilsson  <hp (a] bitrange.com>
   33498 
   33499 	PR target/43889
   33500 	* config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
   33501 	Add missing earlyclobber for second alternative.
   33502 
   33503 2010-04-26  Bernd Schmidt  <bernds (a] codesourcery.com>
   33504 
   33505 	* df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
   33506 	bits for artificial defs at the top of the block.
   33507 	* fwprop.c (single_def_use_enter_block): Don't call it.
   33508 
   33509 2010-04-26  Jack Howarth  <howarth (a] bromo.med.uc.edu>
   33510 
   33511 	PR 43715
   33512 	* configure.ac: Use "$gcc_cv_nm -g" on darwin
   33513 	instead of "$gcc_cv_objdump -T".
   33514 	Use "-undefined dynamic_lookup" on darwin.
   33515 	* configure: Regenerate.
   33516 
   33517 2010-04-26  Jakub Jelinek  <jakub (a] redhat.com>
   33518 
   33519 	PR c/43893
   33520 	* c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
   33521 
   33522 2010-04-26  Nathan Froyd  <froydnj (a] codesourcery.com>
   33523 
   33524 	* c-parser.c (struct c_token): Move location field up.
   33525 	* c-tree.h (struct c_typespec): Move expr_const_operands field up.
   33526 	(struct c_declspecs): Convert typespec_word, storage_class, and
   33527 	default_int_p into bitfields.
   33528 	(struct c_declarator): Move loc field up.
   33529 
   33530 2010-04-26  Nathan Froyd  <froydnj (a] codesourcery.com>
   33531 
   33532 	* cfgloop.h (struct loop): Move can_be_parallel field up.
   33533 	* ipa-prop.h (struct ip_node_params): Move bitfields up.
   33534 	* tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
   33535 	down.
   33536 	(struct iv_cand): Convert pos field into a bitfield.
   33537 	* tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
   33538 	field up.
   33539 	(struct _stmt_vec_info): Shuffle fields for better packing.
   33540 
   33541 2010-04-26  Eric Botcazou  <ebotcazou (a] adacore.com>
   33542 
   33543 	* varasm.c (IN_NAMED_SECTION): Remove guard.
   33544 	* config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
   33545 	(IN_NAMED_SECTION_P): ...this.
   33546 	(ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
   33547 	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
   33548 
   33549 2010-04-26  Eric Botcazou  <ebotcazou (a] adacore.com>
   33550 
   33551 	* gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
   33552 	Use VOID_TYPE_P for all void type tests.  Adjust TYPE variable instead
   33553 	of shadowing it.  Fix comments.
   33554 
   33555 2010-04-26  Jan Hubicka  <jh (a] suse.cz>
   33556 
   33557 	* cgraph.c (cgraph_create_node): Set node frequency to normal.
   33558 	(cgraph_clone_node): Copy function frequency.
   33559 	* cgraph.h (node_frequency): New enum
   33560 	(struct cgraph_node): Add.
   33561 	* final.c (rest_of_clean_state): Update.
   33562 	* lto-cgraph.c (lto_output_node): Output node frequency.
   33563 	(input_overwrite_node): Input node frequency.
   33564 	* tre-ssa-loop-ivopts (computation_cost): Update.
   33565 	* lto-streamer-out.c (output_function): Do not output function
   33566 	frequency.
   33567 	* predict.c (maybe_hot_frequency_p): Update and handle functions
   33568 	executed once.
   33569 	(cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
   33570 	attribute lookup.
   33571 	(probably_never_executed_bb_p, optimize_function_for_size_p): Update.
   33572 	(compute_function_frequency): Set noreturn functions to be executed
   33573 	once.
   33574 	(choose_function_section): Update.
   33575 	* lto-streamer-in.c (input_function): Do not input function frequency.
   33576 	* function.c (allocate_struct_function): Do not initialize function
   33577 	frequency.
   33578 	* function.h (function_frequency): Remove.
   33579 	(struct function): Remove function frequency.
   33580 	* ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
   33581 	(try_update): Update.
   33582 	* tree-inline.c (initialize_cfun): Do not update function frequency.
   33583 	* passes.c (pass_init_dump_file): Update.
   33584 	* i386.c (ix86_compute_frame_layout): Update.
   33585 	(ix86_pad_returns): Update.
   33586 
   33587 2010-04-26  Jie Zhang  <jie (a] codesourcery.com>
   33588 
   33589 	PR tree-optimization/43833
   33590 	* tree-vrp.c (range_int_cst_p): New.
   33591 	(range_int_cst_singleton_p): New.
   33592 	(extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
   33593 	when both operands are constants.  Use range_int_cst_p in
   33594 	BIT_IOR_EXPR case.
   33595 
   33596 2010-04-26  Jan Hubicka  <jh (a] suse.cz>
   33597 
   33598 	* cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
   33599 
   33600 2010-04-26  Richard Guenther  <rguenther (a] suse.de>
   33601 
   33602 	PR lto/43080
   33603 	* gimple.c (gimple_decl_printable_name): Deal gracefully
   33604 	with a NULL DECL_NAME.
   33605 
   33606 2010-04-26  Richard Guenther  <rguenther (a] suse.de>
   33607 
   33608 	PR lto/42425
   33609 	* tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
   33610 	if emitting debug information and it is either a function
   33611 	or a namespace decl.
   33612 
   33613 2010-04-26  Ira Rosen  <irar (a] il.ibm.com>
   33614 
   33615 	* tree-vectorizer.h (struct _stmt_vec_info): Add new field to
   33616 	determine if the statement is vectorizable, and a macro to access it.
   33617 	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
   33618 	Skip statements that can't be vectorized. If the analysis fails,
   33619 	mark the statement as unvectorizable if vectorizing basic block.
   33620 	(vect_compute_data_refs_alignment): Likewise.
   33621 	(vect_verify_datarefs_alignment): Skip statements marked as
   33622 	unvectorizable. Add print.
   33623 	(vect_analyze_group_access): Skip statements that can't be
   33624 	vectorized. If the analysis fails, mark the statement as
   33625 	unvectorizable if vectorizing basic block.
   33626 	(vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
   33627 	* tree-vect-stmts.c (vectorizable_store): Fix the number of
   33628 	generated stmts for SLP.
   33629 	(new_stmt_vec_info): Initialize the new field.
   33630 	* tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
   33631 	statements marked as unvectorizable.
   33632 
   33633 2010-04-25  Joseph Myers  <joseph (a] codesourcery.com>
   33634 
   33635 	* c-common.c (flag_isoc1x): New.
   33636 	(flag_isoc99): Update comment.
   33637 	* c-common.h (flag_isoc1x): New.
   33638 	(flag_isoc99): Update comment.
   33639 	* c-cppbuiltin.c (builtin_define_float_constants): Also define
   33640 	__<type>_DECIMAL_DIG__.
   33641 	* c-opts.c (set_std_c1x): New.
   33642 	(c_common_handle_option): Handle -std=c1x and -std=gnu1x.
   33643 	(set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
   33644 	* c.opt (-std=c1x, -std=gnu1x): New options.
   33645 	* doc/cpp.texi: Mention -std=c1x.
   33646 	* doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
   33647 	* doc/extend.texi: Mention -std=c1x and -std=gnu1x.
   33648 	* doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
   33649 	* doc/standards.texi: Mention C1X.
   33650 	* ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
   33651 	LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
   33652 	LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
   33653 	Define for C1X.
   33654 
   33655 2010-04-25  Uros Bizjak  <ubizjak (a] gmail.com>
   33656 
   33657 	* config/i386/gmon-sol2.c (_mcleanup): Change format string
   33658 	placeholder from 0x%x to %#x.
   33659 	* config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
   33660 	* config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
   33661 	* config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
   33662 	* config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
   33663 	* config/i386/i386.c (ix86_target_string): Ditto.
   33664 	(output_pic_addr_const): Ditto.
   33665 	(print_operand): Ditto.
   33666 
   33667 2010-04-25  Paolo Bonzini  <bonzini (a] gnu.org>
   33668 
   33669 	* combine.c (find_split_point): Add third argument.  Use it
   33670 	to find nested multiply-accumulate instructions.  Adjust calls.
   33671 	(try_combine): Adjust call to find_split_point.
   33672 
   33673 2010-04-24  Gerald Pfeifer  <gerald (a] pfeifer.com>
   33674 
   33675 	* doc/contrib.texi (Contributors): Add Dodji Seketeli.
   33676 
   33677 2010-04-24  Bernd Schmidt  <bernds (a] codesourcery.com>
   33678 
   33679 	PR tree-optimization/41442
   33680 	* fold-const.c (merge_truthop_with_opposite_arm): New function.
   33681 	(fold_binary_loc): Call it.
   33682 
   33683 2010-04-23  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   33684 
   33685 	* toplev.c (general_init): Set default for fdiagnostics-show-option.
   33686 	* opts.c (common_handle_option): Allow disabling it.
   33687 	* common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
   33688 
   33689 2010-04-23  Eric Botcazou  <ebotcazou (a] adacore.com>
   33690 
   33691 	* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
   33692 	between modes if both types are integral.
   33693 
   33694 2010-04-23  Richard Guenther  <rguenther (a] suse.de>
   33695 
   33696 	PR tree-optimization/43572
   33697 	* tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
   33698 
   33699 2010-04-23  Richard Guenther  <rguenther (a] suse.de>
   33700 
   33701 	PR lto/43455
   33702 	* tree-inline.c (tree_can_inline_p): Also check compatibility
   33703 	of return types.
   33704 
   33705 2010-04-23  Martin Jambor  <mjambor (a] suse.cz>
   33706 
   33707 	PR tree-optimization/43846
   33708 	* tree-sra.c (struct access): New flag grp_assignment_read.
   33709 	(build_accesses_from_assign): Set grp_assignment_read.
   33710 	(sort_and_splice_var_accesses): Propagate grp_assignment_read.
   33711 	(enum mark_read_status): New type.
   33712 	(analyze_access_subtree): Propagate grp_assignment_read, create
   33713 	accesses also if both direct_read and root->grp_assignment_read.
   33714 
   33715 2010-04-23  Martin Jambor  <mjambor (a] suse.cz>
   33716 
   33717 	PR middle-end/43835
   33718 	* tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
   33719 	function does not have type attributes.
   33720 
   33721 2010-04-23  Richard Guenther  <rguenther (a] suse.de>
   33722 
   33723 	PR lto/42653
   33724 	* tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
   33725 	of FUNCTION_DECLs.
   33726 
   33727 2010-04-22  Laurynas Biveinis  <laurynas.biveinis (a] gmail.com>
   33728 
   33729 	* sese.h (create_if_region_on_edge): Remove.
   33730 
   33731 	* sese.c (create_if_region_on_edge): Make static.
   33732 
   33733 	* tree-inline.c: Do not include ggc.h.
   33734 
   33735 	* expr.c: Do not include ggc.h.
   33736 
   33737 	* Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
   33738 	dependencies.
   33739 
   33740 2010-04-22  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   33741 
   33742 	PR target/43744
   33743 	* config/sh/sh.c (find_barrier): Don't emit a constant pool
   33744 	in the middle of insns for casesi_worker_2.
   33745 
   33746 2010-04-22  David Edelsohn  <edelsohn (a] gnu.org>
   33747 
   33748 	* config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
   33749 
   33750 2010-04-22  Ira Rosen  <irar (a] il.ibm.com>
   33751 
   33752 	PR tree-optimization/43842
   33753 	* tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
   33754 	loop unrolling in update of exit phis. Fix comment.
   33755 	* tree-vect-slp.c (vect_analyze_slp): Check that there are at
   33756 	least two reduction statements in the loop before starting SLP
   33757 	analysis.
   33758 
   33759 2010-04-22  Nick Clifton  <nickc (a] redhat.com>
   33760 
   33761 	* config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
   33762 
   33763 2010-04-22  Alexander Monakov  <amonakov (a] ispras.ru>
   33764 
   33765 	* tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
   33766 	to simplify a + ~a.
   33767 
   33768 2010-04-22  Laurynas Biveinis  <laurynas.biveinis (a] gmail.com>
   33769 
   33770 	* tree-parloops.c (loop_parallel_p): New argument
   33771 	parloop_obstack.  Pass it down.
   33772 	(parallelize_loops): New variable parloop_obstack.  Initialize it,
   33773 	pass it down, free it.
   33774 
   33775 	* tree-loop-linear.c (linear_transform_loops): Pass down
   33776 	lambda_obstack.
   33777 
   33778 	* tree-data-ref.h (lambda_compute_access_matrices): New argument
   33779 	of type struct obstack *.
   33780 
   33781 	* tree-data-ref.c (analyze_subscript_affine_affine): New variable
   33782 	scratch_obstack.  Initialize it, pass down, free it.
   33783 
   33784 	* lambda.h (lambda_loop_new): Remove.
   33785 	(lambda_matrix_new, lambda_matrix_inverse)
   33786 	(lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
   33787 	argument of type struct obstack *.
   33788 
   33789 	* lambda-trans.c (lambda_trans_matrix_new): New argument
   33790 	lambda_obstack.  Pass it down, use obstack allocation for ret.
   33791 	(lambda_trans_matrix_inverse): New argument lambda_obstack.  Pass
   33792 	it down.
   33793 
   33794 	* lambda-mat.c (lambda_matrix_get_column)
   33795 	(lambda_matrix_project_to_null): Remove.
   33796 	(lambda_matrix_new): New argument lambda_obstack.  Use obstack
   33797 	allocation for mat.
   33798 	(lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
   33799 	lambda_obstack.
   33800 
   33801 	* lambda-code.c (lambda_loop_new): New function.
   33802 	(lambda_lattice_new, compute_nest_using_fourier_motzkin)
   33803 	(lambda_compute_auxillary_space, lambda_compute_target_space)
   33804 	(lambda_loopnest_transform, gcc_loop_to_lambda_loop)
   33805 	(lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
   33806 	(build_access_matrix): New argument lambda_obstack.  Use obstack
   33807 	allocation for am.
   33808 	(lambda_compute_step_signs, lambda_compute_access_matrices): New
   33809 	argument lambda_obstack.  Pass it down.
   33810 
   33811 2010-04-22  Bernd Schmidt  <bernds (a] codesourcery.com>
   33812 
   33813 	* optabs.h (expand_widening_mult): Declare.
   33814 
   33815 2010-04-22  Richard Guenther  <rguenther (a] suse.de>
   33816 
   33817 	PR tree-optimization/43845
   33818 	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
   33819 	lookup the CALL_EXPR function and arguments.
   33820 
   33821 2010-04-22  Nick Clifton  <nickc (a] redhat.com>
   33822 
   33823 	* config/stormy16/stormy16.c
   33824 	(xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
   33825 	* config/stormy16/stormy16.h: Tidy up formatting.
   33826 	(DONT_USE_BUILTIN_SETJMP): Remove definition.
   33827 	* config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
   33828 	(ineqbranchsi): Delete pattern.
   33829 	* config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
   33830 	* config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
   33831 	* config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
   33832 	stormy16-lib2-ucmpsi2.c.
   33833 
   33834 2010-04-22  Bernd Schmidt  <bernds (a] codesourcery.com>
   33835 
   33836 	* ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
   33837 	df_simulate_find_noclobber_defs as appropriate.  Keep track of an
   33838 	extra set merge_set_noclobber, and use it to relax the final test
   33839 	slightly.
   33840 	* df.h (df_simulate_find_noclobber_defs): Declare.
   33841 	* df-problems.c (df_simulate_find_defs): Don't ignore partial or
   33842 	conditional defs.
   33843 	(df_simulate_find_noclobber_defs): New function.
   33844 
   33845 2010-04-22  Uros Bizjak  <ubizjak (a] gmail.com>
   33846 
   33847 	* config/i386/i386.md: Use {} around multi-line preparation statements.
   33848 
   33849 2010-04-22  Laurynas Biveinis  <laurynas.biveinis (a] gmail.com>
   33850 
   33851 	* c-tree.h (push_init_level, pop_init_level, set_init_index)
   33852 	(process_init_element): New argument of type struct obstack *.
   33853 
   33854 	* c-typeck.c (push_init_level, pop_init_level, set_designator)
   33855 	(set_init_index, set_init_label, set_nonincremental_init)
   33856 	(set_nonincremental_init_from_string, find_init_member)
   33857 	(output_init_element, output_pending_init_elements)
   33858 	(process_init_element): New argument braced_init_obstack.  Pass it
   33859 	down.
   33860 	(push_range_stack, add_pending_init): New argument
   33861 	braced_init_obstack.  Use obstack allocation.
   33862 
   33863 	* c-parser.c (c_parser_initelt, c_parser_initval): New argument
   33864 	braced_init_obstack.  Pass it down.
   33865 	(c_parser_braced_init): New variables ret, braced_init_obstack.
   33866 	Initialize obstack, pass it down and finally free it.
   33867 
   33868 2010-04-22  Bernd Schmidt  <bernds (a] codesourcery.com>
   33869 
   33870 	PR middle-end/29274
   33871 	* tree-pass.h (pass_optimize_widening_mul): Declare.
   33872 	* tree-ssa-math-opts.c (execute_optimize_widening_mul,
   33873 	gate_optimize_widening_mul): New static functions.
   33874 	(pass_optimize_widening_mul): New.
   33875 	* expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
   33876 	<case MULT_EXPR>: Remove support for widening multiplies.
   33877 	* tree.def (WIDEN_MULT_EXPR): Tweak comment.
   33878 	* cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
   33879 	simplify_gen_unary rather than directly building extensions.
   33880 	* tree-cfg.c (verify_gimple_assign_binary): Add tests for
   33881 	WIDEN_MULT_EXPR.
   33882 	* expmed.c (expand_widening_mult): New function.
   33883 	* passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
   33884 
   33885 2010-04-21  Jan Hubicka  <jh (a] suse.cz>
   33886 
   33887 	* timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
   33888 	* lto-section-in.c (lto_section_name): Remove wpa_fixup.
   33889 	* lto-wpa-fixup.c: Remove.
   33890 	* Makefile.in (lto-wpa-fixup.o): Remove.
   33891 	* passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
   33892 	(execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
   33893 	* lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
   33894 
   33895 2010-04-21  Jan Hubicka  <jh (a] suse.cz>
   33896 
   33897 	* tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
   33898 	add write_optimization_summary, read_optimization_summary.
   33899 	(ipa_write_summaries_of_cgraph_node_set): Remove.
   33900 	(ipa_write_optimization_summaries): Declare.
   33901 	(ipa_read_optimization_summaries): Declare.
   33902 	* ipa-cp.c (pass_ipa_cp): Update.
   33903 	* ipa-reference.c (pass_ipa_reference): Update.
   33904 	* ipa-pure-const.c (pass_ipa_pure_const): Update.
   33905 	* lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
   33906 	Update.
   33907 	* ipa-inline.c (pass_ipa_inline): Update.
   33908 	* ipa.c (pass_ipa_whole_program): Update.
   33909 	* lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
   33910 	* passes.c (ipa_write_summaries_1): Do not test wpa.
   33911 	(ipa_write_optimization_summaries_1): New.
   33912 	(ipa_write_optimization_summaries): New.
   33913 	(ipa_read_summaries): Do not test ltrans.
   33914 	(ipa_read_optimization_summaries_1): New.
   33915 	(ipa_read_optimization_summaries): New.
   33916 
   33917 2010-04-21  Jan Hubicka  <jh (a] suse.cz>
   33918 
   33919 	* lto-cgraph.c (lto_output_node): Do not output comdat groups
   33920 	for boundary nodes.
   33921 	(output_cgraph): Do not arrange comdat groups for boundary nodes.
   33922 
   33923 2010-04-21  Jakub Jelinek  <jakub (a] redhat.com>
   33924 
   33925 	PR debug/40040
   33926 	* dwarf2out.c (add_name_and_src_coords_attributes): Add
   33927 	DW_AT_{,MIPS_}linkage_name even for Fortran decls.
   33928 
   33929 2010-04-21  Jan Hubicka  <jh (a] suse.cz>
   33930 
   33931 	* ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
   33932 
   33933 2010-04-21  Jan Hubicka  <jh (a] suse.cz>
   33934 
   33935 	* varpool.c (decide_is_variable_needed): Variable is always needed
   33936 	during ltrans.
   33937 
   33938 2010-04-21  Jan Hubicka  <jh (a] suse.cz>
   33939 
   33940 	* opts.c (decode_options): Enable pure-const pass for whopr.
   33941 
   33942 2010-04-21  Jan Hubicka  <jh (a] suse.cz>
   33943 
   33944 	* cgraph.c (dump_cgraph_node): Dump also assembler name.
   33945 	* ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
   33946 	at WPA dumping.
   33947 	(cgraph_decide_inlining): Do not expect callee to be removed in all
   33948 	cases.
   33949 
   33950 2010-04-21  Eric B. Weddington  <eric.weddington (a] atmel.com>
   33951 
   33952 	* config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
   33953 
   33954 2010-04-21  Uros Bizjak  <ubizjak (a] gmail.com>
   33955 
   33956 	* config/i386/i386.md (x86_shrd): Add athlon_decode and
   33957 	amdfam10_decode attributes.
   33958 
   33959 2010-04-21  Jakub Jelinek  <jakub (a] redhat.com>
   33960 
   33961 	PR middle-end/43570
   33962 	* omp-low.c (scan_sharing_clauses): Don't scan_omp_op
   33963 	OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
   33964 	(lower_copyprivate_clauses): Use private var in outer
   33965 	context instead of original var.  Make sure the types
   33966 	are correct for VLAs.
   33967 
   33968 2010-04-21  Richard Guenther  <rguenther (a] suse.de>
   33969 
   33970 	* tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
   33971 	to non-pointer objects.
   33972 
   33973 2010-04-21  Jakub Jelinek  <jakub (a] redhat.com>
   33974 
   33975 	* dwarf2out.c (add_var_loc_to_decl): Add LABEL argument.  Drop
   33976 	last chain entry if it starts with the still current label.
   33977 	(add_location_or_const_value_attribute): Check that
   33978 	loc_list->first->next is NULL instead of comparing ->first with ->last.
   33979 	(dwarf2out_var_location): Pass last_label resp. last_postcall_label
   33980 	to add_var_loc_to_decl.
   33981 
   33982 	* dwarf2out.c (output_call_frame_info): For dw_cie_version
   33983 	>= 4 add also address size and segment size fields into CIE header.
   33984 
   33985 	* unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
   33986 	long as address size is the same as sizeof (void *) and
   33987 	segment size is 0.
   33988 	* unwind-dw2-fde.c (get_cie_encoding): Likewise.  If
   33989 	address size or segment size is unexpected, return DW_EH_PE_omit.
   33990 	(classify_object_over_fdes): If get_cie_encoding returned
   33991 	DW_EH_PE_omit, return -1.
   33992 	(init_object): If classify_object_over_fdes returned -1,
   33993 	pretend there were no FDEs at all.
   33994 
   33995 2010-04-21  Uros Bizjak  <ubizjak (a] gmail.com>
   33996 
   33997 	* config/i386/i386.md (bswap<mode>2): Macroize expander from
   33998 	bswap{si,di}2 using SWI48 mode iterator.
   33999 	(*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
   34000 	SWI48 mode iterator.  Set type attribute of bswap insn to bitmanip,
   34001 	set modrm attribute of bswap insn to 0 and remove length attribute.
   34002 	(*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
   34003 	iterator.  Set type attribute to bitmanip, set modrm attribute to 0,
   34004 	set mode attribute to <MODE> and remove length attribute.
   34005 
   34006 2010-04-20  James E. Wilson  <wilson (a] codesourcery.com>
   34007 
   34008 	PR rtl-optimization/43520
   34009 	* ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
   34010 	zero available registers.
   34011 
   34012 2010-04-20  Kaveh R. Ghazi  <ghazi (a] caip.rutgers.edu>
   34013 
   34014 	* builtins.c (fold_builtin_cproj): Fold more cases.
   34015 
   34016 2010-04-20  Kaveh R. Ghazi  <ghazi (a] caip.rutgers.edu>
   34017 
   34018 	* builtins.c (build_complex_cproj, fold_builtin_cproj): New.
   34019 	(fold_builtin_1): Fold builtin cproj.
   34020 	* builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
   34021 	Use ATTR_CONST_NOTHROW_LIST.
   34022 
   34023 2010-04-20  Uros Bizjak  <ubizjak (a] gmail.com>
   34024 
   34025 	* config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
   34026 	and ffsdi2 using SWI48 mode iterator.  Expand SImode insn through
   34027 	ffsi2_no_cmove for !TARGET_CMOVE.
   34028 	(ffssi2_no_cmove): Rename from *ffs_no_cmove.  Make public.
   34029 	(ffssi2): Remove expander.
   34030 	(*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
   34031 	mode iterator.
   34032 	(ctz<mode>2): Ditto from ctz{si,di}2.
   34033 	(clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
   34034 	mode iterator.
   34035 	(clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
   34036 	mode iterator.
   34037 
   34038 2010-04-20  Jakub Jelinek  <jakub (a] redhat.com>
   34039 
   34040 	* dwarf2out.c (AT_linkage_name): Define.
   34041 	(clone_as_declaration): Handle DW_AT_linkage_name.
   34042 	(add_name_and_src_coords_attributes): Use AT_linkage_name instead
   34043 	of DW_AT_MIPS_linkage_name.
   34044 	(move_linkage_attr): Likewise.
   34045 	(dwarf2out_finish): Likewise.
   34046 
   34047 2010-04-20  Xinliang David Li  <davidxl (a] gcc.gnu.org>
   34048 
   34049 	PR middle-end/41952
   34050 	* fold-const.c (fold_comparison): New folding rule.
   34051 
   34052 2010-04-20  Anatoly Sokolov  <aesok (a] post.ru>
   34053 
   34054 	* double-int.h (double_int_setbit): Declare.
   34055 	* double-int.c (double_int_setbit): New function.
   34056 	* rtl.h (immed_double_int_const): Declare.
   34057 	* emit-rtl.c (immed_double_int_const): New function.
   34058 	* builtins.c (expand_builtin_signbit): Clean up, use double_int_*
   34059 	and immed_double_int_const functions.
   34060 	* optabs.c (expand_absneg_bit, expand_copysign_absneg,
   34061 	expand_copysign_bit): (Ditto.).
   34062 	* simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
   34063 	* tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
   34064 	* dojump.c (prefer_and_bit_test): (Ditto.).
   34065 	* expr.c (convert_modes, reduce_to_bit_field_precision,
   34066 	const_vector_from_tree): (Ditto.).
   34067 	* expmed.c (mask_rtx, lshift_value): (Ditto.).
   34068 
   34069 2010-04-20  Jan Hubicka  <jh (a] suse.cz>
   34070 
   34071 	* cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
   34072 	(dump_cgraph_node): Dump new flags.
   34073 	* cgraph.h (struct cgraph_node): Add flags
   34074 	reachable_from_other_partition and in_other_partition.
   34075 	(cgraph_can_remove_if_no_direct_calls_p): Functions used by
   34076 	other partition can not be removed.
   34077 	* cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
   34078 	the other partition must be output; silence sanity checking on
   34079 	leaking functions bodies from other paritition.
   34080 	* lto-cgraph.c (reachable_from_other_partition_p): New function.
   34081 	(lto_output_node): Output new flags; do not sanity check that inline
   34082 	clones are output; drop lto_forced_extern_inline_p code; do not mock
   34083 	visibility flags at partition boundaries.
   34084 	(add_node_to): New function.
   34085 	(output_cgraph): Use it to sort functions so masters appear before
   34086 	clones.
   34087 	(input_overwrite_node): Input new flags.
   34088 	* passes.c (ipa_write_summaries): Do not call
   34089 	lto_new_extern_inline_states.
   34090 	* lto-section-out.c (forced_extern_inline,
   34091 	lto_new_extern_inline_states lto_delete_extern_inline_states,
   34092 	lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
   34093 	* lto-streamer.h (lto_new_extern_inline_states,
   34094 	* lto_delete_extern_inline_states, lto_force_functions_extern_inline,
   34095 	lto_forced_extern_inline_p): Kill.
   34096 
   34097 2010-04-20  Richard Guenther  <rguenther (a] suse.de>
   34098 
   34099 	* tree-ssa-structalias.c (do_sd_constraint): Add edges only
   34100 	from vars that can have pointers.
   34101 	(process_constraint): Dump useless constraints.
   34102 
   34103 2010-04-20  Richard Guenther  <rguenther (a] suse.de>
   34104 
   34105 	* tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
   34106 	(dump_sa_points_to_info): Remove asserts.
   34107 	(init_base_vars): nothing_id isn't an escape point nor does it
   34108 	have pointers.
   34109 
   34110 2010-04-20  Jakub Jelinek  <jakub (a] redhat.com>
   34111 
   34112 	* tree.h (TYPE_REF_IS_RVALUE): Define.
   34113 	* dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
   34114 	should_move_die_to_comdat, prune_unused_types_walk): Handle
   34115 	DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
   34116 	(modified_type_die, gen_reference_type_die): Emit
   34117 	DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
   34118 	if TYPE_REF_IS_RVALUE and -gdwarf-4.
   34119 
   34120 2010-04-20  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   34121 
   34122 	PR target/43635
   34123 	* config/s390/s390.c (s390_emit_call): Turn direct into indirect
   34124 	calls for -fpic -m31 if they have been sibcall optimized.
   34125 
   34126 2010-04-19  James E. Wilson  <wilson (a] codesourcery.com>
   34127 
   34128 	* config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
   34129 	ar.lc fixed and call-used.
   34130 
   34131 	* config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
   34132 
   34133 2010-04-19  Jan Hubicka  <jh (a] suse.cz>
   34134 
   34135 	* opts.c (decode_options): Disable whpr incompatible passes.
   34136 	* lto/lto.c (lto_1_to_1_map): Skip clones.
   34137 	(read_cgraph_and_symbols): Do not mark everything as needed.
   34138 	(do_whole_program_analysis): Do map only after optimizing;
   34139 	set proper cgraph_state; use passmanager.
   34140 
   34141 2010-04-19  DJ Delorie  <dj (a] redhat.com>
   34142 
   34143 	* cfgexpand.c (expand_debug_expr): Check for mismatched modes in
   34144 	POINTER_PLUS_EXPR and fix them.
   34145 
   34146 2010-04-19  Eric B. Weddington  <eric.weddington (a] atmel.com>
   34147 
   34148 	* config/avr/avr-devices.c (avr_mcu_types): Add support for new
   34149 	devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
   34150 	attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
   34151 	atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
   34152 	atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
   34153 	atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
   34154 	atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
   34155 	atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
   34156 	m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
   34157 	atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
   34158 	* config/avr/t-avr.c (MULTILIB_MATCHES): Same.
   34159 
   34160 2010-04-19  Eric Botcazou  <ebotcazou (a] adacore.com>
   34161 
   34162 	* ifcvt.c (noce_try_cmove_arith): Fix long lines.
   34163 	(check_cond_move_block): Likewise.
   34164 	(cond_move_process_if_block): Likewise.
   34165 	(noce_find_if_block): Improve formatting.
   34166 	(find_if_header): Pass 0 to memset and tweak conditions.
   34167 	(cond_exec_find_if_block): Fix long lines and tweak conditions.
   34168 
   34169 2010-04-19  Jakub Jelinek  <jakub (a] redhat.com>
   34170 
   34171 	* dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
   34172 	for -gdwarf-4.
   34173 
   34174 	PR middle-end/43337
   34175 	* tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
   34176 	with non-local decl doesn't need chain.
   34177 
   34178 2010-04-19  Vladimir Makarov  <vmakarov (a] redhat.com>
   34179 
   34180 	* ira-color.c (allocno_reload_assign): Avoid accumulating
   34181 	reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
   34182 
   34183 2010-04-19  Martin Jambor  <mjambor (a] suse.cz>
   34184 
   34185 	* gimple.h (create_tmp_reg): Declare.
   34186 	* gimplify.c (create_tmp_reg): New function.
   34187 	(gimplify_return_expr): Use create_tmp_reg.
   34188 	(gimplify_omp_atomic): Likewise.
   34189 	(gimple_regimplify_operands): Likewise.
   34190 	* tree-dfa.c (make_rename_temp): Likewise.
   34191 	* tree-predcom.c (predcom_tmp_var): Likewise.
   34192 	(reassociate_to_the_same_stmt): Likewise.
   34193 	* tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
   34194 	(get_replaced_param_substitute): Likewise.
   34195 	* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
   34196 	* tree-ssa-phiopt.c (cond_store_replacement): Likewise.
   34197 	* tree-ssa-pre.c (get_representative_for): Likewise.
   34198 	(create_expression_by_pieces): Likewise.
   34199 	* tree-tailcall.c (adjust_return_value_with_ops): Likewise.
   34200 	(create_tailcall_accumulator): Likewise.
   34201 
   34202 2010-04-19  Martin Jambor  <mjambor (a] suse.cz>
   34203 
   34204 	* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
   34205 	new_stmt.
   34206 	(cgraph_materialize_all_clones): Assert	!need_ssa_update_p.
   34207 
   34208 2010-04-19  Richard Guenther  <rguenther (a] suse.de>
   34209 
   34210 	PR tree-optimization/43796
   34211 	* tree-vrp.c (adjust_range_with_scev): Lookup init and step
   34212 	from SCEV in the lattice.
   34213 	(vrp_visit_phi_node): Dump change.
   34214 
   34215 2010-04-19  Richard Guenther  <rguenther (a] suse.de>
   34216 
   34217 	* configure.ac: Fix quoting around elf_getshstrndx ABI check.
   34218 	* configure: Re-generated.
   34219 
   34220 2010-04-19  Richard Guenther  <rguenther (a] suse.de>
   34221 
   34222 	PR tree-optimization/43783
   34223 	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
   34224 	constant ARRAY_REF operands two and three if possible.
   34225 
   34226 2010-04-19  Uros Bizjak  <ubizjak (a] gmail.com>
   34227 
   34228 	PR target/43766
   34229 	* config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
   34230 
   34231 2010-04-19  Jie Zhang  <jie (a] codesourcery.com>
   34232 
   34233 	PR target/43662
   34234 	* reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
   34235 
   34236 2010-04-19  Ira Rosen  <irar (a] il.ibm.com>
   34237 
   34238 	PR tree-optimization/37027
   34239 	* tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
   34240 	and macro to access it.
   34241 	(vectorizable_reduction): Add argument.
   34242 	(vect_get_slp_defs): Likewise.
   34243 	* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
   34244 	statements for possible use in SLP.
   34245 	(new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
   34246 	(destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
   34247 	(vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
   34248 	add new argument.
   34249 	(vectorizable_reduction): Likewise.
   34250 	* tree-vect-stmts.c (vect_get_vec_defs): Update call to
   34251 	vect_get_slp_defs.
   34252 	(vectorizable_type_demotion, vectorizable_type_promotion,
   34253 	vectorizable_store): Likewise.
   34254 	(vect_analyze_stmt): Update call to vectorizable_reduction.
   34255 	(vect_transform_stmt): Likewise.
   34256 	* tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
   34257 	(vect_build_slp_tree): Fix indentation. Check that there are no loads
   34258 	from different interleaving chains in same node.
   34259 	(vect_slp_rearrange_stmts): New function.
   34260 	(vect_supported_load_permutation_p): Allow load permutations for
   34261 	reductions. Call vect_slp_rearrange_stmts() to rearrange statements
   34262 	inside SLP nodes if necessary.
   34263 	(vect_analyze_slp_instance): Handle reductions.
   34264 	(vect_analyze_slp): Try to build SLP instances originating from groups
   34265 	of reductions.
   34266 	(vect_detect_hybrid_slp_stmts): Skip reduction statements.
   34267 	(vect_get_constant_vectors): Create initial vectors for reductions
   34268 	according to reduction code. Add new argument.
   34269 	(vect_get_slp_defs): Add new argument, pass it to
   34270 	vect_get_constant_vectors.
   34271 	(vect_schedule_slp_instance): Remove SLP tree root statements.
   34272 
   34273 2010-04-19  Jakub Jelinek  <jakub (a] redhat.com>
   34274 
   34275 	* tree.h (ENUM_IS_SCOPED): Define.
   34276 	* dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
   34277 	for ENUM_IS_SCOPED enums.
   34278 
   34279 2010-04-18  Eric Botcazou  <ebotcazou (a] adacore.com>
   34280 
   34281 	* fold-const.c (fold_comparison): Use ssizetype.
   34282 	* gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
   34283 	* ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
   34284 	* tree-loop-distribution.c (build_size_arg_loc): Likewise.
   34285 	* tree-object-size.c (compute_object_sizes): Use size_type_node.
   34286 
   34287 	* tree.h (initialize_sizetypes): Remove parameter.
   34288 	(build_common_tree_nodes): Remove second parameter.
   34289 	* stor-layout.c (initialize_sizetypes): Remove parameter.
   34290 	Always create an unsigned type.
   34291 	(set_sizetype): Assert that the passed type is unsigned and simplify.
   34292 	* tree.c (build_common_tree_nodes): Remove second parameter.
   34293 	Adjust call to initialize_sizetypes.
   34294 	* c-decl.c (c_init_decl_processing): Remove second argument in call to
   34295 	build_common_tree_nodes.
   34296 
   34297 2010-04-18  Matthias Klose  <doko (a] ubuntu.com>
   34298 
   34299 	* gcc.c (main): Search for liblto_plugin.so with mode R_OK.
   34300 
   34301 2010-04-18  Ira Rosen  <irar (a] il.ibm.com>
   34302 
   34303 	PR tree-optimization/43771
   34304 	* tree-vect-slp.c (vect_supported_load_permutation_p): Check that
   34305 	load permutation doesn't have gaps.
   34306 
   34307 2010-04-18  Jan Hubicka  <jh (a] suse.cz>
   34308 
   34309 	* i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
   34310 	(sse_prologue_save_insn expander): Use new pattern.
   34311 	(sse_prologue_save_insn1): New pattern and splitter.
   34312 	(sse_prologue_save_insn): Update to deal also with 64bit aligned
   34313 	blocks.
   34314 	* i386.c (setup_incoming_varargs_64): Do not compute jump
   34315 	destination here.
   34316 	(ix86_gimplify_va_arg): Update alignment needed.
   34317 	(ix86_local_alignment): Do not align all local arrays to 128bit.
   34318 
   34319 2010-04-17  Jan Hubicka  <jh (a] suse.cz>
   34320 
   34321 	* ipa-inline.c (cgraph_early_inlining): Handle flattening too.
   34322 
   34323 2010-04-17  Richard Earnshaw  <rearnsha (a] arm.com>
   34324 
   34325 	* arm.md (negdi2): Remove redundant code to force values into a
   34326 	register.
   34327 
   34328 2010-04-17  Richard Earnshaw  <rearnsha (a] arm.com>
   34329 
   34330 	* arm/bpabi.S: Add EABI alignment attributes to objects.
   34331 	* arm/bpabi-v6m.S: Likewise.
   34332 	* arm/crti.asm: Likewise.
   34333 	* arm/crtn.asm: Likewise.
   34334 	* arm/lib1funcs.asm: Likewise.
   34335 	* arm/libunwind.S: Likewise.
   34336 
   34337 2010-04-17  Richard Earnshaw  <rearnsha (a] arm.com>
   34338 
   34339 	* arm-protos.h (tune_params): New structure.
   34340 	* arm.c (current_tune): New variable.
   34341 	(arm_constant_limit): Delete.
   34342 	(struct processors): Add pointer to the tune parameters.
   34343 	(arm_slowmul_tune): New tuning option.
   34344 	(arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
   34345 	(all_cores): Adjust to pick up the tuning model.
   34346 	(arm_constant_limit): New function.
   34347 	(arm_override_options): Select the appropriate tuning model.  Delete
   34348 	initialization of arm_const_limit.
   34349 	(arm_split_constant): Use the new constant-limit model.
   34350 	(arm_rtx_costs): Pick up the current tuning model.
   34351 	* arm.md (is_strongarm, is_xscale): Delete.
   34352 	* arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
   34353 	for Xscale variant architectures.
   34354 	(mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
   34355 
   34356 2010-04-17  Ramana Radhakrishnan  <ramana.radhakrishnan (a] arm.com>
   34357 
   34358 	* config/arm/arm.c (arm_gen_constant): Remove unused variable
   34359 	can_shift.
   34360 	(arm_rtx_costs_1): Remove unused variable extra_cost.
   34361 	(arm_unwind_emit_set): Use variable offset.
   34362 	(thumb1_output_casesi): Remove unused variable flags.
   34363 
   34364 2010-04-16  Jeff Law  <law (a] redhat.com>
   34365 
   34366 	* ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
   34367 	needing assignment rather than doing a two-phase assignment.  Remove
   34368 	unused variable 'm'.
   34369 
   34370 2010-04-16  Jakub Jelinek  <jakub (a] redhat.com>
   34371 
   34372 	PR bootstrap/43767
   34373 	* alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
   34374 
   34375 2010-04-16  Doug Kwan  <dougkwan (a] google.com>
   34376 
   34377 	* tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
   34378 	(next_operand_entry_id): New static variable.
   34379 	(sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
   34380 	(add_to_ops_vec): Assigned unique ID to operand entry.
   34381 	(struct oecount_s): New field ID.
   34382 	(oecount_cmp): Stabilize qsort comparotor by using unique IDs.
   34383 	(undistribute_ops_list): Assign unique IDs to oecounts.
   34384 	(init_reassoc): reset next_operand_entry_id.
   34385 
   34386 2010-04-16  Doug Kwan  <dougkwan (a] google.com>
   34387 
   34388 	* config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
   34389 	missing left parenthesis.
   34390 
   34391 2010-04-16  Uros Bizjak  <ubizjak (a] gmail.com>
   34392 
   34393 	* config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
   34394 	*btdi_rex64 using SWI48 mode iterator.
   34395 	(*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
   34396 	(*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
   34397 	*jcc_btdi_mask_rex64.
   34398 
   34399 2010-04-16  Anatoly Sokolov  <aesok (a] post.ru>
   34400 
   34401 	* double-int.h (tree_to_double_int): Convert to macro.
   34402 	* double-int.c (tree_to_double_int): Remove.
   34403 
   34404 2010-04-16  Jakub Jelinek  <jakub (a] redhat.com>
   34405 
   34406 	PR debug/43762
   34407 	* dwarf2out.c (add_bound_info): Always call loc_list_from_tree
   34408 	with want_address 2 and in case a single element list might be
   34409 	possible, call it again with want_address 0.
   34410 
   34411 2010-04-12  Kaushik Phatak  <kaushik.phatak (a] kpitcummins.com>
   34412 
   34413 	* config/h8300/h8300.c (print_operand) : Modify case 'V' and
   34414 	case 'W' print operands for HI mode.
   34415 	* config/h8300/h8300.h (Y0, Y2) : New constraints.
   34416 	* config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
   34417 	(bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
   34418 	* config/h8300/predicate.md (bit_register_indirect_operand): New.
   34419 
   34420 	* config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
   34421 
   34422 	* config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
   34423 	cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
   34424 	#xx:3 and #xx:4 mode.
   34425 
   34426 	* config/h8300/h8300.md (inverted load with HImode dest): Add
   34427 	support for H8300SX.
   34428 
   34429 	* config/h8300/predicate.md (bit_operand): Allow immediate values that
   34430 	satisfy 'U' constraint.
   34431 
   34432 2010-04-16  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   34433 
   34434 	* configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
   34435 	* configure: Regenerate.
   34436 	* config.in: Regenerate.
   34437 	* doc/install.texi (Prerequisites): Document that Solaris 2 libelf
   34438 	works.
   34439 
   34440 2010-04-16  Richard Guenther  <rguenther (a] suse.de>
   34441 
   34442 	* tree.h (struct tree_decl_minimal): Move pt_uid ...
   34443 	(struct tree_decl_common): ... here.
   34444 	(DECL_PT_UID): Adjust.
   34445 	(SET_DECL_PT_UID): Likewise.
   34446 	(DECL_PT_UID_SET_P): Likewise.
   34447 
   34448 2010-04-16  Richard Guenther  <rguenther (a] suse.de>
   34449 
   34450 	PR tree-optimization/43572
   34451 	* tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
   34452 	* tree-ssa-alias.c (call_may_clobber_ref_p): Export.
   34453 	* tree-flow.h (is_call_clobbered): Remove.
   34454 	* tree-flow-inline.h (is_call_clobbered): Likewise.
   34455 	* tree-dfa.c (dump_variable): Do not dump call clobber state.
   34456 	* tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
   34457 	(execute_return_slot_opt): Adjust.
   34458 	* tree-tailcall.c (suitable_for_tail_opt_p): Remove
   34459 	check for call clobbered vars here.
   34460 	(find_tail_calls): Move tailcall verification to the
   34461 	proper place.
   34462 
   34463 2010-04-16  Diego Novillo  <dnovillo (a] google.com>
   34464 
   34465 	* doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
   34466 
   34467 2010-04-16  Bernd Schmidt  <bernds (a] codesourcery.com>
   34468 
   34469 	PR target/40603
   34470 	* config/arm/arm.md (cbranchqi4): New pattern.
   34471 	* config/arm/predicates.md (const0_operand,
   34472 	cbranchqi4_comparison_operator): New predicates.
   34473 
   34474 2010-04-16  Richard Guenther  <rguenther (a] suse.de>
   34475 
   34476 	* gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
   34477 	(dump_gimple_stmt): Likewise.
   34478 
   34479 2010-04-16  Bernd Schmidt  <bernds (a] codesourcery.com>
   34480 
   34481 	* recog.h (struct recog_data): New field is_operator.
   34482 	(struct insn_operand_data): New field is_operator.
   34483 	* recog.c (extract_insn): Set recog_data.is_operator.
   34484 	* genoutput.c (output_operand_data): Emit code to set the
   34485 	is_operator field.
   34486 	* reload.c (find_reloads): Use it rather than testing for an
   34487 	empty constraint string.
   34488 
   34489 	PR target/41514
   34490 	* config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
   34491 	If the previous insn is a cbranchsi4_insn with the same arguments,
   34492 	omit the compare instruction.
   34493 
   34494 	* config/arm/arm.md (addsi3_cbranch): If destination is a high
   34495 	register, inputs must be low registers and we need a low register
   34496 	scratch.  Handle alternative 2 like alternative 3.
   34497 
   34498 2010-04-16  Jakub Jelinek  <jakub (a] redhat.com>
   34499 
   34500 	* alias.c (memrefs_conflict_p): If x and y are the same VALUE,
   34501 	don't call get_addr on both.  If one expression is a VALUE and
   34502 	the other a REG, check VALUE's locs if the REG isn't among them.
   34503 
   34504 2010-04-16  Christian Bruel  <christian.bruel (a] st.com>
   34505 
   34506 	* config/sh/sh.h (sh_frame_pointer_required): New function.
   34507 	* config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
   34508 	(flag_omit_frame_pointer) Set.
   34509 	(MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
   34510 	(rounded_frame_size): Adjust size with outgoing_args_size.
   34511 	(sh_set_return_address): Must return from stack pointer.
   34512 	* config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
   34513 	(SUBTARGET_FRAME_POINTER_REQUIRED): Define.
   34514 	(ACCUMULATE_OUTGOING_ARGS): Define.
   34515 	* doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
   34516 	* config/sh/sh.opt (maccumulate-outgoing-args): New option.
   34517 
   34518 2010-04-15  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   34519 
   34520 	PR target/43471
   34521 	* config/sh/sh.c (sh_legitimize_reload_address): Use
   34522 	MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
   34523 	Remove a unneeded check for offset_base.
   34524 
   34525 2010-04-15  H.J. Lu  <hongjiu.lu (a] intel.com>
   34526 
   34527 	* configure: Regenerated.
   34528 
   34529 2010-04-15  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   34530 
   34531 	* config/s390/s390.c (s390_call_save_register_used): Switch back
   34532 	to HARD_REGNO_NREGS.
   34533 
   34534 2010-04-15  Richard Guenther  <rguenther (a] suse.de>
   34535 
   34536 	* alias.c (alias_set_subset_of): Handle alias-set zero
   34537 	child properly.
   34538 
   34539 2010-04-15  Mark Shinwell  <shinwell (a] codesourcery.com>
   34540 	    Julian Brown  <julian (a] codesourcery.com>
   34541 
   34542 	* config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
   34543 	alternatives according to use of high and low regs.
   34544 	* config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
   34545 	* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
   34546 	optimizing for size on Thumb-2.
   34547 
   34548 2010-04-15  Thomas Schwinge  <tschwinge (a] gnu.org>
   34549 
   34550 	* config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
   34551 
   34552 2010-04-15  Richard Guenther  <rguenther (a] suse.de>
   34553 
   34554 	* tree-ssa-structalias.c (struct variable_info): Add
   34555 	is_fn_info flag.
   34556 	(new_var_info): Initialize it.
   34557 	(dump_constraints): Support printing last added constraints.
   34558 	(debug_constraints): Adjust.
   34559 	(dump_constraint_graph): Likewise.
   34560 	(make_heapvar_for): Check for NULL cfun.
   34561 	(get_function_part_constraint): New function.
   34562 	(get_fi_for_callee): Likewise.
   34563 	(find_func_aliases): Properly implement IPA PTA constraints.
   34564 	(process_ipa_clobber): New function.
   34565 	(find_func_clobbers): Likewise.
   34566 	(insert_into_field_list_sorted): Remove.
   34567 	(create_function_info_for): Properly allocate vars for IPA mode.
   34568 	Do not use insert_into_field_list_sorted.
   34569 	(create_variable_info_for): Properly generate constraints for
   34570 	global vars in IPA mode.
   34571 	(dump_solution_for_var): Always dump the solution.
   34572 	(set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
   34573 	(find_what_var_points_to): Adjust.
   34574 	(pt_solution_set): Change.
   34575 	(pt_solution_ior_into): New function.
   34576 	(pt_solution_empty_p): Export.
   34577 	(pt_solution_includes_global): Adjust.
   34578 	(pt_solution_includes_1): Likewise.
   34579 	(pt_solutions_intersect_1): Likewise.
   34580 	(dump_sa_points_to_info): Check some invariants.
   34581 	(solve_constraints): Move constraint dumping ...
   34582 	(compute_points_to_sets): ... here.
   34583 	(ipa_pta_execute): ... and here.
   34584 	(compute_may_aliases): Do not re-compute points-to info
   34585 	locally if IPA info is available.
   34586 	(ipa_escaped_pt): New global var.
   34587 	(ipa_pta_execute): Properly implement IPA PTA.
   34588 	* tree-into-ssa.c (dump_decl_set): Support dumping
   34589 	decls not in referenced-vars.
   34590 	* tree-flow.h (struct gimple_df): Add ipa_pta flag.
   34591 	* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
   34592 	(dump_points_to_solution): Likewise.
   34593 	* tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
   34594 	* tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
   34595 	(remap_gimple_stmt): Reset call clobber/use information if necessary.
   34596 	(copy_decl_to_var): Copy DECL_PT_UID.
   34597 	(copy_result_decl_to_var): Likewise.
   34598 	* tree.c (make_node_stat): Initialize DECL_PT_UID.
   34599 	(copy_node_stat): Copy it.
   34600 	* tree.h (DECL_PT_UID): New macro.
   34601 	(SET_DECL_PT_UID): Likewise.
   34602 	(DECL_PT_UID_SET_P): Likewise.
   34603 	(struct tree_decl_minimal): Add pt_uid member.
   34604 	* tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
   34605 	(pt_solution_empty_p): Declare.
   34606 	(pt_solution_set): Adjust.
   34607 	(ipa_escaped_pt): Declare.
   34608 	* cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
   34609 	* gimple-pretty-print.c (pp_points_to_solution): New function.
   34610 	(dump_gimple_call): Dump call clobber/use information.
   34611 	* tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
   34612 	* tree-pass.h (TDF_ALIAS): New dump option.
   34613 	* tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
   34614 	* doc/invoke.texi (-fipa-pta): Update documentation.
   34615 
   34616 2010-04-15  Richard Guenther  <rguenther (a] suse.de>
   34617 
   34618 	* Makefile.in (OBJS-common): Add gimple-fold.o.
   34619 	(gimple-fold.o): New rule.
   34620 	* tree.h (maybe_fold_offset_to_reference,
   34621 	maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
   34622 	prototypes ...
   34623 	* gimple.h: ... here.
   34624 	* tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
   34625 	may_propagate_address_into_dereference): Move prototypes ...
   34626 	* gimple.h: ... here.
   34627 	* tree-ssa-ccp.c (get_symbol_constant_value,
   34628 	may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
   34629 	maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
   34630 	maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
   34631 	maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
   34632 	ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
   34633 	fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
   34634 	gimplify_and_update_call_from_tree): Move ...
   34635 	* gimple-fold.c: ... here.  New file.
   34636 	(ccp_fold_builtin): Rename to ...
   34637 	(gimple_fold_builtin): ... this.
   34638 	* tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
   34639 
   34640 2010-04-15  Richard Guenther  <rguenther (a] suse.de>
   34641 
   34642 	* fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
   34643 	fit_double_type, force_fit_type_double, add_double_with_sign,
   34644 	neg_double, mul_double_with_sign, lshift_double, rshift_double,
   34645 	lrotate_double, rrotate_double, div_and_round_double): Move ...
   34646 	* double-int.c: ... here.
   34647 	* tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
   34648 	add_double, neg_double, mul_double_with_sign, mul_double,
   34649 	lshift_double, rshift_double, lrotate_double, rrotate_double,
   34650 	div_and_round_double): Move prototypes ...
   34651 	* double-int.h: ... here.
   34652 
   34653 2010-04-15  Bernd Schmidt  <bernds (a] codesourcery.com>
   34654 
   34655 	PR target/43742
   34656 	* config/sh/sh.md (doloop_end_split, dect): Undo previous patch.  Use
   34657 	matching constraints to ensure inputs match the output.
   34658 
   34659 2010-04-15  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   34660 
   34661 	PR target/43742
   34662 	* config/sh/sh.md (doloop_end_split): Remove "+r" constraint
   34663 	in an input-only operand.
   34664 
   34665 2010-04-15  Anatoly Sokolov  <aesok (a] post.ru>
   34666 
   34667 	* double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
   34668 	(double_int_not, double_int_lshift, double_int_rshift): Declare.
   34669 	(double_int_negative_p): Convert to static inline function.
   34670 	* double-int.c (double_int_lshift, double_int_lshift): New functions.
   34671 	(double_int_negative_p): Remove.
   34672 	* tree.h (lshift_double, rshift_double):
   34673 	* tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
   34674 	* fold-const.c (fold_convert_const_int_from_real,
   34675 	fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
   34676 	(lshift_double): Change type of arith argument to bool.
   34677 	(rshift_double): Change type of arith argument to bool. Correct
   34678 	comment.
   34679 	* expmed.c (mask_rtx, lshift_value): (Ditto.).
   34680 
   34681 2010-04-14  Bernd Schmidt  <bernds (a] codesourcery.com>
   34682 
   34683 	PR target/21803
   34684 	* ifcvt.c (cond_exec_process_if_block): Look for identical sequences
   34685 	at the start and end of the then/else blocks, and omit them from the
   34686 	conversion.
   34687 	* cfgcleanup.c (flow_find_cross_jump): No longer static.  Remove MODE
   34688 	argument; all callers changed.  Pass zero to old_insns_match_p instead.
   34689 	(flow_find_head_matching_sequence): New function.
   34690 	(old_insns_match_p): Check REG_EH_REGION notes for calls.
   34691 	* basic-block.h (flow_find_cross_jump,
   34692 	flow_find_head_matching_sequence): Declare functions.
   34693 
   34694 2010-04-14  Jason Merrill  <jason (a] redhat.com>
   34695 
   34696 	PR c++/36625
   34697 	* c-common.c (attribute_takes_identifier_p): New fn.
   34698 	* c-common.h: Declare it.
   34699 
   34700 2010-04-14  Uros Bizjak  <ubizjak (a] gmail.com>
   34701 
   34702 	* config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
   34703 	splitter condition.
   34704 	(*udivmod<mode>4): Ditto.
   34705 
   34706 2010-04-14  Uros Bizjak  <ubizjak (a] gmail.com>
   34707 
   34708 	* config/i386/i386.md (maxmin_int): Rename code attribute from
   34709 	maxminiprefix and update all users.
   34710 	(maxmin_float): Ditto from maxminfprefix.
   34711 	(logic): Ditto from logicprefix.
   34712 	(absneg_mnemonic): Ditto from absnegprefix.
   34713 	* config/i386/mmx.md: Update all users of maxminiprefix,
   34714 	maxminfprefix and logicprefix for rename.
   34715 	* config/i386/sse.md: Ditto.
   34716 	* config/i386/sync.md (sync_<code><mode>): Update for
   34717 	logicprefix rename.
   34718 
   34719 2010-04-14  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   34720 
   34721 	PR 42966
   34722 	* diagnostics.c (diagnostic_report_diagnostic): Mark specially
   34723 	warnings converted to errors.
   34724 
   34725 2010-04-14  Uros Bizjak  <ubizjak (a] gmail.com>
   34726 
   34727 	* config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
   34728 	used insn_type variable.
   34729 	(function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
   34730 	to avoid set-but-not-used warning.
   34731 
   34732 2010-04-14  Uros Bizjak  <ubizjak (a] gmail.com>
   34733 
   34734 	* df-core.c (df_ref_debug): Change format string placeholder
   34735 	from 0x%x to %#x.
   34736 	* dwarf2asm.c (dw2_asm_output_data_raw,
   34737 	dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
   34738 	dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
   34739 	* dwarf2out.c (output_cfi, output_cfi_directive,
   34740 	dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
   34741 	output_cfa_loc_raw, output_die, output_ranges, output_file_names):
   34742 	Ditto.
   34743 	* genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
   34744 	* print-rtl.c (print_rtx): Ditto.
   34745 
   34746 2010-04-14  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   34747 
   34748 	PR middle-end/42694
   34749 	* builtins.c (expand_builtin_pow_root): New function to expand pow
   34750 	calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
   34751 	series of sqrt and cbrt calls under -ffast-math.
   34752 	(expand_builtin_pow): Call it.
   34753 
   34754 2010-04-14  Michael Matz  <matz (a] suse.de>
   34755 
   34756 	PR tree-optimization/42963
   34757 	* tree-cfg.c (touched_switch_bbs): New static variable.
   34758 	(group_case_labels_stmt): New function broken out from ...
   34759 	(group_case_labels): ... here, use the above.
   34760 	(start_recording_case_labels): Allocate touched_switch_bbs.
   34761 	(end_recording_case_labels): Deallocate it, call
   34762 	group_case_labels_stmt.
   34763 	(gimple_redirect_edge_and_branch): Remember index of affected BB.
   34764 
   34765 2010-04-14  Uros Bizjak  <ubizjak (a] gmail.com>
   34766 
   34767 	* config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
   34768 	from insn template.
   34769 
   34770 2010-04-14  Uros Bizjak  <ubizjak (a] gmail.com>
   34771 
   34772 	* config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
   34773 
   34774 2010-04-13  Jan Hubicka  <jh (a] suse.cz>
   34775 
   34776 	* ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
   34777 	of optimized out static functions.
   34778 	(cgraph_edge_badness): Add DUMP parameter and dump reasons for the
   34779 	cost computation.  Also sanity check for overflows.
   34780 	(update_caller_keys): Update cgraph_edge_badness call; properly
   34781 	update fibheap and sanity check that it is up to date.
   34782 	(add_new_edges_to_heap): Update cgraph_edge_badness.
   34783 	(cgraph_decide_inlining_of_small_function): Likewise;
   34784 	add sanity checking that badness in heap is up to date;
   34785 	improve dumping of reason; Update badness of calls to the
   34786 	offline copy of function currently inlined; dump badness
   34787 	of functions not inlined because of unit growth limits.
   34788 
   34789 2010-04-13  Eric Botcazou  <ebotcazou (a] adacore.com>
   34790 
   34791 	PR middle-end/32628
   34792 	* c-common.c (pointer_int_sum): Disregard overflow that occured only
   34793 	because of sign-extension change when converting to sizetype here...
   34794 	* fold-const.c (fold_convert_const_int_from_int): ...and not here.
   34795 
   34796 	* fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
   34797 	the folding to constants.  Remove redundant final conversion.
   34798 	(fold_binary) <associate>: Do not associate if the re-association of
   34799 	constants alone overflows.
   34800 	(fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
   34801 	to the end of the list.
   34802 	(multiple_of_p) <COND_EXPR>: New case.
   34803 
   34804 2010-04-13  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   34805 
   34806 	* opt-functions.awk (opt_sanitized_name): New.
   34807 	(opt_enum): New.
   34808 	* optc-gen.awk: Use it
   34809 	* opth-gen.awk: Use it.
   34810 
   34811 2010-04-13  Martin Jambor  <mjambor (a] suse.cz>
   34812 
   34813 	* tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
   34814 	(sra_modify_assign): Delete stmts loading dead data even if racc has no
   34815 	children.  Call replace_uses_with_default_def_ssa_name to handle
   34816 	SSA_NAES on lhs.
   34817 
   34818 2010-04-13  Michael Matz  <matz (a] suse.de>
   34819 
   34820 	PR middle-end/43730
   34821 	* builtins.c (expand_builtin_interclass_mathfn): Also create
   34822 	a register if the predicate doesn't match.
   34823 
   34824 2010-04-13  Diego Novillo  <dnovillo (a] google.com>
   34825 
   34826 	* Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
   34827 	* c-pch.c: Include timevar.h.
   34828 	(c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
   34829 	(c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
   34830 	* ggc-common.c: Include timevar.h.
   34831 	(gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
   34832 	* timevar.def (TV_PCH_SAVE): Define.
   34833 	(TV_PCH_CPP_SAVE): Define.
   34834 	(TV_PCH_PTR_REALLOC): Define.
   34835 	(TV_PCH_PTR_SORT): Define.
   34836 	(TV_PCH_RESTORE): Define.
   34837 	(TV_PCH_CPP_RESTORE): Define.
   34838 
   34839 2010-04-13  Michael Matz  <matz (a] suse.de>
   34840 
   34841 	* tree-ssa-reassoc.c (repropagate_negates): Merge negates also
   34842 	into MINUS_EXPRs.
   34843 	(can_reassociate_p): New function.
   34844 	(break_up_subtract_bb, reassociate_bb): Use it.
   34845 
   34846 2010-04-13  Richard Guenther  <rguenther (a] suse.de>
   34847 
   34848 	PR bootstrap/43737
   34849 	* builtins.c (c_readstr): Fix assert.
   34850 
   34851 2010-04-13  Uros Bizjak  <ubizjak (a] gmail.com>
   34852 
   34853 	* config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
   34854 	when generating cltd insn.
   34855 
   34856 	(*ashl<mode>3_1): Remove special handling for register operand 2.
   34857 	(*ashlsi3_1_zext): Ditto.
   34858 	(*ashlhi3_1): Ditto.
   34859 	(*ashlhi3_1_lea): Ditto.
   34860 	(*ashlqi3_1): Ditto.
   34861 	(*ashlqi3_1_lea): Ditto.
   34862 	(*<shiftrt_insn><mode>3_1): Ditto.
   34863 	(*<shiftrt_insn>si3_1_zext): Ditto.
   34864 	(*<shiftrt_insn>qi3_1_slp): Ditto.
   34865 	(*<rotate_insn><mode>3_1): Ditto.
   34866 	(*<rotate_insn>si3_1_zext): Ditto.
   34867 	(*<rotate_insn>qi3_1_slp): Ditto.
   34868 
   34869 2010-04-13  Richard Guenther  <rguenther (a] suse.de>
   34870 
   34871 	* tree-ssa-structalias.c (callused_id): Remove.
   34872 	(call_stmt_vars): New.
   34873 	(get_call_vi): Likewise.
   34874 	(lookup_call_use_vi): Likewise.
   34875 	(lookup_call_clobber_vi): Likewise.
   34876 	(get_call_use_vi): Likewise.
   34877 	(get_call_clobber_vi): Likewise.
   34878 	(make_transitive_closure_constraints): Likewise.
   34879 	(handle_const_call): Adjust to do per-call call-used handling.
   34880 	(handle_pure_call): Likewise.
   34881 	(find_what_var_points_to): Remove general callused handling.
   34882 	(init_base_vars): Likewise.
   34883 	(init_alias_vars): Initialize call_stmt_vars.
   34884 	(compute_points_to_sets): Process call-used and call-clobbered
   34885 	vars for call statements.
   34886 	(delete_points_to_sets): Free call_stmt_vars.
   34887 
   34888 2010-04-13  Richard Guenther  <rguenther (a] suse.de>
   34889 
   34890 	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
   34891 	Only add RW dependence for dependence distance zero.
   34892 	Adjust maximal vectorization factor according to dependences.
   34893 	Move alignment handling ...
   34894 	(vect_find_same_alignment_drs): ... here.  New function.
   34895 	(vect_analyze_data_ref_dependences): Adjust.
   34896 	(vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
   34897 	(vect_analyze_data_refs): Adjust minimal vectorization factor
   34898 	according to data references.
   34899 	* tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
   34900 	dependences before determining the vectorization factor.
   34901 	Analyze alignment after determining the vectorization factor.
   34902 	* tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
   34903 	dependences before alignment.
   34904 	* tree-vectorizer.h (vect_analyze_data_ref_dependences):
   34905 	Adjust prototype.
   34906 	(vect_analyze_data_refs): Likewise.
   34907 	(MAX_VECTORIZATION_FACTOR): New define.
   34908 
   34909 2010-04-13  Duncan Sands  <baldrick (a] free.fr>
   34910 
   34911 	* except.h (lang_eh_type_covers): Remove.
   34912 	* except.c (lang_eh_type_covers): Likewise.
   34913 
   34914 2010-04-13  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   34915 	    Ulrich Weigand  <Ulrich.Weigand (a] de.ibm.com>
   34916 
   34917 	* config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
   34918 	* config/s390/s390.c: Replace UNTIS_PER_WORD with
   34919 	UNITS_PER_LONG where it is ABI relevant.
   34920 	(s390_return_addr_rtx): Likewise.
   34921 	(s390_back_chain_rtx): Likewise.
   34922 	(s390_frame_area): Likewise.
   34923 	(s390_frame_info): Likewise.
   34924 	(s390_initial_elimination_offset): Likewise.
   34925 	(save_gprs): Likewise.
   34926 	(s390_emit_prologue): Likewise.
   34927 	(s390_emit_epilogue): Likewise.
   34928 	(s390_function_arg_advance): Likewise.
   34929 	(s390_function_arg): Likewise.
   34930 	(s390_va_start): Likewise.
   34931 	(s390_gimplify_va_arg): Likewise.
   34932 	(s390_function_profiler): Likewise.
   34933 	(s390_optimize_prologue): Likewise.
   34934 	(s390_rtx_costs): Likewise.
   34935 	(s390_secondary_reload): Likewise.
   34936 	(s390_promote_function_mode): Likewise.
   34937 	(s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
   34938 	(s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
   34939 	registers available.
   34940 	(s390_unwind_word_mode): New function.
   34941 	(s390_function_value): Split 64 bit values into register pair if
   34942 	used as return value.
   34943 	(s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
   34944 	function call parameters.  Handle parallels.
   34945 	(TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
   34946 	(HARD_REGNO_CALL_PART_CLOBBERED): New macro.
   34947 	(DWARF_CIE_DATA_ALIGNMENT): New macro.
   34948 	(s390_expand_setmem): Remove unused variable src_addr.
   34949 	* longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
   34950 	deal with 64 bit registers.
   34951 	* config/s390/s390.h: Define __zarch__ predefined macro.
   34952 	Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
   34953 	(UNITS_PER_LONG): New macro.
   34954 	* libjava/include/s390-signal.h: Define extended ucontext
   34955 	structure containing the upper halfs of the 64 bit registers.
   34956 
   34957 2010-04-13  Simon Baldwin  <simonb (a] google.com>
   34958 
   34959 	* cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
   34960 
   34961 2010-04-13  Eric Botcazou  <ebotcazou (a] adacore.com>
   34962 
   34963 	* gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
   34964 	rvalue on the RHS if the LHS is of a non-renamable type.
   34965 	* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
   34966 
   34967 2010-04-13  Matthias Klose  <doko (a] ubuntu.com>
   34968 
   34969 	* gcc.c (cc1_options): Handle -iplugindir before processing
   34970 	the cc1 spec. Only add -iplugindir once.
   34971 	(cpp_unique_options): Add -iplugindir option if -fplugin* options
   34972 	found.
   34973 	* common.opt (iplugindir): Remove `Separate' property, initialize.
   34974 	* plugin.c (default_plugin_dir_name): Error with missing -iplugindir
   34975 	option.
   34976 	* Makefile.in (check-%, check-parallel-%): Create plugin dir.
   34977 	(distclean): Remove plugin dir.
   34978 	* doc/invoke.texi: Document -iplugindir.
   34979 
   34980 2010-04-13  Basile Starynkevitch  <basile (a] starynkevitch.net>
   34981 
   34982 	* doc/plugins.texi (Loading Plugins): Document short
   34983 	-fplugin=foo option.
   34984 	(Plugin API): Mention default_plugin_dir_name function.
   34985 
   34986 	* gcc.c (find_file_spec_function): Add new declaration.
   34987 	(static_spec_func): Use it for "find-file".
   34988 	(find_file_spec_function): Add new function.
   34989 	(cc1_options): Add -iplugindir option if -fplugin* options found.
   34990 
   34991 	* gcc-plugin.h (default_plugin_dir_name): Added new declaration.
   34992 
   34993 	* plugin.c (add_new_plugin): Updated comment, and handle short
   34994 	plugin name.
   34995 	(default_plugin_dir_name): Added new function.
   34996 
   34997 	* common.opt (iplugindir): New option to set the plugin directory.
   34998 
   34999 2010-04-12  Uros Bizjak  <ubizjak (a] gmail.com>
   35000 
   35001 	* config/i386/i386.md (any_rotate): New code iterator.
   35002 	(rotate_insn): New code attribute.
   35003 	(rotate): Ditto.
   35004 	(SWIM124): New mode iterator.
   35005 	(<rotate_insn>ti3): New expander.
   35006 	(<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
   35007 	any_rotate code iterator.
   35008 	(<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
   35009 	using any_rotate code iterator and SWIM124 mode iterator.
   35010 	(ix86_rotlti3): New insn_and_split pattern.
   35011 	(ix86_rotrti3): Ditto.
   35012 	(ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
   35013 	ix86_rotl{di,ti}3 patterns.
   35014 	(ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
   35015 	(*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
   35016 	and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
   35017 	*{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
   35018 	code iterator and SWI mode iterator.
   35019 	(*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
   35020 	Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
   35021 	code iterator.
   35022 	(*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
   35023 	Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
   35024 	(bswap rotatert splitter): Add splitter.
   35025 	(bswap splitter): Macroize splitter using any_rotate code iterator.
   35026 	Add insn predicate to split only for TARGET_USE_XCHGB or when
   35027 	optimizing function for size.
   35028 
   35029 2010-04-12  Steve Ellcey  <sje (a] cup.hp.com>
   35030 
   35031 	* config/pa/pa.c (emit_move_sequence): Remove use of
   35032 	deleted variable flag_argument_noalias.
   35033 
   35034 2010-04-12  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   35035 
   35036 	* config.gcc: Removed *-*-solaris2.7* from list of obsolete
   35037 	configurations.
   35038 	Add to unsupported targets list.
   35039 	* configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
   35040 	sparc*-sun-solaris2.[567]* from target lists.
   35041 	* configure: Regenerate.
   35042 	* doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
   35043 	removal.
   35044 	Remove Solaris 7 patch references.
   35045 	(Specific, sparc-sun-solaris2.7): Removed.
   35046 	(sparc-sun-solaris2*): Update Solaris 7 example.
   35047 	(sparc64-*-solaris2*): Likewise.
   35048 
   35049 2010-04-12  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   35050 
   35051 	* config.build (alpha*-dec-osf4*): Remove.
   35052 	* config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
   35053 	of obsolete configurations.
   35054 	(alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
   35055 	support.
   35056 	* config/alpha/t-osf4: Renamed to ...
   35057 	* config/alpha/t-osf5: ... this.
   35058 	* config/alpha/osf.h: Renamed to ...
   35059 	* config/alpha/osf5.h: ... this.
   35060 	Merged old osf5.h contents.
   35061 	Update comments.
   35062 	(ASM_SPEC): Use ASM_OLDAS_SPEC directly.
   35063 	(EXTRA_SPECS): Removed.
   35064 	* doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
   35065 	reflect removal of Tru64 UNIX V4.0/V5.0 support.
   35066 	Document that.
   35067 
   35068 2010-04-12  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   35069 
   35070 	* doc/contrib.texi (Contributors, Rainer Orth): Update.
   35071 
   35072 2010-04-12  Kai Tietz  <kai.tietz (a] onevision.com>
   35073 
   35074 	PR/43702
   35075 	* config/i386/i386.c (x86_this_parameter): Handle aggregate for
   35076 	__thiscall convention.
   35077 
   35078 2010-04-12  Steve Ellcey  <sje (a] cup.hp.com>
   35079 
   35080 	* config/pa/pa.c (hppa_legitimize_address): Remove unused variable
   35081 	orig_base.
   35082 	* config/pa/pa.md (call, call_value): Remove unused variable call_insn.
   35083 
   35084 2010-04-12  Steve Ellcey  <sje (a] cup.hp.com>
   35085 
   35086 	* function.c (assign_parms_initialize_all): Add unused attribute
   35087 	to fntype.
   35088 
   35089 2010-04-12  Richard Guenther  <rguenther (a] suse.de>
   35090 
   35091 	* gsstruct.def (GSS_CALL): New.
   35092 	* gimple.def (GIMPLE_CALL): Change to GSS_CALL.
   35093 	* gimple.h: Include tree-ssa-alias.h.
   35094 	(struct gimple_statement_call): New.
   35095 	(union gimple_statement_struct_d): Add gimple_call member.
   35096 	(gimple_call_reset_alias_info): Declare.
   35097 	(gimple_call_use_set): New function.
   35098 	(gimple_call_clobber_set): Likewise.
   35099 	* Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
   35100 	* gimple.c (gimple_call_reset_alias_info): New function.
   35101 	(gimple_build_call_1): Call it.
   35102 	* lto-streamer-in.c (input_gimple_stmt): Likewise.
   35103 	* tree-inline.c (remap_gimple_stmt): Likewise.
   35104 	(expand_call_inline): Remove callused handling.
   35105 	* cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
   35106 	* tree-dfa.c (dump_variable): Likewise.
   35107 	* tree-parloops.c (parallelize_loops): Likewise.
   35108 	* tree-ssa.c (init_tree_ssa): Likewise.
   35109 	(delete_tree_ssa): Likewise.
   35110 	* tree-flow-inline.h (is_call_used): Remove.
   35111 	* tree-flow.h (struct gimple_df): Remove callused member.
   35112 	* tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
   35113 	* tree-ssa-alias.c (dump_alias_info): Remove callused handling.
   35114 	(ref_maybe_used_by_call_p_1): Simplify.
   35115 	(call_may_clobber_ref_p_1): Likewise.
   35116 	* tree-ssa-structalias.c (compute_points_to_sets): Set
   35117 	the call stmt used and clobbered sets.
   35118 	* tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
   35119 	(find_tail_calls): Verify the tail call.
   35120 
   35121 2010-04-12  Richard Guenther  <rguenther (a] suse.de>
   35122 
   35123 	* ipa.c (cgraph_postorder): Adjust postorder to guarantee
   35124 	single-iteration always-inline inlining.
   35125 	* ipa-inline.c (cgraph_mark_inline): Do not return anything.
   35126 	(cgraph_decide_inlining): Do not handle always-inline specially.
   35127 	(try_inline): Remove always-inline cycle detection special case.
   35128 	Do not recurse on always-inlines.
   35129 	(cgraph_early_inlining): Do not iterate if not optimizing.
   35130 	(cgraph_gate_early_inlining): remove.
   35131 	(pass_early_inline): Run unconditionally.
   35132 	(gate_cgraph_decide_inlining): New function.
   35133 	(pass_ipa_inline): Use it.  Do not run the IPA inliner if
   35134 	not inlining or optimizing.
   35135 	(cgraph_decide_inlining_of_small_functions): Also consider
   35136 	always-inline functions.
   35137 	(cgraph_default_inline_p): Return true for nodes which should
   35138 	disregard inline limits.
   35139 	(estimate_function_body_sizes): Assume zero size and time for
   35140 	nodes which are marked as disregarding inline limits.
   35141 	(cgraph_decide_recursive_inlining): Do not perform recursive
   35142 	inlining on always-inline nodes.
   35143 
   35144 2010-04-12  Jakub Jelinek  <jakub (a] redhat.com>
   35145 
   35146 	PR bootstrap/43699
   35147 	* c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
   35148 	for exprs satisfying handled_component_p.
   35149 
   35150 2010-04-12  Eric Botcazou  <ebotcazou (a] adacore.com>
   35151 
   35152 	* expr.c (categorize_ctor_elements_1): Properly count sub-elements of
   35153 	non-constant aggregate elements.
   35154 
   35155 	* gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
   35156 	is a real initialization.
   35157 
   35158 2010-04-12  Shujing Zhao  <pearly.zhao (a] oracle.com>
   35159 
   35160 	PR c/36774
   35161 	* c-decl.c (start_function): Move forward check for nested function.
   35162 
   35163 2010-04-11  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   35164 
   35165 	* config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
   35166 	* config/sh/sh.c: Include reload.h.
   35167 	(sh_legitimize_reload_address): New.
   35168 	* config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
   35169 	sh_legitimize_reload_address.
   35170 
   35171 2010-04-11  Kaushik Phatak  <kaushik.phatak (a] kpitcummins.com>
   35172 
   35173 	* config/sh/sh.md (*movqi_pop): New insn pattern.
   35174 	* config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
   35175 
   35176 2010-04-11  Uros Bizjak  <ubizjak (a] gmail.com>
   35177 
   35178 	* config/i386/i386.md (any_shiftrt): New code iterator.
   35179 	(shiftrt_insn): New code attribute.
   35180 	(shiftrt): Ditto.
   35181 	(<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
   35182 	using any_shiftrt code iterator.
   35183 	(*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
   35184 	*{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
   35185 	(*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
   35186 	pattern from corresponding peephole2 patterns.
   35187 	(*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
   35188 	using any_shiftrt code iterator.
   35189 	(*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
   35190 	(*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
   35191 	(*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
   35192 	(*<shiftrt_insn><mode>3_cmp_zext): Ditto from
   35193 	*{ashr,lshr}<mode>3_cmp_zext.
   35194 	(*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
   35195 
   35196 2010-04-11  Uros Bizjak  <ubizjak (a] gmail.com>
   35197 
   35198 	* config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
   35199 	scratch register.
   35200 	(*lshr<mode>3_cconly): Ditto.
   35201 
   35202 2010-04-11  Uros Bizjak  <ubizjak (a] gmail.com>
   35203 
   35204 	* config/i386/i386.md (lshr<mode>3): Macroize expander from
   35205 	lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
   35206 	(*lshr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
   35207 	pattern from *lshr{di,ti}3_1 and corresponding splitters using
   35208 	DWI mode iterator.
   35209 	(*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
   35210 	from corresponding peephole2 patterns.
   35211 	(*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
   35212 	*lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
   35213 	and *lshrdi3_1_rex64 using SWI mode iterator.
   35214 	(*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
   35215 	(*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
   35216 	(*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
   35217 	*lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
   35218 	and *lshrdi3_cmp_rex64 using SWI mode iterator.
   35219 	(*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
   35220 	(*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
   35221 	*lshrdi3_one_bit_cconly_rex64. Macroize insn from
   35222 	*lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
   35223 	SWI mode iterator.
   35224 
   35225 2010-04-10  Uros Bizjak  <ubizjak (a] gmail.com>
   35226 
   35227 	* config/i386/i386.md (ashr<mode>3): Macroize expander from
   35228 	ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
   35229 	(*ashr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
   35230 	pattern from *ashr{di,ti}3_1 and corresponding splitters using
   35231 	DWI mode iterator.
   35232 	(*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
   35233 	from corresponding peephole2 patterns.
   35234 	(ashrdi3_cvt): Rename from ashrdi3_63_rex64.
   35235 	(ashrsi3_cvt): Rename from ashrsi3_31.
   35236 	(*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
   35237 	(x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
   35238 	and x86_64_shift_adj_3 using SWI48 mode iterator.
   35239 	(*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
   35240 	*ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
   35241 	and *ashrdi3_1_rex64 using SWI mode iterator.
   35242 	(*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
   35243 	(*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
   35244 	(*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
   35245 	*ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
   35246 	and *ashrdi3_cmp_rex64 using SWI mode iterator.
   35247 	(*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
   35248 	(*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
   35249 	*ashrdi3_one_bit_cconly_rex64. Macroize insn from
   35250 	*ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
   35251 	SWI mode iterator.
   35252 	(sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
   35253 	* config/i386/i386.c (ix86_split_ashr): Update for renamed
   35254 	x86_shift<mode>_adj_3 expanders.
   35255 
   35256 2010-04-10  Wei Guozhi  <carrot (a] google.com>
   35257 
   35258 	PR target/42601
   35259 	* config/arm/arm.c (arm_pic_static_addr): New function.
   35260 	(legitimize_pic_address): Call arm_pic_static_addr when it detects
   35261 	a static symbol.
   35262 	(arm_output_addr_const_extra): Output expression for new pattern.
   35263 	* config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
   35264 
   35265 2010-04-10  Bernd Schmidt  <bernds (a] codesourcery.com>
   35266 
   35267 	* ira-costs.c (record_reg_classes): Ignore alternatives that are
   35268 	not enabled.
   35269 
   35270 	* Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
   35271 	* web.c: Include "insn-config.h" and "recog.h".
   35272 	(union_match_dups): New function.
   35273 	(web_main): Call it.
   35274 	(union_defs): Don't try to recognize match_dups.
   35275 
   35276 	* reload1.c (eliminate_regs_in_insn): Don't restore an operand
   35277 	if doing so would replace the entire pattern.
   35278 
   35279 2010-04-09  Uros Bizjak  <ubizjak (a] gmail.com>
   35280 
   35281 	PR target/43707
   35282 	PR target/43709
   35283 	* config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
   35284 	and splitter pattern.  Change splitter operand 1 predicate to
   35285 	nonmemory_operand.
   35286 
   35287 2010-04-09  Martin Jambor  <mjambor (a] suse.cz>
   35288 
   35289 	* ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
   35290 	lattices are addresses of CONST_DECLs with the same initial value.
   35291 	(ipcp_print_all_lattices): Print values of CONST_DECLs.
   35292 	* ipa-prop.c (ipa_print_node_jump_functions): Likewise.
   35293 
   35294 2010-04-09  Eric Botcazou  <ebotcazou (a] adacore.com>
   35295 	    Bernd Schmidt  <bernds (a] codesourcery.com>
   35296 
   35297 	* loop-invariant.c (replace_uses): New static function.
   35298 	(move_invariant_reg): Use it to ensure we can replace the uses.
   35299 
   35300 2010-04-09  Hariharan Sandanagobalane  <hariharan (a] picochip.com>
   35301 
   35302 	* config/picochip/picochip.c (picochip_rtx_costs): Use correct
   35303 	function template.
   35304 	(picochip_override_options): Enable section anchors only above -O1.
   35305 	(picochip_reorg): Fixed a couple of build warnings.
   35306 
   35307 2010-04-09  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   35308 
   35309 	* configure.ac (plugin -rdynamic test): Log result.
   35310 	* configure: Regenerate.
   35311 	* config/sol2.h (LINK_SPEC): Handle -rdynamic.
   35312 	(RDYNAMIC_SPEC): Define.
   35313 	* config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
   35314 
   35315 2010-04-09  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   35316 
   35317 	* configure.ac: Determine Sun ld version numbers.
   35318 	(comdat_group): Restrict GNU ld version checks to gld.
   35319 	(comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
   35320 	(enable_comdat): Support --enable-comdat.
   35321 	* configure: Regenerate.
   35322 	* doc/install.texi (Configuration): Document --enable-comdat.
   35323 
   35324 2010-04-09  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   35325 
   35326 	* config/sparc/sol2-gld.h: Remove SPARC reference.  Rename ...
   35327 	* config/sol2-gld.h: ... here.
   35328 	* config.gcc (sparc*-*-solaris2*): Reflect this.
   35329 	(i[34567]86-*-solaris2*): Use it.
   35330 
   35331 2010-04-09  Steve Ellcey  <sje (a] cup.hp.com>
   35332 
   35333 	* config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
   35334 	setup_clocks_p.
   35335 	(final_emit_insn_group_barriers): Remove unused variable prev_insn.
   35336 
   35337 2010-04-09  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   35338 
   35339 	PR 42965
   35340 	* diagnostic.c (diagnostic_initialize): Initialize
   35341 	some_warnings_are_errors.
   35342 	(diagnostic_finish): New.
   35343 	(diagnostic_action_after_output): Call it before exiting.
   35344 	(diagnostic_report_diagnostic): Do not print message here. Set
   35345 	some_warnings_are_errors.
   35346 	* diagnostic.h (diagnostic_context): Delete
   35347 	issue_warnings_are_errors_message. Add some_warnings_are_errors.
   35348 	(diagnostic_finish): Declare.
   35349 	* toplev.c (toplev_main): Call it before exit.
   35350 
   35351 2010-04-09  Jason Merrill  <jason (a] redhat.com>
   35352 
   35353 	PR c++/42623
   35354 	* c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
   35355 	for incomplete type.
   35356 
   35357 	PR c++/41788
   35358 	* stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
   35359 	based on a warning flag.
   35360 
   35361 2010-04-09  Richard Guenther  <rguenther (a] suse.de>
   35362 
   35363 	* tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
   35364 
   35365 2010-04-09  Iain Sandoe  <iains (a] gcc.gnu.org>
   35366 
   35367 	PR bootstrap/43684
   35368 	* varasm.c (default_assemble_visibility): Wrap vars that are
   35369 	set, but unused, by targets without GAS.
   35370 	* config/rs6000/rs6000.c (paired_emit_vector_compare):
   35371 	Remove set, but unused, vars.
   35372 	(rs6000_legitimize_tls_address): Likewise.
   35373 	(altivec_expand_dst_builtin): Likewise.
   35374 	* config/darwin.c (machopic_classify_symbol): Likewise.
   35375 	(machopic_indirection_name): Likewise.
   35376 
   35377 2010-04-09  Uros Bizjak  <ubizjak (a] gmail.com>
   35378 
   35379 	* config/i386/i386.md (DWI): New mode iterator.
   35380 	(S): New mode attribute.
   35381 	(shift_operand): Ditto.
   35382 	(shift_immediate_operand): Ditto.
   35383 	(ashl_input_operand): Ditto.
   35384 	(ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
   35385 	using SDWIM mode iterator.
   35386 	(*ashl<mode>3_doubleword): New insn_and_split_pattern.  Macroize
   35387 	pattern from *ashl{di,ti}3_1 and corresponding splitters using
   35388 	DWI mode iterator.
   35389 	(*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
   35390 	from corresponding peephole2 patterns.
   35391 	(x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
   35392 	and x86_64_shift_adj_1 using SWI48 mode iterator.
   35393 	(x86_shift<mode>_adj_2): Ditto.
   35394 	(*ashldi3_1_rex64): Split TYPE_LEA pattern.
   35395 	(*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
   35396 	using SWI48 mode iterator.
   35397 	(*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
   35398 	*ashldi3_cmp_rex64 using SWI mode iterator.
   35399 	(*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
   35400 	*ashldi3_cconly_rex64 using SWI mode iterator.
   35401 	* config/i386/i386.c (ix86_split_ashl): Update for renamed
   35402 	x86_shift<mode>_adj_{1,2}.
   35403 	(ix86_split_ashr): Ditto.
   35404 	(ix86_split_lshr): Ditto.
   35405 
   35406 2010-04-09  Richard Guenther  <rguenther (a] suse.de>
   35407 
   35408 	* target.h (builtin_conversion): Pass in input and output types.
   35409 	* targhooks.c (default_builtin_vectorized_conversion): Adjust.
   35410 	* targhooks.h (default_builtin_vectorized_conversion): Likewise.
   35411 	* tree-vect-stmts.c (vectorizable_conversion): Adjust.
   35412 	* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
   35413 
   35414 	* config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
   35415 	Handle AVX modes.
   35416 	* config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
   35417 
   35418 2010-04-09  Richard Guenther  <rguenther (a] suse.de>
   35419 
   35420 	PR target/43152
   35421 	* config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
   35422 
   35423 2010-04-09  Richard Guenther  <rguenther (a] suse.de>
   35424 
   35425 	* tree-vectorizer.h (struct _stmt_vec_info): Document
   35426 	that vectype is the type of the LHS.
   35427 	(supportable_widening_operation, supportable_narrowing_operation):
   35428 	Get both input and output vector types as arguments.
   35429 	(vect_is_simple_use_1): Declare.
   35430 	(get_same_sized_vectype): Likewise.
   35431 	* tree-vect-loop.c (vect_determine_vectorization_factor):
   35432 	Set STMT_VINFO_VECTYPE to the vector type of the def.
   35433 	(vectorizable_reduction): Adjust.
   35434 	* tree-vect-patterns.c (vect_recog_widen_mult_pattern):
   35435 	Adjust.  Specify the output vector type.
   35436 	(vect_pattern_recog_1): Adjust.
   35437 	* tree-vect-stmts.c (get_same_sized_vectype): New function.
   35438 	(vectorizable_call): Adjust.
   35439 	(vectorizable_conversion): Likewise.
   35440 	(vectorizable_operation): Likewise.
   35441 	(vectorizable_type_demotion): Likewise.
   35442 	(vectorizable_type_promotion): Likewise.
   35443 	(vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
   35444 	the def.
   35445 	(vect_is_simple_use_1): New function.
   35446 	(supportable_widening_operation): Get both input and output
   35447 	vector types.
   35448 	(supportable_narrowing_operation): Likewise.
   35449 	* tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
   35450 
   35451 2010-04-09  Kai Tietz  <kai.tietz (a] onevision.com>
   35452 
   35453 	* config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
   35454 	__thiscall and _thiscall as predefined macros.
   35455 	* config/i386/i386.c (ix86_handle_cconv_attribute): Add
   35456 	thiscall attribute handling.
   35457 	(ix86_comp_type_attributes): Likewise.
   35458 	(ix86_function_regparm): Likewise.
   35459 	(ix86_return_pops_args): Likewise.
   35460 	(init_cumulative_args): Likewise.
   35461 	(find_drap_reg): Likewise.
   35462 	(ix86_static_chain): Likewise.
   35463 	(x86_this_parameter): Likewise.
   35464 	(x86_output_mi_thunk): Likewise.
   35465 	(ix86_attribute_table): Add description for thiscall attribute.
   35466 	* config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
   35467 	* doc/extend.texi: Add documentation for thiscall.
   35468 
   35469 2010-04-09  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   35470 
   35471 	PR c++/28584
   35472 	* c.opt (Wint-to-pointer-cast): Available in C++.
   35473 	* doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
   35474 
   35475 2010-04-08  Eric Botcazou  <ebotcazou (a] adacore.com>
   35476 
   35477 	* tree.h (TREE_ADDRESSABLE): Document its effect for function types.
   35478 	* calls.c (expand_call): Pass the function type to aggregate_value_p.
   35479 	* function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
   35480 	the target function of a CALL_EXPR.  Honor TREE_ADDRESSABLE on the
   35481 	function type instead.  Reorder and simplify checks.
   35482 
   35483 	* gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
   35484 
   35485 2010-04-08  Jing Yu  <jingyu (a] google.com>
   35486 	    Zdenek Dvorak  <ook (a] ucw.cz>
   35487 
   35488 	PR tree-optimization/42720
   35489 	* tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
   35490 	loop unswitch conditions here from ...
   35491 	(tree_unswitch_single_loop): ... here.
   35492 
   35493 2010-04-08  Sebastian Pop  <sebastian.pop (a] amd.com>
   35494 
   35495 	* tree-if-conv.c: Fix comments and simplify logic.
   35496 
   35497 2010-04-08  Sebastian Pop  <sebastian.pop (a] amd.com>
   35498 
   35499 	* tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
   35500 	(tree_if_conversion): Same.  Update call to if_convertible_loop_p.
   35501 	(main_tree_if_conversion): Update call to tree_if_conversion.
   35502 
   35503 2010-04-08  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   35504 
   35505 	PR 42485
   35506 	* doc/invoke.texi (-b,-V): Delete.
   35507 	* doc/tm.texi: Do not mention -b.
   35508 	* gcc.c (display_help): Delete -b and -V.
   35509 	(process_command): Delete -b and -V.
   35510 	* gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
   35511 
   35512 2010-04-08  Christian Borntraeger  <borntraeger (a] de.ibm.com>
   35513 	    Wolfgang Gellerich  <gellerich (a] de.ibm.com>
   35514 
   35515 	Implement target hook for loop unrolling
   35516 	* target.h (loop_unroll_adjust): Add a new target hook function.
   35517 	* target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
   35518 	* doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
   35519 	* config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
   35520 	(s390_loop_unroll_adjust): Implement the new target hook for s390.
   35521 	* loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
   35522 	target hook.
   35523 	(decide_unroll_stupid): Likewise.
   35524 
   35525 2010-04-08  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   35526 
   35527 	PR target/43643
   35528 	* config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
   35529 
   35530 2010-04-08  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   35531 
   35532 	* doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
   35533 	(Specific, *-*-solaris2*): Likewise.
   35534 	Don't prefer Sun as over GNU as.
   35535 
   35536 2010-04-08  Wolfgang Gellerich  <gellerich (a] de.ibm.com>
   35537 
   35538 	* config/s390/s390.c (override_options): Adjust the z10 defaults
   35539 	for max-unroll-times, max-completely-peeled-insns
   35540 	and max-completely-peel-times.
   35541 
   35542 2010-04-08  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   35543 
   35544 	* config/s390/s390.c (s390_expand_movmem): Issue prefetch
   35545 	instructions for z10.
   35546 	(s390_expand_setmem): Likewise.
   35547 	(s390_expand_cmpmem): Likewise.
   35548 
   35549 2010-04-08  Richard Guenther  <rguenther (a] suse.de>
   35550 
   35551 	PR tree-optimization/43679
   35552 	* tree-ssa-pre.c (eliminate): Only propagate copies.
   35553 
   35554 2010-04-08  Jakub Jelinek  <jakub (a] redhat.com>
   35555 
   35556 	PR bootstrap/43681
   35557 	* expr.c (block_move_libcall_safe_for_call_parm): Avoid
   35558 	set but not used variable warning.
   35559 
   35560 2010-04-08  Wei Guozhi  <carrot (a] google.com>
   35561 
   35562 	PR target/41653
   35563 	* config/arm/arm.c (thumb1_size_rtx_costs): New function.
   35564 	(arm_size_rtx_costs): Call the new function when optimized for size.
   35565 
   35566 2010-04-08  Jakub Jelinek  <jakub (a] redhat.com>
   35567 
   35568 	PR debug/43670
   35569 	* cfgexpand.c (expand_debug_expr): If for non-NULL offset
   35570 	op0 is not a MEM, just return NULL instead of assertion
   35571 	failure.
   35572 	(discover_nonconstant_array_refs): Don't walk debug stmts.
   35573 
   35574 2010-04-08  Doug Kwan  <dougkwan (a] google.com>
   35575 
   35576 	* configure.ac: Recognize gold and do not use its version number
   35577 	to test ld features.
   35578 	* configure: Regenerate.
   35579 
   35580 2010-04-08  Maxim Kuvyrkov  <maxim (a] codesourcery.com>
   35581 
   35582 	PR middle-end/40815
   35583 	* tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
   35584 	(negate_value): Move code to push elements to broken_up_substracts ...
   35585 	(eliminate_plus_minus_pair): ... here.  Push operands that have no
   35586 	negative pair to plus_negates.
   35587 	(repropagate_negates, init_reassoc, fini_reassoc): Update.
   35588 
   35589 2010-04-07  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   35590 
   35591 	* doc/install.texi (Configuration): Move description of
   35592 	--enable-lto, --with-libelf*, --enable-gold from Java section to
   35593 	general section.
   35594 
   35595 	* doc/generic.texi (Working with declarations)
   35596 	(Function Properties, C and C++ Trees): Fix typos.
   35597 	* doc/sourcebuild.texi (Top Level): Likewise.
   35598 
   35599 2010-04-07  Jakub Jelinek  <jakub (a] redhat.com>
   35600 
   35601 	PR c/18624
   35602 	* tree.h (DECL_READ_P): Define.
   35603 	(struct tree_decl_common): Add decl_read_flag.
   35604 	* c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
   35605 	a set but not used warning.
   35606 	(merge_decls): Merge DECL_READ_P flag.
   35607 	(finish_decl, build_compound_literal): Set DECL_READ_P flag.
   35608 	(finish_function): Issue -Wunused-but-set-parameter diagnostics.
   35609 	* c-common.c (handle_used_attribute, handle_unused_attribute):
   35610 	Likewise.
   35611 	* c-tree.h (default_function_array_read_conversion, mark_exp_read):
   35612 	New prototypes.
   35613 	* c-typeck.c (default_function_array_read_conversion, mark_exp_read):
   35614 	New functions.
   35615 	(default_conversion, c_process_expr_stmt): Call mark_exp_read.
   35616 	* c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
   35617 	c_parser_binary_expression, c_parser_cast_expression,
   35618 	c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
   35619 	Call default_function_array_read_conversion instead of
   35620 	default_function_array_conversion where needed.
   35621 	(c_parser_unary_expression, c_parser_conditional_expression,
   35622 	c_parser_postfix_expression_after_primary, c_parser_initelt):
   35623 	Likewise.  Call mark_exp_read where needed.
   35624 	(c_parser_statement_after_labels, c_parser_asm_operands,
   35625 	c_parser_typeof_specifier, c_parser_sizeof_expression,
   35626 	c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
   35627 	where needed.
   35628 	* common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
   35629 	New.
   35630 	* toplev.c (warn_unused_but_set_variable): Default to warn_unused.
   35631 	(warn_unused_but_set_parameter): Default to warn_unused
   35632 	&& extra_warnings.
   35633 	* doc/invoke.texi: Document -Wunused-but-set-variable and
   35634 	-Wunused-but-set-parameter.
   35635 
   35636 	* tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
   35637 	used count variable.
   35638 	* genemit.c (gen_expand, gen_split): Avoid set but not used warnings
   35639 	when operandN variables aren't used in the body of the expander
   35640 	or splitter.
   35641 	* tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
   35642 	FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
   35643 	* tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
   35644 	* tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
   35645 	FOR_EACH_IMM_USE_ON_STMT): Likewise.
   35646 	* tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
   35647 	* tree.c (PROCESS_ARG): Likewise.
   35648 
   35649 2010-04-07  Simon Baldwin  <simonb (a] google.com>
   35650 
   35651 	* diagnostic.h (diagnostic_override_option_index): New macro to
   35652 	set a diagnostic's option_index.
   35653 	* c-tree.h (c_cpp_error): Add warning reason argument.
   35654 	* opts.c (_warning_as_error_callback): New.
   35655 	(register_warning_as_error_callback): Store callback for
   35656 	warnings enabled via enable_warning_as_error.
   35657 	(enable_warning_as_error): Call callback, minor code tidy.
   35658 	* opts.h (register_warning_as_error_callback): Declare.
   35659 	* c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
   35660 	response to -Werror=.
   35661 	(c_common_init_options): Register warning_as_error_callback in opts.c.
   35662 	* common.opt: Add -Wno-cpp option.
   35663 	* c-common.c (struct reason_option_codes_t): Map cpp warning
   35664 	reason codes to gcc option indexes.
   35665 	* (c_option_controlling_cpp_error): New function, lookup the gcc
   35666 	option index for a cpp warning reason code.
   35667 	* (c_cpp_error): Add warning reason argument, call
   35668 	c_option_controlling_cpp_error for diagnostic_override_option_index.
   35669 	* doc/invoke.texi: Document -Wno-cpp.
   35670 
   35671 2010-04-07  Richard Guenther  <rguenther (a] suse.de>
   35672 
   35673 	* ipa-reference.c (mark_load): Use get_base_address.
   35674 	(mark_store): Likewise.
   35675 
   35676 	* tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
   35677 	inserting GIMPLE_NOPs into the IL.
   35678 	* tree-ssa-structalias.c (get_constraint_for_component_ref):
   35679 	Explicitly strip handled components and indirect references.
   35680 
   35681 	* fold-const.c (fold_unary_loc): Do not strip qualifiers when
   35682 	folding address expressions.
   35683 	* gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
   35684 	* tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
   35685 	operand_equal_p to compare decls.
   35686 	(ptr_deref_may_alias_decl_p): Likewise.
   35687 	* tree-ssa-operands.c (get_asm_expr_operands): Simplify
   35688 	* tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
   35689 	Handle reversed comparison ops.
   35690 	* tree-sra.c (asm_visit_addr): Use get_base_address.
   35691 	* ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
   35692 	* ipa-reference.c (mark_address): Use get_base_address.
   35693 
   35694 2010-04-07  Richard Guenther  <rguenther (a] suse.de>
   35695 
   35696 	* tree-ssa-forwprop.c (forward_propagate_addr_expr):
   35697 	Propagate constants everywhere.
   35698 
   35699 2010-04-07  Jakub Jelinek  <jakub (a] redhat.com>
   35700 
   35701 	PR debug/43516
   35702 	* tree.c (MAX_INT_CACHED_PREC): Define.
   35703 	(nonstandard_integer_type_cache): New array.
   35704 	(build_nonstandard_integer_type): Cache results for precision
   35705 	<= MAX_INT_CACHED_PREC.
   35706 
   35707 2010-04-07  Richard Guenther  <rguenther (a] suse.de>
   35708 
   35709 	* doc/invoke.texi (-fargument-alias, -fargument-noalias,
   35710 	-fargument-noalias-global, -fargument-noalias-anything): Remove.
   35711 	* common.opt: Likewise.
   35712 	* tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
   35713 	* alias.c (base_alias_check): Remove flag_argument_noalias handling.
   35714 	(nonoverlapping_memrefs_p): Likewise.
   35715 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
   35716 	* opts.c (common_handle_option): Handle OPT_fargument_alias,
   35717 	OPT_fargument_noalias, OPT_fargument_noalias_anything and
   35718 	OPT_fargument_noalias_global for backward compatibility.
   35719 
   35720 2010-04-07  Richard Guenther  <rguenther (a] suse.de>
   35721 
   35722 	PR tree-optimization/43270
   35723 	* tree-vrp.c (check_array_ref): Fix flexible array member detection.
   35724 	* tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
   35725 	* tree-ssa-pre.c (phi_translate_1): Adjust.
   35726 	(fully_constant_expression): Split out vn_reference handling to ...
   35727 	* tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
   35728 	Fold reads from constant strings.
   35729 	(vn_reference_lookup): Handle fully constant references.
   35730 	(vn_reference_lookup_pieces): Likewise.
   35731 	* Makefile.in (expmed.o-warn): Add -Wno-error.
   35732 
   35733 2010-04-07  Martin Jambor  <mjambor (a] suse.cz>
   35734 
   35735 	* tree-sra.c (find_param_candidates): Allow scalar va_list types.
   35736 
   35737 2010-04-07  Iain Sandoe  <iains (a] gcc.gnu.org>
   35738 
   35739 	PR driver/41594
   35740 	* gcc.c: Add -static-libstdc++ to list of recognized options.
   35741 
   35742 2010-04-07  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   35743 
   35744 	* config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
   35745 
   35746 2010-04-07  Richard Guenther  <rguenther (a] suse.de>
   35747 
   35748 	PR middle-end/42617
   35749 	* expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
   35750 	bases build simple mem attributes to retain points-to information.
   35751 
   35752 2010-04-07  Richard Guenther  <rguenther (a] suse.de>
   35753 
   35754 	PR middle-end/42617
   35755 	* alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
   35756 	preserve points-to related information.
   35757 
   35758 2010-04-07  Richard Guenther  <rguenther (a] suse.de>
   35759 
   35760 	PR middle-end/42617
   35761 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
   35762 	discard plain indirect references.
   35763 	* fold-const.c (operand_equal_p): Guard against NULL_TREE type.
   35764 	* tree.c (tree_nop_conversion): Likewise.
   35765 
   35766 2010-04-07  Dodji Seketeli  <dodji (a] redhat.com>
   35767 
   35768 	PR debug/43628
   35769 	* dwarf2out.c (modified_type_die): Ignore artificial typedefs.
   35770 
   35771 2010-04-06  Kai Tietz  <kai.tietz (a] onevision.com>
   35772 
   35773 	* config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
   35774 	calling convention attributes on METHOD_TYPEs for w64 ABI, too.
   35775 
   35776 2010-04-07  Sebastian Pop  <sebastian.pop (a] amd.com>
   35777 
   35778 	* tree-if-conv.c: Fix indentation and comments.
   35779 
   35780 2010-04-07  Sebastian Pop  <sebastian.pop (a] amd.com>
   35781 
   35782 	* tree-if-conv.c: Sort static functions in topological order.
   35783 
   35784 2010-04-07  Sebastian Pop  <sebastian.pop (a] amd.com>
   35785 
   35786 	* tree-if-conv.c: Fix indentation and comments.
   35787 
   35788 2010-04-06  Sebastian Pop  <sebastian.pop (a] amd.com>
   35789 
   35790 	PR middle-end/43519
   35791 	* graphite-clast-to-gimple.c (max_signed_precision_type): Use
   35792 	lang_hooks.types.type_for_size instead of
   35793 	build_nonstandard_integer_type.
   35794 	When converting an unsigned type to signed, double its precision.
   35795 	(gcc_type_for_interval): Use lang_hooks.types.type_for_size.
   35796 	(gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
   35797 	(graphite_create_new_loop_guard): When ub + 1 wraps around,
   35798 	use lb <= ub.
   35799 
   35800 2010-04-06  Sebastian Pop  <sebastian.pop (a] amd.com>
   35801 
   35802 	PR middle-end/43519
   35803 	* graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
   35804 	POINTER_PLUS_EXPR for pointer types.
   35805 
   35806 2010-04-06  Sebastian Pop  <sebastian.pop (a] amd.com>
   35807 
   35808 	PR middle-end/43519
   35809 	* Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
   35810 	* graphite-clast-to-gimple.c: Include langhooks.h.
   35811 	(max_signed_precision_type): New.
   35812 	(max_precision_type): Takes two types as arguments.
   35813 	(precision_for_value): New.
   35814 	(precision_for_interval): New.
   35815 	(gcc_type_for_interval): New.
   35816 	(gcc_type_for_value): New.
   35817 	(gcc_type_for_clast_term): New.
   35818 	(gcc_type_for_clast_red): New.
   35819 	(gcc_type_for_clast_bin): New.
   35820 	(gcc_type_for_clast_expr): Split up into several functions.
   35821 	(gcc_type_for_clast_eq): Rewritten.
   35822 	(compute_bounds_for_level): New.
   35823 	(compute_type_for_level_1): New.
   35824 	(compute_type_for_level): New.
   35825 	(gcc_type_for_cloog_iv): Removed.
   35826 	(gcc_type_for_iv_of_clast_loop): Rewritten.
   35827 	(graphite_create_new_loop): Compute the lower and upper bound types
   35828 	with gcc_type_for_clast_expr.
   35829 	(graphite_create_new_loop_guard): Same.
   35830 	(find_cloog_iv_in_expr): Removed.
   35831 	(compute_cloog_iv_types_1): Removed.
   35832 	(compute_cloog_iv_types): Removed.
   35833 	(gloog): Do not call compute_cloog_iv_types.
   35834 	* graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
   35835 	GBB_CLOOG_IV_TYPES.
   35836 	(free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
   35837 	* sese.h (struct gimple_bb): Removed field cloog_iv_types.
   35838 	(GBB_CLOOG_IV_TYPES): Removed.
   35839 
   35840 2010-04-06  Sebastian Pop  <sebastian.pop (a] amd.com>
   35841 
   35842 	* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
   35843 	gimple_phi_num_args of the loop close SSA phi node is equal to 1.
   35844 	(detect_commutative_reduction): Same.
   35845 
   35846 2010-04-06  Sebastian Pop  <sebastian.pop (a] amd.com>
   35847 
   35848 	* graphite-clast-to-gimple.c (graphite_verify): Remove redundant
   35849 	call to verify_ssa.  Invoke verify_loop_closed_ssa with an extra
   35850 	argument.
   35851 	* graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
   35852 	* graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
   35853 	(rewrite_commutative_reductions_out_of_ssa): Same.
   35854 	* passes.c (execute_function_todo): Call verify_ssa for every pass
   35855 	in the LNO.  Invoke verify_loop_closed_ssa with an extra argument.
   35856 	* tree-flow.h (verify_loop_closed_ssa): Update declaration.
   35857 	* tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
   35858 	with an extra argument.
   35859 	* tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same.  Call
   35860 	verify_ssa only when the extra argument is true.
   35861 	(gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
   35862 	with an extra argument.
   35863 	(tree_transform_and_unroll_loop): Same.
   35864 
   35865 2010-04-06  Sebastian Pop  <sebastian.pop (a] amd.com>
   35866 
   35867 	* passes.c (execute_function_todo): Call verify_loop_closed_ssa
   35868 	for all the passes of the LNO having LOOP_CLOSED_SSA.
   35869 	* tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
   35870 	* tree-loop-distribution.c (pass_loop_distribution): Same.
   35871 	* tree-pass.h (TODO_verify_loops): Removed.
   35872 	* tree-ssa-loop.c (pass_tree_loop_init): Same.
   35873 	(pass_lim): Same.
   35874 	(pass_tree_unswitch): Same.
   35875 	(pass_predcom): Same.
   35876 	(pass_vectorize): Same.
   35877 	(pass_linear_transform): Same.
   35878 	(pass_graphite_transforms): Same.
   35879 	(pass_iv_canon): Same.
   35880 	(pass_complete_unroll): Same.
   35881 	(pass_complete_unrolli): Same.
   35882 	(pass_parallelize_loops): Same.
   35883 	(pass_loop_prefetch): Same.
   35884 	(pass_iv_optimize): Same.
   35885 
   35886 2010-04-06  Changpeng Fang  <changpeng.fang (a] amd.com>
   35887 
   35888 	PR middle-end/32824
   35889 	* passes.c (init_optimization_passes): Move pass_lim before
   35890 	pass_copy_prop and pass_dce_loop.
   35891 
   35892 2010-04-06  Jakub Jelinek  <jakub (a] redhat.com>
   35893 
   35894 	PR target/43667
   35895 	* config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
   35896 	instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
   35897 	(ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
   35898 	MULTI_* defines for 4 argument vpermil2p* builtins.
   35899 
   35900 2010-04-06  Uros Bizjak  <ubizjak (a] gmail.com>
   35901 
   35902 	* config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
   35903 	* config/i386/i386.c (x86_maybe_negate_const_int): New.
   35904 	(x86_output_mi_thunk): Use x86_maybe_negate_const_int.
   35905 	* config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
   35906 	*addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
   35907 	*addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
   35908 	*addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
   35909 	Use x86_maybe_negate_const_int to output insn mnemonic.
   35910 	(*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto.  Remove overflow
   35911 	check from instruction predicate.  Update comments.
   35912 	* config/i386/sync.md (sync_add<mode>): Use
   35913 	x86_maybe_negate_const_int to output insn mnemonic.
   35914 
   35915 2010-04-06  Jan Hubicka  <jh (a] suse.cz>
   35916 
   35917 	PR tree-optimization/42906
   35918 	* tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
   35919 	IGNORE_SELF argument.  Set visited_control_parents for fully
   35920 	processed BBs.
   35921 	(find_obviously_necessary_stmts): Update call of
   35922 	mark_control_dependent_edges_necessary.
   35923 	(propagate_necessity): Likewise.  Handle PHI edges more curefully.
   35924 
   35925 2010-04-06  Uros Bizjak  <ubizjak (a] gmail.com>
   35926 
   35927 	* config/i386/i386.md: Remove comment about 'e' and 'E'
   35928 	operand modifier.
   35929 
   35930 2010-04-06  Richard Guenther  <rguenther (a] suse.de>
   35931 
   35932 	PR tree-optimization/43627
   35933 	* tree-vrp.c (extract_range_from_unary_expr): Widenings
   35934 	of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
   35935 	not varying.
   35936 
   35937 2010-04-06  Jakub Jelinek  <jakub (a] redhat.com>
   35938 
   35939 	* BASE-VER: Change to 4.6.0.
   35940 
   35941 	PR target/43638
   35942 	* config/i386/i386.c (print_operand): Remove 'e' and 'E' code
   35943 	handling.
   35944 
   35945 2010-04-06  Richard Guenther  <rguenther (a] suse.de>
   35946 
   35947 	PR middle-end/43661
   35948 	* fold-const.c (fold_comparison): Handle X * 0 CMP 0.
   35949 
   35950 2010-04-05  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   35951 
   35952 	* doc/invoke.texi (Optimize Options): Document that LTO
   35953 	won't remove object access purely due to incompatible
   35954 	declarations.
   35955 
   35956 2010-04-04  Matthias Klose  <doko (a] ubuntu.com>
   35957 
   35958 	* graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
   35959 	Initialize variable.
   35960 
   35961 2010-04-03  Richard Guenther  <rguenther (a] suse.de>
   35962 
   35963 	PR middle-end/42509
   35964 	* alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
   35965 	require a non-NULL MEM_OFFSET.
   35966 
   35967 2010-04-02  Steven Bosscher  <steven (a] gcc.gnu.org>
   35968 
   35969 	* ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
   35970 	basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
   35971 	collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
   35972 	config/alpha/predicates.md, config/arm/arm.md,
   35973 	config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
   35974 	config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
   35975 	config/darwin9.h, config/darwin.c, config/darwin.h,
   35976 	config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
   35977 	config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
   35978 	config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
   35979 	config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
   35980 	config/mips/mips.md, config/mn10300/mn10300.c,
   35981 	config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
   35982 	config/rs6000/aix.h, config/rs6000/dfp.md,
   35983 	config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
   35984 	config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
   35985 	config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
   35986 	config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
   35987 	config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
   35988 	config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
   35989 	c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
   35990 	diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
   35991 	doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
   35992 	doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
   35993 	fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
   35994 	gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
   35995 	graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
   35996 	graphite-dependences.c, graphite-poly.c, graphite-poly.h,
   35997 	graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
   35998 	graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
   35999 	intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
   36000 	ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
   36001 	ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
   36002 	loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
   36003 	objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
   36004 	opt-functions.awk, opth-gen.awk, params.def, passes.c,
   36005 	postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
   36006 	rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
   36007 	store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
   36008 	tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
   36009 	tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
   36010 	tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
   36011 	tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
   36012 	tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
   36013 	tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
   36014 	tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
   36015 	tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
   36016 	tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
   36017 	tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
   36018 	unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
   36019 
   36020 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   36021 
   36022 	PR other/43620
   36023 	* doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
   36024 	* aclocal.m4: Regenerate.
   36025 
   36026 2010-04-02  Richard Guenther  <rguenther (a] suse.de>
   36027 
   36028 	PR tree-optimization/43629
   36029 	* tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
   36030 	if we have seen a constant value.
   36031 
   36032 2010-04-02  Joseph Myers  <joseph (a] codesourcery.com>
   36033 
   36034 	* read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
   36035 
   36036 2010-04-02  Richard Earnshaw  <rearnsha (a] arm.com>
   36037 
   36038 	PR target/43469
   36039 	* arm.c (legitimize_tls_address): Adjust call to
   36040 	gen_tls_load_dot_plus_four.
   36041 	(arm_note_pic_base): New function.
   36042 	(arm_cannot_copy_insn_p): Use it.
   36043 	* thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
   36044 	constraint.
   36045 
   36046 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   36047 
   36048 	PR bootstrap/43531
   36049 
   36050 	Revert:
   36051 	2009-09-28  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   36052 
   36053 	* Makefile.in ($(out_object_file)): Depend on
   36054 	gt-$(basename $(notdir $(out_file))).h.
   36055 
   36056 2010-04-01  Ralf Corspius  <ralf.corsepius (a] rtems.org>
   36057 
   36058 	* config.gcc (lm32-*-rtems*): Add t-lm32.
   36059 
   36060 2010-04-01  Joel Sherrill  <joel.sherrill (a] oarcorp.com>
   36061 
   36062 	* config.gcc: Add lm32-*-rtems*.
   36063 	* config/lm32/rtems.h: New file.
   36064 
   36065 2010-04-01  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   36066 
   36067 	PR target/42609
   36068 	* config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
   36069 
   36070 2010-04-01  Jakub Jelinek  <jakub (a] redhat.com>
   36071 
   36072 	* dwarf2out.c (output_compilation_unit_header): For
   36073 	-gdwarf-4 use version 4 instead of version 3.
   36074 	(output_line_info): For version 4 and above emit additional
   36075 	maximum ops per insn header field.
   36076 	(DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
   36077 
   36078 	* dwarf2out.c (is_c_family, is_java): Remove.
   36079 	(lower_bound_default): New function.
   36080 	(add_bound_info, gen_descr_array_type_die): Use it.
   36081 
   36082 2010-04-01  Dodji Seketeli  <dodji (a] redhat.com>
   36083 
   36084 	PR debug/43325
   36085 	* dwarf2out.c (gen_variable_die): Allow debug info for variable
   36086 	re-declaration when it happens in a function.
   36087 
   36088 2010-04-01  Aldy Hernandez  <aldyh (a] redhat.com>
   36089 
   36090 	* cgraph.c (cgraph_add_function_insertion_hook): Update comment.
   36091 	(cgraph_remove_function_insertion_hook): Same.
   36092 	(cgraph_call_function_insertion_hooks): Same.
   36093 
   36094 2010-04-01  Richard Guenther  <rguenther (a] suse.de>
   36095 
   36096 	PR middle-end/43614
   36097 	* tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
   36098 	and TREE_THIS_VOLATILE.
   36099 	(copy_ref_info): Likewise.
   36100 	* tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
   36101 	* tree.c (build6_stat): Ignore side-effects of all but arg5
   36102 	for TARGET_MEM_REF.  Set TREE_THIS_VOLATILE from arg5 of
   36103 	TARGET_MEM_REF.
   36104 
   36105 2010-04-01  Richard Guenther  <rguenther (a] suse.de>
   36106 
   36107 	PR tree-optimization/43607
   36108 	* ipa-type-escape.c (check_call): Do not access non-existing
   36109 	arguments.
   36110 
   36111 2010-04-01  Richard Guenther  <rguenther (a] suse.de>
   36112 
   36113 	PR middle-end/43602
   36114 	Revert
   36115 	2010-03-30  Seongbae Park  <seongbae.park (a] gmail.com>
   36116 		    Jack Howarth  <howarth (a] bromo.med.uc.edu>
   36117 
   36118 	* tree-profile.c (tree_init_ic_make_global_vars): Make static
   36119 	variables TLS.
   36120 
   36121 2010-04-01  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   36122 
   36123 	* doc/install.texi (Prerequisites): Document libelf usability on
   36124 	IRIX 5/6 and Solaris 2.
   36125 	(Specific, i?86-*-solaris2.10): No 64-bit default configuration.
   36126 	Update GNU as, GNU ld requirements.
   36127 	(Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
   36128 	Document Sun Studio compiler download.
   36129 	Update and simplify as, ld recommendations.
   36130 	(Specific, *-*-solaris2.7): Note obsoletion, removal.
   36131 
   36132 2010-04-01  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   36133 
   36134 	* config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
   36135 	with_tune_32 to pentium4.
   36136 
   36137 2010-04-01  Uros Bizjak  <ubizjak (a] gmail.com>
   36138 
   36139 	* config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
   36140 
   36141 2010-04-01  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   36142 
   36143 	* doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
   36144 	obsoletion, removal.
   36145 	Update IDO URL.
   36146 	Document GNU as requirement.
   36147 	Update configure requirements.
   36148 	(Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
   36149 	Recomment IRIX 6.5.18+.
   36150 	Document IDF/IDL requirement.
   36151 	Document GNU as requirement.
   36152 	Document GNU ld bootstrap failure.
   36153 	Remove freeware.sgi.com reference.
   36154 
   36155 2010-04-01  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   36156 
   36157 	* doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
   36158 	UNIX V4.0, V5.0 obsoletion, removal.
   36159 	Remove --with-gc=simple reference.
   36160 	Update VM requirements during bootstrap.
   36161 	Remove -oldas bootstrap description.
   36162 	Update binutils reference.
   36163 	Remove comparison failure note.
   36164 
   36165 2010-03-31  Richard Guenther  <rguenther (a] suse.de>
   36166 	    Zdenek Dvorak  <ook (a] ucw.cz>
   36167 	    Sebastian Pop  <sebastian.pop (a] amd.com>
   36168 
   36169 	PR middle-end/43464
   36170 	* tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
   36171 	with multiple arguments.
   36172 	(execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
   36173 
   36174 2010-03-31  Sebastian Pop  <sebastian.pop (a] amd.com>
   36175 
   36176 	* graphite-dependences.c (print_pddr): Call print_pdr with an
   36177 	extra argument.
   36178 	* graphite-poly.c (debug_pdr): Add an extra argument for the
   36179 	verbosity level.
   36180 	(print_pdr): Same.
   36181 	(print_pbb_domain): Same.
   36182 	(print_pbb): Same.
   36183 	(print_scop_context): Same.
   36184 	(print_scop): Same.
   36185 	(print_cloog): Same.
   36186 	(debug_pbb_domain): Same.
   36187 	(debug_pbb): Same.
   36188 	(print_pdrs): Same.
   36189 	(debug_pdrs): Same.
   36190 	(debug_scop_context): Same.
   36191 	(debug_scop): Same.
   36192 	(debug_cloog): Same.
   36193 	(print_scop_params): Same.
   36194 	(debug_scop_params): Same.
   36195 	(print_iteration_domain): Same.
   36196 	(print_iteration_domains): Same.
   36197 	(debug_iteration_domain): Same.
   36198 	(debug_iteration_domains): Same.
   36199 	(print_scattering_function): Same.
   36200 	(print_scattering_functions): Same.
   36201 	(debug_scattering_function): Same.
   36202 	(debug_scattering_functions): Same.
   36203 	* graphite-poly.h (debug_pdr): Update declaration.
   36204 	(print_pdr): Same.
   36205 	(print_pbb_domain): Same.
   36206 	(print_pbb): Same.
   36207 	(print_scop_context): Same.
   36208 	(print_scop): Same.
   36209 	(print_cloog): Same.
   36210 	(debug_pbb_domain): Same.
   36211 	(debug_pbb): Same.
   36212 	(print_pdrs): Same.
   36213 	(debug_pdrs): Same.
   36214 	(debug_scop_context): Same.
   36215 	(debug_scop): Same.
   36216 	(debug_cloog): Same.
   36217 	(print_scop_params): Same.
   36218 	(debug_scop_params): Same.
   36219 	(print_iteration_domain): Same.
   36220 	(print_iteration_domains): Same.
   36221 	(debug_iteration_domain): Same.
   36222 	(debug_iteration_domains): Same.
   36223 	(print_scattering_function): Same.
   36224 	(print_scattering_functions): Same.
   36225 	(debug_scattering_function): Same.
   36226 	(debug_scattering_functions): Same.
   36227 
   36228 2010-03-31  Sebastian Pop  <sebastian.pop (a] amd.com>
   36229 
   36230 	* graphite-poly.c (print_scattering_function_1): New.
   36231 	(print_scattering_function): Call it.
   36232 	(print_scop_params): Remove spaces at the end of lines.
   36233 	(print_cloog): New.
   36234 	(debug_cloog): New.
   36235 	* graphite-poly.h (print_cloog): Declared.
   36236 	(debug_cloog): Declared.
   36237 
   36238 2010-03-31  Sebastian Pop  <sebastian.pop (a] amd.com>
   36239 
   36240 	* graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
   36241 	in loop->header.
   36242 	* tree-flow.h (canonicalize_loop_ivs): Updated declaration.
   36243 	* tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
   36244 	* tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
   36245 	to switch between adding the IV bump in loop->latch or in loop->header.
   36246 
   36247 2010-03-31  Sebastian Pop  <sebastian.pop (a] amd.com>
   36248 
   36249 	* graphite-poly.c (print_scattering_function): Pretty print following
   36250 	the scoplib format.
   36251 	(print_pdr): Same.
   36252 	(print_pbb_domain): Same.
   36253 	(dump_gbb_cases): Same.
   36254 	(dump_gbb_conditions): Same.
   36255 	(print_pdrs): Same.
   36256 	(print_pbb): Same.
   36257 	(print_scop_params): Same.
   36258 	(print_scop_context): Same.
   36259 	(print_scop): Same.
   36260 	(print_pbb_body): New.
   36261 	(lst_indent_to): New.
   36262 	(print_lst): Start new lines with a #.
   36263 	* graphite-poly.h (pbb_bb): New.
   36264 	(pbb_index): Use pbb_bb.
   36265 	* graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
   36266 	disjuncts.
   36267 	* tree-data-ref.c (dump_data_reference): Start new lines with a #.
   36268 
   36269 2010-03-31  Jakub Jelinek  <jakub (a] redhat.com>
   36270 
   36271 	* dwarf2out.c (size_of_die): For -gdwarf-4 use
   36272 	uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
   36273 	and 0 instead of 1 for dw_val_class_flag.
   36274 	(value_format): For -gdwarf-4 use DW_FORM_sec_offset for
   36275 	dw_val_class_range_list, dw_val_class_loc_list,
   36276 	dw_val_class_lineptr and dw_val_class_macptr, use
   36277 	DW_FORM_flag_present for dw_val_class_flag and
   36278 	DW_FORM_exprloc for dw_val_class_loc.
   36279 	(output_die): For -gdwarf-4 print dw_val_class_loc
   36280 	size as uleb128 instead of 1 or 2 bytes and don't print
   36281 	anything for dw_val_class_flag.
   36282 
   36283 	* var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
   36284 	instead of cselib_lookup following by tweaking locs->setting_insn.
   36285 
   36286 	PR bootstrap/43596
   36287 	* cselib.c (cselib_process_insn): Clear cselib_current_insn
   36288 	even before returning from label, setjmp call or volatile asm
   36289 	handling.
   36290 
   36291 2010-03-31  Richard Guenther  <rguenther (a] suse.de>
   36292 
   36293 	PR middle-end/43600
   36294 	* cgraphunit.c (cgraph_output_in_order): Do not allocate
   36295 	temporary data on stack.
   36296 
   36297 2010-03-31  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   36298 
   36299 	* config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
   36300 	(PUSHSECTION_ASM_OP): Remove.
   36301 	(POPSECTION_ASM_OP): Remove.
   36302 	(PUSHSECTION_FORMAT): Remove.
   36303 	* config/sol2.h (PUSHSECTION_FORMAT): Define.
   36304 	* config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
   36305 	* config/sol2.c (solaris_output_init_fini): Use it.
   36306 
   36307 2010-03-31  Jie Zhang  <jie (a] codesourcery.com>
   36308 
   36309 	PR 43574
   36310 	* opt-functions.awk (var_type_struct): Use signed char type
   36311 	for simple variables.
   36312 
   36313 2010-03-31  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   36314 
   36315 	* config/sol2.c: Include output.h.
   36316 	(solaris_assemble_visibility): New function.
   36317 	* config/t-sol2 (sol2.o): Add output.h dependency.
   36318 	* config/sol2-protos.h (solaris_assemble_visibility): Declare.
   36319 	* config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
   36320 	Redefine.
   36321 
   36322 2010-03-31  Jakub Jelinek  <jakub (a] redhat.com>
   36323 
   36324 	PR target/43580
   36325 	* config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
   36326 	V2SImode or XFmode on PRE_DEC.
   36327 
   36328 	PR debug/43557
   36329 	* cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
   36330 	BLKmode.
   36331 
   36332 2010-03-31  Jie Zhang  <jie (a] codesourcery.com>
   36333 
   36334 	PR 43562
   36335 	* reload.h (caller_save_initialized_p): Declare.
   36336 	* toplev.c (backend_init_target): Don't call
   36337 	init_caller_save but set caller_save_initialized_p to false.
   36338 	* caller-save.c (caller_save_initialized_p): Define.
   36339 	(init_caller_save): Check caller_save_initialized_p.
   36340 	* ira.c (ira): Call init_caller_save if flag_caller_saves.
   36341 
   36342 2010-03-31  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   36343 
   36344 	PR target/39048
   36345 	* config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
   36346 	and soft-fp/t-softfp to tmake_file.
   36347 	* config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
   36348 	(LIBGCC2_TF_CEXT): Define.
   36349 	(TF_SIZE): Define.
   36350 
   36351 2010-03-30  Alexandre Oliva  <aoliva (a] redhat.com>
   36352 
   36353 	PR debug/42977
   36354 	* cselib.c (n_useless_values): Document handling of debug locs.
   36355 	(n_useless_debug_values, n_debug_values): New variables.
   36356 	(new_elt_loc_list): Don't add to debug values, keep count.
   36357 	(promote_debug_loc): New.
   36358 	(cselib_reset_table): Zero new variables.
   36359 	(entry_and_rtx_equal_p): Promote debug locs.
   36360 	(discard_useless_locs): Increment n_useless_debug_values for
   36361 	debug values.
   36362 	(remove_useless_values): Adjust n_useless_values and n_debug_values
   36363 	with n_useless_debug_values.
   36364 	(add_mem_for_addr): Promote debug locs.
   36365 	(cselib_lookup_mem): Likewise.
   36366 	(cselib_lookup_addr): Renamed to...
   36367 	(cselib_lookup_addr_1): ... this.  Promote debug locs.  Don't call...
   36368 	(cselib_log_lookup): ... this.  Turn into...
   36369 	(cselib_lookup_addr): ... new wrapper.
   36370 	(cselib_lookup_from_insn): New.
   36371 	(cselib_invalidate_regno): Increment n_useless_debug_values for
   36372 	debug values.
   36373 	(cselib_invalidate_mem): Likewise.
   36374 	(cselib_process_insn): Take n_deleted and n_debug_values into
   36375 	account to guard remove_useless_value call.
   36376 	(cselib_finish): Zero n_useless_debug_values.
   36377 	* cselib.h (cselib_lookup_from_insn): Declare.
   36378 	* sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
   36379 	(sched_analyze_2): Likewise.
   36380 
   36381 2010-03-30  Jakub Jelinek  <jakub (a] redhat.com>
   36382 
   36383 	* var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
   36384 	functions.
   36385 	(adjust_mems): Replace narrowing SUBREG of expression containing
   36386 	just PLUS, MINUS, MULT and ASHIFT of registers and constants
   36387 	with operations in the narrower mode.
   36388 
   36389 	PR debug/43593
   36390 	* var-tracking.c (dataflow_set_clear_at_call): Invalidate just
   36391 	regs_invalidated_by_call instead all call_used_reg_set registers.
   36392 
   36393 2010-03-30  Sebastian Pop  <sebastian.pop (a] amd.com>
   36394 
   36395 	PR middle-end/43430
   36396 	* tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
   36397 	pointer comparisons with types_compatible_p.
   36398 	* tree-vect-stmts.c (vectorizable_call): Same.
   36399 	(vectorizable_condition): Same.
   36400 
   36401 2010-03-30  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   36402 
   36403 	* config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
   36404 	stack check if the mask would be zero.
   36405 
   36406 2010-03-30  Seongbae Park  <seongbae.park (a] gmail.com>
   36407 	    Jack Howarth  <howarth (a] bromo.med.uc.edu>
   36408 
   36409 	* tree-profile.c (tree_init_ic_make_global_vars): Make static
   36410 	variables TLS.
   36411 
   36412 2010-03-30  Joseph Myers  <joseph (a] codesourcery.com>
   36413 
   36414 	PR other/25232
   36415 	* libgcc-std.ver (GCC_4.5.0): Define version.  Include __unordxf2
   36416 	and __unordtf2.
   36417 	* config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
   36418 	Include ___unordxf2 and ___unordtf2.
   36419 	* config/i386/libgcc-glibc.ver: Do not define inheritance from
   36420 	GCC_4.4.0 here.
   36421 
   36422 2010-03-30  Tarik Graba  <tarik.graba (a] telecom-paristech.fr>
   36423 
   36424 	* config/lm32/t-lm32: New file.
   36425 	* config.gcc: Use the above file when targetting lm32.
   36426 
   36427 2010-03-28  Duncan Sands  <baldrick (a] free.fr>
   36428 
   36429 	* Makefile.in (PLUGIN_HEADERS): Add except.h.
   36430 
   36431 2010-03-29  Sebastian Pop  <sebastian.pop (a] amd.com>
   36432 
   36433 	PR middle-end/43431
   36434 	* tree-vect-loop.c (vect_estimate_min_profitable_iters):
   36435 	Improve vectorization cost model diagnostic.
   36436 
   36437 2010-03-29  Sebastian Pop  <sebastian.pop (a] amd.com>
   36438 
   36439 	PR middle-end/43436
   36440 	* tree-vect-data-refs.c (vect_analyze_data_refs): When
   36441 	compute_data_dependences_for_loop returns false, early exit
   36442 	and output an extra diagnostic for the failed data reference
   36443 	analysis.
   36444 
   36445 2010-03-29  Richard Guenther  <rguenther (a] suse.de>
   36446 
   36447 	PR tree-optimization/43560
   36448 	* tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
   36449 	(can_sm_ref_p): Treat stores to readonly locations as trapping.
   36450 
   36451 2010-03-29  Jie Zhang  <jie (a] codesourcery.com>
   36452 
   36453 	PR 43564
   36454 	* toplev.c (process_options): Set optimization_default_node
   36455 	and optimization_current_node.
   36456 	* opts.c (decode_options): Don't set optimization_default_node
   36457 	and optimization_current_node.
   36458 
   36459 2010-03-29  Ralf Corspius  <ralf.corsepius (a] rtems.org>
   36460 
   36461 	* config/rtems.h: Abandon -qrtems_debug.
   36462 
   36463 2010-03-28  Jan Hubicka  <jh (a] suse.cz>
   36464 
   36465 	PR tree-optimization/43505
   36466 	* cgraph.c (cgraph_clone_node): When clonning a clone, replacement
   36467 	map should not be copied.
   36468 
   36469 2010-03-27  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   36470 
   36471 	PR middle-end/41674
   36472 	* cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
   36473 	cdtors, set DECL_PRESERVE_P.
   36474 	* ipa.c (cgraph_externally_visible_p): Return true if declaration
   36475 	should be preseved.
   36476 
   36477 2010-03-27  Uros Bizjak  <ubizjak (a] gmail.com>
   36478 
   36479 	PR tree-optimization/43528
   36480 	* stor-layout.c (place_field): Check that constant fits into
   36481 	unsigned HWI when skipping calculation of MS bitfield layout.
   36482 
   36483 2010-03-27  Jan Hubicka  <jh (a] suse.cz>
   36484 
   36485 	PR middle-end/43391
   36486 	* varasm.c (make_decl_rtl): Deal with COMMON flag to make
   36487 	notice_global_symbol work.
   36488 
   36489 2010-03-27  Jakub Jelinek  <jakub (a] redhat.com>
   36490 
   36491 	* dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
   36492 	instead of dwarf2out_decl.
   36493 	(struct var_loc_node): Remove section_label field.
   36494 	(dwarf2out_function_decl): New function.
   36495 	(dwarf2out_var_location): Don't set section_label field.
   36496 	(dwarf2out_begin_function): Don't empty decl_loc_table here.
   36497 
   36498 2010-03-26  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   36499 
   36500 	PR tree-optimization/43544
   36501 	* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
   36502 	First argument for builtin vectorized function hook is now a
   36503 	tree to be able to distinguish between machine specific and
   36504 	standard builtins.
   36505 	* targhooks.c (default_builtin_vectorized_function): Ditto.
   36506 	* targhooks.h (default_builtin_vectorized_function): Ditto.
   36507 	* target.h (struct gcc_target): Ditto.
   36508 	* tree-vect-stmts.c (vectorizable_function): Ditto.
   36509 	* config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
   36510 	* config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
   36511 	Ditto.
   36512 
   36513 2010-03-26  Joseph Myers  <joseph (a] codesourcery.com>
   36514 
   36515 	PR c/43381
   36516 	* c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
   36517 	nested binding iff it is a FUNCTION_DECL.
   36518 	(store_parm_decls_newstyle): Pass nested=true to bind for
   36519 	FUNCTION_DECLs amongst parameters.
   36520 
   36521 2010-03-26  Jakub Jelinek  <jakub (a] redhat.com>
   36522 
   36523 	* var-tracking.c (vt_expand_loc_callback): Don't run
   36524 	cselib_expand_value_rtx_cb in dummy mode if
   36525 	cselib_dummy_expand_value_rtx_cb returned false.
   36526 
   36527 	* var-tracking.c (emit_note_insn_var_location): For one part
   36528 	notes with offset 0, don't add EXPR_LIST around the location.
   36529 	* dwarf2out.c (loc_descriptor, dw_loc_list_1,
   36530 	add_location_or_const_value_attribute): Adjust for that change.
   36531 
   36532 	PR debug/43540
   36533 	* dwarf2out.c (reg_save): For DW_CFA_expression put regnum
   36534 	into first operand and location into second.
   36535 	(dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
   36536 	dw_cfi_oprnd_loc for DW_CFA_expression.
   36537 	(dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
   36538 	(output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
   36539 	assume first argument is regnum and second argument is location.
   36540 
   36541 2010-03-26  Uros Bizjak  <ubizjak (a] gmail.com>
   36542 
   36543 	PR target/42113
   36544 	* config/alpha/alpha.md (*cmp_sadd_si): Change mode
   36545 	of scratch register to DImode.  Split to DImode comparison operator.
   36546 	Use SImode subreg of scratch register in the multiplication.
   36547 	(*cmp_sadd_sidi): Ditto.
   36548 	(*cmp_ssub_si): Ditto.
   36549 	(*cmp_ssub_sidi): Ditto.
   36550 
   36551 2010-03-26  Uros Bizjak  <ubizjak (a] gmail.com>
   36552 
   36553 	PR target/43524
   36554 	* config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
   36555 	Remove invalid assert and wrong comment.
   36556 
   36557 2010-03-26  Jakub Jelinek  <jakub (a] redhat.com>
   36558 
   36559 	PR debug/43516
   36560 	* flags.h (final_insns_dump_p): New extern.
   36561 	* final.c (final_insns_dump_p): New variable.
   36562 	(rest_of_clean_state): Set it before -fdump-final-insns=
   36563 	dumping, clear afterwards.
   36564 	* print-rtl.c (print_rtx): If final_insns_dump_p don't dump
   36565 	MEM_ALIAS_SET on MEMs.
   36566 
   36567 2010-03-26  David S. Miller  <davem (a] davemloft.net>
   36568 
   36569 	* configure.ac: Fix sparc GOTDATA_OP bug check.
   36570 	* configure: Rebuild.
   36571 
   36572 2010-03-26  Alan Modra  <amodra (a] gmail.com>
   36573 
   36574 	* config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
   36575 
   36576 2010-03-25  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   36577 
   36578 	* doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
   36579 	TLS_SECTION_ASM_FLAG.
   36580 
   36581 2010-03-25  Jakub Jelinek  <jakub (a] redhat.com>
   36582 
   36583 	PR bootstrap/43511
   36584 	* config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
   36585 	Clear first_function_block_is_cold.
   36586 
   36587 	PR c/43385
   36588 	* gimplify.c (gimple_boolify): Only recurse on __builtin_expect
   36589 	argument if the argument is truth_value_p.
   36590 
   36591 2010-03-24  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   36592 
   36593 	* config/rs6000/constraints.md: Update copyright year for my changes.
   36594 
   36595 	PR target/43484
   36596 	* config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
   36597 	used in reg+reg addressing, swap registers.
   36598 
   36599 2010-03-24  Jakub Jelinek  <jakub (a] redhat.com>
   36600 
   36601 	PR debug/43293
   36602 	* target.h (struct gcc_target): Add code_end hook.
   36603 	* target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
   36604 	if not yet defined.
   36605 	(TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
   36606 	* toplev.c (compile_file): Call targetm.asm_out.code_end
   36607 	hook before unwind info/debug info output.
   36608 	* config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
   36609 	* config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
   36610 	(TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
   36611 	* config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
   36612 	(TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
   36613 	* config/i386/i386.c (ix86_file_end): Renamed to...
   36614 	(ix86_code_end): ... this.  Make static.  Don't call
   36615 	file_end_indicate_exec_stack.  Emit unwind info using
   36616 	final_start_function/final_end_function.
   36617 	(darwin_x86_file_end): Remove.
   36618 	(TARGET_ASM_CODE_END): Define.
   36619 	* config/i386/i386.h (TARGET_ASM_FILE_END,
   36620 	NEED_INDICATE_EXEC_STACK): Don't define.
   36621 	* config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
   36622 	(TARGET_ASM_FILE_END): Define to darwin_file_end.
   36623 	* config/i386/i386-protos.h (ix86_file_end): Remove prototype.
   36624 	* doc/tm.texi (TARGET_ASM_CODE_END): Document.
   36625 
   36626 	PR target/43498
   36627 	* config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
   36628 	at the beginning and final_end_function at the end.
   36629 	* config/s390/s390.c (s390_output_mi_thunk): Likewise.
   36630 
   36631 2010-03-24  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   36632 
   36633 	* configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
   36634 	and Sun as TLS syntax.
   36635 	(TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
   36636 	* configure: Regenerate.
   36637 	* config.in: Regenerate.
   36638 	* varasm.c (TLS_SECTION_ASM_FLAG): Define default.
   36639 	(default_elf_asm_named_section): Use it.
   36640 	* config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
   36641 	(i386_output_dwarf_dtprel): Likewise.
   36642 	(output_addr_const_extra): Likewise.
   36643 	(output_pic_addr_const): Lowercase @GOTTPOFF.
   36644 	(output_addr_const_extra): Likewise.
   36645 	(output_pic_addr_const): Lowercase @GOTNTPOFF.
   36646 	(output_addr_const_extra): Likewise.
   36647 	(output_pic_addr_const): Lowercase @INDNTPOFF.
   36648 	(output_addr_const_extra): Likewise.
   36649 	(output_pic_addr_const): Lowercase @NTPOFF.
   36650 	(output_addr_const_extra): Likewise.
   36651 	(output_pic_addr_const): Lowercase @TPOFF.
   36652 	(output_addr_const_extra): Likewise.
   36653 	* config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
   36654 	(*tls_global_dynamic_64): Likewise.
   36655 	(*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
   36656 	(*tls_local_dynamic_base_64): Lowercase	@TLSLD.
   36657 
   36658 	* defaults.h (TLS_COMMON_ASM_OP): Provide default.
   36659 	(ASM_OUTPUT_TLS_COMMON): Use it.
   36660 	* config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
   36661 
   36662 	PR target/38118
   36663 	* config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
   36664 	* config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
   36665 	* config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
   36666 	* config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
   36667 	* config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
   36668 	(ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
   36669 
   36670 2010-03-24  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   36671 
   36672 	* config/i386/i386.c (override_options): Don't accept
   36673 	-mtls-dialect=sun any longer.
   36674 	* config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
   36675 	* config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
   36676 	(*tls_local_dynamic_base_32_sun): Likewise.
   36677 	* config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
   36678 
   36679 2010-03-24  Jakub Jelinek  <jakub (a] redhat.com>
   36680 
   36681 	PR debug/43508
   36682 	* dwarf2out.c (mem_loc_descriptor): Don't ICE on
   36683 	VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
   36684 
   36685 	PR debug/43479
   36686 	* ira.c (adjust_cleared_regs): New function.
   36687 	(update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
   36688 
   36689 	PR debug/19192
   36690 	PR debug/43479
   36691 	* cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
   36692 	from gimple_block.
   36693 	* expr.c (expand_expr_real): Restore previous
   36694 	curr_insn_source_location and curr_insn_block after
   36695 	expand_expr_real_1 call.
   36696 	(expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
   36697 	instead of expand_expr_real_1.
   36698 
   36699 2010-03-23  Vladimir Makarov  <vmakarov (a] redhat.com>
   36700 
   36701 	PR rtl-optimization/43413
   36702 	* ira-color.c (setup_allocno_available_regs_num): Count prohibited
   36703 	hard regs too.
   36704 
   36705 2010-03-22  James E. Wilson  <wilson (a] codesourcery.com>
   36706 
   36707 	PR target/43348
   36708 	* ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
   36709 	call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
   36710 
   36711 2010-03-22  H.J. Lu  <hongjiu.lu (a] intel.com>
   36712 
   36713 	* config/i386/i386.c (ix86_target_string): Add -mfma.
   36714 	Fix a typo in comment.
   36715 
   36716 2010-03-22  Mike Stump  <mikestump (a] comcast.net>
   36717 
   36718 	PR target/23071
   36719 	* config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
   36720 	Don't overly align based upon packed packed fields.
   36721 
   36722 2010-03-22  Jason Merrill  <jason (a] redhat.com>
   36723 
   36724 	* c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
   36725 	Use () rather than [], and move before the element type.
   36726 
   36727 2010-03-22  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   36728 
   36729 	* doc/configfiles.texi (Configuration Files): Removed
   36730 	fixinc/Makefile*, intl/Makefile.*.
   36731 	* doc/makefile.texi: Fixed markup. Abstract from version
   36732 	control system used.
   36733 	(Makefile): Removed obsolete java/parse.y example.
   36734 	* doc/sourcebuild.texi: Likewise.
   36735 	(Top Level): Added config, gnattools, libdecnumber, libgcc,
   36736 	libgomp, libssp.  Removed fastjar.
   36737 	(Miscellaneous Docs): Clarify location.
   36738 	Added COPYING3, COPYING3.LIB.
   36739 	(Front End Directory): Moved Make-lang.in entry to new subsubsection.
   36740 
   36741 2010-03-22  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   36742 
   36743 	PR target/38085
   36744 	* config/i386/i386.c (x86_function_profiler)
   36745 	[!NO_PROFILE_COUNTERS]: Fix typo.
   36746 	* config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
   36747 	instead of callq.
   36748 
   36749 2010-03-22  Janis Johnson  <janis187 (a] us.ibm.com>
   36750 	    Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   36751 
   36752 	* doc/sourcebuild.texi (Test Directives): Split into six
   36753 	subsections, with most of the current text in new subsections
   36754 	Directives, Selectors, and Final Actions.
   36755 	(Directives): Split list of test directives into multiple
   36756 	subsubsections.
   36757 	(Selectors): Describe use and syntax of selectors.
   36758 	(Effective-Target Keywords): Describe all existing keywords.
   36759 	(Add Options): Describe features for dg-add-options.
   36760 	(Require Support): Describe variants of dg-require-support.
   36761 	(Final Actions): Describe commands to use in dg-final.
   36762 
   36763 2010-03-22  Michael Matz  <matz (a] suse.de>
   36764 
   36765 	PR middle-end/43475
   36766 	* recog.c (validate_replace_rtx_group): Replace also in
   36767 	REG_EQUAL and REG_EQUIV notes.
   36768 
   36769 2010-03-22  Richard Guenther  <rguenther (a] suse.de>
   36770 
   36771 	PR tree-optimization/43390
   36772 	* tree-vect-stmts.c (get_vectype_for_scalar_type): Make
   36773 	sure vector extracts are type correct.
   36774 
   36775 2010-03-22  Richard Guenther  <rguenther (a] suse.de>
   36776 
   36777 	PR middle-end/40106
   36778 	* builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
   36779 	x * sqrt (x) even when optimizing for size if the target
   36780 	has native support for sqrt.
   36781 
   36782 2010-03-22  Jakub Jelinek  <jakub (a] redhat.com>
   36783 
   36784 	* varasm.c (make_decl_rtl_for_debug): Also clear
   36785 	flag_mudflap for the duration of make_decl_rtl call.
   36786 
   36787 	PR debug/43443
   36788 	* var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
   36789 	locs from preserved VALUEs.
   36790 
   36791 2010-03-21  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   36792 
   36793 	PR middle-end/42718
   36794 	* pa.md (movmemsi): Set align to one if zero.
   36795 	(movmemdi): Likewise.
   36796 
   36797 2010-03-21  Richard Earnshaw  <rearnsha (a] arm.com>
   36798 
   36799 	PR target/42321
   36800 	* arm.c (arm_output_epilogue): Correctly match VFP pop instructions
   36801 	with their corresponding prologue pushes.
   36802 
   36803 2010-03-20  Andrew Pinski  <pinskia (a] gmail.com>
   36804 
   36805 	PR target/43156
   36806 	* config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
   36807 	at the begining or end.
   36808 	(spu_expand_epilogue): Likewise.
   36809 
   36810 2010-03-20  Richard Guenther  <rguenther (a] suse.de>
   36811 
   36812 	PR rtl-optimization/43438
   36813 	* combine.c (make_extraction): Properly zero-/sign-extend an
   36814 	extraction of the low part of a CONST_INT.  Also handle
   36815 	CONST_DOUBLE.
   36816 
   36817 2010-03-19  Mike Stump  <mikestump (a] comcast.net>
   36818 
   36819 	* config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
   36820 	* config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
   36821 	(override_options): Use SUBTARGET32_DEFAULT_CPU.
   36822 
   36823 2010-03-19  Andrew Pinski  <andrew_pinski (a] caviumnetworks.com>
   36824 
   36825 	PR c/43211
   36826 	* c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
   36827 	an error.
   36828 
   36829 2010-03-19  Bernd Schmidt  <bernds (a] codesourcery.com>
   36830 
   36831 	PR rtl-optimization/42258
   36832 	* ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
   36833 	use that may match DEF.
   36834 
   36835 	PR target/40697
   36836 	* optabs.c (avoid_expensive_constant): Use rtx_cost to find out
   36837 	the cost of loading the constant rather than assuming
   36838 	COSTS_N_INSNS (1).
   36839 	* config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
   36840 	outer code is AND, do the same tests as the andsi3 expander and
   36841 	return COSTS_N_INSNS (1) if and is cheap.
   36842 
   36843 	* optabs.c (avoid_expensive_constant): Fix formatting.
   36844 
   36845 2010-03-19  Michael Matz  <matz (a] suse.de>
   36846 
   36847 	PR c++/43116
   36848 	* attribs.c (decl_attributes): When rebuilding a function pointer
   36849 	type use the same qualifiers as the original pointer type.
   36850 
   36851 2010-03-19  Martin Jambor  <mjambor (a] suse.cz>
   36852 
   36853 	* doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
   36854 	and is_gimple_ip_invariant_address.
   36855 
   36856 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan (a] arm.com>
   36857 
   36858 	Revert
   36859 	2009-10-01  Ramana Radhakrishnan  <ramana.radhakrishnan (a] arm.com>
   36860 
   36861 	* config/arm/arm.c (arm_override_options): Turn off
   36862 	flag_dwarf2_cfi_asm for AAPCS variants.
   36863 
   36864 2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan (a] arm.com>
   36865 
   36866 	PR target/43399
   36867 	* config/arm/arm.c (emit_multi_reg_push): Update comments.
   36868 	Use PRE_MODIFY instead of PRE_DEC.
   36869 	(emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
   36870 	(vfp_emit_fstmd): Likewise.
   36871 
   36872 2010-03-19  Michael Matz  <matz (a] suse.de>
   36873 
   36874 	PR target/43305
   36875 	* builtins.c (expand_builtin_interclass_mathfn,
   36876 	expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
   36877 	if that fails.
   36878 
   36879 2010-03-19  Richard Guenther  <rguenther (a] suse.de>
   36880 
   36881 	PR tree-optimization/43415
   36882 	* tree-ssa-pre.c (phi_translate): Split out worker to ...
   36883 	(phi_translate_1): ... this.
   36884 	(phi_translate): Move all caching here.  Cache all NARY
   36885 	and REFERENCE translations.
   36886 
   36887 2010-03-19  David S. Miller  <davem (a] davemloft.net>
   36888 
   36889 	With help from Eric Botcazou.
   36890 	* config/sparc/sparc.c: Include dwarf2out.h.
   36891 	(emit_pic_helper): Delete.
   36892 	(pic_helper_symbol_name): Delete.
   36893 	(pic_helper_emitted_p): Delete.
   36894 	(pic_helper_needed): New.
   36895 	(USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
   36896 	(get_pc_thunk_name): New.
   36897 	(load_pic_register): Remove 'delay_pic_helper' arg.  Use
   36898 	get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
   36899 	Set pic_helper_needed to true.  Don't call emit_pic_helper.
   36900 	(sparc_expand_prologue): Update load_pic_register call.
   36901 	(sparc_output_mi_thunk): Likewise.
   36902 	(sparc_file_end): Emit a hidden comdat symbol for the PIC
   36903 	thunk if possible.  Output CFI information as needed.
   36904 
   36905 2010-03-18  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
   36906 	    Jack Howarth  <howarth (a] bromo.med.uc.edu>
   36907 
   36908 	PR target/36399
   36909 	* config/i386/i386.h: Fix ABI on darwin x86-32.
   36910 
   36911 2010-03-18  Aldy Hernandez  <aldyh (a] redhat.com>
   36912 
   36913 	* tree.h: Declare make_decl_rtl_for_debug.
   36914 	* varasm.c (make_decl_rtl_for_debug): New.
   36915 	* dwarf2out.c (rtl_for_decl_location): Call it.
   36916 	* cfgexpand.c (expand_debug_expr): Call it.
   36917 
   36918 2010-03-18  Jakub Jelinek  <jakub (a] redhat.com>
   36919 
   36920 	PR bootstrap/43399
   36921 	* var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
   36922 	mem_mode.
   36923 
   36924 	PR bootstrap/43403
   36925 	* var-tracking.c (vt_init_cfa_base): Do nothing if
   36926 	cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
   36927 
   36928 2010-03-18  Alexandre Oliva  <aoliva (a] redhat.com>
   36929 
   36930 	PR debug/42873
   36931 	* var-tracking.c (canonicalize_vars_star): New.
   36932 	(dataflow_post_merge_adjust): Use it.
   36933 
   36934 2010-03-18  Jakub Jelinek  <jakub (a] redhat.com>
   36935 
   36936 	PR debug/43058
   36937 	* var-tracking.c (non_suitable_const): New function.
   36938 	(add_uses): For DEBUG_INSNs with constants, don't record any
   36939 	value, instead just the constant value itself.
   36940 	(compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
   36941 	is not VAR_LOC_UNKNOWN_P, set var to the constant.
   36942 	(emit_notes_in_bb): Likewise.
   36943 	(emit_note_insn_var_location): For onepart variables if
   36944 	cur_loc is a VOIDmode constant, use DECL_MODE.
   36945 
   36946 2010-03-18  Martin Jambor  <mjambor (a] suse.cz>
   36947 
   36948 	PR middle-end/42450
   36949 	* cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
   36950 	* cgraphunit.c (cgraph_materialize_all_clones): Update calls in
   36951 	all non-clones.  Moved call redirection...
   36952 	(cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
   36953 	(cgraph_materialize_all_clones): Dispose of all
   36954 	combined_args_to_skip bitmaps.
   36955 	(verify_cgraph_node): Do not check for edges pointing to wrong
   36956 	nodes in inline clones.
   36957 	* tree-inline.c (copy_bb): Call
   36958 	cgraph_redirect_edge_call_stmt_to_callee.
   36959 	* ipa.c (cgraph_remove_unreachable_nodes): Call
   36960 	cgraph_node_remove_callees even when there are used clones.
   36961 
   36962 2010-03-18  H.J. Lu  <hongjiu.lu (a] intel.com>
   36963 
   36964 	* config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
   36965 
   36966 2010-03-18  H.J. Lu  <hongjiu.lu (a] intel.com>
   36967 
   36968 	PR target/43383
   36969 	* config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
   36970 	for 32bit.
   36971 
   36972 2010-03-18  Michael Matz  <matz (a] suse.de>
   36973 
   36974 	PR middle-end/43419
   36975 	* builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
   36976 	into sqrt(x) if we need to preserve signed zeros.
   36977 
   36978 2010-03-18  Steven Bosscher  <steven (a] gcc.gnu.org>
   36979 	    Eric Botcazou  <ebotcazou (a] adacore.com>
   36980 
   36981 	PR rtl-optimization/43360
   36982 	* loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
   36983 	note if we don't know its invariant status.
   36984 
   36985 2010-03-18  Michael Matz  <matz (a] suse.de>
   36986 
   36987 	PR tree-optimization/43402
   36988 	* tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
   36989 	PHI chains of ssa names registered for update.
   36990 
   36991 2010-03-17  Peter Bergner  <bergner (a] vnet.ibm.com>
   36992 
   36993 	PR target/42427
   36994 	* config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
   36995 	non-offsettable and pre_modify update addressing.
   36996 	* config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
   36997 	and "2" alternatives "#".
   36998 	(*movdd_softfloat32): Make all alternatives "#";
   36999 	* config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
   37000 	(*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
   37001 	(*movdf_softfloat32): Make all alternatives "#";
   37002 	(movdi): Use the new DIFD mode iterator to create a common splitter
   37003 	for movdi, movdf and movdd patterns.
   37004 
   37005 2010-03-18  Shujing Zhao  <pearly.zhao (a] oracle.com>
   37006 
   37007 	* common.opt (dumpdir): Remove redundant tab.
   37008 
   37009 2010-03-17  Martin Jambor  <mjambor (a] suse.cz>
   37010 
   37011 	PR tree-optimization/43347
   37012 	* tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
   37013 	original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
   37014 
   37015 2010-03-17  Bernd Schmidt  <bernd.schmidt (a] analog.com>
   37016 
   37017 	PR rtl-optimization/42216
   37018 	* regrename.c (create_new_chain): New function, broken out from...
   37019 	(scan_rtx_reg): ... here.  Call it.  Handle the case where we are
   37020 	appending a use to an empty chain.
   37021 	(build_def_use): Remove previous changes that convert OP_INOUT to
   37022 	OP_OUT operands; instead detect the case where an OP_INOUT operand
   37023 	uses a previously untracked register and create an empty chain for it.
   37024 
   37025 2010-03-17  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   37026 
   37027 	* doc/extend.texi (Function Attributes): Rewrite unfinished
   37028 	sentence in ms_abi documentation.
   37029 
   37030 2010-03-17  Alan Modra  <amodra (a] gmail.com>
   37031 
   37032 	* config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
   37033 	* config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
   37034 	(SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
   37035 	* config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
   37036 
   37037 2010-03-16  Richard Henderson  <rth (a] redhat.com>
   37038 
   37039 	PR middle-end/43365
   37040 	* tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
   37041 	(lower_try_finally): Save and restore eh_seq around the expansion
   37042 	of the try-finally.
   37043 
   37044 2010-03-16  Aldy Hernandez  <aldyh (a] redhat.com>
   37045 
   37046 	* graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
   37047 	statements before splitting block.
   37048 
   37049 2010-03-16  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   37050 
   37051 	* doc/sourcebuild.texi (Testsuites): Fix markup.
   37052 	Use pathnames relative to gcc/testsuite.
   37053 	(Test Directives): Move description of how timeout is determined.
   37054 	(Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
   37055 	(C Tests): Correct gcc.misc-tests directory.
   37056 	Framework tests now live in gcc.test-framework.
   37057 
   37058 2010-03-16  Richard Guenther  <rguenther (a] suse.de>
   37059 
   37060 	PR middle-end/43379
   37061 	* tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
   37062 	operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
   37063 
   37064 2010-03-16  Aldy Hernandez  <aldyh (a] redhat.com>
   37065 	    Alexandre Oliva  <aoliva (a] redhat.com>
   37066 
   37067 	PR tree-optimization/42917
   37068 	* lambda-code.c (remove_iv): Skip debug statements.
   37069 	(lambda_loopnest_to_gcc_loopnest): Likewise.
   37070 	(not_interesting_stmt): Debug statements are not interesting.
   37071 
   37072 2010-03-16  Jakub Jelinek  <jakub (a] redhat.com>
   37073 
   37074 	PR debug/43051
   37075 	PR debug/43092
   37076 	* cselib.c (cselib_preserve_constants,
   37077 	cfa_base_preserved_val): New static variables.
   37078 	(preserve_only_constants): New function.
   37079 	(cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
   37080 	clear its REG_VALUES.  If cselib_preserve_constants, don't
   37081 	empty the whole hash table, but preserve there VALUEs with constants,
   37082 	cfa_base_preserved_val and cfa_base_preserved_val plus constant.
   37083 	(cselib_preserve_cfa_base_value): New function.
   37084 	(cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
   37085 	(cselib_init): Change argument to int bitfield.  Set
   37086 	cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
   37087 	is in it.
   37088 	(cselib_finish): Clear cselib_preserve_constants and
   37089 	cfa_base_preserved_val.
   37090 	* cselib.h (enum cselib_record_what): New enum.
   37091 	(cselib_init): Change argument to int.
   37092 	(cselib_preserve_cfa_base_value): New prototype.
   37093 	* postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
   37094 	* dse.c (dse_step1): Likewise.
   37095 	* cfgcleanup.c (thread_jump): Likewise.
   37096 	* sched-deps.c (sched_analyze): Likewise.
   37097 	* gcse.c (local_cprop_pass): Likewise.
   37098 	* simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
   37099 	If FN is non-NULL, call the callback always and whenever it returns
   37100 	non-NULL just return that.  Only do rtx_equal_p if FN is NULL.
   37101 	* rtl.h (simplify_replace_fn_rtx): Add argument to callback.
   37102 	* combine.c (propagate_for_debug_subst): Add old_rtx argument,
   37103 	compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
   37104 	* Makefile.in (var-tracking.o): Depend on $(RECOG_H).
   37105 	* var-tracking.c: Include recog.h.
   37106 	(bb_stack_adjust_offset): Remove.
   37107 	(vt_stack_adjustments): Don't call it, instead just gather the
   37108 	adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
   37109 	(adjust_stack_reference): Remove.
   37110 	(compute_cfa_pointer): New function.
   37111 	(hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
   37112 	(struct adjust_mem_data): New type.
   37113 	(adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
   37114 	functions.
   37115 	(get_address_mode): New function.
   37116 	(replace_expr_with_values): Use it.
   37117 	(use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
   37118 	Use get_address_mode.  For cfa_base_rtx return MO_CLOBBER.
   37119 	(adjust_sets): Remove.
   37120 	(add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
   37121 	Use get_address_mode.
   37122 	(get_adjusted_src): Remove.
   37123 	(add_stores): Don't call it.  Never reuse expr SET.  Don't add extra
   37124 	MO_VAL_USE for cfa_base_rtx plus constant.  Use get_address_mode.
   37125 	(add_with_sets): Don't call adjust_sets.
   37126 	(fp_setter, vt_init_cfa_base): New functions.
   37127 	(vt_initialize): Change return type to bool.  Move most of pool etc.
   37128 	initialization to the beginning of the function from end.  Pass
   37129 	CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
   37130 	If !frame_pointer_needed, call vt_stack_adjustment before mos
   37131 	vector is filled, call vt_init_cfa_base if argp/framep has been
   37132 	eliminated to sp.  If frame_pointer_needed and argp/framep has
   37133 	been eliminated to hard frame pointer, set
   37134 	hard_frame_pointer_adjustment and call vt_init_cfa_base after
   37135 	encountering fp setter in the prologue.  For MO_ADJUST, call
   37136 	log_op_type before pusing the op into mos vector, not afterwards.
   37137 	Call adjust_insn before cselib_process_insn/add_with_sets,
   37138 	call cancel_changes (0) afterwards.
   37139 	(variable_tracking_main_1): Adjust for vt_initialize calling
   37140 	vt_stack_adjustments and returning whether it succeeded or not.
   37141 
   37142 2010-03-15  Aldy Hernandez  <aldyh (a] redhat.com>
   37143 
   37144 	* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
   37145 	debug statements.
   37146 
   37147 2010-03-15  Jakub Jelinek  <jakub (a] redhat.com>
   37148 
   37149 	* dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
   37150 	has been set.
   37151 	(based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
   37152 	drap_reg has not been set.
   37153 
   37154 2010-03-15  Michael Matz  <matz (a] suse.de>
   37155 
   37156 	PR middle-end/43300
   37157 	* tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
   37158 	use it to expand block copies.
   37159 	(insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
   37160 	insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
   37161 	(insert_value_copy_on_edge): Use store_expr for BLKmode values.
   37162 
   37163 2010-03-15  Richard Guenther  <rguenther (a] suse.de>
   37164 
   37165 	PR tree-optimization/43367
   37166 	* tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
   37167 	elimination check.
   37168 
   37169 2010-03-15  Richard Guenther  <rguenther (a] suse.de>
   37170 
   37171 	PR tree-optimization/43317
   37172 	* ipa-struct-reorg.c (create_new_general_access): Update stmt.
   37173 
   37174 2010-03-15  Martin Jambor  <mjambor (a] suse.cz>
   37175 
   37176 	PR tree-optimization/43141
   37177 	* tree-sra.c (create_abstract_origin): New function.
   37178 	(modify_function): Call create_abstract_origin.
   37179 
   37180 2010-03-15  Chris Demetriou  <cgd (a] google.com>
   37181 
   37182 	* Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
   37183 	wasn't copied.
   37184 
   37185 2010-03-13  Sebastian Pop  <sebastian.pop (a] amd.com>
   37186 
   37187 	PR middle-end/43354
   37188 	* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
   37189 	call insert_out_of_ssa_copy for default definitions.
   37190 
   37191 2010-03-13  Sebastian Pop  <sebastian.pop (a] amd.com>
   37192 
   37193 	* graphite-clast-to-gimple.c (my_long_long): Defined.
   37194 	(gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
   37195 	* graphite-sese-to-poly.c (my_long_long): Defined.
   37196 	(scop_ivs_can_be_represented): Use it.
   37197 
   37198 2010-03-13  Sebastian Pop  <sebastian.pop (a] amd.com>
   37199 
   37200 	* doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
   37201 	graphite-max-bbs-per-function, and loop-block-tile-size.
   37202 	* params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
   37203 	with "maximum".
   37204 	(PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
   37205 
   37206 2010-03-13  Sebastian Pop  <sebastian.pop (a] amd.com>
   37207 
   37208 	* graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
   37209 	forward declaration.
   37210 	* graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
   37211 	(add_upper_bounds_from_estimated_nit): New.
   37212 	(build_loop_iteration_domains): Use it.
   37213 
   37214 2010-03-13  Sebastian Pop  <sebastian.pop (a] amd.com>
   37215 
   37216 	* doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
   37217 
   37218 2010-03-13  Sebastian Pop  <sebastian.pop (a] amd.com>
   37219 
   37220 	PR middle-end/43306
   37221 	* tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
   37222 	should be an INTEGER_CST.  Also handle CASE_CONVERT.
   37223 
   37224 2010-03-13  Sebastian Pop  <sebastian.pop (a] amd.com>
   37225 
   37226 	* graphite.c (graphite_initialize): To bound the number of bbs per
   37227 	function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
   37228 	* params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
   37229 	* doc/invoke.texi: Document it.
   37230 
   37231 2010-03-13  Sebastian Pop  <sebastian.pop (a] amd.com>
   37232 
   37233 	* graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
   37234 	* graphite-sese-to-poly.h (build_poly_scop): Same.
   37235 
   37236 2010-03-13  Sebastian Pop  <sebastian.pop (a] amd.com>
   37237 
   37238 	* graphite-sese-to-poly.c (build_poly_scop): Limit scops following
   37239 	the number of parameters in the scop.  Use as an upper bound
   37240 	PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
   37241 	* params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
   37242 	* doc/invoke.texi: Document it.
   37243 
   37244 2010-03-13  Jerry Quinn  <jlquinn (a] optonline.net>
   37245 
   37246 	* Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
   37247 	* doc/c-tree.texi: Remove.
   37248 	* doc/generic.texi: Merge c-tree.texi here.
   37249 	* doc/gccint.texi (Trees): Remove menu entry.
   37250 	(c-tree.texi): Remove @include.
   37251 	* doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
   37252 	* doc/languages.texi (Reading RTL): Ditto.
   37253 
   37254 2010-03-12  Steve Ellcey  <sje (a] cup.hp.com>
   37255 
   37256 	PR target/42869
   37257 	* config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
   37258 
   37259 2010-03-12  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   37260 
   37261 	PR middle-end/42431
   37262 	* config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
   37263 	code added to work around reload clobbering CONST insns.
   37264 
   37265 2010-03-12  Jakub Jelinek  <jakub (a] redhat.com>
   37266 
   37267 	* cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
   37268 	(cselib_preserve_definitely, cselib_clear_preserve): Remove.
   37269 	(cselib_preserve_only_values): Remove retain argument, don't
   37270 	traverse hash table with cselib_{preserve_definitely,clear_preserve}.
   37271 	* cselib.h (cselib_preserve_only_values): Remove retain argument.
   37272 	* var-tracking.c (micro_operation): Move insn field before union.
   37273 	Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
   37274 	(struct variable_tracking_info_def): Remove n_mos field, change
   37275 	mos into a vector of micro_operations.
   37276 	(count_uses, count_uses_1, count_stores, count_with_sets): Remove.
   37277 	(bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
   37278 	compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
   37279 	changing into a vector.
   37280 	(add_with_sets): Likewise.  Ensure MO_VAL_USE uops from add_stores
   37281 	come before all other uops generated by add_stores.
   37282 	(vt_add_function_parameters): Adjust for cselib_preserve_only_values
   37283 	argument removal.
   37284 	(vt_initialize): Likewise.  Adjust for VTI (bb)->mos changing into
   37285 	a vector.  Run just one pass over the bbs instead of separate counting
   37286 	and computation phase.
   37287 	(vt_finalize): Free VTI (bb)->mos vector instead of array.
   37288 
   37289 	PR debug/43329
   37290 	* tree-inline.c (remap_decls): Put old_var rather than origin_var
   37291 	into *nonlocalized_list vector.
   37292 	* dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
   37293 	even if origin is non-NULL.
   37294 	(gen_variable_die): Likewise.
   37295 	(process_scope_var): Don't change origin.
   37296 	(gen_decl_die): Likewise.
   37297 	* tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
   37298 	before adding new edges instead of after it, fix moving over
   37299 	debug stmts.
   37300 
   37301 2010-03-11  David S. Miller  <davem (a] davemloft.net>
   37302 
   37303 	* configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
   37304 	of four.
   37305 	* configure: Rebuild.
   37306 
   37307 2010-03-11  Martin Jambor  <mjambor (a] suse.cz>
   37308 
   37309 	PR tree-optimization/43257
   37310 	* tree.c (assign_assembler_name_if_neeeded): New function.
   37311 	(free_lang_data_in_cgraph): Assembler name assignment moved to the
   37312 	above new function.
   37313 	* tree.h (assign_assembler_name_if_neeeded): Declare.
   37314 	* cgraphunit.c (cgraph_analyze_function): Create an assembler name for
   37315 	the function if needed.
   37316 
   37317 2010-03-11  Chris Demetriou  <cgd (a] google.com>
   37318 
   37319 	* Makefile.in (stmp-int-hdrs): Make include/unwind.h,
   37320 	include/stdint-gcc.h, and include/stdint.h world-readable.
   37321 
   37322 2010-03-11  Richard Guenther  <rguenther (a] suse.de>
   37323 
   37324 	PR tree-optimization/43255
   37325 	* tree-vrp.c (process_assert_insertions_for): Do not insert
   37326 	asserts for trivial conditions.
   37327 
   37328 2010-03-11  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   37329 
   37330 	PR tree-optimization/43280
   37331 	* tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
   37332 	generation.  Move calculation of size out of the if branch.
   37333 	(find_bswap): Modify compare number generation.
   37334 
   37335 2010-03-11  Richard Guenther  <rguenther (a] suse.de>
   37336 
   37337 	PR lto/43200
   37338 	* lto-streamer-in.c (maybe_fixup_decls): Simplify.
   37339 	(input_gimple_stmt): Fixup handled component types during
   37340 	operand read.  Also fix up decls in ADDR_EXPRs.
   37341 
   37342 2010-03-10  Eric Botcazou  <ebotcazou (a] adacore.com>
   37343 
   37344 	* config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
   37345 	* config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
   37346 
   37347 2010-03-10  Jan Hubicka  <jh (a] suse.cz>
   37348 
   37349 	PR c/43288
   37350 	* ipa.c (function_and_variable_visibility) Normalize COMMON bits.
   37351 	* varasm.c (get_variable_section): Don't do that here...
   37352 	(make_decl_rtl): ... and here.
   37353 	(do_assemble_alias): Produce decl RTL.
   37354 	(assemble_alias): Likewise.
   37355 
   37356 2010-03-10  Jakub Jelinek  <jakub (a] redhat.com>
   37357 
   37358 	PR debug/43290
   37359 	* reg-notes.def (REG_CFA_SET_VDRAP): New note.
   37360 	* dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
   37361 	of fde->vdrap_reg.
   37362 	(dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
   37363 	(based_loc_descr): Only express drap or vdrap regno based expressions
   37364 	using DW_OP_fbreg when not optimizing.
   37365 	* config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
   37366 	make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
   37367 	REG_CFA_SET_VDRAP note.
   37368 
   37369 2010-03-10  Alexander Monakov  <amonakov (a] ispras.ru>
   37370 
   37371 	PR tree-optimization/43236
   37372 	* tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
   37373 	error in calculation of base address in reverse iteration case.
   37374 	(generate_builtin): Take number of latch executions if the statement
   37375 	is in the latch.
   37376 
   37377 2010-03-10  Andrey Belevantsev  <abel (a] ispras.ru>
   37378 
   37379 	PR middle-end/42859
   37380 	* tree-eh.c: Include pointer-set.h.
   37381 	(lower_eh_dispatch): Filter out duplicate case labels and
   37382 	remove the unneeded edge when the label is unused.  Return
   37383 	true when some edges are removed.
   37384 	(execute_lower_eh_dispatch): When any lowering resulted in
   37385 	removing an edge, also delete unreachable blocks.
   37386 
   37387 2010-03-10  Jakub Jelinek  <jakub (a] redhat.com>
   37388 
   37389 	PR bootstrap/43287
   37390 	* config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
   37391 	UNSPEC_MACHOPIC_OFFSET.
   37392 
   37393 2010-03-09  Andreas Schwab  <schwab (a] linux-m68k.org>
   37394 
   37395 	PR target/43294
   37396 	* config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
   37397 	(m68k_delegitimize_address): New function.
   37398 
   37399 2010-03-09  Jakub Jelinek  <jakub (a] redhat.com>
   37400 
   37401 	PR debug/43299
   37402 	* dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
   37403 
   37404 	PR debug/43299
   37405 	* var-tracking.c (adjust_sets): New function.
   37406 	(count_with_sets, add_with_sets): Use it.
   37407 	(get_adjusted_src): New inline function.
   37408 	(add_stores): Use it.
   37409 
   37410 	PR debug/43304
   37411 	* var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
   37412 	call cselib_dummy_expand_value_rtx_cb instead of
   37413 	cselib_expand_value_rtx_cb.
   37414 
   37415 	PR debug/43293
   37416 	* config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
   37417 	* config/i386/i386.c: Include debug.h and dwarf2out.h.
   37418 	(ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
   37419 	and .cfi_endproc around the pic thunks.
   37420 	(output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
   37421 	all queued unwind info register saves are saved before the call.
   37422 	For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
   37423 	considered as sp-=4 for unwind info and the pop as sp+=4 which
   37424 	also clobbers dest, but doesn't actually restore it.
   37425 
   37426 	PR debug/43290
   37427 	* config/i386/i386.c (ix86_get_drap_rtx): Don't set
   37428 	RTX_FRAME_RELATED_P.
   37429 
   37430 2010-03-09  Jie Zhang  <jie (a] codesourcery.com>
   37431 
   37432 	* config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
   37433 	whitespaces in output template.
   37434 
   37435 2010-03-09  Jie Zhang  <jie (a] codesourcery.com>
   37436 
   37437 	* ira-lives.c (check_and_make_def_use_conflict): Don't fall
   37438 	out array boundary.
   37439 
   37440 2010-03-08  Jakub Jelinek  <jakub (a] redhat.com>
   37441 
   37442 	* Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
   37443 	builtins.exp in a separate job.
   37444 
   37445 2010-03-08  Sebastian Pop  <sebastian.pop (a] amd.com>
   37446 
   37447 	* graphite-sese-to-poly.c (add_param_constraints): Use
   37448 	lower_bound_in_type and upper_bound_in_type.
   37449 
   37450 2010-03-08  Sebastian Pop  <sebastian.pop (a] amd.com>
   37451 
   37452 	* graphite-sese-to-poly.c (add_param_constraints): Use sizetype
   37453 	instead of unsigned_type_node.
   37454 
   37455 2010-03-08  Sebastian Pop  <sebastian.pop (a] amd.com>
   37456 	    Reza Yazdani  <reza.yazdani (a] amd.com>
   37457 
   37458 	PR middle-end/43065
   37459 	* graphite-sese-to-poly.c (add_param_constraints): Insert bounds
   37460 	on pointer type parameters.
   37461 
   37462 2010-03-08  Tobias Grosser  <grosser (a] fim.uni-passau.de>
   37463 
   37464 	PR middle-end/42644
   37465 	PR middle-end/42130
   37466 	* graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
   37467 	handle conversions from pointer to integers.
   37468 	(gcc_type_for_cloog_iv): Choose the smalles signed integer as an
   37469 	induction variable, to be able to work with code generated by CLooG.
   37470 	* graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
   37471 	(build_poly_scop): Bail out if we cannot codegen a loop.
   37472 
   37473 2010-03-08  Tobias Grosser  <grosser (a] fim.uni-passau.de>
   37474 
   37475 	* graphite-clast-to-gimple.c (translate_clast): Do not short-cut
   37476 	code generation with gloog_error.
   37477 
   37478 2010-03-08  Sebastian Pop  <sebastian.pop (a] amd.com>
   37479 
   37480 	* sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
   37481 	Call fold_convert on all the returned values.
   37482 	(expand_scalar_variables_expr): Pass to
   37483 	expand_scalar_variables_ssa_name the type of the resulting expression.
   37484 
   37485 2010-03-08  Sebastian Pop  <sebastian.pop (a] amd.com>
   37486 
   37487 	* graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
   37488 	ppl_min_for_le_pointset.
   37489 	Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
   37490 	* graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
   37491 
   37492 2010-03-08  Sebastian Pop  <sebastian.pop (a] amd.com>
   37493 
   37494 	* graphite-dependences.c (map_into_dep_poly): Removed.
   37495 	(dependence_polyhedron_1): Use combine_context_id_scat.
   37496 
   37497 2010-03-08  Sebastian Pop  <sebastian.pop (a] amd.com>
   37498 
   37499 	* graphite-poly.h (struct poly_scattering): Add layout documentation.
   37500 	(struct poly_bb): Same.
   37501 	(combine_context_id_scat): New.
   37502 
   37503 2010-03-08  Sebastian Pop  <sebastian.pop (a] amd.com>
   37504 
   37505 	PR middle-end/42326
   37506 	* sese.c (name_defined_in_loop_p): Return false for default
   37507 	definitions.
   37508 
   37509 2010-03-08  Sebastian Pop  <sebastian.pop (a] amd.com>
   37510 
   37511 	* graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
   37512 	and clean up the logic.
   37513 
   37514 2010-03-08  Sebastian Pop  <sebastian.pop (a] amd.com>
   37515 
   37516 	* graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
   37517 	early return.
   37518 
   37519 2010-03-08  Jakub Jelinek  <jakub (a] redhat.com>
   37520 
   37521 	* var-tracking.c (remove_cselib_value_chains): Define only for
   37522 	ENABLE_CHECKING.
   37523 	(dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
   37524 	delete_slot_part, emit_notes_for_differences_1): Don't call
   37525 	remove_cselib_value_chains here.
   37526 	(set_slot_part, emit_notes_for_differences_2): Don't call
   37527 	add_cselib_value_chains here.
   37528 	(preserved_values): New vector.
   37529 	(preserve_value): New function.
   37530 	(add_uses, add_stores, vt_add_function_parameters): Use it
   37531 	instead of cselib_preserve_value.
   37532 	(changed_values_stack): New vector.
   37533 	(check_changed_vars_0): New function.
   37534 	(check_changed_vars_1, check_changed_vars_2): Use it.
   37535 	(emit_notes_for_changes): Call set_dv_changed (*, false) on all
   37536 	changed_values_stack VALUEs.
   37537 	(vt_emit_notes): For all preserved_values call
   37538 	add_cselib_value_chains.  If ENABLE_CHECKING call
   37539 	remove_cselib_value_chains before verifying value_chains is empty.
   37540 	Initialize and free changed_values_stack.
   37541 	(vt_initialize): Initialize preserved_values.
   37542 	(vt_finalize): Free preserved_values.
   37543 
   37544 2010-03-08  Richard Guenther  <rguenther (a] suse.de>
   37545 
   37546 	PR tree-optimization/43269
   37547 	* tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
   37548 	region detection.
   37549 
   37550 2010-03-08  Martin Jambor  <mjambor (a] suse.cz>
   37551 
   37552 	* ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
   37553 	(ipa_is_param_called): Removed.
   37554 	* ipa-prop.c (ipa_note_param_call): Do not set the called flag.
   37555 	(ipa_print_node_params): Do not print the called flag.
   37556 	(ipa_write_node_info): Do not stream the called flag.
   37557 	(ipa_read_node_info): Likewise.
   37558 
   37559 2010-03-07  Jakub Jelinek  <jakub (a] redhat.com>
   37560 
   37561 	PR debug/43176
   37562 	* Makefile.in (var-tracking.o): Depend on pointer-set.h.
   37563 	* cselib.c (struct expand_value_data): Add dummy field.
   37564 	(cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
   37565 	dummy to false.
   37566 	(cselib_dummy_expand_value_rtx_cb): New function.
   37567 	(cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
   37568 	any rtl.
   37569 	* cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
   37570 	* var-tracking.c: Include pointer-set.h.
   37571 	(variable): Change n_var_parts to char from int.  Add
   37572 	cur_loc_changed and in_changed_variables fields.
   37573 	(variable_canonicalize): Remove.
   37574 	(shared_var_p): New inline function.
   37575 	(unshare_variable): Maintain cur_loc_changed and
   37576 	in_changed_variables fields.  If var was in changed_variables,
   37577 	replace it there with new_var.  Just copy cur_loc instead of
   37578 	resetting it to something else.
   37579 	(variable_union): Don't recompute cur_loc.  Use shared_var_p.
   37580 	(dataflow_set_union): Don't call variable_canonicalize.
   37581 	(loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
   37582 	of their DEBUG_EXPR_TREE_DECLs.
   37583 	(canonicalize_loc_order_check): Verify that cur_loc is NULL
   37584 	and in_changed_variables and cur_loc_changed is false.
   37585 	(variable_merge_over_cur): Clear cur_loc, in_changed_variables
   37586 	and cur_loc_changed.  Don't update cur_loc here.
   37587 	(variable_merge_over_src): Don't call variable_canonicalize.
   37588 	(dataflow_set_preserve_mem_locs): Use shared_var_p.  When
   37589 	removing loc that is equal to cur_loc, clear cur_loc,
   37590 	set cur_loc_changed and ensure variable_was_changed is called.
   37591 	(dataflow_set_remove_mem_locs): Use shared_var_p.  Only
   37592 	compare pointers in cur_loc check, if it is equal to loc,
   37593 	clear cur_loc and set cur_loc_changed.  Don't recompute cur_loc here.
   37594 	(variable_different_p): Remove compare_current_location argument,
   37595 	don't compare cur_loc.
   37596 	(dataflow_set_different_1): Adjust variable_different_p caller.
   37597 	(variable_was_changed): If dv had some var in changed_variables
   37598 	already, reset in_changed_variables flag for it and propagate
   37599 	cur_loc_changed over to the new variable.  On empty var
   37600 	always set cur_loc_changed.  Set in_changed_variables on whatever
   37601 	var is added to changed_variables.
   37602 	(set_slot_part): Clear cur_loc_changed and in_changed_variables.
   37603 	Use shared_var_p.  When removing loc that is equal to cur_loc,
   37604 	clear cur_loc and set cur_loc_changed.  If cur_loc is NULL at the
   37605 	end, don't set it to something else, just call variable_was_changed.
   37606 	(delete_slot_part): Use shared_var_p.  When cur_loc equals to
   37607 	loc being removed, clear cur_loc and set cur_loc_changed.
   37608 	Set cur_loc_changed if all locations have been removed.
   37609 	(struct expand_loc_callback_data): New type.
   37610 	(vt_expand_loc_callback): Add dummy mode in which no rtxes are
   37611 	allocated.  Always create SUBREGs if simplify_subreg failed.
   37612 	Prefer to use cur_loc, when that fails and still in
   37613 	changed_variables (and seen first time) recompute it.  Set
   37614 	cur_loc_changed of variables which had to change cur_loc and
   37615 	compute elcd->cur_loc_changed if any of the subexpressions used
   37616 	had to change cur_loc.
   37617 	(vt_expand_loc): Adjust to pass arguments in
   37618 	expand_loc_callback_data structure.
   37619 	(vt_expand_loc_dummy): New function.
   37620 	(emitted_notes): New variable.
   37621 	(emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
   37622 	that weren't used for any other decl in current
   37623 	emit_notes_for_changes call call vt_expand_loc_dummy to update
   37624 	cur_loc.  For -fno-var-tracking-assignments, set cur_loc to
   37625 	first loc_chain location if NULL before.  Always use just
   37626 	cur_loc instead of first loc_chain location.  When cur_loc_changed
   37627 	is false, when not --enable-checking=rtl just don't emit any note.
   37628 	When rtl checking, compute the note and assert it is the same
   37629 	as previous note.  Clear cur_loc_changed and in_changed_variables
   37630 	at the end before removing from changed_variables.
   37631 	(check_changed_vars_3): New function.
   37632 	(emit_notes_for_changes): Traverse changed_vars to call
   37633 	check_changed_vars_3 on each changed var.
   37634 	(emit_notes_for_differences_1): Clear cur_loc_changed and
   37635 	in_changed_variables.  Recompute cur_loc of new_var.
   37636 	(emit_notes_for_differences_2): Clear cur_loc if new variable appears.
   37637 	(vt_emit_notes): Initialize and destroy emitted_notes.
   37638 
   37639 2010-03-07  Bernd Schmidt  <bernd.schmidt (a] analog.com>
   37640 
   37641 	PR rtl-optimization/42220
   37642 	* regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
   37643 	Use verify_reg_tracked to determine if we should use OP_OUT rather
   37644 	than OP_INOUT.
   37645 	(build_def_use): If we see an in-out operand for a register that we
   37646 	know nothing about, treat is an output if possible, fail the block if
   37647 	not.
   37648 
   37649 2010-03-06  Alexandre Oliva  <aoliva (a] redhat.com>
   37650 
   37651 	PR debug/42897
   37652 	* gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
   37653 	permanently.
   37654 
   37655 2010-03-06  Alexandre Oliva  <aoliva (a] redhat.com>
   37656 
   37657 	PR debug/42897
   37658 	* tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
   37659 	uses of relevant DEFs that are dead outside the loop too.
   37660 
   37661 2010-03-06  Alexandre Oliva  <aoliva (a] redhat.com>
   37662 
   37663 	* var-tracking.c (dataflow_set_merge): Swap src and src2.
   37664 	Reverted:
   37665 	2010-01-13  Jakub Jelinek  <jakub (a] redhat.com>
   37666 	PR debug/41371
   37667 	* var-tracking.c (values_to_unmark): New variable.
   37668 	(find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
   37669 	values_to_unmark vector.  Moved body to...
   37670 	(find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
   37671 	instead queue it into values_to_unmark vector.
   37672 	(vt_find_locations): Free values_to_unmark vector.
   37673 
   37674 2010-03-05  Eric Botcazou  <ebotcazou (a] adacore.com>
   37675 
   37676 	* Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
   37677 	(site.exp): Export them when plugins are enabled.
   37678 
   37679 2010-03-05  Sebastian Pop  <sebastian.pop (a] amd.com>
   37680 
   37681 	PR middle-end/42326
   37682 	* tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
   37683 	that contain scevs.
   37684 	(chrec_fold_multiply): Same.
   37685 
   37686 2010-03-04  Andrew Pinski  <andrew_pinski (a] caviumnetworks.com>
   37687 
   37688 	PR c/43248
   37689 	* c-decl.c (build_compound_literal): Return early if init is
   37690 	an error_mark_node.
   37691 
   37692 2010-03-04  Martin Jambor  <mjambor (a] suse.cz>
   37693 
   37694 	PR tree-optimization/43164
   37695 	PR tree-optimization/43191
   37696 	* tree-sra.c (type_consists_of_records_p): Reject records with
   37697 	zero-size bit-fields at the end.
   37698 
   37699 2010-03-04  Mike Stump  <mikestump (a] comcast.net>
   37700 
   37701 	* Makefile.in (TAGS): Remove *.y.
   37702 
   37703 2010-03-04  Richard Guenther  <rguenther (a] suse.de>
   37704 
   37705 	PR tree-optimization/40761
   37706 	* tree-ssa-pre.c (compute_antic): Walk reverse postorder
   37707 	in reverse order.
   37708 	(my_rev_post_order_compute): New function.
   37709 	(init_pre): Call it.
   37710 
   37711 2010-03-04  Changpeng Fang  <changpeng.fang (a] amd.com>
   37712 
   37713 	PR middle-end/43209
   37714 	* tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
   37715 	decrease the cost of an IV candidate when the cost is infinite.
   37716 
   37717 2010-03-04  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   37718 
   37719 	* doc/extend.texi (Vector Extensions, X86 Built-in Functions):
   37720 	Use '3DNow!' for the extension of that name, ensure normal space
   37721 	after the string.
   37722 	* doc/invoke.texi (i386 and x86-64 Options): Likewise.
   37723 
   37724 2010-03-03  Jeff Law  <law (a] redhat.com>
   37725 
   37726 	* PR middle-end/32693
   37727 	* expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
   37728 	than gen_rtx_SUBREG.
   37729 	(extract_bit_field_1): Likewise.
   37730 
   37731 2010-03-03  Janis Johnson  <janis187 (a] us.ibm.com>
   37732 
   37733 	* doc/sourcebuild.texi (Test directives): Document that arguments
   37734 	include-opts and exclude-opts are now optional for dg-skip-if,
   37735 	dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
   37736 
   37737 2010-03-03  Jason Merrill  <jason (a] redhat.com>
   37738 
   37739 	PR c++/12909
   37740 	* cgraph.h (varpool_node): Add extra_name field.
   37741 	* varpool.c (varpool_extra_name_alias): New.
   37742 	(varpool_assemble_decl): Emit extra name aliases.
   37743 	(varpool_mark_needed_node): Look past an extra name alias.
   37744 	* lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
   37745 	* lto-streamer-in.c (lto_input_tree): Read it.
   37746 	* lto-streamer-out.c (output_unreferenced_globals): Write it.
   37747 
   37748 2010-03-03  Eric Botcazou  <ebotcazou (a] adacore.com>
   37749 
   37750 	* config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
   37751 	(sparc*-*-solaris2*): ...this.
   37752 
   37753 2010-03-03  Jakub Jelinek  <jakub (a] redhat.com>
   37754 
   37755 	PR debug/43229
   37756 	* cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
   37757 	WIDEN_MULT_EXPR and WIDEN_SUM_EXPR.  Return NULL without
   37758 	ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
   37759 	FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
   37760 
   37761 	PR debug/43237
   37762 	* dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
   37763 	fallthrough to default handling, just with want_address 0 instead of 2.
   37764 	For single element lists, add_AT_loc directly, otherwise create an
   37765 	artificial variable DIE and stick location list to it.
   37766 
   37767 	PR debug/43177
   37768 	* var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
   37769 	(VAL_EXPR_HAS_REVERSE): Define.
   37770 	(reverse_op): New function.
   37771 	(add_stores): For reversible operations add an extra MO_VAL_USE.
   37772 
   37773 2010-03-02  Jason Merrill  <jason (a] redhat.com>
   37774 
   37775 	* c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
   37776 
   37777 2010-03-02  Eric Botcazou  <ebotcazou (a] adacore.com>
   37778 
   37779 	* config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
   37780 	(sparc64-*-linux*): Likewise.
   37781 	(sparc64-*-solaris2*): Include assembler files before linker ones.
   37782 	(sparc-*-solaris2*): Simplify and reorder to match previous case.
   37783 	* config/sparc/gas.h: Delete.
   37784 	* config/sparc/sol2-64.h: Add copyright notice.
   37785 	* config/sparc/sol2-gas-bi.h: Likewise.
   37786 	* config/sparc/sol2-gld.h: Likewise.
   37787 	* config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
   37788 	* config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
   37789 	* config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
   37790 	* config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
   37791 	(sparc_elf_asm_named_section): Rename into...
   37792 	(sparc_solaris_elf_asm_named_section): ...this.  Always define.
   37793 
   37794 2010-03-02  Uros Bizjak  <ubizjak (a] gmail.com>
   37795 
   37796 	* config/alpha/alpha.c (override_options): Fix -mtune error message.
   37797 
   37798 2010-03-02  Jeff Law  <law (a] redhat.com>
   37799 
   37800 	PR middle-end/42431
   37801 	* reload1.c (rtx_p, substitute_stack): Declare.
   37802 	(substitute): Record addresses of changed rtxs.
   37803 	(gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
   37804 	Restore the original rtx when complete.
   37805 	(reload): Free subsitute_stack when complete.
   37806 
   37807 2010-03-02  Janis Johnson  <janis187 (a] us.ibm.com>
   37808 
   37809 	* doc/gccint.texi (menu): Add Testsuites as a chapter.
   37810 	* doc/sourcebuild.texi (Testsuites): Move up a level to be a
   37811 	new chapter.
   37812 	(Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
   37813 	LTO Testing, gcov Testing, profopt Testing, compat Testing,
   37814 	Torture Tests): Change from subsection to section.
   37815 
   37816 2010-03-02  Jakub Jelinek  <jakub (a] redhat.com>
   37817 	    Steven Bosscher  <steven (a] gcc.gnu.org>
   37818 
   37819 	* var-tracking.c (vt_initialize): Scan insns in ebb chunks
   37820 	instead of bb.
   37821 
   37822 2010-03-02  Reza Yazdani  <reza.yazdani (a] amd.com>
   37823 
   37824 	PR middle-end/42640
   37825 	* tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
   37826 	the assignment from the new induction variable to the assignment
   37827 	of the value from the original loop PHI function.
   37828 
   37829 2010-03-01  Janis Johnson  <janis187 (a] us.ibm.com>
   37830 	    Daniel Jacobowitz  <dan (a] codesourcery.com>
   37831 
   37832 	* doc/sourcebuild.texi (Test directives): Clarify options to
   37833 	dg-skip-if.
   37834 
   37835 2010-03-01  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   37836 
   37837 	* configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
   37838 	Disable cfi directives unless GCC and gas agree on using read-only
   37839 	.eh_frame sections for 64-bit.
   37840 	* configure: Regenerate.
   37841 
   37842 2010-03-01  Richard Guenther  <rguenther (a] suse.de>
   37843 
   37844 	PR tree-optimization/43220
   37845 	* tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
   37846 	BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
   37847 
   37848 2010-03-01  Richard Guenther  <rguenther (a] suse.de>
   37849 	    Martin Jambor  <mjambor (a] suse.cz>
   37850 
   37851 	PR middle-end/41250
   37852 	* gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
   37853 	gimplified parameters.
   37854 
   37855 2010-03-01  Christian Bruel  <christian.bruel (a] st.com>
   37856 
   37857 	* except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
   37858 
   37859 2010-03-01  H.J. Lu  <hongjiu.lu (a] intel.com>
   37860 
   37861 	* config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
   37862 
   37863 2010-03-01  Richard Guenther  <rguenther (a] suse.de>
   37864 
   37865 	PR middle-end/43213
   37866 	* expr.c (expand_assignment): Use the alias-oracle to tell
   37867 	if the rhs aliases the result decl.
   37868 
   37869 2010-03-01  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   37870 
   37871 	PR pch/14940
   37872 	* config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
   37873 	to sol_gt_pch_get_address.
   37874 	(TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
   37875 	64-bit, SPARC and x86.
   37876 	(sol_gt_pch_get_address): New function.
   37877 
   37878 2010-03-01  Marco Poletti  <poletti.marco (a] gmail.com>
   37879 
   37880 	* toplev.h (inform_n, error_n): Declare.
   37881 	* diagnostic.c (inform_n, error_n): New function.
   37882 
   37883 2010-03-01  Jakub Jelinek  <jakub (a] redhat.com>
   37884 
   37885 	* cfgexpand.c (expand_used_vars): If an artificial non-ignored var
   37886 	has no rtl yet when processing local_decls, queue it and recheck
   37887 	if deferred stack allocation hasn't assigned it rtl.
   37888 
   37889 2010-02-28  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   37890 
   37891 	* config/sh/sh.c (unspec_bbr_uid): New.
   37892 	(gen_block_redirect): Use it instead of INSN_UID.
   37893 	(gen_far_branch): Likewise.
   37894 
   37895 2010-02-28  H.J. Lu  <hongjiu.lu (a] intel.com>
   37896 
   37897 	* config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
   37898 	it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
   37899 
   37900 2010-02-28  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   37901 
   37902 	* doc/invoke.texi (Warning Options, RX Options): Fix typos.
   37903 	(Warning Options): -Wno-conversion-null is valid for
   37904 	Objective-C++ as well.
   37905 	* doc/tm.texi (Named Address Spaces): Likewise.
   37906 	* doc/plugins.texi (Plugins): Replace TABs with spaces.
   37907 	* doc/tree-ssa.texi (Tree SSA): Likewise.
   37908 
   37909 2010-02-27  H.J. Lu  <hongjiu.lu (a] intel.com>
   37910 
   37911 	PR bootstrap/43202
   37912 	* config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
   37913 	by default.  Don't set the default arch for
   37914 	i[34567]86-*-darwin*|x86_64-*-darwin*.
   37915 
   37916 2010-02-27  H.J. Lu  <hongjiu.lu (a] intel.com>
   37917 
   37918 	PR bootstrap/43202
   37919 	* config.gcc: Enable SSE math for i[34567]86-*-darwin* by
   37920 	default.  Set the default 32bit/64bit archs with $with_arch
   37921 	instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
   37922 
   37923 2010-02-27  Richard Guenther  <rguenther (a] suse.de>
   37924 
   37925 	PR tree-optimization/43186
   37926 	* params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
   37927 	* doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
   37928 	* tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
   37929 	unroller iterations.
   37930 
   37931 2010-02-27  H.J. Lu  <hongjiu.lu (a] intel.com>
   37932 
   37933 	* config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
   37934 	required and i[34567]86-*-* targets don't support 64bit ISA.
   37935 
   37936 2010-02-26  Eric Botcazou  <ebotcazou (a] adacore.com>
   37937 
   37938 	PR ada/43096
   37939 	* tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
   37940 	the same alias set.
   37941 
   37942 2010-02-26  H.J. Lu  <hongjiu.lu (a] intel.com>
   37943 
   37944 	* config.gcc: Set the default arch at least to Prescott for
   37945 	i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
   37946 	if SSE math is enabled.
   37947 
   37948 2010-02-26  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   37949 
   37950 	* diagnostic.c (diagnostic_initialize): Update.
   37951 	(diagnostic_report_diagnostic): Test inhibit_notes_p for
   37952 	informative notes.
   37953 	* diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
   37954 	(diagnostic_inhibit_notes): New.
   37955 	* toplev.c (process_options): inhibit notes with -fcompare-debug.
   37956 
   37957 2010-02-26  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   37958 
   37959 	PR c/20631
   37960 	* doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
   37961 	* doc/standards.texi: Likewise.
   37962 	* doc/extend.texi: Likewise.
   37963 	* doc/trouble.texi: Likewise.
   37964 	* doc/cppopts.texi: Likewise.
   37965 	* doc/install.texi: Likewise.
   37966 	* c.opt (std=c90,std=gnu90): New options.
   37967 	* c-opts.c (c_common_handle_option): Handle them.
   37968 
   37969 2010-02-26  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   37970 
   37971 	PR c/24577
   37972 	* c-decl.c (undeclared_variable): Use an informative note.
   37973 
   37974 2010-02-26  Richard Guenther  <rguenther (a] suse.de>
   37975 
   37976 	PR tree-optimization/43186
   37977 	* gimple.h (gimple_fold): Remove.
   37978 	* gimple.c (gimple_fold): Remove.  Inline into single user ...
   37979 	* tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
   37980 	Try harder for conditions.
   37981 
   37982 2010-02-26  Jakub Jelinek  <jakub (a] redhat.com>
   37983 
   37984 	PR debug/43190
   37985 	* function.c (used_types_insert): Don't skip through named pointer
   37986 	types.  Don't use TYPE_MAIN_VARIANT if the original type has a name
   37987 	and it is different from the main variant's type.
   37988 
   37989 2010-02-26  Nick Clifton  <nickc (a] redhat.com>
   37990 
   37991 	* config/rx/rx.md (sminsi3): Remove bogus alternative.
   37992 
   37993 2010-02-26  H.J. Lu  <hongjiu.lu (a] intel.com>
   37994 
   37995 	* config.gcc: Support --with-fpmath=sse for x86.
   37996 
   37997 	* config/i386/ssemath.h: New.
   37998 
   37999 	* doc/install.texi (--with-fpmath=sse): Documented.
   38000 
   38001 2010-02-26  Richard Guenther  <rguenther (a] suse.de>
   38002 
   38003 	PR tree-optimization/43188
   38004 	* tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
   38005 	vector types of over-aligned element type.
   38006 
   38007 2010-02-26  Uros Bizjak  <ubizjak (a] gmail.com>
   38008 
   38009 	PR target/43175
   38010 	* config/i386/i386.c (expand_vec_perm_blend): Use correct
   38011 	operands in V8HImode subregs.  Fix operand order in VEC_MERGE rtx.
   38012 
   38013 2010-02-26  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
   38014 
   38015 	* doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
   38016 
   38017 2010-02-26  Jakub Jelinek  <jakub (a] redhat.com>
   38018 
   38019 	* Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
   38020 	* var-tracking.c: Include diagnostic.h.
   38021 	(debug_dv): New function.
   38022 	(dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
   38023 
   38024 	PR debug/43160
   38025 	* var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
   38026 	(add_value_chain, add_value_chains, remove_value_chain,
   38027 	remove_value_chains): Handle DEBUG_EXPRs.
   38028 	(check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
   38029 
   38030 	PR debug/43161
   38031 	* regcprop.c (struct queued_debug_insn_change): New type.
   38032 	(struct value_data_entry): Add debug_insn_changes field.
   38033 	(struct value_data): Add n_debug_insn_changes field.
   38034 	(debug_insn_changes_pool): New variable.
   38035 	(free_debug_insn_changes, apply_debug_insn_changes,
   38036 	cprop_find_used_regs_1, cprop_find_used_regs): New functions.
   38037 	(kill_value_one_regno): Call free_debug_insn_changes if needed.
   38038 	(init_value_data): Clear debug_insn_changes and n_debug_insn_changes
   38039 	fields.
   38040 	(replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
   38041 	changes for them.
   38042 	(copyprop_hardreg_forward_1): Don't call apply_change_group for
   38043 	DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
   38044 	changes, call cprop_find_used_regs via note_stores.
   38045 	(copyprop_hardreg_forward): When copying vd from predecessor
   38046 	which has any queued DEBUG_INSN changes, make sure the pointers are
   38047 	cleared.  At the end call df_analyze and then if there are any
   38048 	DEBUG_INSN changes queued at the end of some basic block for still
   38049 	live registers, apply them.
   38050 	(pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
   38051 
   38052 2010-02-25  Uros Bizjak  <ubizjak (a] gmail.com>
   38053 
   38054 	* config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
   38055 	(arm*-*-*): Ditto.
   38056 
   38057 2010-02-25  H.J. Lu  <hongjiu.lu (a] intel.com>
   38058 
   38059 	* config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
   38060 	targets.  Set the default with_cpu/with_arch from arch/cpu.
   38061 	Allow x86-64 and native for with_cpu/with_arch.
   38062 
   38063 2010-02-25  Nicolas Benoit  <nbenoit (a] tuxfamily.org>
   38064 
   38065 	* ebitmap.c: Change calls to verify_popcount with calls to
   38066 	sbitmap_verify_popcount.
   38067 	(ebitmap_clear_bit): Fixed map->cacheindex test and
   38068 	map>cache update when bit clearing results in an empty
   38069 	element.
   38070 
   38071 2010-02-25  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   38072 
   38073 	PR target/43154
   38074 	* config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
   38075 	(vec_interleave_high<mode>): Rename from vec_interleave_highv2df
   38076 	and support both V2DF and V2DI modes.
   38077 	(vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
   38078 	support both V2DF and V2DI modes.
   38079 	(general): Delete trailing whitespace from a few patterns.
   38080 
   38081 	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
   38082 	V2DF/V2DI interleave high/low builtins.
   38083 
   38084 	* config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
   38085 	new VSX builtins.
   38086 
   38087 	* config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
   38088 	interleave high/low functions.
   38089 
   38090 2010-02-25  Gerald Pfeifer  <gerald (a] pfeifer.com>
   38091 
   38092 	* doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
   38093 	#pragma extern_prefix.
   38094 
   38095 2010-02-25  Jakub Jelinek  <jakub (a] redhat.com>
   38096 
   38097 	PR debug/43166
   38098 	* cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
   38099 	BLKmode, assert op0 is a MEM and just adjust its mode.
   38100 
   38101 	PR debug/43165
   38102 	* cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
   38103 	if bitpos isn't multiple of mode's bitsize.
   38104 
   38105 2010-02-24  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   38106 
   38107 	* c.opt (-ftemplate-depth=): New.
   38108 	(-ftemplate-depth-): Deprecate.
   38109 	* optc-gen.awk: Handle -ftemplate-depth=.
   38110 	* opth-gen.awk: Likewise.
   38111 	* c-opts.c (c_common_handle_option): Likewise.
   38112 	* doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
   38113 
   38114 2010-02-24  Jason Merrill  <jason (a] redhat.com>
   38115 
   38116 	* doc/invoke.texi: Improve -Wabi and -fabi-version docs.
   38117 
   38118 2010-02-24  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   38119 
   38120 	* cfg.c (alloc_aux_for_block): Remove inline.
   38121 	(alloc_aux_for_edge): Likewise.
   38122 
   38123 2010-02-24  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   38124 
   38125 	* config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
   38126 
   38127 2010-02-24  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   38128 
   38129 	* config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
   38130 	* config/i386/sol2-gas.h: New file.
   38131 	* config.gcc (i[34567]86-*-solaris2*): Use it.
   38132 
   38133 2010-02-24  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   38134 
   38135 	PR c/43128
   38136 	* c-typeck.c (ep_convert_and_check): New.
   38137 	(build_conditional_expr): Use it.
   38138 	(build_binary_op): Likewise.
   38139 
   38140 2010-02-24  Jakub Jelinek  <jakub (a] redhat.com>
   38141 
   38142 	* regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
   38143 
   38144 	PR debug/43150
   38145 	* gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
   38146 	bounds even for -O+.
   38147 	* var-tracking.c (track_expr_p): If !need_rtl, don't mandate
   38148 	expr needs to have DECL_NAME set.
   38149 
   38150 2010-02-24  Nick Clifton  <nickc (a] redhat.com>
   38151 
   38152 	* config/mep/mep.c: Include gimple.h.
   38153 	(mep_function_uses_sp): Delete unused function.
   38154 	(mep_gimplify_va_arg_expr): Change types of pre_p and post_p
   38155 	parameters.  Use unsigned integers to count args.  Return a
   38156 	NULL_RTX instead of an error_mark_node.  Toidy up formatting.
   38157 
   38158 2010-02-23  Jakub Jelinek  <jakub (a] redhat.com>
   38159 
   38160 	PR target/43107
   38161 	* config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
   38162 	greater or equal to nelt instead of 2 * nelt.
   38163 	(expand_vec_perm_1): When op0 and op1 are equal, mask indexes
   38164 	with nelt - 1.
   38165 
   38166 2010-02-23  Jason Merrill  <jason (a] redhat.com>
   38167 
   38168 	PR debug/42800
   38169 	* cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
   38170 	in cfun->local_decls even if they have register types.
   38171 
   38172 	PR c++/42837
   38173 	* stor-layout.c (place_field): Don't warn about unnecessary
   38174 	DECL_PACKED if the type is packed.
   38175 
   38176 2010-02-23  Jakub Jelinek  <jakub (a] redhat.com>
   38177 
   38178 	PR target/43139
   38179 	* config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
   38180 	GOTOFF relocs, even when the base reg isn't pic pointer.
   38181 
   38182 2010-02-23  Michael Matz  <matz (a] suse.de>
   38183 
   38184 	PR debug/43077
   38185 	* cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
   38186 	(expand_gimple_basic_block): Generate and use debug temps if there
   38187 	are debug uses left after the last real use of TERed ssa names.
   38188 	Unlink debug immediate uses when they are expanded.
   38189 
   38190 2010-02-23  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   38191 
   38192 	PR 43123
   38193 	* config/i386/i386.c (override_options): Reorganise to provide
   38194 	better error messages.
   38195 
   38196 2010-02-22  Sebastian Pop  <sebastian.pop (a] amd.com>
   38197 
   38198 	PR middle-end/43083
   38199 	* graphite-scop-detection.c (create_single_exit_edge): Move
   38200 	the call to find_single_exit_edge to....
   38201 	(create_sese_edges): ...here.  Don't handle multiple edges
   38202 	exiting the function.
   38203 	(build_graphite_scops): Don't handle multiple edges
   38204 	exiting the function.
   38205 
   38206 2010-02-22  Sebastian Pop  <sebastian.pop (a] amd.com>
   38207 
   38208 	PR middle-end/43097
   38209 	* sese.c (get_rename): Assert that old_name is an SSA_NAME.
   38210 	(rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
   38211 
   38212 2010-02-22  Sebastian Pop  <sebastian.pop (a] amd.com>
   38213 
   38214 	PR middle-end/43026
   38215 	* sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
   38216 
   38217 2010-02-22  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   38218 
   38219 	PR c++/43126
   38220 	* c-typeck.c (convert_arguments): Print declaration location.
   38221 	* c-common.c (validate_nargs): Rename as
   38222 	builtin_function_validate_nargs.
   38223 	(check_builtin_function_arguments): Update.
   38224 
   38225 2010-02-22  Richard Guenther  <rguenther (a] suse.de>
   38226 
   38227 	PR lto/43045
   38228 	* tree-inline.c (declare_return_variable): Use the type of
   38229 	the call stmt lhs if available.
   38230 
   38231 2010-02-22  Duncan Sands  <baldrick (a] free.fr>
   38232 
   38233 	* passes.c (register_pass): Always consider all pass lists when
   38234 	ref_pass_instance_number is zero.
   38235 
   38236 2010-02-22  Richard Guenther  <rguenther (a] suse.de>
   38237 
   38238 	PR tree-optimization/42749
   38239 	* tree-tailcall.c (adjust_return_value_with_ops): Drop update
   38240 	parameter.  Do arithmetic in the original type.
   38241 	(update_accumulator_with_ops): Likewise.
   38242 	(adjust_accumulator_values): Adjust.
   38243 
   38244 2010-02-22  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   38245 
   38246 	* config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
   38247 	(QI to BLKmode splitter): New splitter.
   38248 
   38249 2010-02-22  H.J. Lu  <hongjiu.lu (a] intel.com>
   38250 
   38251 	* config/i386/i386.c (initial_ix86_tune_features): Turn on
   38252 	X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
   38253 
   38254 2010-02-22  Richard Guenther  <rguenther (a] suse.de>
   38255 
   38256 	* tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
   38257 
   38258 2010-02-22  Hans-Peter Nilsson  <hp (a] bitrange.com>
   38259 
   38260 	Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
   38261 	* config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
   38262 	($(T)crti.o, $(T)crtn.o): Remove rules.
   38263 
   38264 2010-02-21  Tobias Burnus  <burnus (a] net-b.de>
   38265 
   38266 	PR fortran/35259
   38267 	* doc/invoke.texi (-fassociative-math): Document that this
   38268 	option is automatically enabled for Fortran.
   38269 
   38270 2010-02-20  David S. Miller  <davem (a] davemloft.net>
   38271 
   38272 	* configure.ac: Test if linker and assembler properly support
   38273 	GOTDATA_OP relocations.
   38274 	* configure: Rebuild.
   38275 	* config.in: Likewise.
   38276 	* config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
   38277 	(movsi_lo_sum_pic): Use %gdop_*() relocs if available.
   38278 	(movsi_high_pic): Likewise.
   38279 	(movdi_lo_sum_pic): Likewise.
   38280 	(movdi_high_pic): Likewise.
   38281 	(movsi_pic_gotdata_op): New pattern.
   38282 	(movdi_pic_gotdata_op): Likewise.
   38283 	* config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
   38284 	emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
   38285 
   38286 2010-02-20  Uros Bizjak  <ubizjak (a] gmail.com>
   38287 
   38288 	PR target/43067
   38289 	* config/i386/sse.md (xop_mulv2div2di3_low): Change type
   38290 	attribute to ssemul.
   38291 	(xop_mulv2div2di3_high): Ditto.
   38292 
   38293 2010-02-20  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   38294 
   38295 	PR c++/35669
   38296 	* c.opt (Wconversion-null): New option.
   38297 	* doc/invoke.texi (Wconversion-null): Document.
   38298 
   38299 2010-02-20  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   38300 
   38301 	* common.opt (Wlarger-than-): Add Undocumented.
   38302 
   38303 2010-02-19  Mike Stump  <mikestump (a] comcast.net>
   38304 
   38305 	* config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
   38306 
   38307 2010-02-19  Jason Merrill  <jason (a] redhat.com>
   38308 
   38309 	PR target/40332
   38310 	* configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
   38311 	* configure: Likewise.
   38312 
   38313 2010-02-20  Alan Modra  <amodra (a] gmail.com>
   38314 
   38315 	PR middle-end/42344
   38316 	* cgraph.h (cgraph_make_decl_local): Declare.
   38317 	* cgraph.c (cgraph_make_decl_local): New function.
   38318 	(cgraph_make_node_local): Use it.
   38319 	* cgraphunit.c (cgraph_function_versioning): Likewise.
   38320 	* ipa.c (function_and_variable_visibility): Likewise.
   38321 
   38322 2010-02-19  Jakub Jelinek  <jakub (a] redhat.com>
   38323 
   38324 	PR bootstrap/43121
   38325 	* except.c (sjlj_emit_function_enter): Don't call
   38326 	add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
   38327 	directly.
   38328 	* rtl.h (add_reg_br_prob_note): Remove prototype.
   38329 
   38330 2010-02-19  Manuel Lpez-Ibez  <manu (a] gcc.gnu.org>
   38331 
   38332 	PR 41779
   38333 	* c-common.c (conversion_warning): Remove widening conversions
   38334 	before checking the conversion of integers to reals.
   38335 
   38336 2010-02-19  Mike Stump  <mikestump (a] comcast.net>
   38337 
   38338 	PR middle-end/43125
   38339 	* c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
   38340 
   38341 	PR objc/43061
   38342 	* cgraphunit.c (process_function_and_variable_attributes): Check
   38343 	DECL_PRESERVE_P instead of looking up attribute "used".
   38344 	* ipa-pure-const.c (check_decl): Likewise.
   38345 	* ipa-reference.c (has_proper_scope_for_analysis): Likewise.
   38346 	* ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
   38347 	* config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
   38348 	instead of attribute "used".
   38349 	* config/sol2-c.c (solaris_pragma_init): Likewise.
   38350 	(solaris_pragma_fini): Likewise.
   38351 
   38352 2010-02-19  Jakub Jelinek  <jakub (a] redhat.com>
   38353 
   38354 	* ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
   38355 	Use XCNEW instead of xcalloc.
   38356 	(add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
   38357 	XNEW instead of xmalloc.
   38358 	(get_fields): Use XNEWVEC instead of xmalloc.
   38359 
   38360 	PR debug/43084
   38361 	* ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
   38362 	populate vars array.
   38363 	(create_new_general_access): For debug stmts just reset value.
   38364 	(get_stmt_accesses): For accesses within debug stmts just record them
   38365 	using add_access_to_acc_sites instead of preventing the peeling or
   38366 	counting them as accesses.
   38367 
   38368 	PR middle-end/42233
   38369 	* dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
   38370 
   38371 2010-02-19  Richard Guenther  <rguenther (a] suse.de>
   38372 
   38373 	PR tree-optimization/42916
   38374 	* tree-vect-slp.c (vect_slp_analyze_bb): Count only real
   38375 	instructions.
   38376 
   38377 2010-02-19  Andreas Schwab  <schwab (a] linux-m68k.org>
   38378 
   38379 	* configure.ac: Replace all uses of changequote in macro arguments
   38380 	with proper quoting.
   38381 
   38382 2010-02-19  Jakub Jelinek  <jakub (a] redhat.com>
   38383 
   38384 	PR middle-end/42233
   38385 	* loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
   38386 
   38387 2010-02-19  Richard Guenther  <rguenther (a] suse.de>
   38388 
   38389 	PR tree-optimization/42944
   38390 	* tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
   38391 	test for aliasing with errno.
   38392 
   38393 2010-02-19  Jakub Jelinek  <jakub (a] redhat.com>
   38394 
   38395 	PR middle-end/42233
   38396 	* expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
   38397 	do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
   38398 	* dojump.c: Include output.h.
   38399 	(inv): New inline function.
   38400 	(jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
   38401 	do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
   38402 	do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
   38403 	do_jump_by_parts_equality, do_compare_and_jump): Add PROB
   38404 	argument, pass it down to other calls.
   38405 	(do_compare_rtx_and_jump): Likewise.  If PROB is not -1,
   38406 	add REG_BR_PROB note to the conditional jump.
   38407 	* cfgexpand.c (add_reg_br_prob_note): Removed.
   38408 	(expand_gimple_cond): Don't call it, add the probability
   38409 	as last argument to jumpif_1/jumpifnot_1.
   38410 	* Makefile.in (dojump.o): Depend on output.h.
   38411 	* builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
   38412 	callers.
   38413 	* expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
   38414 	* stmt.c (do_jump_if_equal): Likewise.
   38415 	* cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
   38416 	* loop-unswitch.c (compare_and_jump_seq): Likewise.
   38417 	* config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
   38418 	Likewise.
   38419 	* optabs.c (expand_doubleword_shift, expand_abs): Likewise.
   38420 	* expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
   38421 	jumpifnot_1 callers.
   38422 	(expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
   38423 	callers.
   38424 	(store_expr): Adjust jumpifnot caller.
   38425 	(store_constructor): Adjust jumpif caller.
   38426 
   38427 	PR middle-end/42233
   38428 	* gimplify.c (gimple_boolify): For __builtin_expect call
   38429 	gimple_boolify also on its first argument.
   38430 
   38431 2010-02-18  Uros Bizjak  <ubizjak (a] gmail.com>
   38432 
   38433 	* configure.ac (gnu-unique-object): Wrap regexps using [] in
   38434 	changequote block.
   38435 	(__stack_chk_fail): Ditto.  Remove quadrigraphs.
   38436 	* configure: Regenerated.
   38437 
   38438 2010-02-18  Ulrich Weigand  <Ulrich.Weigand (a] de.ibm.com>
   38439 
   38440 	* config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
   38441 	lang_hooks.types_compatible_p instead of comptypes.
   38442 
   38443 2010-02-18  Sebastian Huber  <sebastian.huber (a] embedded-brains.de>
   38444 
   38445 	* config/arm/lib1funcs.asm (__prefer_thumb__): New define.
   38446 	(udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
   38447 	if __prefer_thumb__ is defined.
   38448 
   38449 2010-02-18  Martin Jambor  <mjambor (a] suse.cz>
   38450 
   38451 	PR tree-optimization/43066
   38452 	* tree-sra.c (build_ref_for_offset_1): Return false on encountering an
   38453 	array with zero-sized element type.
   38454 
   38455 2010-02-18  Jakub Jelinek  <jakub (a] redhat.com>
   38456 
   38457 	* dwarf2out.c (add_var_loc_to_decl): Change last argument to
   38458 	rtx, allocate struct var_loc_node here and return it to the
   38459 	caller, and only if it is actually needed.
   38460 	(dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
   38461 	move it earlier and return immediately if it returns NULL.
   38462 
   38463 2010-02-17  Mikael Pettersson  <mikpe (a] it.uu.se>
   38464 
   38465 	* config/sparc/gas.h: New file.  Restore
   38466 	TARGET_ASM_NAMED_SECTION to its ELF default.
   38467 	* config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
   38468 	check !HAVE_GNU_AS.
   38469 	* config/sparc/sparc.c (sparc_elf_asm_named_section):
   38470 	Likewise.  Add ATTRIBUTE_UNUSED to prototype.
   38471 	* config.gcc (sparc*-*-linux*): Include sparc/gas.h
   38472 	after sparc/sysv4.h.
   38473 
   38474 2010-02-17  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   38475 
   38476 	* config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
   38477 
   38478 2010-02-17  Steven Bosscher  <steven (a] gcc.gnu.org>
   38479 
   38480 	* gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
   38481 	patterns from predicated pattern.
   38482 
   38483 2010-02-17  Uros Bizjak  <ubizjak (a] gmail.com>
   38484 
   38485 	PR target/43103
   38486 	* config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
   38487 	for insn mnemonic suffix.
   38488 
   38489 2010-02-17  Richard Guenther  <rguenther (a] suse.de>
   38490 
   38491 	* tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
   38492 	to loop PHI nodes.
   38493 
   38494 2010-02-17  Jakub Jelinek  <jakub (a] redhat.com>
   38495 
   38496 	PR debug/42918
   38497 	* caller-save.c (save_call_clobbered_regs): If BB ends with
   38498 	a DEBUG_INSN, move any notes in between last real insn and the last
   38499 	DEBUG_INSN after the last DEBUG_INSN.
   38500 
   38501 2010-02-16  Joern Rennecke  <joern.rennecke (a] embecosm.com>
   38502 
   38503 	* tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
   38504 	Fix return type.  Fix argument type.  Explain meaning of return value.
   38505 
   38506 2010-02-16  Richard Guenther  <rguenther (a] suse.de>
   38507 
   38508 	PR tree-optimization/41043
   38509 	* tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops.
   38510 	(vrp_visit_assignment_or_call): Do not ask SCEV for regular
   38511 	statements ...
   38512 	(vrp_visit_phi_node): ... but only for loop PHI nodes.
   38513 
   38514 2010-02-16  Ira Rosen  <irar (a] il.ibm.com>
   38515 
   38516 	PR tree-optimization/43074
   38517 	* tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
   38518 	* tree-vect-loop.c (vect_analyze_loop_operations): Add
   38519 	vectorizable cycles in hybrid SLP check.
   38520 	* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
   38521 
   38522 2010-02-16  Richard Guenther  <rguenther (a] suse.de>
   38523 
   38524 	* alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
   38525 	(true_dependence): If memrefs_conflict_p computes must-alias
   38526 	trust it.  Move TBAA check after offset-based disambiguation.
   38527 	(canon_true_dependence): Likewise.
   38528 
   38529 2010-02-16  Alexandre Oliva  <aoliva (a] redhat.com>
   38530 
   38531 	* params.def (PARAM_MAX_VARTRACK_SIZE): New.
   38532 	* doc/invoke.texi: Document it.
   38533 	* var-tracking.c: Include toplev.h and params.h.
   38534 	(vt_find_locations): Return bool indicating success.  Compute
   38535 	hash sizes unconditionally.  Check new parameter, report.
   38536 	(variable_tracking_main_1): Check vt_find_locations results and
   38537 	retry.  Renamed from...
   38538 	(variable_tracking_main): ... this.  New wrapper to preserve
   38539 	flag_var_tracking_assignments.
   38540 	* Makefile.in (var-tracking.o): Adjust dependencies.
   38541 
   38542 2010-02-16  Jack Howarth  <howarth (a] bromo.med.uc.edu>
   38543 	    Jakub Jelinek  <jakub (a] redhat.com>
   38544 
   38545 	PR target/42854
   38546 	* config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
   38547 	if weak_import attribute is present.
   38548 	* config/darwin.c (machopic_select_section): Likewise.
   38549 
   38550 2010-02-15  Joern Rennecke  <joern.rennecke (a] embecosm.com>
   38551 
   38552 	* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
   38553 	(TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
   38554 	(TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
   38555 	(TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
   38556 
   38557 	* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
   38558 	types.
   38559 
   38560 	* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
   38561 	Fix argument types.
   38562 
   38563 	* doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
   38564 	Rewrite text to refer to the names.
   38565 
   38566 2010-02-15  Sebastian Pop  <sebastian.pop (a] amd.com>
   38567 
   38568 	* config/i386/i386-builtin-types.def
   38569 	(V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
   38570 	(V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
   38571 	(V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
   38572 	(V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
   38573 	* config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
   38574 	IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
   38575 	IX86_BUILTIN_VPERMIL2PS256.
   38576 	(MULTI_ARG_4_DF2_DI_I): Defined.
   38577 	(MULTI_ARG_4_DF2_DI_I1): Defined.
   38578 	(MULTI_ARG_4_SF2_SI_I): Defined.
   38579 	(MULTI_ARG_4_SF2_SI_I1): Defined.
   38580 	(bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
   38581 	__builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
   38582 	__builtin_ia32_vpermil2ps256.
   38583 	(ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
   38584 	MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
   38585 	MULTI_ARG_4_SF2_SI_I1.  Handle builtins with 4 arguments.
   38586 	(ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
   38587 	MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
   38588 	MULTI_ARG_4_SF2_SI_I1.  Handle CODE_FOR_xop_vpermil2v2df3,
   38589 	CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
   38590 	CODE_FOR_xop_vpermil2v8sf3.
   38591 	* config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
   38592 	* config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
   38593 	* config/i386/xopintrin.h (_mm_permute2_pd): New.
   38594 	(_mm256_permute2_pd): New.
   38595 	(_mm_permute2_ps): New.
   38596 	(_mm256_permute2_ps): New.
   38597 
   38598 2010-02-15  Nick Clifton  <nickc (a] redhat.com>
   38599 
   38600 	* config/h8300/h8300.c (h8300_push_pop): Use bool type for
   38601 	boolean parameters.  Use emit_jump_insn when emitting a pop
   38602 	instruction containing a return insn.
   38603 	(push): Use 'true' rather than '1' as second parameter to F.
   38604 	(h8300_expand_prologue): Likewise.
   38605 	Use 'true' and 'false' for boolean parameters to h8300_push_pop.
   38606 	(h8300_expand_epilogue): Likewise.
   38607 
   38608 2010-02-15  Richard Guenther  <rguenther (a] suse.de>
   38609 
   38610 	PR middle-end/43068
   38611 	* cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
   38612 	if that is zero.
   38613 
   38614 2010-02-15  Nick Clifton  <nickc (a] redhat.com>
   38615 
   38616 	* config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
   38617 	delta.
   38618 
   38619 2010-02-14  Marco Poletti  <poletti.marco (a] gmail.com>
   38620 
   38621 	* intl.c (fake_ngettext): New function.
   38622 	* intl.h (fake_ngettext): Declare.
   38623 	(ngettext): Define macro.
   38624 	* collect2.c (notice_translated): New function.
   38625 	(main): Use notice_translated and ngettext.
   38626 	* collect2.h (notice_translated): Declare.
   38627 
   38628 2010-02-14  Steven Bosscher  <steven (a] gcc.gnu.org>
   38629 
   38630 	* reorg.c (delete_computation): Comment fixes.
   38631 	* caller-save.c (setup_save_areas): Idem.
   38632 	* sel-sched-dump.c (dump_lv_set): Idem.
   38633 	* rtl.def: Idem.
   38634 
   38635 2010-02-14  Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
   38636 
   38637 	* config/s390/s390.c (s390_sched_init): New function.
   38638 	(TARGET_SCHED_INIT): Target hook defined.
   38639 
   38640 2010-02-12  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   38641 	    Jack Howarth  <howarth (a] bromo.med.uc.edu>
   38642 	    Iain Sandoe  <iain.sandoe (a] sandoe-acoustics.co.uk>
   38643 
   38644 	PR target/42982
   38645 	Partial revert of unintended change in fix for PR41605.
   38646 	* config/darwin.h: Fix typo.
   38647 	* config/darwin9.h: Same.
   38648 
   38649 2010-02-11  Jakub Jelinek  <jakub (a] redhat.com>
   38650 
   38651 	* c-pch.c (pch_init): Clear v.
   38652 
   38653 2010-02-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   38654 
   38655 	PR middle-end/42930
   38656 	* graphite-scop-detection.c (graphite_can_represent_scev): Call
   38657 	graphite_can_represent_init for MULT_EXPR.
   38658 
   38659 2010-02-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   38660 
   38661 	PR middle-end/42914
   38662 	PR middle-end/42530
   38663 	* graphite-sese-to-poly.c (remove_phi): New.
   38664 	(translate_scalar_reduction_to_array): Call remove_phi.
   38665 
   38666 2010-02-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   38667 
   38668 	PR middle-end/42771
   38669 	* graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
   38670 	* graphite-clast-to-gimple.h (gloog): Update declaration.
   38671 	* graphite-poly.c (new_scop): Clear POLY_SCOP_P.
   38672 	* graphite-poly.h (struct poly_bb): Add missing comments.
   38673 	(struct scop): Add poly_scop_p field.
   38674 	(POLY_SCOP_P): New.
   38675 	* graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
   38676 	* graphite.c (graphite_transform_loops): Build the polyhedral
   38677 	representation for each scop before code generation.
   38678 	* sese.c (rename_variables_in_operand): Removed.
   38679 	(rename_variables_in_expr): Return the renamed expression.
   38680 	(rename_sese_parameters): New.
   38681 	* sese.h (rename_sese_parameters): Declared.
   38682 
   38683 2010-02-11  Richard Guenther  <rguenther (a] suse.de>
   38684 
   38685 	PR tree-optimization/42998
   38686 	* tree-ssa-pre.c (create_expression_by_pieces): Treat
   38687 	POINTER_PLUS_EXPR properly.
   38688 
   38689 2010-02-11  Sebastian Pop  <sebastian.pop (a] amd.com>
   38690 	    Changpeng Fang  <changpeng.fang (a] amd.com>
   38691 
   38692 	PR middle-end/40886
   38693 	* tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
   38694 	the cost of an IV candidate when the IV is used in a test against zero.
   38695 
   38696 	* gcc.dg/tree-ssa/ivopts-3.c: New.
   38697 
   38698 2010-02-11  Richard Guenther  <rguenther (a] suse.de>
   38699 
   38700 	PR lto/41664
   38701 	* tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
   38702 	pointer-vs-decl case by swapping refs.  Handle some cases
   38703 	of pointer-vs-decl disambiguations more conservatively.
   38704 	* cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
   38705 	to false after expanding.
   38706 
   38707 2010-02-11  Richard Guenther  <rguenther (a] suse.de>
   38708 
   38709 	PR driver/43021
   38710 	* gcc.c (process_command): Handle LTO file@offset case more
   38711 	appropriately.
   38712 
   38713 2010-02-11  Jakub Jelinek  <jakub (a] redhat.com>
   38714 
   38715 	* reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
   38716 	modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
   38717 	of DEBUG_INSNs.
   38718 	(eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
   38719 
   38720 	* dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
   38721 	if MEM's mode size isn't DWARF2_ADDR_SIZE.
   38722 	(mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
   38723 	Optimize eq/ne comparisons when both arguments are known to be
   38724 	zero-extended.
   38725 	(mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
   38726 	Don't mask operands unnecessarily if they are known to be already
   38727 	zero-extended.
   38728 
   38729 2010-02-10  Vladimir Makarov  <vmakarov (a] redhat.com>
   38730 
   38731 	* ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
   38732 	instead of loop.
   38733 
   38734 2010-02-10  Richard Guenther  <rguenther (a] suse.de>
   38735 
   38736 	PR tree-optimization/43017
   38737 	* tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
   38738 	for wrapping signed arithmetic.
   38739 
   38740 2010-02-10  Jakub Jelinek  <jakub (a] redhat.com>
   38741 
   38742 	PR debug/43010
   38743 	* dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
   38744 	if no debug info should be emitted for it.
   38745 
   38746 2010-02-10  Kaz Kojima  <kkojima (a] gcc.gnu.org>
   38747 
   38748 	* config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
   38749 	note when flag_exceptions is set.
   38750 
   38751 2010-02-10  Duncan Sands  <baldrick (a] free.fr>
   38752 
   38753 	* Makefile.in (PLUGIN_HEADERS): Add debug.h.
   38754 
   38755 2010-02-10  Richard Guenther  <rguenther (a] suse.de>
   38756 
   38757 	PR c/43007
   38758 	* tree.c (get_unwidened): Handle constants.
   38759 	* convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
   38760 
   38761 2010-02-10  Martin Jambor  <mjambor (a] suse.cz>
   38762 
   38763 	PR lto/42985
   38764 	* ipa-prop.c (ipa_update_after_lto_read): Count parameters and
   38765 	check for variable argument counts independently.
   38766 
   38767 2010-02-10  Christian Bruel  <christian.bruel (a] st.com>
   38768 
   38769 	PR target/42841
   38770 	* config/sh/sh.c (find_barrier): Increase length for non delayed
   38771 	conditional branches.
   38772 
   38773 2010-02-10  Christian Bruel  <christian.bruel (a] st.com>
   38774 
   38775 	* config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
   38776 
   38777 2010-02-10  Jakub Jelinek  <jakub (a] redhat.com>
   38778 
   38779 	* builtins.c (set_builtin_user_assembler_name): Also handle
   38780 	ffs if int is smaller than word.
   38781 
   38782 2010-02-09  Vladimir Makarov  <vmakarov (a] redhat.com>
   38783 
   38784 	PR middle-end/42973
   38785 	* ira-conflicts.c (get_dup): Remove.
   38786 	(process_reg_shuffles): Add new parameter.  Use it as an
   38787 	additional guard for copy generation.
   38788 	(add_insn_allocno_copies): Rewrite.
   38789 
   38790 2010-02-09  Alexander Monakov  <amonakov (a] ispras.ru>
   38791 
   38792 	* common.opt (fsched2-use-traces): Preserved for backward
   38793 	compatibility.
   38794 	* doc/invoke.texi: Remove the documentation about option
   38795 	-fsched2-use-traces.
   38796 	* sched-rgn.c (rest_of_handle_sched2): Remove usage of
   38797 	flag_sched2_use_traces.
   38798 	* opts.c (common_handle_option): Add OPT_fsched2_use_traces to
   38799 	the backward compatibility flag section.
   38800 
   38801 2010-02-09  Richard Guenther  <rguenther (a] suse.de>
   38802 
   38803 	PR tree-optimization/43008
   38804 	* tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
   38805 	make HEAP variables initialized from global memory if they
   38806 	are not known builtin functions.
   38807 	(find_func_aliases): Adjust.
   38808 
   38809 2010-02-09  Richard Guenther  <rguenther (a] suse.de>
   38810 
   38811 	PR tree-optimization/43000
   38812 	* tree-vrp.c (vrp_int_const_binop): Only handle unsigned
   38813 	arithmetic manually.
   38814 
   38815 2010-02-08  Jakub Jelinek  <jakub (a] redhat.com>
   38816 
   38817 	PR tree-optimization/42931
   38818 	* tree-loop-linear.c (try_interchange_loops): Don't call
   38819 	double_int_mul if estimated_loop_iterations failed.
   38820 
   38821 2010-02-08  Martin Jambor  <mjambor (a] suse.cz>
   38822 
   38823 	PR middle-end/42898
   38824 	* tree-sra.c (build_accesses_from_assign): Do not mark in
   38825 	should_scalarize_away_bitmap if stmt has volatile ops.
   38826 	(sra_modify_assign): Do not process assigns piecemeal if if stmt
   38827 	has volatile ops.
   38828 
   38829 2010-02-08  Joern Rennecke  <joern.rennecke (a] embecosm.com>
   38830 
   38831 	* doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
   38832 
   38833 2010-02-07  Adam Nemet  <adambnmet (a] gmail.com>
   38834 
   38835 	* config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
   38836 	before the pattern.
   38837 
   38838 2010-02-07  Andrew Pinski  <pinskia (a] gmail.com>
   38839 
   38840 	PR middle-end/42946
   38841 	* df-core.c (df_finish_pass): Change type of saved_flags to int.
   38842 
   38843 2010-02-07  Sebastian Pop  <sebastian.pop (a] amd.com>
   38844 
   38845 	PR middle-end/42988
   38846 	* graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
   38847 	to unknown_dependence.
   38848 	(graphite_legal_transform_dr): Handle the unknown_dependence.
   38849 	(graphite_carried_dependence_level_k): Same.
   38850 
   38851 2010-02-07  Sebastian Pop  <sebastian.pop (a] amd.com>
   38852 
   38853 	* ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
   38854 
   38855 2010-02-07  Richard Guenther  <rguenther (a] suse.de>
   38856 
   38857 	PR middle-end/42991
   38858 	* expr.c (get_inner_reference): Always initialize *pbitsize.
   38859 
   38860 2010-02-07  Richard Guenther  <rguenther (a] suse.de>
   38861 
   38862 	PR middle-end/42956
   38863 	* gimplify.c (gimple_fold_indirect_ref): Avoid generating
   38864 	new ARRAY_REFs on variable size element or minimal index arrays.
   38865 	Complete.
   38866 	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
   38867 	gimple_fold_indirect_ref.
   38868 
   38869 2010-02-06  Richard Earnshaw  <rearnsha (a] arm.com>
   38870 
   38871 	PR target/42957
   38872 	* arm.c (arm_override_options): Just return if the user has specified
   38873 	an invalid fpu name.
   38874 
   38875 2010-02-03  Jason Merrill  <jason (a] redhat.com>
   38876 
   38877 	PR c++/42870
   38878 	* config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
   38879 	i386_pe_maybe_record_exported_symbol.
   38880 
   38881 2010-02-05  Steve Ellcey  <sje (a] cup.hp.com>
   38882 
   38883 	PR target/42924
   38884 	* config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
   38885 	(pa_delegitimize_address): New function.
   38886 
   38887 2010-02-05  Ozkan Sezer  <sezeroz (a] gmail.com>
   38888 
   38889 	* config/i386/msformat-c.c (ms_printf_length_specs): Set the
   38890 	scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
   38891 
   38892 2010-02-05  Richard Guenther  <rguenther (a] suse.de>
   38893 
   38894 	PR lto/42762
   38895 	* lto-streamer-in.c (get_resolution): Deal with references
   38896 	to undefined functions.
   38897 
   38898 2010-02-05  Richard Guenther  <rguenther (a] suse.de>
   38899 
   38900 	* tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
   38901 	(fold_const_aggregate_ref): Likewise.
   38902 	(ccp_fold_stmt): Substitute loads.
   38903 	(maybe_fold_reference): Verify types before substituting.
   38904 	Unshare properly.
   38905 	(fold_gimple_assign): Unshare properly.
   38906 	(fold_stmt_1): Insert conversion if necessary before replacing the RHS.
   38907 
   38908 2010-02-05  Nathan Froyd  <froydnj (a] codesourcery.com>
   38909 
   38910 	* config/rs6000/rs6000.c (rs6000_override_options): Invert check
   38911 	for rs6000_gen_cell_microcode.
   38912 
   38913 2010-02-04  Richard Guenther  <rguenther (a] suse.de>
   38914 
   38915 	PR rtl-optimization/42952
   38916 	* dse.c (const_or_frame_p): Remove MEM handling.
   38917 
   38918 2010-02-04  Nick Clifton  <nickc (a] redhat.com>
   38919 
   38920 	* config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
   38921 	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
   38922 	(function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
   38923 	(mn10300_asm_output_mi_thunk): New function.
   38924 	(mn10300_can_output_mu_thunk): New function.
   38925 	* config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
   38926 	(FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
   38927 	(FUNCTION_ARG): Delete incorrect comment.
   38928 
   38929 2010-02-03  Jason Merrill  <jason (a] redhat.com>
   38930 
   38931 	PR c++/40138
   38932 	* fold-const.c (operand_equal_p): Handle erroneous types.
   38933 
   38934 2010-02-03  Kaushik Phatak  <kaushik.phatak (a] kpitcummins.com>
   38935 
   38936 	* config/h8300/h8300.md (can_delay): Fix attibute condition.
   38937 
   38938 2010-02-03  Vladimir Makarov  <vmakarov (a] redhat.com>
   38939 
   38940 	PR rtl-optimization/42941
   38941 	* sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
   38942 	of xmalloc.
   38943 
   38944 2010-02-03  Jason Merrill  <jason (a] redhat.com>
   38945 
   38946 	PR c++/35652
   38947 	* builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
   38948 
   38949 2010-02-03  Alexandre Oliva  <aoliva (a] redhat.com>
   38950 
   38951 	PR debug/42896
   38952 	* cselib.h (struct cselib_val_struct): Add uid.  Rename value to hash.
   38953 	(cselib_reset_table): Renamed from...
   38954 	(cselib_reset_table_with_next_value): ... this.
   38955 	(cselib_get_next_uid): Renamed from...
   38956 	(cselib_get_next_unknown_value): ... this.
   38957 	* cselib.c (next_uid): Renamed from...
   38958 	(next_unknown_value): ... this.
   38959 	(cselib_clear_table): Adjust.
   38960 	(cselib_reset_table): Adjust.  Renamed from...
   38961 	(cselib_reset_table_with_next_value): ... this.
   38962 	(cselib_get_next_uid): Adjust.  Renamed from...
   38963 	(cselib_get_next_unknown_value): ... this.
   38964 	(get_value_hash): Use hash.
   38965 	(cselib_hash_rtx): Likewise.
   38966 	(new_cselib_val): Adjust.  Set and dump uid.
   38967 	(cselib_lookup_mem): Pass next_uid as hash.
   38968 	(cselib_subst_to_values): Likewise.
   38969 	(cselib_log_lookup): Dump uid.
   38970 	(cselib_lookup): Pass next_uid as hash.  Adjust.
   38971 	(cselib_process_insn): Adjust.
   38972 	(cselib_init): Initialize next_uid.
   38973 	(cselib_finish): Adjust.
   38974 	(dump_cselib_table): Likewise.
   38975 	* dse.c (canon_address): Dump value uid.
   38976 	* print-rtl.c (print_rtx): Print value uid.
   38977 	* var-tracking.c (VARIABLE_HASH_VAL): Dropped.
   38978 	(dvuid): New type.
   38979 	(dv_uid): New function, sort of renamed from...
   38980 	(dv_htab_hash): ... this, reimplemented in terms of it and...
   38981 	(dv_uid2hash): ... this.  New.
   38982 	(variable_htab_eq): Drop excess assertions.
   38983 	(tie_break_pointers): Removed.
   38984 	(canon_value_cmp): Compare uids.
   38985 	(variable_post_merge_New_vals): Print uids.
   38986 	(vt_add_function_parameters): Adjust.
   38987 	(vt_initialize): Reset table.  Adjust.
   38988 
   38989 2010-02-03  Richard Guenther  <rguenther (a] suse.de>
   38990 
   38991 	PR tree-optimization/42944
   38992 	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
   38993 	(call_may_clobber_ref_p_1): Likewise.  Properly handle
   38994 	malloc and calloc clobbering errno.
   38995 
   38996 2010-02-03  Steven Bosscher  <steven (a] gcc.gnu.org>
   38997 
   38998 	* doc/invoke.texi: Fix name of sched1 dump.
   38999 
   39000 	* opts.c (decode_options): Set flag_tree_switch_conversion
   39001 	only conditionally on optimize >= 2.
   39002 
   39003 	* gcse.c: Assorted comment fixes in pass description.
   39004 
   39005 2010-02-03  Anthony Green  <green (a] moxielogic.com>
   39006 
   39007 	* config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
   39008 	nop padding in order to maintain alignment of storage location of
   39009 	target function address.
   39010 	(moxie_trampoline_init): Store target function address at newly
   39011 	aligned location.
   39012 	* config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
   39013 	to 32.
   39014 	(TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
   39015 
   39016 2010-02-03  Richard Guenther  <rguenther (a] suse.de>
   39017 
   39018 	PR middle-end/42927
   39019 	* tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
   39020 
   39021 2010-02-03  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   39022 
   39023 	* config.gcc: Reenable check for obsolete targets.
   39024 	Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
   39025 	mips-sgi-irix6.[0-4]*.
   39026 
   39027 2010-02-02  Nick Clifton  <nickc (a] redhat.com>
   39028 
   39029 	* config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
   39030 	constant size of 4 as being the same as 0.
   39031 	* doc/invoke.texi (RX Options): Document that -mmax-constant-size
   39032 	can take values in the range 0..4.
   39033 
   39034 2010-02-02  Jack Howarth  <howarth (a] bromo.med.uc.edu>
   39035 
   39036 	PR java/41991
   39037 	* unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
   39038 	as _darwin10_Unwind_FindEnclosingFunction().
   39039 	* libgcc-libsystem.ver: New.
   39040 
   39041 2010-02-01  Vladimir Makarov  <vmakarov (a] redhat.com>
   39042 
   39043 	PR target/41399
   39044 	* sched-deps.c (sched_analyze_insn): Ignore fixed registers for
   39045 	implicitly set registers.
   39046 
   39047 2010-02-01  Richard Earnshaw  <rearnsha (a] arm.com>
   39048 
   39049 	* arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
   39050 	(arm_override_options): Allow automatic selection of the thread
   39051 	pointer register if thumb2.
   39052 	(legitimize_pic_address): Improve code sequences for Thumb2.
   39053 	(arm_call_tls_get_addr): Likewise.
   39054 	(legitimize_tls_address): Likewise.
   39055 	* arm.md (pic_load_addr_arm): Delete.  Replace with ...
   39056 	(pic_load_addr_32bit): ... this.  New named pattern.
   39057 	* thumb2.md (pic_load_addr_thumb2): Delete.
   39058 	(pic_load_dot_plus_four): Delete.
   39059 	(tls_load_dot_plus_four): New named pattern.
   39060 
   39061 2010-02-01  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   39062 
   39063 	PR libgomp/29986
   39064 	* doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
   39065 	Document fix for TLS bug.
   39066 
   39067 2010-01-31  Richard Guenther  <rguenther (a] suse.de>
   39068 
   39069 	* tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
   39070 	conservatively correct.
   39071 
   39072 2010-01-31  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   39073 
   39074 	PR target/42850
   39075 	Revert:
   39076 	2010-01-02  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   39077 
   39078 	* config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
   39079 
   39080 2010-01-31  Kaveh R. Ghazi  <ghazi (a] caip.rutgers.edu>
   39081 
   39082 	* doc/install.texi: Update recommended GMP/MPFR/MPC versions.
   39083 
   39084 2010-01-31  Kai Tietz  <kai.tietz (a] onevision.com>
   39085 
   39086 	* config.gcc: Adjust order of makefile fragments for mingw targets.
   39087 
   39088 2010-01-31  Richard Guenther  <rguenther (a] suse.de>
   39089 
   39090 	PR middle-end/42898
   39091 	* gimplify.c (gimplify_init_constructor): For volatile LHS
   39092 	initialize a temporary.
   39093 
   39094 2010-01-31  Matthias Klose  <doko (a] ubuntu.com>
   39095 
   39096 	* configure.ac: Fix __stack_chk_fail check for cross builds configured
   39097 	--with-headers
   39098 	* configure: Regenerate.
   39099 
   39100 2010-01-29  Eric Botcazou  <ebotcazou (a] adacore.com>
   39101 
   39102 	* tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
   39103 	the same alias set and their sizes different constantness.
   39104 	(aliasing_component_refs_p): Revert 2009-10-24 change.
   39105 
   39106 2010-01-29  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   39107 
   39108 	* config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
   39109 	unused.
   39110 
   39111 2010-01-29  Richard Guenther  <rguenther (a] suse.de>
   39112 
   39113 	* tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
   39114 	Assert we successfully updated the call.
   39115 
   39116 2010-01-29  Jakub Jelinek  <jakub (a] redhat.com>
   39117 
   39118 	PR rtl-optimization/42889
   39119 	* df.h (df_set_bb_dirty_nonlr): New prototype.
   39120 	* df-core.c (df_set_bb_dirty_nonlr): New function.
   39121 	* df-scan.c (df_insn_rescan): Call it instead of
   39122 	df_set_bb_dirty for DEBUG_INSNs.
   39123 
   39124 2010-01-29  Richard Guenther  <rguenther (a] suse.de>
   39125 
   39126 	PR middle-end/37448
   39127 	* ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
   39128 	quadratic behavior in most cases.
   39129 
   39130 2010-01-28  Uros Bizjak  <ubizjak (a] gmail.com>
   39131 
   39132 	PR target/42891
   39133 	* config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
   39134 	in the call to gen_x86_movsicc_0_m1.
   39135 
   39136 2010-01-28  Richard Guenther  <rguenther (a] suse.de>
   39137 
   39138 	PR tree-optimization/42871
   39139 	* tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
   39140 
   39141 2010-01-28  Richard Guenther  <rguenther (a] suse.de>
   39142 
   39143 	* tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
   39144 	into call arguments.
   39145 
   39146 2010-01-28  Richard Guenther  <rguenther (a] suse.de>
   39147 
   39148 	PR middle-end/42883
   39149 	* tree-cfgcleanup.c (remove_forwarder_block): Do not remove
   39150 	the forwarder if the destination is an EH landing pad.
   39151 
   39152 2010-01-28  Razya Ladelsky  <razya (a] il.ibm.com>
   39153 
   39154 	* tree-parloops.c (transform_to_exit_first_loop): Update the basic
   39155 	block list passed to gimple_duplicate_sese_tail.
   39156 	(parallelize_loops): Avoid parallelization when the function
   39157 	has_nonlocal_label.
   39158 	Avoid parallelization when the preheader is IRREDUCIBLE.
   39159 	Try to optimize when estimated_loop_iterations_int is unresolved.
   39160 	Add the loop's location to the dump file.
   39161 	* tree-cfg.c (add_phi_args_after_redirect): Remove.
   39162 	(gimple_duplicate_sese_tail): Remove the check for the latch.
   39163 	Redirect nexits to the exit block.
   39164 	Remove handling of the incoming edges to the latch.
   39165 	Redirect the backedge from the copied latch to the exit bb.
   39166 
   39167 2010-01-28  Michael Matz  <matz (a] suse.de>
   39168 
   39169 	PR target/42881
   39170 	* config/i386/i386.c (ix86_expand_vector_init_duplicate):
   39171 	Wrap force_reg into a sequence, emit it before user.
   39172 
   39173 2010-01-28  Stephen Thomas  <stephen.thomas (a] arm.com>
   39174 
   39175 	* config/arm/arm.md (bswapsi2): Add support for bswapsi2.
   39176 	(arm_rev): New.
   39177 	(arm_legacy_rev): Likewise.
   39178 	(thumb_legacy_rev): Likewise.
   39179 
   39180 2010-01-27  Jakub Jelinek  <jakub (a] redhat.com>
   39181 
   39182 	* dwarf2out.c (mem_loc_descriptor): Remove special casing of
   39183 	CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
   39184 	on MEM's address failed, try avoid_constant_pool_reference and
   39185 	recurse if it returned something different.
   39186 	(loc_descriptor): If for MEM mem_loc_descriptor failed on the
   39187 	address, try avoid_constant_pool_reference and recurse if it
   39188 	returned something different.
   39189 	(dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
   39190 	address and avoid_constant_pool_reference returned something
   39191 	different, don't set have_address.
   39192 
   39193 2010-01-27  Alexandre Oliva  <aoliva (a] redhat.com>
   39194 
   39195 	PR debug/42861
   39196 	* var-tracking.c (val_store): Add modified argument, obey it.
   39197 	Adjust callers.
   39198 	(count_uses): Move down logging of main.
   39199 	(compute_bb_dataflow): Use val_store for MO_VAL_USEs that
   39200 	don't need resolution.
   39201 	(emit_notes_in_bb): Likewise.
   39202 
   39203 2010-01-27  Richard Guenther  <rguenther (a] suse.de>
   39204 
   39205 	PR middle-end/42878
   39206 	* tree-inline.c (remap_decl): Delay remapping of SSA name
   39207 	default definitions until we need them.
   39208 
   39209 2010-01-27  Jakub Jelinek  <jakub (a] redhat.com>
   39210 
   39211 	* config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
   39212 	(rs6000_delegitimize_address): New function.
   39213 
   39214 	* config/s390/s390.c (s390_delegitimize_address): Call
   39215 	delegitimize_mem_from_attrs.
   39216 
   39217 	PR middle-end/42874
   39218 	* tree-inline.c (cannot_copy_type_1): Removed.
   39219 	(copy_forbidden): Don't forbid copying of functions containing
   39220 	records/unions with variable length fields.
   39221 
   39222 2010-01-27  Christian Bruel  <christian.bruel (a] st.com>
   39223 
   39224 	Revert:
   39225 	PR target/42841
   39226 	* config/sh/sh.c (find_barrier): Increase length for non delayed
   39227 	conditional branches.
   39228 
   39229 2010-01-27  Matthias Klose  <doko (a] ubuntu.com>
   39230 
   39231 	* configure.ac (gnu-unique-object): Fix ldd version check.
   39232 	* configure: Regenerate.
   39233 
   39234 2010-01-26  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   39235 
   39236 	* config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
   39237 	HAVE_GNU_AS value.
   39238 	* config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
   39239 	Test for HAVE_GNU_AS value.
   39240 
   39241 2010-01-26  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   39242 
   39243 	* config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
   39244 	* config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
   39245 	INT64_TYPE): Define.
   39246 	(UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
   39247 	(INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
   39248 	INT_LEAST64_TYPE): Define.
   39249 	(UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
   39250 	UINT_LEAST64_TYPE): Define.
   39251 	(INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
   39252 	INT_FAST64_TYPE): Define.
   39253 	(UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
   39254 	UINT_FAST64_TYPE): Define.
   39255 	(INTMAX_TYPE, UINTMAX_TYPE): Define.
   39256 	(INTPTR_TYPE, UINTPTR_TYPE): Define.
   39257 	(SIG_ATOMIC_TYPE): Define.
   39258 
   39259 2010-01-26  Richard Guenther  <rguenther (a] suse.de>
   39260 
   39261 	* df-scan.c (df_scan_set_bb_info): Remove assert.
   39262 	(df_insn_rescan_debug_internal): Merge asserts.
   39263 	(df_install_ref): Likewise.
   39264 	(df_mark_reg): Use bitmap_set_range.
   39265 	(df_hard_reg_used_p): Remove assert.
   39266 	(df_hard_reg_used_count): Likewise.
   39267 
   39268 2010-01-26  Richard Guenther  <rguenther (a] suse.de>
   39269 
   39270 	PR rtl-optimization/42685
   39271 	* web.c (web_main): Ignore DEBUG_INSNs.
   39272 
   39273 2010-01-26  Joern Rennecke  <amylaar (a] spamcop.net>
   39274 
   39275 	* doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
   39276 
   39277 	(TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
   39278 	Fix types of fndecl and arglist parameters.
   39279 
   39280 2010-01-26  Richard Guenther  <rguenther (a] suse.de>
   39281 
   39282 	PR middle-end/42806
   39283 	* tree-eh.c (unsplit_eh): Skip debug insns.
   39284 
   39285 2010-01-26  Richard Guenther  <rguenther (a] suse.de>
   39286 
   39287 	PR tree-optimization/42250
   39288 	* ipa-type-escape.c (type_escape_execute): Do not analyze clones.
   39289 
   39290 2010-01-26  Jakub Jelinek  <jakub (a] redhat.com>
   39291 
   39292 	PR fortran/42866
   39293 	* omp-low.c (expand_omp_sections): Only use single_pred if
   39294 	l2_bb is single_pred_p.
   39295 
   39296 2010-01-25  Christian Bruel  <christian.bruel (a] st.com>
   39297 
   39298 	PR target/42841
   39299 	* config/sh/sh.c (find_barrier): Increase length for non delayed
   39300 	conditional branches.
   39301 	(sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
   39302 
   39303 2010-01-24  David S. Miller  <davem (a] davemloft.net>
   39304 
   39305 	* config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
   39306 	define if not using GAS.
   39307 	* config/sparc/sparc.c (sparc_elf_asm_named_section):
   39308 	Likewise.  Delete SECTION_MERGE code, which is only applicable
   39309 	when using GAS.
   39310 
   39311 2010-01-24  Mark Mitchell  <mark (a] codesourcery.com>
   39312 
   39313 	PR c++/42748
   39314 	* config/arm/arm.c (arm_mangle_type): Do not warn about changes to
   39315 	mangling of va_list in system headers.
   39316 
   39317 2010-01-23  Toon Moene  <toon (a] moene.org>
   39318 
   39319 	* tree-predcom.c (combine_chains): Return NULL, not false.
   39320 
   39321 2010-01-23  Joern Rennecke  <amylaar (a] spamcop.net>
   39322 
   39323 	* tree-loop-distribution.c (distribute_loop): Fix declaration and
   39324 	initialization of variable res to agree with return type.
   39325 
   39326 2010-01-22  Steve Ellcey  <sje (a] cup.hp.com>
   39327 
   39328 	* Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
   39329 	* tree-sra.c: Add include of expr.h.
   39330 
   39331 2010-01-22  Jakub Jelinek  <jakub (a] redhat.com>
   39332 
   39333 	* tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
   39334 	insert the debug stmt on the single non-EH edge from the stmt.
   39335 
   39336 2010-01-22  Richard Henderson  <rth (a] redhat.com>
   39337 
   39338 	PR tree-opt/42833
   39339 	* tree-sra.c (sra_modify_assign): Delay re-gimplification of
   39340 	the RHS until after generate_subtree_copies has insertted its
   39341 	code before the current statement.
   39342 
   39343 2010-01-22  Joern Rennecke  <amylaar (a] spamcop.net>
   39344 
   39345 	* doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
   39346 
   39347 	* gcc-plugin.h (plugin_init): Use "C" likage for c++.
   39348 
   39349 2010-01-21  Martin Jambor  <mjambor (a] suse.cz>
   39350 
   39351 	PR tree-optimization/42585
   39352 	* tree-sra.c (struct access): New field grp_total_scalarization.
   39353 	(dump_access): Dump the new field.
   39354 	(should_scalarize_away_bitmap): New variable.
   39355 	(cannot_scalarize_away_bitmap): Likewise.
   39356 	(sra_initialize): Allocate new bitmaps.
   39357 	(sra_deinitialize): Free new bitmaps.
   39358 	(create_access_1): New function.
   39359 	(create_access): Parts moved to create_access_1.
   39360 	(type_consists_of_records_p): New function.
   39361 	(completely_scalarize_record): Likewise.
   39362 	(build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
   39363 	(build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
   39364 	(sort_and_splice_var_accesses): Hint groups with a total_scalarization
   39365 	access.
   39366 	(analyze_all_variable_accesses): Completely scalarize small eligible
   39367 	records.
   39368 
   39369 2010-01-21  Martin Jambor  <mjambor (a] suse.cz>
   39370 
   39371 	* tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
   39372 
   39373 2010-01-21  Andrew Haley  <aph (a] redhat.com>
   39374 
   39375 	* gcc.c (process_command): Move lang_specific_driver before
   39376 	setting cc_libexec_prefix.
   39377 
   39378 2010-01-21  Richard Guenther  <rguenther (a] suse.de>
   39379 
   39380 	PR middle-end/19988
   39381 	* fold-const.c (negate_expr_p): Pretend only negative
   39382 	real constants are easily negatable.
   39383 
   39384 2010-01-20  Janis Johnson  <janis187 (a] us.ibm.com>
   39385 	    Jason Merrill  <jason (a] redhat.com>
   39386 
   39387 	* tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
   39388 	(TYPE_TRANSPARENT_AGGR): this, for union and record.
   39389 	* calls.c (initialize argument_information): Handle it.
   39390 	* c-common.c (handle_transparent_union_attribute): Use new name.
   39391 	* c-decl.c (finish_struct): Ditto.
   39392 	* c-typeck.c (type_lists_compatible_p): Ditto.
   39393 	(convert_for_assignment): Use new name and also handle record.
   39394 	* function.c (aggregate_value_p): Handle it.
   39395 	(pass_by_reference): Ditto.
   39396 	(assign_parm_data_types): Ditto.
   39397 	* print-tree.c (print_node): Ditto.
   39398 	* lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
   39399 	* lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
   39400 	* tree.c (first_field): New fn.
   39401 
   39402 2010-01-21  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   39403 
   39404 	PR target/42818
   39405 	* config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
   39406 	even when linking statically, for now.
   39407 
   39408 2010-01-20  Alexandre Oliva  <aoliva (a] redhat.com>
   39409 
   39410 	PR debug/42715
   39411 	* var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
   39412 	without a cselib val.
   39413 	(count_uses): Accept MO_VAL_SET with no val on stores.
   39414 	(add_stores): Likewise.
   39415 
   39416 2010-01-20  Jakub Jelinek  <jakub (a] redhat.com>
   39417 
   39418 	* var-tracking.c (check_value_val): Add a compile time assertion.
   39419 	(dv_is_decl_p): Simplify.
   39420 	(dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
   39421 	gcc_assert if ENABLE_CHECKING.
   39422 
   39423 2010-01-20  Alexandre Oliva  <aoliva (a] redhat.com>
   39424 
   39425 	PR debug/42782
   39426 	* var-tracking.c: Include tree-flow.h.
   39427 	(mem_dies_at_call): New.
   39428 	(dataflow_set_preserve_mem_locs): Use it.
   39429 	(dataflow_set_remove_mem_locs): Likewise.
   39430 	(dump_var): Renamed from dump_variable.  Adjust all callers.
   39431 	(dump_var_slot): Renamed from dump_variable_slot.  Likewise.
   39432 	* Makefile.in (var-tracking.o): Adjust deps.
   39433 
   39434 2010-01-20  Joern Rennecke  <amylaar (a] spamcop.net>
   39435 
   39436 	* doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
   39437 
   39438 2010-01-20  Richard Guenther  <rguenther (a] suse.de>
   39439 
   39440 	PR tree-optimization/42717
   39441 	* tree-ssa-dce.c (get_live_post_dom): Remove.
   39442 	(forward_edge_to_pdom): Take an arbitrary edge to copy
   39443 	degenerate PHI args from.
   39444 	(remove_dead_stmt): Use the first post-dominator even if it
   39445 	does not contain live statements as redirection destination.
   39446 
   39447 2010-01-20  Richard Guenther  <rguenther (a] suse.de>
   39448 
   39449 	* tree-inline.c (estimate_num_insns): Handle EH builtins.
   39450 
   39451 2010-01-20  Jakub Jelinek  <jakub (a] redhat.com>
   39452 
   39453 	* sel-sched.c (create_speculation_check): Remove set but not used
   39454 	variable twin.
   39455 	(try_transformation_cache): Remove set but not used variable ds.
   39456 	(calculate_privileged_insns): Remove set but not used variables
   39457 	cur_insn and min_spec_insn.
   39458 	(find_best_expr): Remove set but not used variable avail_n.
   39459 	* tree-predcom.c (base_names_in_chain_on): Remove set but not used
   39460 	variable e.
   39461 	* cgraphunit.c (assemble_thunk): Remove set but not used variable
   39462 	false_label.
   39463 	* haifa-sched.c (remove_notes): Remove set but not used variable prev.
   39464 	* graphite-clast-to-gimple.c (gloog): Remove set but not used variable
   39465 	new_scop_exit_edge.
   39466 
   39467 2010-01-20  Felyza Wishbringer  <fwishbringer (a] gmail.com>
   39468 
   39469 	PR bootstrap/42786
   39470 	* config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
   39471 	cpu types.  Add support for *-sse3 cpu types.
   39472 	(x86_64-*-*): Ditto.
   39473 
   39474 2010-01-20  Jakub Jelinek  <jakub (a] redhat.com>
   39475 
   39476 	PR middle-end/42803
   39477 	* varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
   39478 	argument, call initializer_constant_valid_p_1 instead of
   39479 	initializer_constant_valid_p, pass CACHE to it, return NULL
   39480 	immediately if first call returns NULL.
   39481 	(initializer_constant_valid_p_1): New function.
   39482 	(initializer_constant_valid_p): Use it.
   39483 
   39484 2010-01-20  Thomas Quinot  <quinot (a] adacore.com>
   39485 
   39486 	* tree.def (PLACEHOLDER_EXPR): Fix comment.
   39487 
   39488 2010-01-20  Jakub Jelinek  <jakub (a] redhat.com>
   39489 
   39490 	* dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
   39491 	of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
   39492 	(loc_list_from_tree): Don't handle unsigned division.  Handle
   39493 	signed modulo using DW_OP_{over,over,div,mul,minus}.
   39494 	* unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
   39495 	modulo instead of signed.
   39496 
   39497 2010-01-20  DJ Delorie  <dj (a] redhat.com>
   39498 
   39499 	* config/h8300/h8300.c (F): Add "in_epilogue" flag.
   39500 	(Fpa): Pass it
   39501 	(h8300_emit_stack_adjustment): Propogate it.
   39502 	(push): Pass it.
   39503 	(h8300_expand_prologue): Likewise.
   39504 	(h8300_expand_epilogue): Likewise.
   39505 
   39506 2010-01-19  Michael Matz  <matz (a] suse.de>
   39507 
   39508 	PR tree-optimization/41783
   39509 	* tree-data-ref.c (toplevel): Include flags.h.
   39510 	(dump_data_dependence_relation):  Also dump the inputs if the
   39511 	result will be unknown.
   39512 	(split_constant_offset_1): Look through some conversions.
   39513 	* tree-predcom.c (determine_roots_comp): Restart a new chain if
   39514 	the offset from last element is too large.
   39515 	(ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
   39516 	(reassociate_to_the_same_stmt): Handle vector registers.
   39517 	* tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
   39518 	(e.g. conversions).
   39519 	* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
   39520 	wide_prolog_niters argument, emit widening instructions.
   39521 	(vect_do_peeling_for_alignment): Adjust caller, use widened
   39522 	variant of the iteration cound.
   39523 	* Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
   39524 
   39525 2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan (a] arm.com>
   39526 
   39527 	PR target/38697
   39528 	* config/arm/neon-testgen.m (emit_automatics): New parameter
   39529 	features. Adjust for Fixed_return_reg feature.
   39530 	(test_intrinsic): Call emit_automatics with new feature.
   39531 	* config/arm/neon.ml: Update copyright years.
   39532 	(features): New Fixed_return_reg feature.
   39533 	(ops): Update feature for Vget_low.
   39534 
   39535 2010-01-19  Jakub Jelinek  <jakub (a] redhat.com>
   39536 
   39537 	PR tree-optimization/42719
   39538 	* tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
   39539 	stmt uses.
   39540 
   39541 	PR debug/42728
   39542 	* fwprop.c (all_uses_available_at): Return false if def_set dest
   39543 	is a REG that is used in def_insn.
   39544 
   39545 2010-01-19  Joern Rennecke  <amylaar (a] spamcop.net>
   39546 
   39547 	* doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
   39548 
   39549 	(TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
   39550 	Add argument names.
   39551 
   39552 	(TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
   39553 
   39554 	* target.h (struct gcc_target) <secondary_reload>: Change type
   39555 	of last argument to secondary_reload_info *.
   39556 
   39557 2010-01-18  Uros Bizjak  <ubizjak (a] gmail.com>
   39558 
   39559 	PR target/42774
   39560 	* config/alpha/predicates.md (aligned_memory_operand): Return 0 for
   39561 	memory references with unaligned offsets.  Remove CQImode handling.
   39562 	(unaligned_memory_operand): Return 1 for memory references with
   39563 	unaligned offsets.  Remove CQImode handling.
   39564 
   39565 2010-01-18  Richard Guenther  <rguenther (a] suse.de>
   39566 
   39567 	PR middle-end/39954
   39568 	* cfgexpand.c (expand_call_stmt): TER pointer arguments in
   39569 	builtin calls.
   39570 
   39571 2010-01-18  Richard Guenther  <rguenther (a] suse.de>
   39572 
   39573 	PR tree-optimization/42781
   39574 	* tree-ssa-structalias.c (find_what_var_points_to): Skip
   39575 	restrict processing only if the original variable was artificial.
   39576 
   39577 2010-01-18  Joern Rennecke  <amylaar (a] spamcop.net>
   39578 
   39579 	* doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
   39580 	find number of popped argument bytes.
   39581 
   39582 	(TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
   39583 	Fix the text that describes the return value for invalid insns.
   39584 
   39585 	(TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
   39586 
   39587 	(TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
   39588 	Clarify what 'cost of the -dependence' is.  Fix quoting.
   39589 
   39590 	* toplev.c (default_get_pch_validity): Rename argument to "sz".
   39591 	* doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
   39592 
   39593 2010-01-17  Jakub Jelinek  <jakub (a] redhat.com>
   39594 
   39595 	* dwarf2out.c (mem_loc_descriptor): Don't ICE on
   39596 	{S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
   39597 
   39598 2010-01-17  Richard Guenther  <rguenther (a] suse.de>
   39599 
   39600 	PR middle-end/42248
   39601 	* function.c (split_complex_args): Take a VEC to modify.
   39602 	(assign_parms_augmented_arg_list): Build a VEC instead of
   39603 	a chain of PARM_DECLs.
   39604 	(assign_parms_unsplit_complex): Take a VEC of arguments.
   39605 	Do not fixup unmodified parms.
   39606 	(assign_parms): Deal with the VEC.
   39607 	(gimplify_parameters): Likewise.
   39608 
   39609 2010-01-17  Richard Guenther  <rguenther (a] suse.de>
   39610 
   39611 	* tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
   39612 	node existence check.
   39613 	* tree-vect-loop.c (vect_analyze_loop_form): Likewise.
   39614 	* tree-cfgcleanup.c (merge_phi_nodes): Likewise.
   39615 	* tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
   39616 	* tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
   39617 	(gimple_execute_on_growing_pred): Likewise.
   39618 
   39619 2010-01-17  Richard Guenther  <rguenther (a] suse.de>
   39620 
   39621 	PR tree-optimization/42773
   39622 	* tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
   39623 	(compute_antic_aux): Likewise.
   39624 	(compute_partial_antic_aux): Likewise.
   39625 
   39626 2010-01-17  Jie Zhang  <jie.zhang (a] analog.com>
   39627 
   39628 	PR debug/42767
   39629 	* dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
   39630 	and US_TRUNCATE.
   39631 
   39632 2010-01-17  Joern Rennecke  <amylaar (a] spamcop.net>
   39633 
   39634 	* doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
   39635 	appearance.
   39636 
   39637 	(TARGET_LEGITIMATE_ADDRESS_P): Add return type.
   39638 	Fix markup for strict argument.
   39639 
   39640 	(TARGET_SCHED_REORDER2): Fix argument types.
   39641 
   39642 	(TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
   39643 	(TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
   39644 
   39645 	(TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
   39646 	(TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
   39647 
   39648 	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
   39649 	Add argument name.
   39650 
   39651 	(TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
   39652 	(TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
   39653 	(TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
   39654 	(TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
   39655 	(TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
   39656 
   39657 	(TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
   39658 
   39659 	(TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
   39660 
   39661 	(TARGET_ASM_RELOC_RW_MASK): Add return type.
   39662 	(TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
   39663 
   39664 	(TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
   39665 
   39666 	(TARGET_ASM_FILE_START): Put @findex before paragraph start.
   39667 	Use prototype.
   39668 
   39669 	(TARGET_ASM_NAMED_SECTION): Fix argument list.
   39670 
   39671 	(TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
   39672 	(TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
   39673 
   39674 	(TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
   39675 
   39676 	(TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
   39677 
   39678 	(TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
   39679 	referring to it.  Fix language.
   39680 
   39681 	(TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
   39682 
   39683 	(TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
   39684 
   39685 	(TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
   39686 
   39687 	(TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
   39688 
   39689 	(TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
   39690 	'@var{stream}.  Remove stray 'and'.
   39691 
   39692 	(TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
   39693 
   39694 	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
   39695 
   39696 	(TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
   39697 
   39698 	(TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
   39699 	misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
   39700 
   39701 	(TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
   39702 	Fix description of return value.
   39703 	Rename argument "sz" to "len."
   39704 
   39705 	(TARGET_CXX_GUARD_MASK_BIT): Add missing article.
   39706 	Clarify meaning of 'true' return value.
   39707 
   39708 	(TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
   39709 
   39710 	(TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
   39711 	rep_mode versus mode_rep.
   39712 
   39713 	(TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
   39714 
   39715 	(TARGET_BUILTIN_DECL): Fix name.
   39716 
   39717 	(TARGET_COMMUTATIVE_P): Fix type of first argument.
   39718 
   39719 	(TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
   39720 
   39721 	(TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
   39722 
   39723 	(TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
   39724 
   39725 	(TARGET_RELAXED_ORDERING): Use @deftypevr.
   39726 
   39727 	(TARGET_GET_DRAP_RTX): Note that this is a hook.
   39728 	Clarify language.
   39729 
   39730 	(TARGET_BUILTIN_RECIPROCAL): Fix argument types.
   39731 	Rename argument tm_fn to md_fn.
   39732 
   39733 	(TARGET_OPTION_PRINT): Fix argument list.
   39734 
   39735 2010-01-16  Harsha Jagasia  <harsha.jagasia (a] amd.com>
   39736 
   39737 	PR target/42664
   39738 	* config/i386/i386.c (ix86_fixup_binary_operands):
   39739 	Revert FMA4 fixup of operands.
   39740 
   39741 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   39742 
   39743 	PR other/42525
   39744 	* Makefile.in (write_entries_to_file, install-plugin):
   39745 	Use \012 instead of \n with tr.
   39746 
   39747 2010-01-16  Richard Sandiford  <r.sandiford (a] uk.ibm.com>
   39748 
   39749 	* configure.ac (HAVE_AS_REF): New C macro.
   39750 	* configure: Regenerate.
   39751 	* config.in: Likewise.
   39752 	* collect2.c (main): Only postpone SCAN_DWEH to the second pass
   39753 	if HAVE_AS_REF.
   39754 	* config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
   39755 	if HAVE_AS_REF.
   39756 
   39757 2010-01-16  Joern Rennecke  <amylaar (a] spamcop.net>
   39758 
   39759 	* doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
   39760 
   39761 	(TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
   39762 
   39763 	(TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
   39764 
   39765 	(TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
   39766 
   39767 	(TARGET_IN_SMALL_DATA_P): Fix argument type.
   39768 
   39769 	(TARGET_BINDS_LOCAL_P): Fix argument type.
   39770 
   39771 	(TARGET_ASM_FILE_END): Use prototype.
   39772 
   39773 	(TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
   39774 
   39775 	(TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
   39776 
   39777 	(TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
   39778 
   39779 	(TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
   39780 
   39781 	(TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
   39782 	(TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
   39783 
   39784 	(TARGET_PCH_VALID_P): Put 'const char *' in braces.
   39785 	(TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
   39786 
   39787 	(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
   39788 	(TARGET_ADDR_SPACE_SUBSET_P): Likewise.
   39789 	(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
   39790 	(TARGET_ADDR_SPACE_CONVERT): Likewise.
   39791 
   39792 	(TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
   39793 
   39794 	(TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
   39795 
   39796 	(TARGET_INIT_BUILTINS): Use prototype.
   39797 
   39798 	(TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
   39799 	Put 'const char *' in braces.  Fix parameter types.
   39800 	(TARGET_INVALID_CONVERSION): Fix parameter types.
   39801 	(TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
   39802 	(TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
   39803 
   39804 	(TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
   39805 	Fix argument type.
   39806 
   39807 	(TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
   39808 
   39809 	(TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
   39810 
   39811 2010-01-15  Joern Rennecke  <amylaar (a] spamcop.net>
   39812 
   39813 	* doc/tm.texi (TARGET_HELP): Fix return type.
   39814 
   39815 	(TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
   39816 	in braces.  Fix argument types.
   39817 
   39818 	(TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
   39819 
   39820 	(TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
   39821 
   39822 	(TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
   39823 
   39824 	(TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
   39825 	(TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
   39826 
   39827 	(TARGET_MANGLE_TYPE): Fix argument types.
   39828 
   39829 	(TARGET_IRA_COVER_CLASSES): Use prototype.
   39830 
   39831 	(TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
   39832 
   39833 	(TARGET_CAN_ELIMINATE): Use identifiers for argument names.
   39834 
   39835 	(TARGET_PROMOTE_PROTOTYPES): Fix argument type.
   39836 
   39837 	(TARGET_MUST_PASS_IN_STACK): Fix argument type.
   39838 
   39839 	(TARGET_CALLEE_COPIES): Fix argument types.
   39840 
   39841 	(TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
   39842 
   39843 	(TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
   39844 
   39845 	(TARGET_FUNCTION_VALUE): Fix argument types.
   39846 
   39847 	(TARGET_RETURN_IN_MSB): Fix argument type.
   39848 
   39849 	(TARGET_RETURN_IN_MEMORY): Fix argument types.
   39850 
   39851 	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
   39852 
   39853 	(TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
   39854 
   39855 	(TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
   39856 	agree with return type.
   39857 
   39858 	(TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
   39859 
   39860 2010-01-15  Jing Yu  <jingyu (a] google.com>
   39861 
   39862 	PR rtl-optimization/42691
   39863 	* combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
   39864 	a pseudo to a constant and are merged, and adjust comments.
   39865 
   39866 2010-01-15  Eric Botcazou  <ebotcazou (a] adacore.com>
   39867 
   39868 	* config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
   39869 
   39870 2010-01-15  Richard Guenther  <rguenther (a] suse.de>
   39871 
   39872 	PR middle-end/42739
   39873 	* tree-cfgcleanup.c (remove_forwarder_block): Move destination
   39874 	labels of computed or non-local gotos to the destination.
   39875 	* tree-cfg.c (gimple_verify_flow_info): Verify that a EH
   39876 	landing pad label is the first label.
   39877 
   39878 2010-01-15  Richard Guenther  <rguenther (a] suse.de>
   39879 
   39880 	* tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
   39881 
   39882 2010-01-14  Michael Meissner  <meissner (a] linux.vnet.ibm.com>
   39883 
   39884 	PR target/42747
   39885 	* config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
   39886 	to allow generation of the xssqrtdp instruction on power7.
   39887 	(sqrtdf2_fpr): Ditto.
   39888 
   39889 2010-01-14  Jakub Jelinek  <jakub (a] redhat.com>
   39890 
   39891 	PR middle-end/42674
   39892 	* c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
   39893 	functions with noreturn attribute.
   39894 
   39895 	PR c++/42608
   39896 	* varasm.c (declare_weak): Add weak attribute to decl if it
   39897 	doesn't have one already.
   39898 	(assemble_external): Only add decls to weak_decls if they also
   39899 	have weak attribute.
   39900 
   39901 2010-01-14  Alexandre Oliva  <aoliva (a] redhat.com>
   39902 
   39903 	* var-tracking.c (var_reg_delete): Don't delete the association
   39904 	between REGs and values or one-part variables if the register
   39905 	isn't clobbered.
   39906 
   39907 2010-01-14  Jakub Jelinek  <jakub (a] redhat.com>
   39908 
   39909 	PR debug/42657
   39910 	* tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
   39911 	because its first operand is a non-localized variable.
   39912 
   39913 2010-01-14  Martin Jambor  <mjambor (a] suse.cz>
   39914 
   39915 	PR tree-optimization/42706
   39916 	* tree-sra.c (encountered_recursive_call): New variable.
   39917 	(encountered_unchangable_recursive_call): Likewise.
   39918 	(sra_initialize): Initialize both new variables.
   39919 	(callsite_has_enough_arguments_p): New function.
   39920 	(scan_function): Call decl and flags check only for IPA-SRA, check
   39921 	whether there is a recursive call and whether it has enough arguments.
   39922 	(all_callers_have_enough_arguments_p): New function.
   39923 	(convert_callers): Look for recursive calls only when
   39924 	encountered_recursive_call is set.
   39925 	(ipa_early_sra): Bail out either if
   39926 	!all_callers_have_enough_arguments_p or
   39927 	encountered_unchangable_recursive_call.
   39928 
   39929 2010-01-14  Alexander Monakov  <amonakov (a] ispras.ru>
   39930 
   39931 	* sel-sched.c: Add 2010 to copyright years.
   39932 	* sel-sched-ir.c: Likewise.
   39933 	* sel-sched-ir.h: Likewise.
   39934 
   39935 2010-01-14  Martin Jambor  <mjambor (a] suse.cz>
   39936 
   39937 	PR tree-optimization/42714
   39938 	* tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
   39939 	constructors specially.
   39940 
   39941 2010-01-14  Andi Kleen  <ak (a] linux.intel.com>
   39942 
   39943 	* config/i386/drivers-i386.c (detect_caches_intel):
   39944 	Add l2sizekb parameter and fill in.
   39945 	(host_detect_local_cpu): Add l2sizekb, fill in.
   39946 	Add Atom small cache heuristic.
   39947 
   39948 2010-01-14  Andi Kleen  <ak (a] linux.intel.com>
   39949 
   39950 	* config/i386/drivers-i386.c (detect_caches_cpuid4):
   39951 	Add level3 parameter and fill in.
   39952 	(detect_caches_intel): Handle level3 cache.
   39953 
   39954 2010-01-14  Andi Kleen  <ak (a] linux.intel.com>
   39955 
   39956 	* config/i386/drivers-i386.c (host_detect_local_cpu):
   39957 	Fix core duo detection.
   39958 
   39959 2010-01-14  Andi Kleen  <ak (a] linux.intel.com>
   39960 
   39961 	* config/i386/drivers-i386.c (host_detect_local_cpu):
   39962 	Fix Atom detection.
   39963 
   39964 2010-01-14  Alexander Monakov  <amonakov (a] ispras.ru>
   39965 
   39966 	* config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
   39967 	(rs6000_variable_issue_1): this.  Use...
   39968 	(rs6000_variable_issue): here.  Reimplement.  Print debug info.
   39969 
   39970 2010-01-14  Alexander Monakov  <amonakov (a] ispras.ru>
   39971 
   39972 	* sel-sched-ir.c (sel_restore_other_notes): Rename to
   39973 	sel_restore_notes.  Update all callers.  Call reemit_notes
   39974 	for all insns.
   39975 
   39976 2010-01-14  Andrey Belevantsev  <abel (a] ispras.ru>
   39977 
   39978 	PR rtl-optimization/42246
   39979 	* sel-sched-ir.h (get_all_loop_exits): Include exits from inner
   39980 	loops.
   39981 
   39982 2010-01-14  Andrey Belevantsev  <abel (a] ispras.ru>
   39983 
   39984 	* sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
   39985 	all successors is the same as number of successors in current region.
   39986 
   39987 2010-01-14  Alexander Monakov  <amonakov (a] ispras.ru>
   39988 
   39989 	* sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
   39990 	to rename is not separable.  Otherwise check that its LHS is not NULL.
   39991 
   39992 2010-01-14  Alexander Monakov  <amonakov (a] ispras.ru>
   39993 
   39994 	* sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
   39995 
   39996 2010-01-14  Alexander Monakov  <amonakov (a] ispras.ru>
   39997 
   39998 	* sel-sched.c (mark_unavailable_hard_regs): Do not try to search
   39999 	available registers when failed to discover LHS register class.
   40000 	Fix indentation.  Update comment.
   40001 
   40002 2010-01-14  Andrey Belevantsev  <abel (a] ispras.ru>
   40003 	    Alexander Monakov  <amonakov (a] ispras.ru>
   40004 
   40005 	PR rtl-optimization/42389
   40006 	* sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
   40007 	to can_issue_more.
   40008 	(advance_state_on_fence): Likewise.
   40009 	(sel_target_adjust_priority): Print debug output only when
   40010 	sched_verbose >= 4, not 2.
   40011 	(get_expr_cost): Do not issue all unique insns on the next cycle.
   40012 	(fill_insns): Initialize can_issue_more from the value saved
   40013 	with the fence.
   40014 	* sel-sched-ir.c (flist_add): New parameter issue_more.
   40015 	Init FENCE_ISSUE_MORE with it.
   40016 	(merge_fences): Likewise.
   40017 	(init_fences): Update call to flist_add.
   40018 	(add_to_fences, add_clean_fence_to_fences)
   40019 	(add_dirty_fence_to_fences): Likewise.
   40020 	(move_fence_to_fences): Update call to merge_fences.
   40021 	(invoke_reorder_hooks): Do not reset can_issue_more on insns from
   40022 	sched groups.
   40023 	* sel-sched-ir.h (struct _fence): New field issue_more.
   40024 	(FENCE_ISSUE_MORE): New accessor macro.
   40025 
   40026 2010-01-14  Andrey Belevantsev  <abel (a] ispras.ru>
   40027 
   40028 	PR rtl-optimization/42388
   40029 	* sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
   40030 	that have no predecessors nor successors.  Do not call move_bb_info
   40031 	for empty blocks outside of current region.
   40032 
   40033 2010-01-14  Alexander Monakov  <amonakov (a] ispras.ru>
   40034 
   40035 	PR rtl-optimization/42294
   40036 	* sel-sched-ir.h (struct _sel_insn_data): Update comment.
   40037 	* sel-sched.c (move_exprs_to_boundary): Transitively add all
   40038 	originators' originators.
   40039 
   40040 2010-01-14  Alexander Monakov  <amonakov (a] ispras.ru>
   40041 
   40042 	PR rtl-optimization/39453
   40043 	PR rtl-optimization/42246
   40044 	* sel-sched-ir.c (considered_for_pipelining_p): Do not test
   40045 	for pipelining_p.
   40046 	(sel_add_loop_preheaders): Add preheader to last_added_blocks.
   40047 
   40048 2010-01-14  Andrey Belevantsev  <abel (a] ispras.ru>
   40049 	    Alexander Monakov  <amonakov (a] ispras.ru>
   40050 
   40051 	PR middle-end/42245
   40052 	* sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
   40053 	(maybe_tidy_empty_bb): ... here.  Make static.  Add new
   40054 	argument.  Update all callers.
   40055 	(tidy_control_flow): ... and here.  Recompute topological order
   40056 	of basic blocks in region if necessary.
   40057 	(sel_redirect_edge_and_branch): Change return type.  Return true
   40058 	if topological order might have been invalidated.
   40059 	(purge_empty_blocks): Export and move from...
   40060 	* sel-sched.c (purge_empty_blocks): ... here.
   40061 	* sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
   40062 	(maybe_tidy_empty_bb): Delete prototype.
   40063 	(purge_empty_blocks): Declare.
   40064 
   40065 2010-01-14  Andrey Belevantsev  <abel (a] ispras.ru>
   40066 
   40067 	PR rtl-optimization/42249
   40068 	* sel-sched.c (try_replace_dest_reg): When chosen register
   40069 	and original register is the same, do not bail out early, but
   40070 	still check all original insns for validity of replacing destination
   40071 	register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
   40072 	in this case.
   40073 
   40074 2010-01-14  Jakub Jelinek  <jakub (a] redhat.com>
   40075 
   40076 	PR c/42721
   40077 	Port from no-undefined-overflow branch:
   40078 	2009-03-09  Richard Guenther  <rguenther (a] suse.de>
   40079 
   40080 	* fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
   40081 
   40082 2010-01-14  Richard Guenther  <rguenther (a] suse.de>
   40083 
   40084 	PR lto/42665
   40085 	* gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
   40086 
   40087 2010-01-14  Ira Rosen  <irar (a] il.ibm.com>
   40088 
   40089 	PR tree-optimization/42709
   40090 	* tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
   40091 	as scalar type in creation of constant vector operand.
   40092 
   40093 2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   40094 
   40095 	PR testsuite/42414
   40096 	* Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
   40097 	(check-parallel-%): Match `testsuite' directory component only
   40098 	at the end.
   40099 
   40100 2010-01-14  Shujing Zhao  <pearly.zhao (a] oracle.com>
   40101 
   40102 	PR translation/39521
   40103 	* gcc.c (do_spec_1): Wrapped the error and notice messages of specs
   40104 	strings with _().
   40105 
   40106 2010-01-13  Richard Guenther  <rguenther (a] suse.de>
   40107 
   40108 	PR tree-optimization/42730
   40109 	* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
   40110 	offset zero.
   40111 
   40112 2010-01-13  Steve Ellcey  <sje (a] cup.hp.com>
   40113 
   40114 	PR target/pr42542
   40115 	* config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
   40116 	for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
   40117 	them signed.
   40118 
   40119 2010-01-13  Bernd Schmidt  <bernd.schmidt (a] analog.com>
   40120 
   40121 	* config/bfin/libgcc-bfin.ver: Regenerate based on current
   40122 	libgcc-std.ver.  Add entries for ___smulsi3_highpart and
   40123 	___umulsi3_highpart.
   40124 
   40125 	* config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
   40126 	rather than schedule_insns if the pass is enabled.
   40127 
   40128 2010-01-13  Martin Jambor  <mjambor (a] suse.cz>
   40129 
   40130 	PR tree-optimization/42704
   40131 	* tree-sra.c (sra_modify_assign): Do not delete assignments to
   40132 	SSA_NAMEs.
   40133 
   40134 2010-01-13  Martin Jambor  <mjambor (a] suse.cz>
   40135 
   40136 	PR tree-optimization/42703
   40137 	* tree-sra.c (analyze_access_subtree): Check that we can build a
   40138 	reference to the original data within the aggregate.
   40139 
   40140 2010-01-13  Richard Guenther  <rguenther (a] suse.de>
   40141 
   40142 	PR tree-optimization/42705
   40143 	* tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
   40144 
   40145 2010-01-13  Richard Guenther  <rguenther (a] suse.de>
   40146 
   40147 	PR middle-end/42716
   40148 	* fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
   40149 
   40150 2010-01-13  Jakub Jelinek  <jakub (a] redhat.com>
   40151 
   40152 	PR debug/41371
   40153 	* var-tracking.c (values_to_unmark): New variable.
   40154 	(find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
   40155 	values_to_unmark vector.  Moved body to...
   40156 	(find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
   40157 	instead queue it into values_to_unmark vector.
   40158 	(vt_find_locations): Free values_to_unmark vector.
   40159 
   40160 2010-01-13  Wolfgang Gellerich  <gellerich (a] de.ibm.com>
   40161 
   40162 	* config/s390/s390.c (override_options): Set
   40163 	default of max-pending-list-length to 256
   40164 
   40165 2010-01-13  Richard Guenther  <rguenther (a] suse.de>
   40166 
   40167 	PR lto/42678
   40168 	* tree-pass.h (PROP_gimple_lcx): New.
   40169 	* cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
   40170 	* passes.c (init_optimization_passes): Move pass_lower_complex_O0
   40171 	before the final cleanup_eh.
   40172 	(dump_properties): Dump PROP_gimple_lcx.
   40173 	* tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
   40174 	(tree_lower_complex_O0): Remove.
   40175 	(gate_no_optimization): Run if PROP_gimple_lcx is not set.
   40176 	(pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
   40177 	tree_lower_complex, schedule TODO_update_ssa.
   40178 	* lto-streamer-out.c (output_function): Stream the functions
   40179 	properties.
   40180 	* lto-streamer-in.c (input_function): Likewise.
   40181 	(lto_read_body): Do not override them here.
   40182 
   40183 2010-01-12  Joseph Myers  <joseph (a] codesourcery.com>
   40184 
   40185 	PR c/42708
   40186 	* c-typeck.c (build_c_cast): Fold value cast to union type before
   40187 	wrapping it in a CONSTRUCTOR.
   40188 
   40189 2010-01-12  Jakub Jelinek  <jakub (a] redhat.com>
   40190 
   40191 	PR rtl-optimization/42699
   40192 	* cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
   40193 	involved.
   40194 
   40195 2010-01-12  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   40196 
   40197 	* config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
   40198 	SUBTARGET_WARN_UNUSED_SPEC): Move ...
   40199 	config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
   40200 	SUBTARGET_WARN_UNUSED_SPEC): ... here
   40201 	* config/mips/iris5.h (LIBGCC_SPEC): Define.
   40202 
   40203 2010-01-12  Julian Brown  <julian (a] codesourcery.com>
   40204 
   40205 	* config/arm/neon-schedgen.ml (Utils): Don't try to
   40206 	open missing module.
   40207 	(find_with_result): New.
   40208 
   40209 2010-01-12  Jakub Jelinek  <jakub (a] redhat.com>
   40210 
   40211 	PR debug/42662
   40212 	* simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
   40213 	sharing when canonicalizing ({lt,ge}u (plus a b) b).
   40214 
   40215 	PR tree-optimization/42645
   40216 	* tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
   40217 	(remap_ssa_name): If processing_debug_stmt and name wasn't found in
   40218 	decl_map, set processing_debug_stmt to -1 and return name without
   40219 	any remapping.
   40220 
   40221 2010-01-11  Dave Korn  <dave.korn.cygwin (a] gmail.com>
   40222 
   40223 	* doc/install.texi (Specific#x-x-cygwin): Document minimum required
   40224 	binutils version, and reword target configuration description.
   40225 
   40226 2010-01-11  Andy Hutchinson  <hutchinsonandy (a] gcc.gnu.org>
   40227 
   40228 	* config/avr/avr.h (LINKER_NAME): Remove.
   40229 
   40230 2010-01-11  Janis Johnson  <janis187 (a] us.ibm.com>
   40231 
   40232 	PR target/42416
   40233 	* config/rs6000/rs6000.c (rs6000_override_options): On targets
   40234 	that support VSX, warn for -mno-altivec if vsx is not disabled,
   40235 	and disable vsx.
   40236 
   40237 2010-01-11  Joseph Myers  <joseph (a] codesourcery.com>
   40238 	    Shujing Zhao  <pearly.zhao (a] oracle.com>
   40239 
   40240 	PR translation/42469
   40241 	* common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
   40242 	fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
   40243 	character between option name and help text.
   40244 	* c.opt (imultilib): Likewise.
   40245 
   40246 2010-01-10  Rafael Avila de Espindola  <espindola (a] google.com>
   40247 
   40248 	* lto-streamer-out.c (output_unreferenced_globals): Output static
   40249 	variables.
   40250 
   40251 2010-01-10  Steven Bosscher  <steven (a] gcc.gnu.org>
   40252 
   40253 	PR rtl-optimization/42621
   40254 	* bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
   40255 	optimizing for size.
   40256 	(duplicate_computed_gotos): Remove now-redundant check.
   40257 
   40258 2010-01-10  Steve Ellcey  <sje (a] cup.hp.com>
   40259 
   40260 	PR target/37454
   40261 	* configure.ac: Save and restore LDFLAGS and LIBS
   40262 	* configure: Regenerate.
   40263 
   40264 2010-01-10  Richard Guenther  <rguenther (a] suse.de>
   40265 
   40266 	PR middle-end/42667
   40267 	* builtins.c (fold_builtin_strlen): Add type argument and
   40268 	convert the resulting length to it.
   40269 	(fold_builtin_1): Adjust.
   40270 
   40271 2010-01-09  Jakub Jelinek  <jakub (a] redhat.com>
   40272 
   40273 	* config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
   40274 	sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
   40275 	1 insn.
   40276 	(num_insns_constant_wide): Adjust for that change.
   40277 
   40278 2010-01-09  Alexandre Oliva  <aoliva (a] redhat.com>
   40279 
   40280 	PR debug/42631
   40281 	* web.c (union_defs): Add used argument, to combine uses of
   40282 	uninitialized regs.
   40283 	(entry_register): Adjust type and tests of used argument.
   40284 	(web_main): Widen used for new use.  Pass it to union_defs.
   40285 	* df.h (union_defs): Adjust prototype.
   40286 
   40287 2010-01-09  Alexandre Oliva  <aoliva (a] redhat.com>
   40288 
   40289 	PR debug/42630
   40290 	* loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
   40291 	uses in new incoming argument.  Free body.
   40292 	(reset_debug_uses_in_loop): New.
   40293 	(analyze_insn_to_expand_var): Call the latter if the former found
   40294 	anything.  Fix whitespace.  Reject invalid dest overlaps before
   40295 	going through all insns in the loop.
   40296 
   40297 2010-01-09  Alexandre Oliva  <aoliva (a] redhat.com>
   40298 
   40299 	PR debug/42629
   40300 	* haifa-sched.c (dying_use_p): Debug insns don't count.
   40301 
   40302 2010-01-09  Alexandre Oliva  <aoliva (a] redhat.com>
   40303 
   40304 	PR middle-end/42363
   40305 	* gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
   40306 	* tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
   40307 	(verify_gimple_call): Reject LHS in noreturn calls.
   40308 
   40309 2010-01-09  Alexandre Oliva  <aoliva (a] redhat.com>
   40310 
   40311 	PR debug/42604
   40312 	PR debug/42395
   40313 	* tree-vect-loop-manip.c (adjust_info): New type.
   40314 	(adjust_vec): New pointer to vector.
   40315 	(adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
   40316 	(adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
   40317 	(slpeel_update_phis_for_duplicate_loop): Use them.
   40318 	(slpeel_update_phi_nodes_for_guard1): Likewise.
   40319 	(slpeel_update_phi_nodes_for_guard2): Likewise.
   40320 	(slpeel_tree_peel_loop_to_edge): Likewise.
   40321 	(vect_update_ivs_after_vectorizer): Likewise.
   40322 
   40323 2010-01-09  Alexandre Oliva  <aoliva (a] redhat.com>
   40324 
   40325 	* vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
   40326 	(DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
   40327 
   40328 2010-01-09  Alexandre Oliva  <aoliva (a] redhat.com>
   40329 
   40330 	* config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
   40331 	bogus uninitialized warning.
   40332 
   40333 2010-01-09  Richard Guenther  <rguenther (a] suse.de>
   40334 
   40335 	PR middle-end/42512
   40336 	* tree-scalar-evolution.c (interpret_loop_phi): Make sure
   40337 	the evolution is compatible with the initial condition.
   40338 
   40339 2010-01-09  Jakub Jelinek  <jakub (a] redhat.com>
   40340 
   40341 	* gcc.c (process_command): Update copyright notice dates.
   40342 	* gcov.c (print_version): Likewise.
   40343 	* gcov-dump.c (print_version): Likewise.
   40344 	* mips-tfile.c (main): Likewise.
   40345 	* mips-tdump.c (main): Likewise.
   40346 
   40347 2010-01-08  Andy Hutchinson  <hutchinsonandy (a] gcc.gnu.org>
   40348 
   40349 	PR target/41885
   40350 	* config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
   40351 	(rotlhi3): Delete.
   40352 	(rotlhi3_8): Delete.
   40353 	(rotlsi3): Delete.
   40354 	(rotlsi3_8): Delete.
   40355 	(rotlsi3_16): Delete.
   40356 	(rotlsi3_24): Delete.
   40357 	(rotl<mode>3): New.
   40358 	(*rotw<mode>3): New.
   40359 	(*rotb<mode>3): New.
   40360 	* config/avr/avr.c (avr_rotate_bytes): New function.
   40361 	* config/avr/avr-proto.h (avr_rotate_bytes): New function.
   40362 
   40363 2010-01-08  Steve Ellcey  <sje (a] cup.hp.com>
   40364 
   40365 	PR target/37454
   40366 	* configure.ac: Modify -rdynamic check.
   40367 	* configure: Regenerate.
   40368 
   40369 2010-01-08  DJ Delorie  <dj (a] redhat.com>
   40370 
   40371 	* config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
   40372 	register popping order.
   40373 
   40374 2010-01-08  Richard Guenther  <rguenther (a] suse.de>
   40375 
   40376 	PR lto/42528
   40377 	* c.opt (fsigned-char): Also let LTO handle this option.
   40378 	(funsigned-char): Likewise.
   40379 
   40380 2010-01-07  Richard Guenther  <rguenther (a] suse.de>
   40381 
   40382 	* gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
   40383 	(gimple_op): Likewise.
   40384 	(gimple_op_ptr): Likewise.
   40385 	(gimple_assign_set_lhs): Remove gcc_assert.
   40386 	(gimple_assign_set_rhs1): Likewise.
   40387 	(gimple_assign_set_rhs2): Likewise.
   40388 	(gimple_call_set_lhs): Likewise.
   40389 	(gimple_call_set_fn): Likewise.
   40390 	(gimple_call_set_fndecl): Likewise.
   40391 	(gimple_call_fndecl): Likewise.
   40392 	(gimple_call_return_type): Likewise.
   40393 	(gimple_call_set_chain): Likewise.
   40394 	(gimple_call_num_args): Likewise.
   40395 	(gimple_call_set_arg): Likewise.
   40396 	(gimple_cond_set_code): Likewise.
   40397 	(gimple_cond_set_lhs): Likewise.
   40398 	(gimple_cond_set_rhs): Likewise.
   40399 	(gimple_cond_set_true_label): Likewise.
   40400 	(gimple_cond_set_false_label): Likewise.
   40401 	(gimple_label_set_label): Likewise.
   40402 	(gimple_goto_set_dest): Likewise.
   40403 	(gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
   40404 	(gimple_debug_bind_get_value): Likewise.
   40405 	(gimple_debug_bind_get_value_ptr): Likewise.
   40406 	(gimple_debug_bind_set_var): Likewise.
   40407 	(gimple_debug_bind_set_value): Likewise.
   40408 	(gimple_debug_bind_reset_value): Likewise.
   40409 	(gimple_debug_bind_has_value_p): Likewise.
   40410 	(gimple_return_retval_ptr): Remove gcc_assert.
   40411 	(gimple_return_retval): Likewise.
   40412 	(gimple_return_set_retval): Likewise.
   40413 	* tree-flow.h (struct gimple_df): Remove nonlocal_all member.
   40414 	(safe_referenced_var_iterator): Remove.
   40415 	(FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
   40416 	* tree-flow-inline.h (gimple_nonlocal_all): Remove.
   40417 	(fill_referenced_var_vec): Remove.
   40418 	(first_readonly_imm_use): Remove redundant gcc_assert.
   40419 	(phi_arg_index_from_use): Combine gcc_asserts.
   40420 	(move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
   40421 	(first_imm_use_stmt): Remove redundant gcc_assert.
   40422 	* tree-cfg.c (verify_gimple_call): Verify function and chain
   40423 	operands.  Verify arguments.
   40424 	(verify_types_in_gimple_stmt): Verify condition code and labels.
   40425 
   40426 2010-01-07  Richard Guenther  <rguenther (a] suse.de>
   40427 
   40428 	PR tree-optimization/42641
   40429 	* sese.c (rename_map_elt_info): Use the SSA name version, do
   40430 	not hash pointers.
   40431 
   40432 2010-01-07  Jakub Jelinek  <jakub (a] redhat.com>
   40433 
   40434 	PR tree-optimization/42625
   40435 	* cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
   40436 	TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
   40437 
   40438 2010-01-07  Duncan Sands  <baldrick (a] free.fr>
   40439 
   40440 	* Makefile.in (PLUGIN_HEADERS): Add version.h.
   40441 
   40442 2010-01-07  Uros Bizjak  <ubizjak (a] gmail.com>
   40443 
   40444 	PR target/42511
   40445 	* ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
   40446 	note itself is not function_invariant_p.
   40447 
   40448 2009-01-07  Steven Bosscher  <steven (a] gcc.gnu.org>
   40449 
   40450 	* gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
   40451 	Do not add the DF_NOTE problem.
   40452 	* store-motion.c (execute_rtl_store_motion): Likewise.
   40453 
   40454 2010-01-07  Martin Jambor  <mjambor (a] suse.cz>
   40455 
   40456 	PR tree-optimization/42157
   40457 	* tree-sra.c (compare_access_positions): Stabilize sort if both
   40458 	accesses have integer types, return zero immediately if they are the
   40459 	same.
   40460 
   40461 2010-01-06  Richard Henderson  <rth (a] redhat.com>
   40462 
   40463 	PR middle-end/41883
   40464 	* haifa-sched.c (add_to_note_list): Merge into ...
   40465 	(concat_note_lists): ... here, and ...
   40466 	(unlink_other_notes, rm_other_notes): Merge into...
   40467 	(remove_notes): ... here.  Create REG_SAVE_NOTEs for
   40468 	NOTE_INSN_EPILOGUE_BEG.
   40469 
   40470 2010-01-06  Richard Guenther  <rguenther (a] suse.de>
   40471 
   40472 	* ipa-inline.c (cgraph_decide_inlining_incrementally): Do
   40473 	not inline regular functions into always-inline functions.
   40474 
   40475 2010-01-06  Nick Clifton  <nickc (a] redhat.com>
   40476 
   40477 	* config/rx/rx.h (enum rx_cpu_type): Add RX200.
   40478 	(CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
   40479 	used together.
   40480 	(OVERRIDE_OPTIONS): Delete.
   40481 	(OPTIMIZATION_OPTIONS): Define.
   40482 	(ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
   40483 	* config/rx/rx.c (rx_handle_option): Issue an error message if
   40484 	-mcpu=rx200 and -fpu are used together.
   40485 	(rx_set_optimization_options): New function.  Issue an error
   40486 	message if an optimization attribute attempts to reset the FPU/
   40487 	math optimization pairing.
   40488 	* config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
   40489 	* config/rx/rx.opt: Set the default to 32-bit doubles.
   40490 	* config/rx/t-rx: Add multilibs for -nofpu option.
   40491 	* doc/invoke.texi: Update documentation of RX options.
   40492 
   40493 2010-01-06  Richard Guenther  <rguenther (a] suse.de>
   40494 
   40495 	* tree-ssa-pre.c (name_to_id): New global.
   40496 	(alloc_expression_id): Simplify SSA name handling.
   40497 	(lookup_expression_id): Likewise.
   40498 	(init_pre): Zero name_to_id.
   40499 	(fini_pre): Free it.
   40500 
   40501 2010-01-06  Uros Bizjak  <ubizjak (a] gmail.com>
   40502 
   40503 	* ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
   40504 
   40505 2010-01-05  H.J. Lu  <hongjiu.lu (a] intel.com>
   40506 
   40507 	PR target/42542
   40508 	* config/i386/sse.md (smaxv2di3): New.
   40509 	(umaxv2di3): Likewise.
   40510 	(sminv2di3): Likewise.
   40511 	(uminv2di3): Likewise.
   40512 
   40513 2010-01-05  Eric Botcazou  <ebotcazou (a] adacore.com>
   40514 
   40515 	PR target/42564
   40516 	* config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
   40517 	* config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
   40518 	(legitimize_tls_address): Likewise.
   40519 	(sparc_tls_referenced_p): Likewise.
   40520 	* config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
   40521 	and adjust calls to legitimize_pic_address.
   40522 	(legitimate_constant_p) Use sparc_tls_referenced_p.
   40523 	(legitimate_pic_operand_p): Likewise.
   40524 	(sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
   40525 	(sparc_tls_symbol_ref_1): Delete.
   40526 	(sparc_tls_referenced_p): Make static, recognize specific patterns.
   40527 	(legitimize_tls_address): Make static, handle CONST patterns.
   40528 	(legitimize_pic_address): Make static, remove unused parameter and
   40529 	adjust recursive calls.
   40530 	(sparc_legitimize_address): Make static, use sparc_tls_referenced_p
   40531 	and adjust call to legitimize_pic_address.
   40532 	(sparc_output_mi_thunk): Likewise.
   40533 
   40534 2010-01-05  Paolo Bonzini  <bonzini (a] gnu.rg>
   40535 	    H.J. Lu  <hongjiu.lu (a] intel.com>
   40536 
   40537 	PR target/42542
   40538 	* config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
   40539 	for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
   40540 	operands to make them signed.
   40541 
   40542 	Revert:
   40543 	2010-01-04  H.J. Lu  <hongjiu.lu (a] intel.com>
   40544 
   40545 	PR target/42542
   40546 	* config/i386/i386.c (ix86_expand_int_vcond): Don't convert
   40547 	GTU to GT for V4SI and V2DI.
   40548 
   40549 	* config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
   40550 	(umin<mode>3): Removed.
   40551 	(uminv8hi3): New.
   40552 	(uminv4si3): Likewise.
   40553 
   40554 2010-01-05  Martin Jambor  <mjambor (a] suse.cz>
   40555 
   40556 	PR tree-optimization/42462
   40557 	* ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
   40558 	current_function_decl to helper functions and macros.
   40559 
   40560 2010-01-05  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   40561 
   40562 	PR bootstrap/41771
   40563 	* flags.h: Don't include real.h.
   40564 	(HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
   40565 	HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
   40566 	* real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
   40567 	HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
   40568 	* dominance.c: Update copyright.
   40569 	* gimple.c (walk_gimple_op): Remove inline.
   40570 	* tree-ssa-reassoc.c: Include real.h.
   40571 	* Makefile.in (FLAGS_H): Remove $(REAL_H).
   40572 	(tree-ssa-reassoc.o): Depend on $(REAL_H).
   40573 
   40574 2010-01-05  Nick Clifton  <nickc (a] redhat.com>
   40575 
   40576 	* config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
   40577 	register to push into the stack frame when the accumulator has to
   40578 	be saved during interrupts.
   40579 
   40580 2010-01-05  Eric Fisher  <joefoxreal (a] gmail.com>
   40581 
   40582 	* doc/invoke.texi: Remove the documentation about option
   40583 	-Wunreachable-code.
   40584 	* common.opt (Wunreachable-code):  Preserved for backward
   40585 	compatibility.
   40586 	* tree-cfg.c: Remove the implementation of -Wunreachable-code.
   40587 	* opts.c (common_handle_option): Add OPT_Wunreachable_code to
   40588 	the backward compatibility flag section.
   40589 
   40590 2010-01-05  Richard Guenther  <rguenther (a] suse.de>
   40591 
   40592 	* tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
   40593 
   40594 2010-01-05  Jakub Jelinek  <jakub (a] redhat.com>
   40595 
   40596 	PR other/42611
   40597 	* cfgexpand.c (expand_one_var): Diagnose too large variables.
   40598 
   40599 	PR tree-optimization/42508
   40600 	* tree-sra.c (convert_callers): Check for recursive call
   40601 	by comparing cgraph nodes instead of decls.
   40602 	(modify_function): Call ipa_modify_formal_parameters also
   40603 	on all same_body aliases.
   40604 
   40605 	* cgraphunit.c (cgraph_materialize_all_clones): Compare
   40606 	cgraph nodes when checking for same_body aliases.
   40607 
   40608 2010-01-05  Richard Guenther  <rguenther (a] suse.de>
   40609 
   40610 	* tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
   40611 	allocation and lookup.
   40612 	(get_or_alloc_expr_for_constant): Likewise.
   40613 	(phi_translate): Sink allocation.
   40614 
   40615 2010-01-04  Richard Guenther  <rguenther (a] suse.de>
   40616 
   40617 	* tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
   40618 	a new entry only if needed.
   40619 	* tree-ssa-dom.c (lookup_avail_expr): Likewise.
   40620 	* tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
   40621 	hashtable lookup.
   40622 	* tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
   40623 	the result array.
   40624 	(phi_translate): Handle CONSTANTs early.
   40625 
   40626 2010-01-04  Martin Jambor  <mjambor (a] suse.cz>
   40627 
   40628 	PR tree-optimization/42398
   40629 	* tree-sra.c (struct access): Removed flag grp_different_types.
   40630 	(dump_access): Do not dump the removed flag.
   40631 	(sort_and_splice_var_accesses): Do not set the removed flag.
   40632 	(sra_modify_expr): Check for type compatibility directly.
   40633 
   40634 2010-01-04  Martin Jambor  <mjambor (a] suse.cz>
   40635 
   40636 	PR tree-optimization/42366
   40637 	* ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
   40638 	edges with variable number of parameters.
   40639 	* ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
   40640 	flag instead of asserting it.
   40641 	(ipa_read_node_info): Read uses_analysis_done flag.
   40642 
   40643 2010-01-04  Richard Guenther  <rguenther (a] suse.de>
   40644 
   40645 	* tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
   40646 	iterative_hash_* as intended.
   40647 	(vn_reference_compute_hash): Likewise.  Simplify hashing
   40648 	SSA names.
   40649 	(vn_reference_lookup_2): Likewise.
   40650 	(vn_nary_op_compute_hash): Likewise.
   40651 	(vn_phi_compute_hash): Likewise.
   40652 	(expressions_equal_p): Remove strange code.
   40653 	* tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
   40654 	(pre_expr_hash): Likewise.  Simplify hashing SSA names.
   40655 	(bitmap_insert_into_set_1): Take value-id as parameter.
   40656 	(add_to_value): Pass it.
   40657 	(bitmap_insert_into_set): Likewise.
   40658 	(bitmap_value_insert_into_set): Likewise.  Remove redundant check.
   40659 
   40660 2010-01-04  Jakub Jelinek  <jakub (a] redhat.com>
   40661 
   40662 	PR driver/42442
   40663 	* gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
   40664 	(do_self_spec): For switches with SWITCH_IGNORE set set also
   40665 	SWITCH_IGNORE_PERMANENTLY.
   40666 	(check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
   40667 	of SWITCH_IGNORE.
   40668 
   40669 2010-01-04  Rafael Avila de Espindola  <espindola (a] google.com>
   40670 
   40671 	* lto-streamer-out.c (output_unreferenced_globals): Output the full
   40672 	tree of an unreferenced global var.
   40673 
   40674 2010-01-04  H.J. Lu  <hongjiu.lu (a] intel.com>
   40675 
   40676 	PR target/42542
   40677 	* config/i386/i386.c (ix86_expand_int_vcond): Don't convert
   40678 	GTU to GT for V4SI and V2DI.
   40679 
   40680 	* config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
   40681 	(umin<mode>3): Removed.
   40682 	(uminv8hi3): New.
   40683 	(uminv4si3): Likewise.
   40684 
   40685 2010-01-04  H.J. Lu  <hongjiu.lu (a] intel.com>
   40686 
   40687 	PR lto/42581
   40688 	* collect2.c (main): Turn on trace in collect2 if -v is passed
   40689 	to gcc with LTO.
   40690 
   40691 2010-01-03  Jerry Quinn  <jlquinn (a] optonline.net>
   40692 
   40693 	* doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
   40694 	description of expression operand.
   40695 
   40696 2010-01-03  Andrew Jenner  <andrew (a] codesourcery.com>
   40697 
   40698 	* configure.ac: Add install-html to target_list for Make-hooks.
   40699 	* configure: Regenerate.
   40700 	* fortran/Make-lang.in (F95_HTMLFILES): New.
   40701 	(fortran.html): Use it.
   40702 	(fortran.install-html): New.
   40703 	* Makefile.in (install-html): Add lang.install-html.
   40704 	* java/Make-lang.in (JAVA_HTMLFILES): New.
   40705 	(java.html): Use it.
   40706 	(java.install-html): New.
   40707 	* objc/Make-lang.in (objc.install-html): New.
   40708 	* objcp/Make-lang.in (obj-c++.install-html): New.
   40709 	* cp/Make-lang.in (c++.install-html): New.
   40710 	* ada/gcc-interface/Make-lang.in (ada.install-html): New.
   40711 	* lto/Make-lang.in (lto.install-html): New.
   40712 
   40713 2010-01-03  H.J. Lu  <hongjiu.lu (a] intel.com>
   40714 
   40715 	PR lto/42520
   40716 	* gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
   40717 
   40718 2009-01-03  Steven Bosscher  <steven (a] gcc.gnu.org>
   40719 
   40720 	PR rtl-optimization/41862
   40721 	* store-motion.c (store_killed_in_insn, compute_store_table,
   40722 	remove_reachable_equiv_notes, replace_store_insn,
   40723 	build_store_vectors): Ignore all DEBUG_INSNs.
   40724 
   40725 2010-01-03  H.J. Lu  <hongjiu.lu (a] intel.com>
   40726 
   40727 	PR lto/41564
   40728 	* common.opt: Add dumpdir.
   40729 
   40730 	* gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
   40731 	isn't specified.
   40732 	(option_map): Add --dumpdir.
   40733 
   40734 	* gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
   40735 
   40736 	* lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
   40737 
   40738 	* opts.c (decode_options): Try dump_dir_name first if
   40739 	dump_base_name isn't an absolute path.
   40740 	(common_handle_option): Handle OPT_dumpdir.
   40741 
   40742 	* toplev.c (dump_dir_name): New.
   40743 	(print_switch_values): Also ignore -dumpdir.
   40744 
   40745 	* toplev.h (dump_dir_name): New.
   40746 
   40747 2010-01-03  Richard Guenther  <rguenther (a] suse.de>
   40748 
   40749 	PR tree-optimization/42589
   40750 	* tree-ssa-math-opts.c (execute_optimize_bswap): Allow
   40751 	double-word expansion of bswap32.
   40752 
   40753 2010-01-03  Steven Bosscher  <steven (a] gcc.gnu.org>
   40754 
   40755 	* postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
   40756 	with BLOCK_FOR_INSN.
   40757 	* auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
   40758 	* ifcvt.c (noce_get_alt_condition, noce_try_abs,
   40759 	noce_process_if_block): Likewise.
   40760 	* gcse.c (compute_local_properties, insert_expr_in_table,
   40761 	insert_set_in_table, canon_list_insert, find_avail_set,
   40762 	pre_insert_copy_insn): Likewise.
   40763 
   40764 	* basic-block.h (BLOCK_NUM): Move from here...
   40765 	* sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
   40766 
   40767 2010-01-03  Richard Guenther  <rguenther (a] suse.de>
   40768 
   40769 	PR tree-optimization/42438
   40770 	* tree-ssa-pre.c (struct bb_bitmap_sets): Add
   40771 	contains_may_not_return_call flag.
   40772 	(BB_MAY_NOTRETURN): New.
   40773 	(valid_in_sets): Trapping nary operations are not valid
   40774 	in blocks that may not return.
   40775 	(insert_into_preds_of_block): Remove check for trapping expressions.
   40776 	(compute_avail): Compute also BB_MAY_NOTRETURN.
   40777 
   40778 2010-01-03  Gerald Pfeifer  <gerald (a] pfeifer.com>
   40779 
   40780 	* doc/invoke.texi: Add 2010 to copyright years.
   40781 
   40782 2010-01-03  Eric Botcazou  <ebotcazou (a] adacore.com>
   40783 
   40784 	* config/sparc/sparc.c: Fix formatting nits.
   40785 
   40786 2010-01-02  Gerald Pfeifer  <gerald (a] pfeifer.com>
   40787 	    Alexander Monakov  <amonakov (a] ispras.ru>
   40788 
   40789 	* doc/invoke.texi (Optimize Options): Reword introduction a bit.
   40790 
   40791 2010-01-02  Richard Guenther  <rguenther (a] suse.de>
   40792 
   40793 	PR middle-end/42577
   40794 	* tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
   40795 	(simplify_switch_using_ranges): Mark to be removed edges
   40796 	as non-executable.
   40797 
   40798 2010-01-02  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
   40799 
   40800 	* config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
   40801 
   40802 	* collect2.c (scan_libraries): Add missing argument in call to
   40803 	scan_prog_file.
   40804 
   40805 2010-01-02  Uros Bizjak  <ubizjak (a] gmail.com>
   40806 
   40807 	PR target/42448
   40808 	* config/alpha/predicates.md (aligned_memory_operand): Return false
   40809 	for CQImode.
   40810 	(unaligned_memory_operand): Return true for CQImode.
   40811 	* config/alpha/alpha.c (get_aligned_mem): Assert that location
   40812 	doesn not cross aligned SImode word boundary.
   40813 
   40814 2010-01-02  Anatoly Sokolov  <aesok (a] post.ru>
   40815 
   40816 	* config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
   40817 	Remove.
   40818 	* config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
   40819 	avr_change_section, avr_reg_class_from_letter) : Remove declaration.
   40820 
   40821 2010-01-02  Richard Guenther  <rguenther (a] suse.de>
   40822 
   40823 	PR lto/41597
   40824 	* toplev.c (compile_file): Emit LTO marker properly.  Change
   40825 	it to __gnu_lto_v1.
   40826 	* collect2.c (scan_prog_file): Adjust for changed LTO marker.
   40827 
   40828 2010-01-01  Richard Guenther  <rguenther (a] suse.de>
   40829 
   40830 	PR debug/42455
   40831 	* tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
   40832 
   40833 2010-01-01  Richard Guenther  <rguenther (a] suse.de>
   40834 
   40835 	PR c/42570
   40836 	* c-decl.c (grokdeclarator): For zero-size arrays force
   40837 	structural equality checks as layout_type does.
   40838 
   40839 2010-01-01  H.J. Lu  <hongjiu.lu (a] intel.com>
   40840 
   40841 	* builtins.c: Update copyright to 2010.
   40842 
   40843 2010-01-01  H.J. Lu  <hongjiu.lu (a] intel.com>
   40844 
   40845 	PR lto/42531
   40846 	* lto-streamer-out.c (produce_asm): Revert the last change.
   40847 	(copy_function): Likewise.
   40848 
   40849 	* lto-streamer.c (lto_get_section_name): Skip any leading
   40850 	asterisk in name.
   40851 
   40852 2010-01-01  Richard Guenther  <rguenther (a] suse.de>
   40853 
   40854 	PR middle-end/42559
   40855 	* builtins.c (get_object_alignment): Do not use DECL_ALIGN
   40856 	for LABEL_DECLs.
   40857 
   40858 
   40860 Copyright (C) 2010 Free Software Foundation, Inc.
   40861 
   40862 Copying and distribution of this file, with or without modification,
   40863 are permitted in any medium without royalty provided the copyright
   40864 notice and this notice are preserved.
   40865