OSDN Git Service

Backport from upstream Libtool:
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2
3         * configure: Regenerate.
4
5 2008-12-18  Jan Hubicka  <jh@suse.cz>
6             Kai Tietz <kai.tietz@onevision.com>
7
8         * df-scan.c (persistent_obstack, df_invalidated_by_call): Remove.
9         (df_scan_start_dump, df_get_call_refs, df_hard_reg_init): Rename
10         df_invalidated_by_call to invalidated_by_call_regset.
11         * df.h (df_invalidated_by_call): Remove.
12         * regclass.c (regs_invalidated_by_call_regset, persistent_obstack): New
13         variables.
14         (init_reg_sets_1): Initialize regs_invalidated_by_call_regset.
15         (globalize_reg): Likewise.
16         * df-problems.c (df_rd_local_compute, df_lr_confluence_n,
17         df_byte_lr_alloc): Rename df_invalidated_by_call to
18         invalidated_by_call_regset.
19         * basic-block.h (regs_invalidated_by_call_regset): Declare.
20
21 2008-12-18  Jan Hubicka  <jh@suse.cz>
22             Kai Tietz <kai.tietz@onevision.com>
23
24         * ira-cost.c (copy_cost): Lazilly initialize move_cost if needed.
25
26 2008-12-18  Jan Hubicka  <jh@suse.cz>
27             Kai Tietz <kai.tietz@onevision.com>
28
29         * i386.h (CONDITIONAL_REGISTER_USAGE): Initialize for current function
30         ABI.
31         * i386.c (ix86_call_abi_override): Do not trigger target re-init and
32         do not try to modify call used regs.
33         (ix86_maybe_switch_abi): New function.
34         (TARGET_EXPAND_TO_RTL_HOOK): New macro.
35
36 2008-12-18  Kenneth Zadeck <zadeck@naturalbridge.com>
37
38         PR rtl-optimization/37922
39         * dse.c (bb_info): Added regs_live field.
40         (look_for_hardregs): New function.
41         (replace_read): Added regs_live parameter and code to check that
42         shift sequence does not clobber live hardregs.
43         (check_mem_read_rtx): Added parameter to replace_read.
44         (dse_step1): Added regs_live bitmap and initialize it.
45         (rest_of_handle_dse): Added DF_NOTES problem and earlier call to
46         df_analyze.
47         * df-problems.c Renamed to 
48         df_simulate_initialize_backwards.
49         (df_simulate_one_insn): Renamed to
50         df_simulate_one_insn_backwards.
51         (df_simulate_artificial_refs_at_top): Renamed to 
52         df_simulate_finalize_backwards.
53         (df_simulate_initialized_forwards,
54         df_simulate_one_insn_forwards,
55         df_simulate_finalize_backwards): New functions.
56         * df.h (df_simulate_artificial_refs_at_end): Renamed to 
57         df_simulate_initialize_backwards.
58         (df_simulate_one_insn): Renamed to
59         df_simulate_one_insn_backwards.
60         (df_simulate_artificial_refs_at_top): Renamed to 
61         df_simulate_finalize_backwards.
62         (df_simulate_initialized_forwards,
63         df_simulate_one_insn_forwards,
64         df_simulate_finalize_backwards): New functions.
65         * ra-conflict.c (global_conflicts): Renamed
66         df_simulate_artificial_refs_at_end to
67         df_simulate_initialize_backwards.
68         * sel-sched.c (propagate_lv_set): Renamed df_simulate_one_insn to
69         df_simulate_one_insn_backwards.
70         * ifcvt.c (dead_or_predicable): Renamed
71         df_simulate_artificial_refs_at_end to
72         df_simulate_initialize_backwards. Renamed df_simulate_one_insn to
73         df_simulate_one_insn_backwards.
74         * recog.c (peephole2_optimize): Ditto.
75         * rtl-factoring (collect_pattern_seqs, clear_regs_live_in_seq): Ditto.
76
77 2008-12-18  Jakub Jelinek  <jakub@redhat.com>
78
79         PR middle-end/38533
80         * tree-ssa-reassoc.c (remove_visited_stmt_chain): New function.
81         (rewrite_expr_tree): Add moved argument, move stmts together if
82         needed.  Call remove_visited_stmt_chain.
83         (linearize_expr_tree): Don't move stmts here.
84         (reassociate_bb): Call remove_visited_stmt_chain if num ops is 1.
85         Adjust rewrite_expr_tree caller.
86
87         PR middle-end/38505
88         * tree-ssa.c (useless_type_conversion_p_1): Return
89         false if inner_type is incomplete and outer_type is complete.
90
91 2008-12-17  Sebastian Pop  <sebastian.pop@amd.com>
92
93         * doc/install.texi (Prerequisites): Document PPL and CLooG-PPL
94         dependences and the configure options.
95         (Configuration): Document --with-cloog, --with-ppl, --with-cloog-lib,
96          --with-ppl-lib, --with-cloog-incude, --with-ppl-include.
97
98 2008-12-17  H.J. Lu  <hongjiu.lu@intel.com>
99
100         PR middle-end/38556
101         * calls.c (expand_call): Check outgoing_reg_parm_stack_space
102         only if REG_PARM_STACK_SPACE is defined.
103
104 2008-12-17  Jan Hubicka  <jh@suse.cz>
105             Kai Tietz <kai.tietz@onevision.com>
106
107         * calls.c (expand_call): Do not sibcall if
108         outgoing_reg_parm_stack_space does not match.
109
110 2008-12-16  Anatoly Sokolov  <aesok@post.ru>
111
112         * config/avr/avr.c (avr_mcu_t): Add attiny87, attiny327, at90pwm81,
113         atmega16m1, at90scr100, atmega128rfa1, m3000f, m3000s and m3001b
114         devices.
115         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
116         * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
117
118 2008-12-16  Hariharan Sandanagobalane <hariharan@picochip.com>
119
120         PR target/38842
121         * config/picochip/picochip.opt (mae): Squeezed the comments onto one
122         line.
123
124 2008-12-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
125
126         * configure.ac (gcc_cv_ld_hidden): Sun ld on Solaris 9 and up
127         supports hidden.
128         * configure: Regenerate.
129
130 2008-12-16  Richard Earnshaw  <rearnsha@arm.com>
131
132         PR target/37436
133         * arm.c (arm_legitimate_index): Only accept addresses that are in
134         canonical form.
135         * predicates.md (arm_reg_or_extendqisi_mem_op): New predicate.
136         * arm.md (extendqihi2): Use arm_reg_or_extendqisi_mem_op predicate
137         for operand1.
138         (extendqisi2): Likewise.
139         (arm_extendqisi, arm_extendqisi_v6): Use arm_extendqisi_mem_op
140         predicate for operand1.
141         
142 2008-12-15  Adam Nemet  <anemet@caviumnetworks.com>
143
144         * config/mips/mips.c (mips_output_conditional_branch): Assert that
145         openrands[1] is a CODE_LABEL.
146
147 2008-12-15  Richard Sandiford  <rdsandiford@googlemail.com>
148
149         * config/mips/mips.c (mips_expand_builtin_direct): Set TARGET to
150         the result of mips_prepare_builtin_target.
151
152 2008-12-15  Richard Sandiford  <rdsandiford@googlemail.com>
153
154         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_abicalls
155         if TARGET_ABICALLS is true.
156
157 2008-12-15  Richard Sandiford  <rdsandiford@googlemail.com>
158
159         * config/mips/mips.md (move_doubleword_fpr<mode>): Use
160         TARGET_FLOAT64 && !TARGET_64BIT to detect the mxhc1 case.
161
162 2008-12-15  Hariharan Sandanagobalane <hariharan@picochip.com>
163
164         * config/picochip/picochip.c (picochip_override_options): Disable CFI
165         asm and change the signature of brev and byteSwap functions to use
166         unsigned values.
167         * config/picochip/picochip.md (commsTestPort): This is a complex
168         instruction and should not be vliwed. Dont set insn type.
169
170 2008-12-15  Wolfgang Gellerich  <gellerich@de.ibm.com>
171         * config/s390/s390.c (s390_swap_cmp): New function.
172         (s390_non_addr_reg_read_p): New function.
173         (s390_z10_optimize_cmp): New function.
174         (s390_reorg): Added call to s390_optimize_cmp.
175         * config/s390/s390.md (nop1): New insn.
176
177 2008-12-12  Rainer Emrich  <r.emrich@de.tecosim.com>
178
179         PR bootstrap/38383
180         * pa64-hpux.h (LINK_GCC_C_SEQUENCE_SPEC): Don't hardcode search path
181         for the milli.a library.
182
183 2008-12-12  Andrew Pinski  <andrew_pinskia@playstation.sony.com>
184             Peter Bergner <bergner@vnet.ibm.com>
185
186         PR target/24779
187         * config/rs6000/rs6000.md (call_indirect_aix32): Move the load of the
188         TOC into the call pattern.
189         (call_indirect_aix64): Likewise.
190         (call_value_indirect_aix32): Likewise.
191         (call_value_indirect_aix64): Likewise.
192         (call_indirect_nonlocal_aix32_internal): New insn and split patterns
193         to split off the load of the TOC.
194         (call_indirect_nonlocal_aix32): Enable only after reload.
195         (call_indirect_nonlocal_aix64_internal): New insn and split patterns
196         to split off the load of the TOC.
197         (call_indirect_nonlocal_aix64): Enable only after reload.
198         (call_value_indirect_nonlocal_aix32_internal): New insn and split
199         patterns to split off the load of the TOC.
200         (call_value_indirect_nonlocal_aix32): Enable only after reload.
201         (call_value_indirect_nonlocal_aix64_internal): New insn and split
202         patterns to split off the load of the TOC.
203         (call_value_indirect_nonlocal_aix64): Enable only after reload.
204
205 2008-12-12  Andreas Schwab  <schwab@suse.de>
206
207         Revert:
208         2008-12-12  Andreas Schwab  <schwab@suse.de>
209         * cfgrtl.c (rtl_verify_flow_info_1): Don't apply BLOCK_FOR_INSN on
210         a BARRIER insn.
211
212 2008-12-12  Zdenek Dvorak  <ook@ucw.cz>
213
214         PR tree-optimization/32044
215         * tree-scalar-evolution.h (expression_expensive_p): Declare.
216         * tree-scalar-evolution.c (expression_expensive_p): New function.
217         (scev_const_prop): Avoid introducing expensive expressions.
218         * tree-ssa-loop-ivopts.c (may_eliminate_iv): Ditto.
219
220 2008-12-12  Sebastian Pop  <sebastian.pop@amd.com>
221
222         PR middle-end/38409
223         * graphite.c (nb_reductions_in_loop): Use simple_iv.
224
225 2008-12-12  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
226
227         * config/i386/x86intrin.h: New header file to support all x86
228         intrinsics
229         * config.gcc (extra_headers): For x86 and x86-64, add x86intrin.h
230
231 2008-12-12  H.J. Lu  <hongjiu.lu@intel.com>
232
233         PR target/38402
234         * gcc/doc/md.texi: Remove Y and document Yz, Y2, Yi and Ym
235         constraints for x86.
236
237 2008-12-12  Andreas Schwab  <schwab@suse.de>
238
239         * cfgrtl.c (rtl_verify_flow_info_1): Don't apply BLOCK_FOR_INSN on
240         a BARRIER insn.
241
242 2008-12-12  Uros Bizjak  <ubizjak@gmail.com>
243
244         * config/alpha/sync.md (memory_barrier): Remove mem:BLK from operands.
245         Use Pmode for scratch reg.
246         (*mb_internal): Use (match_dup 0) for unspec operand.
247
248 2008-12-12  Alexandre Oliva  <aoliva@redhat.com>
249
250         * tree-vrp.c (extract_range_from_binary_expr): Don't shift by
251         floor_log2 of zero.  Negate widened zero.
252
253 2008-12-12  Ben Elliston  <bje@au.ibm.com>
254
255         * config/fp-bit.c (nan): Rename from this ...
256         (makenan): ... to this.
257
258 2008-12-11  Adam Nemet  <anemet@caviumnetworks.com>
259
260         * config/mips/mips.md (*branch_bit<bbv><mode>,
261         *branch_bit<bbv><mode>_inverted): Renumber operands so that the
262         label becomes operands[1].
263
264 2008-12-11  Harsha Jagasia  <harsha.jagasia@amd.com>
265
266         PR tree-optimization/38446
267         * graphite.c (register_bb_in_sese): New.
268         (bb_in_sese_p): Check if bb belongs to sese region by explicitly
269         looking at the bbs in the region.
270         * graphite.h (sese): Add region_basic_blocks pointer set to
271         structure and initialize at the time of defining new scop.
272
273 2008-12-11  Tobias Grosser  <grosser@fim.uni-passau.de>
274
275         * graphite.c (new_graphite_bb): Initialize GBB_STATIC_SCHEDULE.
276         (find_params_in_bb): Do not free data refs.
277         (free_graphite_bb): Add FIXME on disabled free_data_refs.
278
279 2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>
280
281         * graphite.c (struct ivtype_map_elt): New.
282         (debug_ivtype_elt, debug_ivtype_map_1, debug_ivtype_map,
283         new_ivtype_map_elt, ivtype_map_elt_info, eq_ivtype_map_elts,
284         gcc_type_for_cloog_iv): New.
285         (loop_iv_stack_patch_for_consts): Use the type of the induction
286         variable from the original loop, except for the automatically
287         generated loops, i.e., in the case of a strip-mined loop, in
288         which case there is no original loop: in that case just use
289         integer_type_node.
290         (new_graphite_bb): Initialize GBB_CLOOG_IV_TYPES.
291         (free_graphite_bb): Free GBB_CLOOG_IV_TYPES.
292         (clast_name_to_gcc): Accept params to be NULL.
293         (clast_to_gcc_expression): Take an extra parameter for the type.
294         Convert to that type all the expressions built by this function.
295         (gcc_type_for_clast_expr, gcc_type_for_clast_eq): New.
296         (graphite_translate_clast_equation): Compute the type of the
297         clast_equation before translating its LHS and RHS.
298         (clast_get_body_of_loop, gcc_type_for_iv_of_clast_loop): New.
299         (graphite_create_new_loop): Compute the type of the induction
300         variable before translating the lower and upper bounds and before
301         creating the induction variable.
302         (rename_variables_from_edge, rename_phis_end_scop): New.
303         (copy_bb_and_scalar_dependences): Call rename_phis_end_scop.
304         (sese_add_exit_phis_edge): Do not use integer_zero_node.
305         (find_cloog_iv_in_expr, compute_cloog_iv_types_1,
306         compute_cloog_iv_types): New.
307         (gloog): Call compute_cloog_iv_types before starting the
308         translation of the clast.
309
310         * graphite.h (struct graphite_bb): New field cloog_iv_types.
311         (GBB_CLOOG_IV_TYPES): New.
312         (debug_ivtype_map): Declared.
313         (oldiv_for_loop): New.
314
315 2008-12-10  Tobias Grosser  <grosser@fim.uni-passau.de>
316
317         PR middle-end/38459
318         * graphite.c (new_scop): Initialize SCOP_ADD_PARAMS.
319         (param_index): Assert if parameter is not know after parameter
320         detection.
321         (find_params_in_bb): Detect params directly in GBB_CONDITIONS.
322         (find_scop_parameters): Mark, that we have finished parameter
323         detection.
324         (graphite_transform_loops): Move condition detection before parameter
325         detection.
326         * graphite.h (struct scop): Add SCOP_ADD_PARAMS.
327
328 2008-12-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
329
330         PR testsuite/35677
331         * emutls.c (__emutls_get_address): Make sure offset is really zero
332         before initializing the object's offset.
333
334 2008-12-11  Jakub Jelinek  <jakub@redhat.com>
335
336         PR c++/38253
337         * gimplify.c (gimplify_init_constructor): Don't force constructor
338         into memory if there is just one nonzero element.
339
340 2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>
341
342         Fix testsuite/gfortran.dg/graphite/id-4.f90.
343         * graphite.c (scan_tree_for_params): Do not compute the multiplicand
344         when not needed.
345
346 2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>
347
348         * graphite.c (build_scops_1): Initialize open_scop.exit
349         and sinfo.last.
350
351 2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>
352             Jan Sjodin  <jan.sjodin@amd.com>
353             Harsha Jagasia  <harsha.jagasia@amd.com>
354
355         PR middle-end/37852
356         PR middle-end/37883
357         PR middle-end/37928
358         PR middle-end/37980
359         PR middle-end/38038
360         PR middle-end/38039
361         PR middle-end/38073
362         PR middle-end/38083
363         PR middle-end/38125
364
365         * tree-phinodes.c (remove_phi_nodes): New, extracted from...
366         * tree-cfg.c (remove_phi_nodes_and_edges_for_unreachable_block):
367         ... here.
368         * tree-flow.h (remove_phi_nodes, canonicalize_loop_ivs): Declared.
369         * Makefile.in (graphite.o): Depend on value-prof.h.
370         (graphite.o-warn): Removed -Wno-error.
371         * tree-parloops.c (canonicalize_loop_ivs): Allow reduction_list
372         to be a NULL pointer.  Call update_stmt.  Return the newly created
373         cannonical induction variable.
374
375         * graphite.h (debug_rename_map): Declared.  Fix some comments.
376
377         * graphite.c: Reimplement the code generation from graphite to gimple.
378         Include value-prof.h.
379         (loop_iv_stack_get_iv): Do not return NULL for constant substitutions.
380         (get_old_iv_from_ssa_name): Removed.
381         (graphite_stmt_p): New.
382         (new_graphite_bb): Test for useful statements before building a
383         graphite statement for the basic block.
384         (free_graphite_bb): Do not free GBB_DATA_REFS: this is a bug
385         in free_data_ref that calls BITMAP_FREE (DR_VOPS (dr)) without reason.
386         (recompute_all_dominators, graphite_verify,
387         nb_reductions_in_loop, graphite_loop_normal_form): New.
388         (scop_record_loop): Call graphite_loop_normal_form.
389         (build_scop_loop_nests): Iterate over all the blocks of the
390         function instead of relying on the incomplete information from
391         SCOP_BBS.  Return the success of the operation.
392         (find_params_in_bb): Use the data from GBB_DATA_REFS.
393         (add_bb_domains): Removed.
394         (build_loop_iteration_domains): Don't call add_bb_domains.
395         Add the iteration domain only to the basic blocks that have been
396         translated to graphite.
397         (build_scop_conditions_1): Add constraints only if the basic
398         block have been translated to graphite.
399         (build_scop_data_accesses): Completely disabled until data
400         dependence is correctly implemented.
401         (debug_rename_elt, debug_rename_map_1, debug_rename_map): New.
402         (remove_all_edges_1, remove_all_edges): Removed.
403         (get_new_name_from_old_name): New.
404         (graphite_rename_variables_in_stmt): Renamed.
405         rename_variables_in_stmt.  Call get_new_name_from_old_name.
406         Use replace_exp and update_stmt.
407         (is_old_iv): Renamed is_iv.
408         (expand_scalar_variables_stmt): Extra parameter for renaming map.
409         Use replace_exp and update_stmt.
410         (expand_scalar_variables_expr): Same.  Use the map to get the
411         new names for the renaming of induction variables and for the
412         renaming of variables after a basic block has been copied.
413         (expand_scalar_variables): Same.
414         (graphite_rename_variables): Renamed rename_variables.
415         (move_phi_nodes): Removed.
416         (get_false_edge_from_guard_bb): New.
417         (build_iv_mapping): Do not insert the induction variable of a
418         loop in the renaming iv map if the basic block does not belong
419         to that loop.
420         (register_old_new_names, graphite_copy_stmts_from_block,
421         copy_bb_and_scalar_dependences): New.
422         (translate_clast): Heavily reimplemented: copy basic blocks,
423         do not move them.  Finally, in call cleanup_tree_cfg in gloog.
424         At each translation step call graphite_verify ensuring the
425         consistency of the SSA, loops and dominators information.
426         (collect_virtual_phis, find_vdef_for_var_in_bb,
427         find_vdef_for_var_1, find_vdef_for_var,
428         patch_phis_for_virtual_defs): Removed huge hack.
429         (mark_old_loops, remove_dead_loops, skip_phi_defs,
430         collect_scop_exit_phi_args, patch_scop_exit_phi_args,
431         gbb_can_be_ignored, scop_remove_ignoreable_gbbs): Removed.
432         (remove_sese_region, ifsese, if_region_entry, if_region_exit,
433         if_region_get_condition_block, if_region_set_false_region,
434         create_if_region_on_edge, move_sese_in_condition, bb_in_sese_p,
435         sese_find_uses_to_rename_use, sese_find_uses_to_rename_bb,
436         sese_add_exit_phis_edge, sese_add_exit_phis_var,
437         rewrite_into_sese_closed_ssa): New.
438         (gloog): Remove dead code.  Early return if code cannot be
439         generated.  Call cleanup_tree_cfg once the scop has been code
440         generated.
441         (graphite_trans_scop_block, graphite_trans_loop_block): Do not
442         block loops with less than two loops.
443         (graphite_apply_transformations): Remove the call to
444         scop_remove_ignoreable_gbbs.
445         (limit_scops): When build_scop_loop_nests fails, continue on next
446         scop.  Fix open_scop.entry.
447         (graphite_transform_loops): Call recompute_all_dominators: force the
448         recomputation of correct CDI_DOMINATORS and CDI_POST_DOMINATORS.
449         Call initialize_original_copy_tables and free_original_copy_tables
450         to be able to copy basic blocks during code generation.
451         When build_scop_loop_nests fails, continue on next scop.
452         (value_clast): New union.
453         (clast_to_gcc_expression): Fix type cast warning.
454
455 2008-12-10  Richard Guenther  <rguenther@suse.de>
456
457         PR tree-optimization/36792
458         * tree-ssa-pre.c (compute_avail): Handle tcc_comparison like
459         tcc_binary.
460
461 2008-12-10  Daniel Berlin  <dberlin@dberlin.org>
462
463         PR tree-optimization/36792
464         * tree-ssa-pre.c (compute_avail): Don't insert defs into maximal set.
465
466 2008-12-10  Alexandre Oliva  <aoliva@redhat.com>
467
468         PR target/37033
469         * dwarf2out.c (saved_do_cfi_asm): New.
470         (dwarf2out_do_frame): Take it into account.
471         (dwarf2out_d_cfi_asm): Likewise.  Set it when appropriate.
472
473 2008-12-10  Alexandre Oliva  <aoliva@redhat.com>
474
475         PR middle-end/38271
476         * tree-sra.c (sra_build_bf_assignment): Avoid warnings for
477         variables initialized from SRAed bit fields.
478
479 2008-12-10  Martin Guy <martinwguy@yahoo.it>
480
481         PR target/37668
482         * arm.c (arm_size_rtx_costs, case NEG): Don't fall through if the
483         result will be in an FPU register.
484
485 2008-12-10  Eric Botcazou  <ebotcazou@adacore.com>
486
487         PR target/37170
488         PR target/38448
489         * final.c (output_addr_const) <SYMBOL_REF>: Call assemble_external
490         on the associated SYMBOL_REF_DECL node, if any.
491
492 2008-12-09 David Daney <ddaney@caviumnetworks.com>
493
494         * config/mips/sync.md (sync_<optab>_12): Replace
495         MIPS_SYNC_OP_12_NOT_NOP with MIPS_SYNC_OP_12_AND.
496         (sync_old_<optab>_12): Remove third paramater to
497         MIPS_SYNC_OLD_OP_12 macro, replace MIPS_SYNC_OLD_OP_12_NOT_NOP
498         with MIPS_SYNC_OLD_OP_12_AND.
499         (sync_new_<optab>_12): Replace MIPS_SYNC_NEW_OP_12_NOT_NOP
500         with MIPS_SYNC_NEW_OP_12_AND.
501         (sync_nand_12): Replace MIPS_SYNC_OP_12_NOT_NOT with
502         MIPS_SYNC_OP_12_XOR, reduce length attribute to 40.
503         (sync_old_nand_12): Remove third paramater to MIPS_SYNC_OLD_OP_12
504         macro, replace MIPS_SYNC_OLD_OP_12_NOT_NOT with
505         MIPS_SYNC_OLD_OP_12_XOR and reduce length attribute to 40.
506         (sync_new_nand_12): Replace MIPS_SYNC_NEW_OP_12_NOT_NOT with
507         MIPS_SYNC_NEW_OP_12_XOR.
508         * config/mips/mips.h (MIPS_SYNC_OP_12, MIPS_SYNC_OP_12_NOT_NOP,
509         MIPS_SYNC_OP_12_NOT_NOT,MIPS_SYNC_OLD_OP_12_NOT_NOP,
510         MIPS_SYNC_OLD_OP_12_NOT_NOT, MIPS_SYNC_NEW_OP_12,
511         MIPS_SYNC_NEW_OP_12_NOT_NOP, MIPS_SYNC_NEW_OP_12_NOT_NOT,
512         MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND, MIPS_SYNC_NEW_NAND): Rewritten
513         to implement new __sync_nand semantics.
514         (MIPS_SYNC_OLD_OP_12): Implement new __sync_nand semantics, and
515         remove third parameter.
516         (MIPS_SYNC_OLD_OP_12_NOT_NOP_REG,
517         MIPS_SYNC_OLD_OP_12_NOT_NOT_REG): Removed.
518         (MIPS_SYNC_OP_12_NOT_NOP): Renamed to MIPS_SYNC_OP_12_AND.
519         (MIPS_SYNC_OP_12_NOT_NOT): Renamed to MIPS_SYNC_OP_12_XOR.
520         (MIPS_SYNC_OLD_OP_12_NOT_NOP): Renamed to MIPS_SYNC_OLD_OP_12_AND.
521         (MIPS_SYNC_OLD_OP_12_NOT_NOT): Renamed to MIPS_SYNC_OLD_OP_12_XOR.
522         (MIPS_SYNC_NEW_OP_12_NOT_NOP): Renamed to MIPS_SYNC_NEW_OP_12_AND.
523         (MIPS_SYNC_NEW_OP_12_NOT_NOT): Renamed to MIPS_SYNC_NEW_OP_12_XOR
524
525 2008-12-09  Tobias Grosser  <grosser@fim.uni-passau.de>
526
527         * graphite.c (graphite_transform_loops): Always call find_transform ()
528         in ENABLE_CHECKING.  So we test these code paths, even if we do not
529         generate code.
530
531 2008-12-09  Tobias Grosser  <grosser@fim.uni-passau.de>
532
533         * graphite.c (print_graphite_bb): Fix printing to file != dump_file.
534
535 2008-12-09  Jakub Jelinek  <jakub@redhat.com>
536
537         PR middle-end/38454
538         * function.h (struct function): Add always_inline_functions_inlined.
539         * ipa-inline.c (cgraph_early_inlining): Set it to true.
540         * tree-optimize.c (execute_fixup_cfg): Likewise.
541         * builtins.c (avoid_folding_inline_builtin): New function.
542         (fold_call_expr): Don't optimize always_inline builtins before
543         inlining.
544         (fold_call_stmt): Likewise.
545         (fold_builtin_call_array): Likewise.  Don't call
546         fold_builtin_varargs for BUILT_IN_MD builtins.
547
548         PR tree-optimization/37416
549         * tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle NOP_EXPR.
550
551 2008-12-09  Janis Johnson  <janis187@us.ibm.com>
552
553         * doc/sourcebuild.texi (Test Directives): Fix formatting.
554
555 2008-12-09  Vladimir Makarov  <vmakarov@redhat.com>
556
557         * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
558
559         * doc/invoke.texi (-fira-region): Describe new option.
560         (-fira-algorithm): Change the values.
561
562         * ira-conflicts.c (build_conflict_bit_table,
563         build_allocno_conflicts): Use ira_reg_classes_intersect_p.
564         (ira_build_conflicts): Use flag flag_ira_region instead of
565         flag_ira_algorithm.  Prohibit usage of callee-saved likely spilled
566         base registers for allocnos crossing calls.
567
568         * flags.h (enum ira_algorithm): Redefine.
569         (enum ira_region): New.
570         (flag_ira_region): New.
571
572         * cfgloopanal.c (estimate_reg_pressure_cost): Use flag_ira_region
573         instead of flag_ira_algorithm.
574
575         * toplev.c (flag_ira_algorithm): Change the initial value.
576         (flag_ira_region): New.
577
578         * ira-int.h (ira_reg_classes_intersect_p,
579         ira_reg_class_super_classes): New.
580
581         * ira-color.c (update_copy_costs): Use
582         ira_reg_classes_intersect_p.  Use right class to find hard reg index.
583         (update_conflict_hard_regno_costs): Ditto.  Add a new parameter.
584         (assign_hard_reg): Ditto.  Pass additional argument to
585         update_conflict_hard_regno_costs.  Do not uncoalesce for priority
586         coloring.
587         (allocno_priorities, setup_allocno_priorities,
588         allocno_priority_compare_func): Move before color_allocnos.
589         (color_allocnos): Add priority coloring.  Use flag flag_ira_region
590         instead of flag_ira_algorithm.
591         (move_spill_restore): Check classes of the same reg allocno from
592         different regions.
593         (update_curr_costs): Use ira_reg_classes_intersect_p.
594         (ira_reassign_conflict_allocnos): Ditto.
595
596         * opts.c (decode_options): Always set up flag_ira.  Set up
597         flag_ira_algorithm.  Warn CB can not be used for architecture.
598         (common_handle_option): Modify code for -fira-algorithm.  Add code
599         to process -fira-region.
600
601         * ira-lives.c (update_allocno_pressure_excess_length): Process
602         superclasses too.
603         (set_allocno_live, clear_allocno_live, mark_reg_live,
604         mark_reg_dead, process_bb_node_lives): Ditto.
605
606         * ira-emit.c (ira_emit): Fix insn codes.
607
608         * ira-build.c (propagate_allocno_info): Use flag flag_ira_region
609         instead of flag_ira_algorithm.
610         (allocno_range_compare_func): Ignore classes for priority coloring.
611         (setup_min_max_conflict_allocno_ids): Ditto.
612         (ira_flattening): Use ira_reg_classes_intersect_p.
613
614         * genpreds.c (write_enum_constraint_num): Output CONSTRAINT__LIMIT.
615
616         * common.opt (fira-algorithm): Modify.
617         (fira-region): New.
618
619         * ira.c (setup_class_hard_regs): Initialize.
620         (setup_cover_and_important_classes): Modify code setting class
621         related info for priority coloring.
622         (setup_class_translate): Ditto.
623         (ira_reg_classes_intersect_p, ira_reg_class_super_classes): New.
624         (setup_reg_class_intersect_union): Rename to
625         setup_reg_class_relations.  Add code for setting up new variables.
626         (find_reg_class_closure): Do not check targetm.ira_cover_classes.
627         (ira): Use flag flag_ira_region instead of flag_ira_algorithm.
628
629         * ira-costs.c (common_classes): New.
630         (print_costs): Use flag flag_ira_region instead of flag_ira_algorithm.
631         (find_allocno_class_costs): Ditto.  Use common_classes.  Translate
632         alt_class.
633         (ira_costs): Allocate/deallocate common_classes.
634
635         * config/m32c/m32.h (REG_ALLOC_ORDER): Add reg 19.
636         (REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): New entries for
637         R02A_REGS.
638
639         * reload1.c (choose_reload_regs): Use MODE_INT for partial ints in
640         smallest_mode_for_size.
641
642 2008-12-10  Ben Elliston  <bje@au.ibm.com>
643
644         * config/rs6000/linux-unwind.h (get_regs): Constify casts.
645
646 2008-12-09  Jan Hubicka  <jh@suse.cz>
647
648         * predict.c (estimate_bb_frequencies): Fix test if profile is present.
649
650 2008-12-09  Jakub Jelinek  <jakub@redhat.com>
651
652         PR tree-optimization/35468
653         * tree-ssa-ccp.c (fold_stmt_r): Don't fold reads from constant
654         string on LHS.
655
656 2008-12-09  Richard Guenther  <rguenther@suse.de>
657
658         PR tree-optimization/38445
659         * tree-ssa-structalias.c (emit_pointer_definition): Only visit
660         names once.
661         (emit_alias_warning): Adjust.
662
663 2008-12-09  Andrew Haley  <aph@redhat.com>
664
665         * fixed-value.c (do_fixed_add): Add comment.
666         * tree-ssa-loop-ivopts.c (iv_ca_cost): Likewise.
667         * builtins.c (fold_builtin_sqrt): Likewise.
668
669 2008-12-09  Kai Tietz  <kai.tietz@onevision.com>
670
671         PR/38366
672         * function.c (aggregate_value_p): Get fntype from CALL_EXPR in any
673         case.
674         * calls.c (nitialize_argument_information): Add fntype argument
675         and use it for calls.promote_function_args.
676         (expand_call): Pass fntype to aggregate_value_p if no fndecl
677         available and pass additional fntype to
678         initialize_argument_information.
679         * config/i386/i386.c (ix86_reg_parm_stack_space): Remove cfun part
680         to get function abi type.
681         (init_cumulative_args): Use for abi kind detection fntype, when no
682         fndecl is available.
683
684 2008-12-09  Andreas Krebbel  <krebbel1@de.ibm.com>
685
686         * config/s390/s390.md (movti, movdi_64, movdi_31,
687         *movsi_zarch, *movhi, *movqi, *mov<mode>_64, *mov<mode>_31,
688         *mov<mode>_64dfp, *mov<mode>_64, *mov<mode>_31, mov<mode>): Remove
689         Q->Q alternative.
690         (Integer->BLKmode splitter): Removed.
691
692 2008-12-08  Uros Bizjak  <ubizjak@gmail.com>
693
694         * config/alpha/alpha.c (alpha_set_memflags): Process memory
695         references in full insn sequence.
696
697 2008-12-09  Jason Merrill  <jason@redhat.com>
698
699         * gimplify.c (gimplify_init_constructor): Revert to using < rather
700         than <= for sparseness test.
701
702         PR c++/38410
703         * gimplify.c (gimplify_init_constructor): Don't write out a static
704         copy of the CONSTRUCTOR for TREE_ADDRESSABLE types or small sparse
705         initializers.
706
707 2008-12-09 Tobias Grosser  <grosser@fim.uni-passau.de>
708
709         PR middle-end/38084
710         Fix testsuite/gfortran.dg/graphite/id-3.f90.
711         * graphite.c (scopdet_basic_block_info): Fix bug that found some
712         regions more than once.
713
714 2008-12-09  Ben Elliston  <bje@au.ibm.com>
715
716         * emutls.c (__emutls_get_address): Prototype.
717         (__emutls_register_common): Likewise.
718
719         * config/dfp-bit.c (DFP_TO_INT): Remove unnecessary cast.
720
721 2008-12-09  Ben Elliston  <bje@au.ibm.com>
722
723         * config/rs6000/darwin-ldouble.c (fmsub): Remove unused variable, v.
724
725 2008-12-08  Steve Ellcey  <sje@cup.hp.com>
726
727         * config/ia64/ia64.md (UNSPECV_GOTO_RECEIVER): New constant.
728         (nonlocal_goto_receiver): New instruction.
729
730 2008-12-08  Jakub Jelinek  <jakub@redhat.com>
731
732         PR c/35443
733         * c-pretty-print.c (pp_c_expression): Handle BIND_EXPR.
734
735         PR c/35442
736         * c-pretty-print.c (pp_c_cast_expression, pp_c_expression): Handle
737         VIEW_CONVERT_EXPR the same as CASE_CONVERT.
738
739 2008-12-08  Richard Henderson  <rth@redhat.com>
740
741         PR 38240
742         * tree.h (TYPE_MODE): Invoke vector_type_mode when needed.
743         (SET_TYPE_MODE): New.
744         * c-decl.c (parser_xref_tag): Use it.
745         (finish_enum): Likewise.
746         * tree.c (build_pointer_type_for_mode): Likewise.
747         (build_reference_type_for_mode, build_index_type): Likewise.
748         (build_range_type, make_vector_type): Likewise.
749         (build_common_tree_nodes_2): Likewise.
750         * stor-layout.c (compute_record_mode): Likewise.
751         (finalize_type_size, layout_type, make_fract_type): Likewise.
752         (make_accum_type, initialize_sizetypes): Likewise.
753         (vector_type_mode): New.
754         * function.c (allocate_struct_function): Call
755         invoke_set_current_function_hook before querying anything else.
756
757         * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Add avx.
758
759 2008-12-08  Luis Machado  <luisgpm@br.ibm.com>
760
761         * alias.c (find_base_term): Synch LO_SUM handling with what
762         find_base_value does.
763
764 2008-12-08  Andrew Haley  <aph@redhat.com>
765             Kamaraju Kusumanchi <raju.mailinglists@gmail.com>
766
767         * gimple.h (gimple_build_try): Fix declaration.
768
769         * builtins.c (fold_builtin_sqrt): Don't use a conditional operator.
770         * fixed-value.c (do_fixed_add): Likewise.
771         * tree-ssa-loop-ivopts.c (iv_ca_cost): Likewise.
772
773 2008-12-08  Jakub Jelinek  <jakub@redhat.com>
774
775         PR middle-end/36802
776         * omp-low.c (use_pointer_for_field): Only call maybe_lookup_decl
777         on parallel and task contexts.
778
779 2008-12-07  Eric Botcazou  <ebotcazou@adacore.com>
780
781         * gimple.c (recalculate_side_effects) <tcc_constant>: New case.
782
783 2008-12-07  Richard Guenther  <rguenther@suse.de>
784
785         PR tree-optimization/38405
786         * tree-vrp.c (simplify_truth_ops_using_ranges): Make sure to
787         not sign-extend truth values.
788
789 2008-12-07  Eric Botcazou  <ebotcazou@adacore.com>
790
791         * tree-sra.c (scalarize_use): Create another temporary with the proper
792         type for signed types in the use_all && !is_output bitfield case.
793
794 2008-12-06  Steven Bosscher  <steven@gcc.gnu.org>
795
796         PR rtl-optimization/36365
797         * df-core.c (df_worklist_dataflow_overeager): Remove.
798         (df_worklist_dataflow): Don't call it, use double-queue only.
799         * params.def (PARAM_DF_DOUBLE_QUQUQ_THRESHOLD_FACTOR): Remove.
800
801 2008-12-06  Jakub Jelinek  <jakub@redhat.com>
802
803         PR middle-end/38428
804         * tree-ssa-operands.c (get_expr_operands) <case BIT_FIELD_REF>: Set
805         gimple_set_has_volatile_ops if the BIT_FIELD_REF is volatile.
806
807 2008-12-07  Ben Elliston  <bje@au.ibm.com>
808
809         * gthr-single.h (__gthread_once): Adjust prototype to match all
810         other gthreads models.
811
812 2008-12-06  Jakub Jelinek  <jakub@redhat.com>
813
814         * config/i386/i386.c (override_options): Use CPU_AMDFAM10
815         instead of PROCESSOR_AMDFAM10 for barcelona's schedule.
816
817         PR middle-end/38422
818         * fold-const.c (fold_unary) <CASE_CONVERT>: Don't convert MULT_EXPR
819         operands to mult_type if it isn't narrower than op0's type.
820
821 2008-12-06  Jan Hubicka  <jh@suse.cz>
822             Jakub Jelinek <jakub@redhat.com>
823
824         PR tree-optimization/38074
825         * cgraphbuild.c (compute_call_stmt_bb_frequency): Fix handling of 0
826         entry frequency.
827         * predict.c (combine_predictions_for_bb): Ignore predictor predicting
828         in both dirrection for first match heuristics.
829         (tree_bb_level_predictions): Disable noreturn heuristic when there
830         is no returning path.
831
832 2008-12-05  Bernd Schmidt  <bernd.schmidt@analog.com>
833
834         PR rtl-optimization/38272
835         * reload1.c (choose_reload_regs): Keep reload_spill_index correct
836         in all cases.
837
838 2008-12-05  Jakub Jelinek  <jakub@redhat.com>
839
840         PR c++/35336
841         * c-pretty-print.c (pp_c_postfix_expression): Handle BIT_FIELD_REF.
842         (pp_c_expression): Likewise.
843
844 2008-12-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
845
846         PR c/38416
847         * c-parser.c (struct c_token): Make pragma_kind 8 bits.
848
849 2008-12-05  Jakub Jelinek  <jakub@redhat.com>
850
851         PR middle-end/37248
852         * fold-const.c (make_bit_field_ref): Change bitpos and bitsize
853         arguments to HOST_WIDE_INT.  If type has different signedness
854         than unsignedp or different precision from bitsize, create
855         the right type for BIT_FIELD_REF and cast to type.
856         (fold_truthop): Change first_bit and end_bit to HOST_WIDE_INT.
857
858         Revert:
859         2008-03-05  Richard Guenther  <rguenther@suse.de>
860         PR c++/35336
861         * fold-const.c (fold_truthop): Remove code generating
862         BIT_FIELD_REFs of structure bases.
863         (fold_binary): Likewise.
864         (make_bit_field_ref): Remove.
865         (optimize_bit_field_compare): Remove.
866         (all_ones_mask_p): Remove.
867
868 2008-12-05  Jakub Jelinek  <jakub@redhat.com>
869
870         * tree-sra.c (sra_explode_bitfield_assignment): Always
871         call unsigned_type_for, if the precision is higher than
872         needed, call build_nonstandard_integer_type.
873
874         PR debug/38367
875         * function.c (assign_parm_find_stack_rtl): If promoted_mode
876         is wider than DECL_MODE, adjust MEM_OFFSET (stack_parm) for
877         big endian.
878
879         PR middle-end/38338
880         * builtins.c (expand_builtin_apply_args): Put before parm_birth_insn
881         only if internal_arg_pointer is a non-virtual pseudo.
882
883 2008-12-05  Joseph Myers  <joseph@codesourcery.com>
884
885         * config/rs6000/rs6000.md (move_from_CR_gt_bit): Enable for
886         TARGET_HARD_FLOAT && !TARGET_FPRS, not TARGET_E500.
887         * config/rs6000/spe.md (e500_cr_ior_compare): Likewise.
888
889 2008-12-05  Jakub Jelinek  <jakub@redhat.com>
890
891         PR tree-optimization/37716
892         * gimplify.c (gimplify_expr): Allow COND_EXPR if
893         gimplify_ctxp->allow_rhs_cond_expr.
894
895 2008-12-05  Uros Bizjak  <ubizjak@gmail.com>
896
897         * config/alpha/alpha.c (alpha_fold_vector_minmax): Create
898         VIEW_CONVERT_EXPR to convert output to long_integer_type_node.
899
900         (alpha_emit_conditional_branch): Do not generate direct branch
901         for UNORDERED comparisons.
902
903 2008-12-05  Andreas Schwab  <schwab@suse.de>
904
905         * config/rs6000/linux-unwind.h (frob_update_context): Check for
906         NULL lr.
907
908 2008-12-05  Jakub Jelinek  <jakub@redhat.com>
909
910         PR c/38408
911         * fold-const.c (fold_checksum_tree): Change buf type to union
912         tree_node.
913
914 2008-12-05  Sebastian Pop  <sebastian.pop@amd.com>
915
916         PR bootstrap/38262
917         * Makefile.in (LIBS): Remove GMPLIBS, CLOOGLIBS and PPLLIBS.
918         (BACKENDLIBS): New.
919         (cc1-dummy, cc1): Add BACKENDLIBS, remove GMPLIBS.
920
921 2008-12-05  Ben Elliston  <bje@au.ibm.com>
922
923         * c-parser.c (c_parser_enum_specifier): Initialise ident_loc and
924         comma_loc.
925         (c_parser_initelt): Initialise des_loc and ellipsis_loc.
926
927 2008-12-04  Eric Botcazou  <ebotcazou@adacore.com>
928             Gary Funck  <gary@intrepid.com>
929
930         * cse.c (lookup_as_function): Delete mode frobbing code.
931         (equiv_constant): Re-implement it there for SUBREGs.
932
933 2008-12-04  Richard Guenther  <rguenther@suse.de>
934
935         PR middle-end/36509
936         * Makefile.in (tree-ssa-alias-warnings.o): Remove.
937         (tree-ssa-structalias.o): Remove errors.h dependency.
938         (tree-ssa-reassoc.o): Likewise.
939         * tree-ssa-reassoc.c: Do not include errors.h.
940         * tree-ssa-alias-warnings.c: Remove.
941         * tree-ssa-alias.c (compute_may_aliases): Remove call to
942         strict_aliasing_warning_backend.
943         * tree-ssa-structalias.c (emit_pointer_definition): New function.
944         (emit_alias_warning): Likewise.
945         (set_uids_in_ptset): Warn for clear cases of type-punning.
946         * tree-inline.c (remap_gimple_op_r): Preserve TREE_NO_WARNING
947         on INDIRECT_REFs.
948
949 2008-12-04  Eric Botcazou  <ebotcazou@adacore.com>
950
951         * cse.c (equiv_constant): Fix pasto.
952
953 2008-12-04  Nick Clifton  <nickc@redhat.com>
954
955         * config/stormy16/stormy16.md: Remove extraneous spaces and quotes.
956         * config/stormy16/stormy16.c: Remove extraneous spaces and fix up
957         formatting of quotes.
958
959 2008-12-04  Jakub Jelinek  <jakub@redhat.com>
960
961         PR middle-end/38371
962         * fold-const.c (fold_checksum_tree): Allow modification of
963         TYPE_NEXT_VARIANT.
964
965 2008-12-03  Jakub Jelinek  <jakub@redhat.com>
966
967         PR middle-end/38360
968         * tree-ssa-ccp.c (ccp_fold_builtin): Bail out if the builtin doesn't
969         have the right number of arguments.
970
971 2008-12-03  Richard Guenther  <rguenther@suse.de>
972
973         PR middle-end/36326
974         * gimplify.c (is_gimple_mem_or_call_rhs): Remove work-around for
975         non-BLKmode types.
976
977 2008-12-03  Tomas Bily  <tbily@suse.cz>
978
979         PR middle-end/38250
980         * tree-loop-distribution.c (build_size_arg): New function.
981         (generate_memset_zero): Checks if dr_analyze_innermost succeed.
982         Reorganized generating of stmts.
983         * testsuite/gcc.dg/tree-ssa/pr38250.c: New file.
984         * tree-data-ref.c (dr_analyze_innermost): Returns bool.
985         Indicate if analysis succeed.
986         * tree-data-ref.h (dr_analyze_innermost): Returns bool.
987         * tree-predcom.c (valid_initializer_p, find_looparound_phi):
988         Uses new definition of dr_analyze_innermost.
989
990 2008-12-03  Ben Elliston  <bje@au.ibm.com>
991
992         * tree-ssa-pre.c (do_regular_insertion): Initialise edoubleprime.
993
994 2008-12-03  Jakub Jelinek  <jakub@redhat.com>
995
996         PR tree-optimization/37716
997         * tree-sra.c (sra_build_assignment): For scalar bitfield SRC construct
998         all the needed operations as trees and gimplify_assign it to dst.
999
1000         PR target/37610
1001         * configure.ac (gcc_cv_readelf): Look for readelf.
1002         (gcc_cv_as_cfi_advance_working): Check for working
1003         cfi advances with code alignment factor > 1.
1004         (HAVE_GAS_CFI_DIRECTIVE): Don't define if cfi advances
1005         don't work properly.
1006         * configure: Regenerated.
1007
1008 2008-12-03  Eric Botcazou  <ebotcazou@adacore.com>
1009             Jakub Jelinek  <jakub@redhat.com>
1010             Andrew Pinski  <andrew_pinski@playstation.sony.com>
1011
1012         PR rtl-optimization/38281
1013         * combine.c (distribute_notes): When invoking SET_INSN_DELETED on i2,
1014         set it to NULL_RTX afterwards.
1015
1016         * emit-rtl.c (set_insn_deleted): Fix formatting.
1017
1018 2008-12-02  Richard Sandiford  <rdsandiford@googlemail.com>
1019
1020         * config/mips/mips.c (mips_expand_builtin): Fix the mode of the
1021         error return value.
1022         * config/mips/mips.md (IMOVE32): New mode iterator.
1023         (movsi): Generalize with IMOVE32.
1024         (*movsi_internal): Likewise.
1025         (*mov<mode>_mips16): Likewise.
1026         (*lwxs): Likewise.
1027
1028 2008-12-02  Nathan Sidwell  <nathan@codesourcery.com>
1029             Maxim Kuvyrkov  <maxim@codesourcery.com>
1030
1031         * config/m68k/lb1sf68.asm (PICCALL, PICJUMP): Use GOT instead of
1032         PC-relative addressing when compiling for uclinux PIC.
1033         (__cmpdf_internal, __cmpsf_internal): Hide.
1034         (__cmpdf, __cmpsf): Use PIC call sequence.
1035
1036 2008-12-02  Andreas Tobler  <a.tobler@schweiz.org>
1037             Jack Howarth <howarth@bromo.med.uc.edu>
1038
1039         * config/i386/t-darwin64: Add m32 multilib support.
1040
1041 2008-12-02  Jack Howarth  <howarth@bromo.med.uc.edu>
1042
1043         * testsuite/gcc.dg/darwin-comm.c: Expand to darwin10 and later.
1044
1045 2008-12-02  Jakub Jelinek  <jakub@redhat.com>
1046
1047         PR middle-end/38343
1048         * builtins.c (fold_builtin_memory_op): Convert len to sizetype
1049         before using it in POINTER_PLUS_EXPR.
1050
1051 2008-12-02  Richard Guenther  <rguenther@suse.de>
1052
1053         PR tree-optimization/38359
1054         * fold-const.c (fold_binary): Fold -1 >> x to -1 only for
1055         non-negative x.
1056
1057 2008-12-02  Martin Jambor  <mjambor@suse.cz>
1058
1059         PR middle-end/37861
1060         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do not check
1061         for INDIRECT_REFs.
1062         (forward_propagate_addr_into_variable_array_index): Check that the
1063         offset is not computed from a MULT_EXPR, use is_gimple_assign rather
1064         than the gimple code directly.
1065
1066 2008-12-02  Ben Elliston  <bje@au.ibm.com>
1067
1068         * config/spu/float_disf.c (__floatdisf): Prototype.
1069         * config/spu/float_unsdisf.c (__float_undisf): Likewise.
1070         * config/spu/float_unssidf.c (__float_unssidf): Constify cast.
1071         * config/spu/float_unsdidf.c (__float_unsdidf): Likewise.
1072
1073 2008-12-02  DJ Delorie  <dj@redhat.com>
1074
1075         * config/stormy16/stormy16.h (INCOMING_FRAME_SP_OFFSET): Negate.
1076         (DWARF_CIE_DATA_ALIGNMENT): Define.
1077
1078         * config/stormy16/stormy16.c (xstormy16_compute_stack_layout):
1079         Invert add/sub for INCOMING_FRAME_SP_OFFSET.
1080         (xstormy16_expand_prologue): Likewise.
1081         (xstormy16_expand_builtin_va_start): Likewise.
1082         (xstormy16_gimplify_va_arg_expr): Likewise.
1083
1084 2008-12-02  Jakub Jelinek  <jakub@redhat.com>
1085
1086         PR middle-end/38343
1087         * builtins.c (expand_builtin_mempcpy_args): Handle COMPOUND_EXPRs
1088         potentially returned from folding memcpy.
1089         (expand_builtin_stpcpy_args): Similarly for folding strcpy.
1090         (fold_builtin_2): Handle BUILT_IN_STPCPY if result is ignored.
1091
1092 2008-12-02  Danny Smith  <dannysmith@users.sourceforge.net>
1093
1094         PR target/38054
1095         * config/i386/winnt.c (i386_pe_encode_section_info): Condition stdcall
1096         decoration of function RTL names here on Ada language.
1097
1098 2008-12-01  Vladimir Makarov  <vmakarov@redhat.com>
1099
1100         PR rtl-optimization/38280
1101         * ira-build.c (loop_is_inside_p, regno_allocno_order_compare_func,
1102         ira_rebuild_regno_allocno_list): New functions.
1103         (regno_allocnos): New static variable.
1104         (remove_unnecessary_allocnos): Allocate/deallocate regno_allocnos.
1105         Call ira_rebuild_regno_allocno_list.
1106
1107 2008-12-01  David Daney  <ddaney@caviumnetworks.com>
1108             Adam Nemet  <anemet@caviumnetworks.com>
1109
1110         * config/mips/linux64.h (DRIVER_SELF_SPECS): Add
1111         LINUX_DRIVER_SELF_SPECS.
1112
1113 2008-12-01  Vladimir Makarov  <vmakarov@redhat.com>
1114
1115         PR rtl-optimization/37514
1116         * reload1.c (reload_as_needed): Invalidate reg_last_reload
1117         from previous insns.
1118
1119 2008-12-01  Jakub Jelinek  <jakub@redhat.com>
1120
1121         PR c++/38348
1122         * c-omp.c (c_finish_omp_for): Only transform pointer
1123         ++ or -- into MODIFY_EXPR if second argument is non-NULL.
1124
1125         PR rtl-optimization/38245
1126         * tree-vrp.c (abs_extent_range): New function.
1127         (extract_range_from_binary_expr): Compute range
1128         for *_DIV_EXPR even if vr1 is VR_VARYING, VR_ANTI_RANGE
1129         or includes zero or if vr1 is VR_RANGE and op0 has some
1130         other range.
1131
1132 2008-12-01  Uros Bizjak  <ubizjak@gmail.com>
1133
1134         PR middle-end/37908
1135         * config/alpha/alpha.c (alpha_split_atomic_op): Properly handle NAND
1136         case by calculating ~(new_reg & val) instead of (~new_reg & val).
1137         * config/alpha/sync.md (sync_nand<mode>): Change insn RTX
1138         to (not:I48MODE (and:I48MODE (...))).
1139         (sync_old_nand<mode>): Ditto.
1140         (sync_new_nand<mode>): Ditto.
1141
1142 2008-12-01  Nick Clifton  <nickc@redhat.com>
1143
1144         * config/stormy16/stormy16.md (CARRY_REG): New constant.
1145         Replace uses of the "y" register class with direct references to
1146         the CARRY_REG register.
1147         * config/stormy16/stormy16.c: Replace clobbers of a BImode scratch
1148         register with clobbers of the carry register.
1149         (xstormy16_secondary_reload_class): Do not return CARRY_REGS.
1150         (xstormy16_split_cbranch): Remove redundant carry parameter.
1151         (xstormy16_expand_arith): Likewise.
1152         * config/stormy16/stormy16.h (enum reg_class): Remove CARRY_REGS.
1153         (IRA_COVER_CLASSES, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
1154         REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise.
1155         (CARRY_REGNUM): Define.
1156         * config/stormy16/stormy16-protos.h (xstormy16_split_cbranch):
1157         Update prototype.
1158         (xstormy16_expand_arith): Likewise.
1159
1160 2008-12-01  Chen Liqin  <liqin.chen@sunplusct.com>
1161
1162         * config/score/score.h (IRA_COVER_CLASSES): Define.
1163
1164 2008-11-30  Eric Botcazou  <ebotcazou@adacore.com>
1165
1166         PR target/38287
1167         * config/sparc/sparc.md (divsi3 expander): Remove constraints.
1168         (divsi3_sp32): Add new alternative with 'K' for operand #2.
1169         (cmp_sdiv_cc_set): Factor common string.
1170         (udivsi3_sp32): Add new alternative with 'K' for operand #2.
1171         Add TARGET_V9 case.
1172         (cmp_udiv_cc_set): Factor common string.
1173
1174 2008-11-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1175
1176         PR middle-end/38283
1177         * varasm.c (emutls_finish): Fix common registration.
1178
1179 2008-11-29  Jakub Jelinek  <jakub@redhat.com>
1180
1181         PR target/29987
1182         * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
1183
1184 2008-11-29  David Edelsohn  <edelsohn@gnu.org>
1185
1186         * config/rs6000/rs6000.c (rs6000_emit_sync): Remove support for
1187         operand wrapped in NOT.  Emit NAND as (ior (not X) (not Y)).
1188         (rs6000_split_atomic_op): Emit NAND as (ior (not X) (not Y)).
1189         * config/rs6000/sync.md (sync_nand<mode>): Represent NAND in RTL.
1190         Call rs6000_emit_sync with CODE=NOT and unmodified operands.
1191         Ignore sub-word case for now.
1192         (sync_nand<mode>_internal): Represent NAND in RTL.
1193         (sync_old_nand<mode): Same.
1194         (sync_old_name<mode>_internal): Same.
1195         (sync_new_nand<mode>): Same.
1196         (sync_new_nand<mode>_internal): Same.
1197         (sync_boolcshort_internal): Expect NAND.
1198
1199 2008-11-28  Richard Guenther  <rguenther@suse.de>
1200
1201         PR tree-optimization/37955
1202         PR tree-optimization/37742
1203         * tree-vect-transform.c (vectorizable_store): Remove assert for
1204         compatible aliases.
1205         (vectorizable_load): Likewise.
1206
1207 2008-11-27  Richard Guenther  <rguenther@suse.de>
1208
1209         * tree-ssa-structalias.c (intra_create_variable_infos): Make
1210         a constraint for the static chain parameter.
1211
1212 2008-11-27  Bernd Schmidt  <bernd.schmidt@analog.com>
1213
1214         * config/bfin/bfin.opt (micplb): New option.
1215         * config/bfin/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Set it.
1216         * config/bfin/bfin-protos.h (WA_INDIRECT_CALLS,
1217         ENABLE_WA_INDIRECT_CALLS): New macros.
1218         * config/bfin/bfin.c (bfin_cpus): Add WA_INDIRECT_CALLS to
1219         all 54x CPUs.
1220         (indirect_call_p): New function.
1221         (workaround_speculation): Handle anomaly 05-00-0426 when
1222         ENABLE_WA_INDIRECT_CALLS is true.
1223         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
1224         __WORKAROUND_INDIRECT_CALLS if ENABLE_WA_INDIRECT_CALLS.
1225         * doc/invoke.texi (Blackfin Options): Document -micplb.
1226
1227 2008-11-26  DJ Delorie  <dj@redhat.com>
1228
1229         * config/m32c/mov.md ("extendhipsi2"): New.
1230
1231         * config/m32c/bitops.md (bset_qi): Add memsym_operand predicate.
1232
1233         * config/m32c/bitops.md (andhi3_24, iorhi3_24): Don't prefer HL class.
1234         * config/m32c/mov.md (zero_extendqihi2): Likewise.
1235
1236 2008-11-26  Adam Nemet  <anemet@caviumnetworks.com>
1237
1238         * config/mips/mips.md (clear_hazard): Rename to
1239         clear_hazard_<mode>.  Use mode-specific addition.
1240         (clear_cache): Rename gen_clear_hazard to gen_clear_hazard_si
1241         or gen_clear_hazard_di depending on the size of Pmode.
1242
1243 2008-11-26  DJ Delorie  <dj@redhat.com>
1244
1245         * configure.ac: Test m32c-elf-gas for .loc.
1246         * configure: Likewise.
1247
1248 2008-11-26  Janis Johnson  <janis187@us.ibm.com>
1249
1250         PR testsuite/28870
1251         * doc/sourcebuild.texi (Test Directives): Add dg-timeout and
1252         dg-timeout-factor.
1253
1254 2008-11-26  Uros Bizjak  <ubizjak@gmail.com>
1255
1256         * config/i386/sync.md (memory_barrier_nosse): Disable also for
1257         TARGET_64BIT.  Remove special asm template for TARGET_64BIT case.
1258         (memory_barrier): Do not generate memory_barrier_nosse instruction
1259         for TARGET_64BIT.
1260         * config/i386/sse.md (*sse2_mfence): Also enable for TARGET_64BIT.
1261
1262 2008-11-26  Fredrik Unger  <fred@tree.se>
1263
1264         * config/soft-fp/floatuntisf.c (__floatuntisf): Correct
1265         function name from __floatundisf.
1266         * config/soft-fp/fixdfti.c (__fixdfti): Correct argument type to
1267         DFtype.
1268
1269 2008-11-25  Daniel Berlin  <dberlin@dberlin.org>
1270             Richard Guenther  <rguenther@suse.de>
1271
1272         PR tree-optimization/37869
1273         * tree-ssa-structalias.c (struct constraint_graph): Remove
1274         pt_used and number_incoming members.
1275         (build_pred_graph): Do not allocate them.
1276         (condense_visit): Do not use them.
1277         (label_visit): Likewise.
1278         (free_var_substitution_info): Do not free them.
1279
1280 2008-11-25  Vladimir Makarov  <vmakarov@redhat.com>
1281
1282         * doc/invoke.texi (ira-max-loops-num): Change semantics.
1283
1284         * ira-int.h (struct ira_loop_tree_node): New member to_remove_p.
1285
1286         * ira-color.c (allocno_spill_priority): New function.
1287         (remove_allocno_from_bucket_and_push, push_allocno_to_spill):
1288         Print more info about the spilled allocno.
1289         (push_allocnos_to_stack): Use allocno_spill_priority.  Add more
1290         checks on bad spill.
1291
1292         * ira-build.c (loop_node_to_be_removed_p): Remove.
1293         (loop_compare_func, mark_loops_for_removal): New functions.
1294         (remove_uneccesary_loop_nodes_from_loop_t): Use member
1295         to_remove_p.
1296         (remove_unnecessary_allocnos): Call mark_loops_for_removal.
1297
1298         * ira.c (ira): Don't change flag_ira_algorithm.
1299
1300         * params.def (ira-max-loops-num): Change the value.
1301
1302 2008-11-25  Maxim Kuvyrkov  <maxim@codesourcery.com>
1303
1304         * config/m68k/m68k.md (extendsidi2, extendsidi2_mem): Merge, clean up.
1305         Disable unsupported alternative for ColdFire,
1306         add new alternative that ColdFire can handle.
1307
1308 2008-11-25  Eric Botcazou  <ebotcazou@adacore.com>
1309
1310         * regrename.c (merge_overlapping_regs): Add registers artificially
1311         defined at the top of the basic block to the set of live ones just
1312         before the first insn.
1313
1314 2008-11-25  H.J. Lu  <hongjiu.lu@intel.com>
1315             Joey Ye  <joey.ye@intel.com>
1316
1317         PR middle-end/37843
1318         * config/i386/i386.c (ix86_function_ok_for_sibcall): Return
1319         false if we need to align the outgoing stack.
1320         (ix86_update_stack_boundary): Check parm_stack_boundary.
1321
1322 2008-11-25  Richard Guenther  <rguenther@suse.de>
1323
1324         PR middle-end/38151
1325         PR middle-end/38236
1326         * tree-ssa-alias.c (struct alias_info): Remove written_vars.
1327         Remove dereferenced_ptrs_store and dereferenced_ptrs_load
1328         in favor of dereferenced_ptrs.
1329         (init_alias_info): Adjust.
1330         (delete_alias_info): Likewise.
1331         (compute_flow_insensitive_aliasing): Properly
1332         include all aliased variables.
1333         (update_alias_info_1): Use dereferenced_ptrs.
1334         (setup_pointers_and_addressables): Likewise.
1335         (get_smt_for): Honor ref-all pointers and pointers with known alias
1336         set properly.
1337         * config/i386/i386.c (ix86_gimplify_va_arg): Use ref-all pointers.
1338
1339 2008-11-25  Uros Bizjak  <ubizjak@gmail.com>
1340
1341         PR target/38254
1342         * config/i386/sync.md (memory_barrier_nosse): New insn pattern.
1343         (memory_barrier): Generate memory_barrier_nosse insn for !TARGET_SSE2.
1344
1345 2008-11-24  Maxim Kuvyrkov  <maxim@codesourcery.com>
1346
1347         * config/m68k/m68k.md (cmpdi): Use (scratch) instead of pseudo.
1348
1349 2008-11-24  Richard Sandiford  <rdsandiford@googlemail.com>
1350
1351         * config/mips/mips.h (ASM_OUTPUT_DEBUG_LABEL): Define.
1352
1353 2008-11-24  Maxim Kuvyrkov  <maxim@codesourcery.com>
1354
1355         PR target/35018
1356         * config/m68k/m68k.md (ok_for_coldfire, enabled): New attributes.
1357         (addsi_lshrsi_31): Add ColdFire-friendly alternatives.
1358
1359 2008-11-24  Uros Bizjak  <ubizjak@gmail.com>
1360
1361         * config/i386/i386.md (UNSPECV_CMPXCHG): Rename from
1362         UNSPECV_CMPXCHG_[12].
1363         * config/i386/sync.md: Use UNSPECV_CMPXCHG instead of
1364         UNSPECV_CMPXCHG_[12].
1365
1366         PR target/36793
1367         * config/i386/sync.md (memory_barrier): New expander.
1368
1369 2008-11-24  Jakub Jelinek  <jakub@redhat.com>
1370
1371         PR middle-end/37135
1372         * dse.c (find_shift_sequence): Optimize extraction from a constant.
1373
1374 2008-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1375
1376         * pa.c (function_arg): Revert 2008-10-26 change.
1377
1378 2008-11-23  Helge Deller  <deller@gmx.de>
1379
1380         * pa/linux-atomic.c (EBUSY): Define if not _LP64.
1381         (__kernel_cmpxchg): Return -EBUSY if the kernel LWS call
1382         succeeded and lws_ret is not equal to oldval.
1383
1384 2008-11-23  Kaz Kojima  <kkojima@gcc.gnu.org>
1385
1386         * config/sh/sh.md (consttable_4): Call mark_symbol_refs_as_used.
1387
1388 2008-11-22  Andreas Schwab  <schwab@suse.de>
1389
1390         * varasm.c (default_file_start): Suppress ASM_APP_OFF also with
1391         -dA and -dP.
1392
1393 2008-11-22  Adam Nemet  <anemet@caviumnetworks.com>
1394
1395         * config/mips/mips.md (rdhwr): Rename to rdhwr_synci_step_<mode>.
1396         Use constant 1 as the operand.
1397         * config/mips/mips.c (mips_expand_synci_loop): Make INC Pmode.
1398         Rename gen_rdhwr to gen_rdhwr_synci_step_si or
1399         gen_rdhwr_synci_step_di depending on the size of Pmode.
1400
1401 2008-11-22  Uros Bizjak  <ubizjak@gmail.com>
1402
1403         PR target/38222
1404         * config/i386/i386.md (SWI248): New mode iterator.
1405         (SWI32): Remove mode iterator.
1406         (popcount<mode>2): Rename from popcounthi2, popcountsi2 and
1407         popcounthi2 insn patterns. Macroize pattern using SWI248 mode
1408         iterator.  Generate popcnt mnemonic without mode extensions
1409         for Darwin x86 targets.
1410         (*popcount<mode>2_cmp): Ditto.
1411         (*popcountsi2_cmp_zext): Generate popcnt mnemonic without mode
1412         extensions for Darwin x86 targets.
1413
1414 2008-11-22  Eric Botcazou  <ebotcazou@adacore.com>
1415
1416         * config/sparc/sparc.c (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define
1417         only if HAVE_AS_SPARC_UA_PCREL is defined.
1418
1419 2008-11-22  Richard Sandiford  <rdsandiford@googlemail.com>
1420
1421         * ira-costs.c (find_allocno_class_costs): Work out the maximum
1422         allocno_costs value of the classees with the lowest total_costs
1423         value.  Use this to set ALLOCNO_COVER_CLASS_COST here...
1424         (setup_allocno_cover_class_and_costs): ...rather than here.
1425         Use the ALLOCNO_COVER_CLASS_COST for all registers in the
1426         preferred class.
1427
1428 2008-11-22  Jakub Jelinek  <jakub@redhat.com>
1429
1430         PR middle-end/37323
1431         * builtins.c (expand_builtin_apply_args): Emit sequence before
1432         parm_birth_insn instead of after entry_of_function's first insn.
1433
1434         PR middle-end/37316
1435         * function.c (assign_parm_remove_parallels): Pass
1436         data->passed_type as third argument to emit_group_store.
1437
1438         PR target/37170
1439         * final.c (mark_symbol_refs_as_used): New function.
1440         * output.h (mark_symbol_refs_as_used): New prototype.
1441         * config/s390/s390.c (s390_mark_symbol_ref_as_used): Removed.
1442         (s390_output_pool_entry): Use mark_symbol_refs_as_used.
1443         * config/arm/arm.md (consttable_4): Likewise.
1444
1445         PR target/37880
1446         * doc/invoke.texi: Adjust wording of -mcmodel=medium description.
1447
1448 2008-11-21  Jakub Jelinek  <jakub@redhat.com>
1449
1450         PR middle-end/38200
1451         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only
1452         propagate x = &a into *x = b if conversion from b to a's type is
1453         useless.
1454
1455 2008-11-21  Eric Botcazou  <ebotcazou@adacore.com>
1456
1457         * caller-save.c (insert_one_insn): Take into account REG_INC notes
1458         for the liveness computation of the new insn.
1459
1460 2008-11-21  DJ Delorie  <dj@redhat.com>
1461
1462         * config/stormy16/stormy16.md (movqi_internal, movhi_internal):
1463         Moves to/from below100 space (W) can only use r0-r7.
1464
1465 2008-11-21  Paolo Carlini  <paolo.carlini@oracle.com>
1466
1467         PR other/38214
1468         * doc/invoke.texi (Optimization Options): Fix typo.
1469
1470 2008-11-21  H.J. Lu  <hongjiu.lu@intel.com>
1471             Xuepeng Guo  <xuepeng.guo@intel.com>
1472
1473         * config.gcc (extra_headers): For x86 and x86-64, remove
1474         gmmintrin.h, add immintrin.h and avxintrin.h.
1475
1476         * config/i386/gmmintrin.h: Renamed to ...
1477         * config/i386/avxintrin.h: This.  Issue an error if
1478         _IMMINTRIN_H_INCLUDED is undedined.
1479
1480         * config/i386/immintrin.h: New.
1481
1482 2008-11-21  Jakub Jelinek  <jakub@redhat.com>
1483
1484         PR target/38208
1485         * reload1.c (eliminate_regs_in_insn): For trunc_int_for_mode use
1486         mode of PLUS, not mode of the eliminated register.
1487
1488 2008-11-21  Uros Bizjak  <ubizjak@gmail.com>
1489
1490         * config/i386/mmx.md (mmx_nand<mode>3): Rename to mmx_andnot<mode>3.
1491         * config/i386/sse.md (avx_nand<mode>3): Rename to avx_andnot<mode>3.
1492         (<sse>_nand<mode>3): Rename to <sse>_andnot<mode>3.
1493         (sse2_nand<mode>3): Rename to sse2_andnot<mode>3.
1494         (*sse_nand<mode>3): Rename to *sse_andnot<mode>3.
1495         (*avx_nand<mode>3): Rename to *avx_andnot<mode>3.
1496         (*nand<mode>3): Rename to *andnot<mode>3.
1497         (*nandtf3): rename to *andnottf3.
1498         * config/i386/i386.c (bdesc_args) [IX86_BUILTIN_PANDN]:
1499         Use CODE_FOR_mmx_andnotv2si3.
1500         [IX86_BUILTIN_ANDNPS]: Use CODE_FOR_sse_andnotv4sf3.
1501         [IX86_BUILTIN_ANDNPD]: Use CODE_FOR_sse2_andnotv2df3.
1502         [IX86_BUILTIN_PANDN128]: Use CODE_FOR_sse2_andnotv2di3.
1503         [IX86_BUILTIN_ANDNPS256]: Use CODE_FOR_avx_andnotv8sf3.
1504         [IX86_BUILTIN_ANDNPD256]: Use CODE_FOR_avx_andnotv4df3.
1505
1506 2008-11-21  Uros Bizjak  <ubizjak@gmail.com>
1507
1508         PR middle-end/37908
1509         * config/ia64/ia64.c (ia64_expand_atomic_op): Properly handle NAND
1510         case by calculating ~(new_reg & val) instead of (~new_reg & val).
1511         * config/ia64/sync.md (sync_nand<mode>): Change insn RTX
1512         to (not:IMODE (and:IMODE (...))).
1513         (sync_old_nand<mode>): Ditto.
1514         (sync_new_nand<mode>): Ditto.
1515
1516 2008-11-20  Joseph Myers  <joseph@codesourcery.com>
1517
1518         * config/arm/thumb2.md (thumb2_casesi_internal,
1519         thumb2_casesi_internal_pic): Use earlyclobber for scratch operand 4.
1520
1521 2008-11-20  Andreas Krebbel  <krebbel1@de.ibm.com>
1522
1523         * gcc/config/s390/s390.c (s390_expand_atomic): Adjust QI/HI atomic
1524         nand to the changed 4.4 semantic.
1525
1526 2008-11-20  Jakub Jelinek  <jakub@redhat.com>
1527
1528         PR middle-end/29215
1529         * builtins.c (SLOW_UNALIGNED_ACCESS): Define if not defined.
1530         (fold_builtin_memory_op): Handle even the case where just one
1531         of src and dest is an address of a var decl component, using
1532         TYPE_REF_CAN_ALIAS_ALL pointers.  Remove is_gimple_min_invariant
1533         and readonly_data_expr src check.
1534         * tree-ssa-sccvn.c (DFS): Use clear_and_done_ssa_iter to shut
1535         up warnings.
1536
1537         PR rtl-optimization/36998
1538         * dwarf2out.c (stack_adjust_offset): Add cur_args_size and cur_offset
1539         arguments.  Handle sp = reg and (set (foo) (mem (pre_inc (reg sp)))).
1540         (compute_barrier_args_size_1, dwarf2out_frame_debug_expr): Adjust
1541         stack_adjust_offset callers.
1542         (dwarf2out_stack_adjust): Likewise.  Handle insns in annulled
1543         branches properly.
1544         (compute_barrier_args_size): Handle insns in annulled branches
1545         properly.
1546
1547 2008-11-20  Uros Bizjak  <ubizjak@gmail.com>
1548
1549         PR target/38151
1550         * config/i386/i386.c (classify_argument) [integer mode size <= 64bit]:
1551         Handle cases when integer argument crosses argument register boundary.
1552
1553 2008-11-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1554
1555         PR bootstrap/33100
1556         * config.gcc (i[34567]86-*-solaris2*): Don't include
1557         i386/t-crtstuff here.
1558         Move extra_parts, i386/t-sol2 in tmake_file to libgcc/config.host.
1559         * config/i386/t-sol2: Move to libgcc/config/i386.
1560
1561 2008-11-20  Samuel Thibault  <samuel.thibault@ens-lyon.org>
1562
1563         PR driver/21706
1564         * tlink.c: Include "libiberty.h".
1565         (initial_cwd): Change type into char *.
1566         (tlink_init): Call getpwd instead of getcwd.
1567
1568 2008-11-19  Zdenek Dvorak  <ook@ucw.cz>
1569
1570         PR rtl-optimization/32283
1571         * tree-ssa-loop-niter.c (scev_probably_wraps_p): Use type of the base
1572         of the induction variable to decide whether it may wrap.
1573         * tree-ssa-loop-ivopts.c (rewrite_use_compare): Emit the
1574         initialization of the bound before the loop.
1575         * simplify-rtx.c (simplify_binary_operation_1): Add two
1576         simplifications regarding AND.
1577         (simplify_plus_minus): Only fail if no simplification is possible.
1578         * loop-iv.c (simple_rhs_p): Consider reg + reg and reg << cst simple.
1579
1580 2008-11-20  Jakub Jelinek  <jakub@redhat.com>
1581
1582         PR c++/36631
1583         * gimplify.c (gimplify_call_expr): Defer most of the cannot inline
1584         checking until GIMPLE lowering.
1585         * gimple-low.c (check_call_args): New function.
1586         (lower_stmt) <case GIMPLE_CALL>: Call it.
1587
1588 2008-11-19  Adam Nemet  <anemet@caviumnetworks.com>
1589
1590         * config/mips/mips.c (mips_gimplify_va_arg_expr): Use -rsize
1591         with the same type as the first operand of the AND expression.
1592
1593 2008-11-19  Vladimir Makarov  <vmakarov@redhat.com>
1594
1595         PR bootstrap/37859
1596         * ira-int.h (struct ira_loop_tree_node): New member
1597         entered_from_non_parent_p.
1598
1599         * ira-color.c (print_loop_title): Print loop bbs.
1600
1601         * ira-emit.c (entered_from_non_parent_p,
1602         setup_entered_from_non_parent_p): New functions.
1603         (not_modified_p): Rename to store_can_be_removed_p.  Check there
1604         is no side entries.
1605         (generate_edge_moves): Use store_can_be_removed_p instead of
1606         not_modified_p.
1607         (ira_emit): Call setup_entered_from_non_parent_p.
1608
1609         * ira-build.c (copy_info_to_removed_store_destinations):
1610         Accumulate CALL_FREQ, CALL_CROSSED_NUM, and
1611         ALLOCNO_EXCESS_PRESSURE_POINTS_NUM.
1612         (ira_flattening): Don't CHECK MEM_OPTIMIZED_DEST[_P], always
1613         update all accumulated attributes.
1614
1615 2008-11-19  Vladimir Makarov  <vmakarov@redhat.com>
1616
1617         PR bootstrap/37790
1618         * ira-int.h (ira_copy_allocno_live_range_list,
1619         ira_merge_allocno_live_ranges, ira_allocno_live_ranges_intersect_p,
1620         ira_finish_allocno_live_range_list): New prototypes.
1621         (ira_allocno_live_ranges_intersect_p,
1622         ira_pseudo_live_ranges_intersect_p): Remove.
1623
1624         * ira-conflicts.c (ira_allocno_live_ranges_intersect_p,
1625         ira_pseudo_live_ranges_intersect_p): Rename to
1626         allocnos_have_intersected_live_ranges_p and
1627         pseudos_have_intersected_live_ranges_p.  Move them from here to ...
1628
1629         * ira-color.c: ... here
1630         (coalesced_allocno_conflict_p): Use
1631         allocnos_have_intersected_live_ranges_p.
1632         (coalesced_allocnos_living_at_program_points,
1633         coalesced_allocnos_live_at_points_p,
1634         set_coalesced_allocnos_live_points): Remove.
1635         (slot_coalesced_allocnos_live_ranges,
1636         slot_coalesced_allocno_live_ranges_intersect_p,
1637         setup_slot_coalesced_allocno_live_ranges): New.
1638         (coalesce_spill_slots): Use ranges of coalesced allocnos.
1639         (ira_sort_regnos_for_alter_reg): Use
1640         allocnos_have_intersected_live_ranges_p.
1641         (ira_reuse_stack_slot): Use
1642         pseudos_have_intersected_live_ranges_p.
1643
1644         * global.c (pseudo_for_reload_consideration_p): Check
1645         flag_ira_share_spill_slots too.
1646
1647         * ira-build.c (copy_allocno_live_range_list): Rename to
1648         ira_copy_allocno_live_range_list.  Make it external.
1649         (merge_ranges): Rename to ira_merge_allocno_live_ranges.  Make it
1650         external.
1651         (ira_allocno_live_ranges_intersect_p): New.
1652         (ira_finish_allocno_live_range_list): New.
1653         (finish_allocno): Use it.
1654         (remove_unnecessary_allocnos): Use ira_merge_allocno_live_ranges.
1655         (copy_info_to_removed_store_destinations): Ditto.  Use
1656         ira_copy_allocno_live_range_list.
1657         (ira_flattening): Use ira_merge_allocno_live_ranges.
1658
1659         * ira.c (too_high_register_pressure_p): New function.
1660         (ira): Switch off sharing spill slots if the pressure is too high.
1661
1662 2008-11-19  Richard Guenther  <rguenther@suse.de>
1663
1664         * tree.c (build2_stat): Allow non-POINTER_PLUS_EXPRs with
1665         non-sizetype offsets if their precision matches that of the pointer.
1666         * expr.c (expand_expr_real_1): Always sign-extend the offset
1667         operand of a POINTER_PLUS_EXPR.
1668
1669 2008-11-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1670
1671         * config.gcc: Unobsolete mips-sgi-irix[56]*.
1672         (mips-sgi-irix[56]*): No need to use fixproto.
1673
1674 2008-11-19  Maxim Kuvyrkov  <maxim@codesourcery.com>
1675             Paul Brook  <paul@codesourcery.com>
1676
1677         * config/m68k/lb1sf68.asm: Add GNU-stack annotation to avoid
1678         executable stack.
1679
1680 2008-11-19  Maxim Kuvyrkov  <maxim@codesourcery.com>
1681
1682         * config/m68k/m68k.c (sched_attr_op_type): Handle all CONSTs.
1683
1684 2008-11-19  Razya Ladelsky  <razya@il.ibm.com>
1685
1686         PR target/38156
1687         * tree-parloops.c (loop_parallel_p): NULL vect_dump.
1688         (separate_decls_in_region): Create shared struct even when there
1689         are only reductions.
1690
1691 2008-11-19  Hariharan Sandanagobalane <hariharan@picochip.com>
1692
1693         * config/picochip/picochip.c (headers): Remove an unnecessary
1694         header file.
1695
1696 2008-11-19  Andrew Stubbs  <ams@codesourcery.com>
1697
1698         PR target/36133
1699         * config/m68k/m68k.h (CC_OVERFLOW_UNUSABLE, CC_NO_CARRY): New defines.
1700         * config/m68k/m68k.c (notice_update_cc): Set cc_status properly for
1701         shift instructions.
1702         * config/m68k/m68k.md: Adjust all conditional branches that use the
1703         carry and overflow flags so they understand CC_OVERFLOW_UNUSABLE.
1704
1705 2008-11-18  Uros Bizjak  <ubizjak@gmail.com>
1706
1707         PR target/37362
1708         * config/mips/mips.md (move_doubleword_fpr<mode>): Check that "high"
1709         is a register or zero operand in the correct mode before generating
1710         mtch1 insn or a register operand in the correct mode before generating
1711         mfch1 insn.
1712         (mtch1<mode>): Correct operand 1 predicate to reg_or_0_operand.
1713
1714 2008-11-18  Adam Nemet  <anemet@caviumnetworks.com>
1715
1716         * config.gcc (mips*-sde-elf*): Handle mipsisa64r2*.
1717         (mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Add new cases to
1718         mipsisa*-*-elf*.  Handle mipsisa64r2*.
1719         * config/mips/sde.h (LINK_SPEC): Handle -mips64r2.
1720         * config/mips/t-isa3264 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
1721         mips64r2.
1722         (MULTILIB_EXCLUSIONS): Add mips64r2/mfp64.
1723         * config/mips/t-sde (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
1724         mips64r2.
1725         (MULTILIB_EXCLUSIONS): Add mips64r2/mfp64.  Add mips64r2/mips16.
1726         Fix mips16 if mips64 or mips64r2 are multilib defaults.
1727         * config/mips/t-sdemtk (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add
1728         mips64r2.
1729
1730 2008-11-18  Jakub Jelinek  <jakub@redhat.com>
1731
1732         PR target/38130
1733         * config/i386/i386.md (allocate_stack_worker_32,
1734         allocate_stack_worker_64): Don't use match_dup between input and
1735         output operand.
1736         (allocate_stack): Adjust gen_stack_worker_{32,64} caller.
1737         * config/i386/i386.c (ix86_expand_prologue): Likewise.
1738
1739 2008-11-18  Kai Tietz  <kai.tietz@onevision.com>
1740
1741         * config/i386/t-cygming (SHLIB_LINK): Make sure that $(SHLIB_MAP).def
1742         is forced when trying to do a symbol link for it.
1743
1744 2008-11-17  Adam Nemet  <anemet@caviumnetworks.com>
1745
1746         * expmed.c (extract_bit_field_1): Also use a temporary and
1747         convert_extracted_bit_field when the conversion from ext_mode to
1748         the target mode requires explicit truncation.
1749
1750 2008-11-17  Richard Sandiford  <rdsandiford@googlemail.com>
1751
1752         * config/mips/mips.h (REG_ALLOC_ORDER): Put accumulators first.
1753         Tweak formatting.
1754         * config/mips/mips.c (mips_ira_cover_classes): Don't use accumulator
1755         registers when not optimizing.
1756
1757 2008-11-17  Richard Sandiford  <rdsandiford@googlemail.com>
1758
1759         * config/mips/mips.md (*mul_acc_si): Remove middle alternative
1760         and its associated define_split.  Expose the all-d alternative
1761         to the register allocator, but mark it with "?".  Mark the first
1762         alternative with "*?*?".
1763         (*mul_sub_si): Likewise.
1764         (*mul_acc_si_r3900): New pattern.
1765
1766 2008-11-17  Jakub Jelinek  <jakub@redhat.com>
1767
1768         PR middle-end/38140
1769         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): If
1770         propagating x = &a into *x = b, add a cast if not useless
1771         type conversion or don't optimize if another stmt would be
1772         needed.
1773
1774 2008-11-17  Uros Bizjak  <ubizjak@gmail.com>
1775
1776         PR middle-end/37908
1777         * optabs.c (expand_sync_operation): Properly handle NAND case
1778         by calculating ~(t1 & val) instead of (~t1 & val).
1779         * builtins.c (expand_builtin_sync_operation): Warn for changed
1780         semantics in NAND builtins.
1781         * c.opt (Wsync-nand): New warning option.  Describe -Wsync-nand.
1782
1783         * doc/invoke.texi (Warning options): Add Wsync-nand.
1784         * doc/extend.texi (Atomic Builtins) [__sync_fetch_and_nand]: Correct
1785         __sync_fetch_and_nand builtin operation in the example.  Add a note
1786         about changed semantics in GCC 4.4.
1787         [__sync_nand_and_fetch]: Correct __sync_nand_and_fetch builtin
1788         operation in the example.  Add a note about changed semantics in
1789         GCC 4.4.
1790
1791 2008-11-16  Jan Hubicka  <jh@suse.cz>
1792
1793         * cgraph.c (cgraph_function_body_availability): Fix test of externally
1794         visible.
1795
1796 2008-11-16  Joshua Kinard  <kumba@gentoo.org>
1797
1798         * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=r1[0246]000
1799         to -mips4.
1800
1801 2008-11-16  Richard Sandiford  <rdsandiford@googlemail.com>
1802
1803         PR target/38052
1804         * config/mips/mips.c (mips_cfun_call_saved_reg_p)
1805         (mips_cfun_might_clobber_call_saved_reg_p): New functions,
1806         split out from...
1807         (mips_save_reg_p): ...here.  Always consult TARGET_CALL_SAVED_GP
1808         rather than call_really_used_regs when handling $gp.
1809
1810 2008-11-16  Richard Sandiford  <rdsandiford@googlemail.com>
1811
1812         PR target/38052
1813         * config/mips/mips.c (machine_function): Update the comment
1814         above global_pointer.
1815         (mips_global_pointer): Use INVALID_REGNUM rather than 0 to indicate
1816         that a function doesn't need a global pointer.
1817         (mips_current_loadgp_style): Update accordingly.
1818         (mips_restore_gp): Likewise.
1819         (mips_output_cplocal): Likewise.
1820         (mips_expand_prologue): Likewise.
1821
1822 2008-11-16  Eric Botcazou  <ebotcazou@adacore.com>
1823
1824         * config/sparc/sparc.c (function_arg_vector_value): Remove 'base_mode'
1825         parameter.  Use DImode for computing the number of registers.
1826         (function_arg): Adjust for above change.
1827         (function_value): Likewise.
1828
1829 2008-11-15  Zdenek Dvorak  <ook@ucw.cz>
1830
1831         PR tree-optimization/37950
1832         * tree-flow-inline.h (memory_partition): Return NULL when aliases were
1833         not computed for the current function.
1834
1835 2008-11-15  Jakub Jelinek  <jakub@redhat.com>
1836
1837         PR target/38123
1838         * config/i386/i386.c (ix86_gimplify_va_arg): Don't share valist between
1839         gpr and other COMPONENT_REFs.
1840
1841 2008-11-15  Richard Guenther  <rguenther@suse.de>
1842
1843         PR tree-optimization/38051
1844         * tree-ssa-alias.c (update_alias_info_1): Manually find
1845         written variables.
1846
1847 2008-11-15  Joshua Kinard  <kumba@gentoo.org>
1848
1849         * doc/invoke.texi (-mfix-r10000): Document.
1850         * config/mips/mips.opt (mfix-r10000): New option.
1851         * config/mips/mips-protos.h (mips_output_sync_loop): Declare.
1852         * config/mips/mips.h (MIPS_COMPARE_AND_SWAP): Use %?.
1853         (MIPS_COMPARE_AND_SWAP_12): Likewise.
1854         (MIPS_SYNC_OP): Likewise.
1855         (MIPS_SYNC_OP_12): Likewise.
1856         (MIPS_SYNC_OLD_OP_12): Likewise.
1857         (MIPS_SYNC_NEW_OP_12): Likewise.
1858         (MIPS_SYNC_OLD_OP): Likewise.
1859         (MIPS_SYNC_NAND): Likewise.
1860         (MIPS_SYNC_OLD_NAND): Likewise.
1861         (MIPS_SYNC_EXCHANGE): Likewise.
1862         (MIPS_SYNC_EXCHANGE_12): Likewise.
1863         (MIPS_SYNC_NEW_OP): Likewise, using %~ to fill branch-likely
1864         delay slots.
1865         (MIPS_SYNC_NEW_NAND): Likewise.
1866         * config/mips/mips.c (mips_print_operand_punctuation): Handle '~'.
1867         (mips_init_print_operand_punct): Treat '~' as a punctuation character.
1868         (mips_output_sync_loop): New function.
1869         (mips_override_options): Make -march=r10000 imply -mfix-r10000.
1870         Make -mfix-r10000 require branch-likely instructions.
1871         * config/mips/sync.md (sync_compare_and_swap<mode>): Use
1872         mips_output_sync_loop.
1873         (compare_and_swap_12): Likewise.
1874         (sync_add<mode>): Likewise.
1875         (sync_<optab>_12): Likewise.
1876         (sync_old_<optab>_12): Likewise.
1877         (sync_new_<optab>_12): Likewise.
1878         (sync_nand_12): Likewise.
1879         (sync_old_nand_12): Likewise.
1880         (sync_new_nand_12): Likewise.
1881         (sync_sub<mode>): Likewise.
1882         (sync_old_add<mode>): Likewise.
1883         (sync_old_sub<mode>): Likewise.
1884         (sync_new_add<mode>): Likewise.
1885         (sync_new_sub<mode>): Likewise.
1886         (sync_<optab><mode>): Likewise.
1887         (sync_old_<optab><mode>): Likewise.
1888         (sync_new_<optab><mode>): Likewise.
1889         (sync_nand<mode>): Likewise.
1890         (sync_old_nand<mode>): Likewise.
1891         (sync_new_nand<mode>): Likewise.
1892         (sync_lock_test_and_set<mode>): Likewise.
1893         (test_and_set_12): Likewise.
1894
1895 2008-11-15  Eric Botcazou  <ebotcazou@adacore.com>
1896
1897         * gcc.c (cc1_options): Fix comment.
1898
1899 2008-11-15  Jakub Jelinek  <jakub@redhat.com>
1900
1901         PR c++/37561
1902         * c-typeck.c (build_unary_op): Don't call get_unwidened.  Use
1903         argtype instead of result_type.
1904
1905 2008-11-14  Adam Nemet  <anemet@caviumnetworks.com>
1906
1907         * ira-int.h (struct ira_loop_tree_node): Improve comments for
1908         subloop_next/next and subloops/childen fields.
1909
1910 2008-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1911
1912         * config/spu/spu-elf.h (STANDARD_STARTFILE_PREFIX_2): Disable default.
1913         (STANDARD_INCLUDE_DIR): Redefine to "/include".
1914         (LOCAL_INCLUDE_DIR): Undefine.
1915         * config/spu/t-spu-elf (NATIVE_SYSTEM_HEADER_DIR): Define.
1916
1917 2008-11-14  Vladimir Makarov  <vmakarov@redhat.com>
1918
1919         PR rtl-optimization/37397
1920         * ira-int.h (struct ira_allocno): New member bad_spill_p.
1921         (ALLOCNO_BAD_SPILL_P): New macro.
1922
1923         * ira-color.c (push_allocnos_to_stack): Check ALLOCNO_BAD_SPILL_P.
1924
1925         * ira-build.c (ira_create_allocno): Initialize ALLOCNO_BAD_SPILL_P.
1926         (create_cap_allocno, propagate_allocno_info,
1927         remove_unnecessary_allocnos): Set up or update ALLOCNO_BAD_SPILL_P.
1928         (update_bad_spill_attribute): New function.
1929         (ira_build): Call it.
1930
1931         * ira-costs.c (record_reg_classes): Set up ALLOCNO_BAD_SPILL_P.
1932
1933 2008-11-14  Jakub Jelinek  <jakub@redhat.com>
1934
1935         PR tree-optimization/38104
1936         * gimplify.c (gimple_regimplify_operands): Add referenced vars
1937         before calling mark_symbols_for_renaming, not after it.
1938
1939 2008-11-14  Kaz Kojima  <kkojima@gcc.gnu.org>
1940
1941         * config/sh/sh.h (OPTIMIZATION_OPTIONS): Revert last change.
1942         (OVERRIDE_OPTIONS): Likewise.
1943
1944 2008-11-14  Maxim Kuvyrkov  <maxim@codesourcery.com>
1945             Andrew Stubbs  <ams@codesourcery.com>
1946             Gunnar Von Boehn  <gunnar@genesi-usa.com>
1947
1948         PR target/36134
1949         * config/m68k/m68k.md (addsi3_5200): Add a new alternative preferring
1950         the shorter LEA insn over ADD.L where possible.
1951
1952 2008-11-14  Thomas Schwinge  <tschwinge@gnu.org>
1953
1954         * configure.ac (gcc_cv_libc_provides_ssp): Also consider GNU/Hurd
1955         systems, which are assumend to always provide SSP-support in glibc.
1956         Also consider GNU/kFreeBSD, GNU/kNetBSD systems in the `*-*-linux*'
1957         case.
1958         * configure: Regenerate.
1959
1960 2008-11-14  Jakub Jelinek  <jakub@redhat.com>
1961
1962         PR middle-end/36125
1963         * function.c (gimplify_parameters): For callee copies parameters,
1964         move TREE_ADDRESSABLE flag from the PARM_DECL to the local copy.
1965
1966 2008-11-13  Thomas Schwinge  <tschwinge@gnu.org>
1967
1968         PR target/28102
1969         * config.gcc (*-*-gnu*): Move Alpha parts into the `alpha*-*-gnu*',
1970         x86 parts into the `i[34567]86-*-linux*' and parts that are
1971         independent of the processor architecture into the `*-*-linux*' cases.
1972         (*-*-linux*): Consider `linux.opt' only for Linux-based configurations.
1973         * config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Redefine.
1974         (TARGET_OS_CPP_BUILTINS, LINK_SPEC): Don't redefine.
1975         [TARGET_LIBC_PROVIDES_SSP] (TARGET_THREAD_SSP_OFFSET): Undefine.
1976         * config/gnu.h (NO_IMPLICIT_EXTERN_C): Don't redefine.
1977         (HURD_TARGET_OS_CPP_BUILTINS): Don't define, but instead...
1978         (LINUX_TARGET_OS_CPP_BUILTINS): Redefine.
1979
1980 2008-11-13  Ruan Beihong  <ruanbeihong@gmail.com>
1981
1982         * config/mips/loongson.md (<u>div<mode>3, <u>mod<mode>3): New patterns.
1983         * config/mips/loongson2ef.md (ls2_imult): Handle imul3nc.
1984         (ls2_idiv): Likewise idiv3.
1985         (ls2_prefetch): New reservation.
1986         * config/mips/mips.h (ISA_HAS_PREFETCH): Add TARGET_LOONGSON_2EF.
1987         * config/mips/mips.md (type): Add imul3nc and idiv3.
1988         (length): Handle idiv3.
1989         (any_mod): New code_iterator.
1990         (u): Handle MOD and UMOD.
1991         (mul<mode>3): Generate mul<mode>3_mul3_ls2ef on Loongson targets.
1992         (prefetch): Handle TARGET_LOONGSON_2EF.
1993
1994 2008-11-13  Jakub Jelinek  <jakub@redhat.com>
1995
1996         PR c++/27017
1997         * dwarf2out.c (prune_unused_types_walk_local_classes): New function.
1998         (prune_unused_types_walk): Call it for non-perennial local classes.
1999         Set die_mark to 2 if recursing on children.  If die_mark is 1 on
2000         entry, just set it to 2 and recurse on children, don't walk attributes
2001         again.
2002
2003 2008-11-13  Martin Michlmayr  <tbm@cyrius.com>
2004
2005         * c-common.c (warn_about_parentheses): Add missing whitespace
2006         in warning.
2007
2008 2008-11-13  Paul Brook  <paul@codesourcery.com>
2009
2010         * doc/invoke.texi: Document --fix-cortex-m3.
2011         * config/arm/arm.c (arm_override_options): Set fix_cm3_ldrd if
2012         Cortex-M3 cpu is selected.
2013         (output_move_double): Avoid overlapping base register and first
2014         destination register when fix_cm3_ldrd.
2015         * config/arm/arm.opt: Add mfix-cortex-m3-ldrd.
2016
2017 2008-11-13  Jakub Jelinek  <jakub@redhat.com>
2018
2019         PR bootstrap/38100
2020         * gimple.h (gimple_range_check_failed): Remove prototype.
2021         * gimple.c (gimple_check_failed): Don't check GCC_VERSION
2022         in guarding #if.
2023         (gimple_range_check_failed): Removed.
2024
2025 2008-11-13  Andrew Haley  <aph@redhat.com>
2026
2027         PR bootstrap/38088
2028         * mcf.c (CAP_INFINITY): Use HOST_WIDEST_INT maximum, not GCC specific
2029         __LONG_LONG_MAX__.
2030
2031 2008-11-12  Jakub Jelinek  <jakub@redhat.com>
2032
2033         PR c++/36478
2034         Revert:
2035         2007-05-07  Mike Stump  <mrs@apple.com>
2036         * doc/invoke.texi (Warning Options): Document that -Wempty-body
2037         also checks for and while statements in C++.
2038
2039 2008-11-12  Dodji Seketeli  <dodji@redhat.com>
2040
2041         PR debug/27574
2042         * cgraph.h: New abstract_and_needed member to struct cgraph_node.
2043         * cgraphunit.c (cgraph_analyze_functions): Flag abstract functions
2044         - which clones are reachable - as "abstract and needed".
2045         * cgraph.c (cgraph_release_function_body):  If a node is
2046         "abstract and needed", do not release its DECL_INITIAL() content
2047         that will be needed to emit debug info.
2048
2049 2008-11-12  Steve Ellcey  <sje@cup.hp.com>
2050
2051         PR target/27880
2052         * configure.ac (GCC_CHECK_UNWIND_GETIPINFO): Use this macro
2053         to set HAVE_GETIPINFO.
2054         * aclocal.m4: Include ../config/unwind_ipinfo.m4.
2055         * configure: Regenerate.
2056         * config.in: Regenerate.
2057
2058 2008-11-12  Jack Howarth  <howarth@bromo.med.uc.edu>
2059
2060         PR bootstrap/38010
2061         * gcc/config.gcc: Use darwin9.h on darwin10 as well.
2062
2063 2008-11-12  Jakub Jelinek  <jakub@redhat.com>
2064
2065         Revert:
2066         2008-10-21  Jakub Jelinek  <jakub@redhat.com>
2067         * gimplify.c (gimplify_expr): Drop TREE_OVERFLOW from INTEGER_CSTs.
2068
2069 2008-11-12  Jason Merrill  <jason@redhat.com>
2070
2071         PR c++/38007
2072         * c-common.c (c_common_signed_or_unsigned_type): Remove C++
2073         special casing.
2074
2075 2008-11-12  Anatoly Sokolov  <aesok@post.ru>
2076
2077         * config/avr/avr.c (avr_mcu_t): Add atmega16hvb, atmega32hvb,
2078         atmega4hvd, atmega8hvd, atmega64c1, atmega64m1, atmega16u4 and
2079         atmega32u6 devices.
2080         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
2081         * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
2082
2083 2008-11-12  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2084
2085         * gcc/config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Remove
2086         packed-stack special handling.
2087         (FRAME_ADDR_RTX): Add definition.
2088
2089 2008-11-12  Jakub Jelinek  <jakub@redhat.com>
2090
2091         PR target/35366
2092         * fold-const.c (native_encode_string): New function.
2093         (native_encode_expr): Use it for STRING_CST.
2094
2095 2008-11-12  DJ Delorie  <dj@redhat.com>
2096
2097         * config/m32c/cond.md (cond_to_int peephole2): Don't eliminate the
2098         insns if the intermediate value will be used later.
2099
2100 2008-11-12  Andreas Schwab  <schwab@suse.de>
2101
2102         * config/m68k/m68k.c (print_operand): Mask off extra extension
2103         bits when writing out the representation of real values.
2104
2105 2008-11-12  Ira Rosen  <irar@il.ibm.com>
2106
2107         PR tree-optimization/38079
2108         * tree-vect-analyze.c (vect_analyze_data_refs): Replace dump_file
2109         with vect_dump.
2110
2111 2008-11-12  Jakub Jelinek  <jakub@redhat.com>
2112
2113         PR c++/35334
2114         * c-pretty-print.c (pp_c_complex_expr): New function.
2115         (pp_c_postfix_expression) <case COMPLEX_EXPR>: Call it.
2116
2117         PR target/35366
2118         * expr.c (expand_expr_addr_expr_1): If EXP needs bigger alignment
2119         than INNER and INNER is a constant, forcibly align INNER as much
2120         as needed.
2121
2122 2008-11-11  Richard Sandiford  <rdsandiford@googlemail.com>
2123
2124         * cse.c (fold_rtx): Remove redundant gen_rtx_CONST.
2125
2126 2008-11-11  Richard Sandiford  <rdsandiford@googlemail.com>
2127
2128         PR rtl-optimization/37363
2129         * simplify-rtx.c (simplify_plus_minus): Don't create
2130         (const (minus ...)) expresisons.
2131
2132 2008-11-11  Eric Botcazou  <ebotcazou@adacore.com>
2133
2134         * ira-lives.c (process_bb_node_lives): Restore EH_RETURN_DATA_REGNO
2135         handling.
2136
2137 2008-11-10  Catherine Moore  <clm@codesourcery.com>
2138
2139         * config.gcc (mips64vrel-*-elf*): Include the tm_file
2140         prior to vr.h.
2141         * config/mips/linux.h (LINUX_DRIVER_SELF_SPECS): New.
2142         (BASE_DRIVER_SELF_SPECS): Remove.
2143         (DRIVER_SELF_SPECS): New definition.
2144         * config/mips/elfoabi.h: (DRIVER_SELF_SPECS): Include
2145         BASE_DRIVER_SELF_SPECS.
2146         * config/mips/sde.h: Likewise.
2147         * config/mips/iris6.h: Likewise.
2148         * config/mips/vr.h: Likewise.
2149         * config/mips/mips.h (BASE_DRIVER_SELF_SPECS): New.
2150
2151 2008-11-10  Vladimir Makarov  <vmakarov@redhat.com>
2152
2153         PR rtl-optimizations/37948
2154         * ira-int.h (struct ira_allocno_copy): New member constraint_p.
2155         (ira_create_copy, ira_add_allocno_copy): New parameter.
2156
2157         * ira-conflicts.c (process_regs_for_copy): New parameter.  Pass it
2158         to ira_add_allocno_copy.
2159         (process_reg_shuffles, add_insn_allocno_copies): Pass a new
2160         parameter to process_regs_for_copy.
2161         (propagate_copies): Pass a new parameter to ira_add_allocno_copy.
2162         Fix typo in passing second allocno to ira_add_allocno_copy.
2163
2164         * ira-color.c (update_conflict_hard_regno_costs): Use head of
2165         coalesced allocnos list.
2166         (assign_hard_reg): Ditto.  Check that assigned allocnos are not in
2167         the graph.
2168         (add_ira_allocno_to_bucket): Rename to add_allocno_to_bucket.
2169         (add_ira_allocno_to_ordered_bucket): Rename to
2170         add_allocno_to_ordered_bucket.
2171         (push_ira_allocno_to_stack): Rename to push_allocno_to_stack.  Use
2172         head of coalesced allocnos list.
2173         (push_allocnos_to_stack): Remove calculation of ALLOCNO_TEMP.
2174         Check that it is aready calculated.
2175         (push_ira_allocno_to_spill): Rename to push_ira_allocno_to_spill.
2176         (setup_allocno_left_conflicts_num): Use head of coalesced allocnos
2177         list.
2178         (coalesce_allocnos): Do extended coalescing too.
2179
2180         * ira-emit.c (add_range_and_copies_from_move_list): Pass a new
2181         parameter to ira_add_allocno_copy.
2182
2183         * ira-build.c (ira_create_copy, ira_add_allocno_copy): Add a new
2184         parameter.
2185         (print_copy): Print copy origination too.
2186
2187         * ira-costs.c (scan_one_insn): Use alloc_pref for load from
2188         equivalent memory.
2189
2190 2008-11-10  Kaz Kojima  <kkojima@gcc.gnu.org>
2191
2192         PR rtl-optimization/37514
2193         * config/sh/sh.h (OPTIMIZATION_OPTIONS): Set
2194         flag_ira_share_spill_slots to 2 if it's already non-zero.
2195         (OVERRIDE_OPTIONS): Clear flag_ira_share_spill_slots if
2196         flag_ira_share_spill_slots is 2.
2197
2198 2008-11-10  Kevin Buettner  <kevinb@redhat.com>
2199
2200         * config/m32c/prologue.md (prologue_enter_16): Set FB to SP - 2.
2201         (prologue_enter_32): Set FB to SP - 4.
2202
2203 2008-11-10  DJ Delorie  <dj@redhat.com>
2204
2205         * config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Add ImB
2206         constraint for single-bit-clear in lower byte of HI constant, vs
2207         Imb which just ignores the upper byte.
2208         * config/m32c/predicates.md (m32c_1mask8_operand): Use it.
2209         * config/m32c/bitops.md (andhi3_16, andhi3_24): Use it.
2210         (iorhi3_16): Check for single bit set, not single bit clear.
2211
2212 2008-11-10  Janis Johnson  <janis187@us.ibm.com>
2213
2214         * doc/sourcebuild.texi (Torture Tests): Fix formatting for bullets.
2215
2216         * doc/sourcebuild.texi (Torture Tests): Fix formatting in example.
2217
2218 2008-11-10  Eric Botcazou  <ebotcazou@adacore.com>
2219
2220         * calls.c (store_unaligned_arguments_into_pseudos): Deal only with
2221         values living in memory and use more precise alignment information.
2222
2223 2008-11-10  Jakub Jelinek  <jakub@redhat.com>
2224
2225         PR middle-end/35314
2226         * tree-mudflap.c (mf_build_check_statement_for): Split then_block
2227         after __mf_check call if the call must end a bb.
2228
2229 2008-11-10  Ralph Loader  <suckfish@ihug.co.nz>
2230
2231         PR middle-end/37807
2232         PR middle-end/37809
2233         * combine.c (force_to_mode): Do not process vector types.
2234
2235         * rtlanal.c (nonzero_bits1): Do not process vector types.
2236         (num_sign_bit_copies1): Likewise.
2237
2238 2008-11-09  Thomas Schwinge  <tschwinge@gnu.org>
2239
2240         * config/i386/gnu.h: Add copyright and licensing header.
2241         * config/gnu.h: Likewise.
2242
2243 2008-11-07  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2244
2245         * fwprop.c (fwprop_done): Call df_remove_problem.
2246
2247 2008-11-07  Sebastian Pop  <sebastian.pop@amd.com>
2248
2249         PR middle-end/37379
2250         * tree-scalar-evolution.c (instantiate_scev_1): Return
2251         chrec_dont_know for VL_EXP_CLASS_P.
2252
2253 2008-11-06  Uros Bizjak  <ubizjak@gmail.com>
2254
2255         * reg-stack.c (reg_to_stack): Add missing braces in memset
2256         size calculation.
2257
2258 2008-11-06  Andrew Stubbs  <ams@codesourcery.com>
2259
2260         * config/arm/bpabi.h (PROFILE_HOOK): New undef.
2261         (NO_PROFILE_COUNTERS): New define.
2262
2263 2008-11-06  David Edelsohn  <edelsohn@gnu.org>
2264
2265         PR target/26397
2266         * config/rs6000/aix.h (LIBSTDCXX_STATIC): Define.
2267
2268 2008-11-06  Kazu Hirata  <kazu@codesourcery.com>
2269
2270         PR target/35574
2271         * config/sparc/constraints.md (D): New.
2272         * config/sparc/predicates.md (const_double_or_vector_operand): New.
2273         * config/sparc/sparc.c (sparc_extra_constraint_check): Handle the
2274         'D' constraint.
2275         * config/sparc/sparc.md (*movdf_insn_sp32_v9, *movdf_insn_sp64):
2276         Use the 'D' constraint in addition to 'F' in some alternatives.
2277         (DF splitter): Generalize for V64mode.
2278         * doc/md.texi (SPARC): Document the 'D' constraint.
2279
2280 2008-11-06  Uros Bizjak  <ubizjak@gmail.com>
2281
2282         * reg-stack.c (reg_to_stack): Generate +QNaN using real_nan.
2283
2284 2008-11-06  Ben Elliston  <bje@au.ibm.com>
2285
2286         * gcc.c: Remove ancient comment about a bug in Sun cc.
2287
2288 2008-11-05  Janis Johnson  <janis187@us.ibm.com>
2289
2290         * doc/sourcebuild.texi (Torture Tests): Add ADDITIONAL_TORTURE_OPTIONS.
2291
2292 2008-11-06  Ben Elliston  <bje@au.ibm.com>
2293
2294         * config/rs6000/rs6000.c (rs6000_override_options): Comment fix.
2295
2296 2008-11-06  Ben Elliston  <bje@au.ibm.com>
2297
2298         * config/rs6000/rs6000.opt (mwarn-cell-microcode): Improve option
2299         description.
2300
2301 2008-11-05  Hans-Peter Nilsson  <hp@axis.com>
2302
2303         PR target/38016
2304         * config/cris/cris.c (cris_order_for_addsi3): Test for !REG_P, not
2305         just MEM_P.
2306
2307 2008-11-05  Martin Jambor  <mjambor@suse.cz>
2308
2309         PR middle-end/37861
2310         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't turn
2311         pointer arithmetics into array_ref if the array is accessed
2312         through an indirect_ref.
2313
2314 2008-11-05  Richard Guenther  <rguenther@suse.de>
2315
2316         PR middle-end/37742
2317         * tree-ssa.c (useless_type_conversion_p_1): Check different restrict
2318         qualified pointer conversion before stripping qualifiers.
2319         * gimplify.c (create_tmp_from_val): Use correctly qualified type.
2320         * tree-flow.h (may_propagate_address_into_dereference): Declare.
2321         * tree-ssa-ccp.c (may_propagate_address_into_dereference): New
2322         function.
2323         (ccp_fold): Use it.
2324         * tree-ssa-forwprop.c (rhs_to_tree): Remove useless conversions,
2325         properly canonicalize binary ops.
2326         (forward_propagate_addr_expr_1): Use
2327         may_propagate_address_into_dereference.
2328
2329 2008-11-05  Uros Bizjak  <ubizjak@gmail.com>
2330
2331         PR middle-end/37286
2332         * reg-stack.c (subst_stack_regs_pat) [MINUS, DIV, MULT, PLUS]:
2333         Initialize uninitialized input registers with a NaN.
2334
2335 2008-11-05  Tobias Grosser  <grosser@fim.uni-passau.de>
2336
2337         PR middle-end/37833
2338
2339         * graphite.c (scan_tree_for_params): Add POINTER_PLUS_EXPR.
2340
2341 2008-11-05  Tobias Grosser  <grosser@fim.uni-passau.de>
2342
2343         PR middle-end/37943
2344
2345         * graphite.c (scopdet_basic_block_info): Fix loops with multiple
2346         exits and conditions.
2347         * testsuite/gcc.dg/graphite/pr37943.c: New.
2348
2349 2008-11-04  Jakub Jelinek  <jakub@redhat.com>
2350             Andrew Pinski  <andrew_pinski@playstation.sony.com>
2351
2352         PR c/35430
2353         * c-common.c (warn_for_sign_compare): For complex result_type
2354         use component's type.
2355
2356 2008-11-04  Jakub Jelinek  <jakuB@redhat.com>
2357
2358         * print-tree.c (print_node): Use code instead of TREE_CODE (node).
2359
2360         * print-tree.c (print_node): Don't print DECL_INITIAL
2361         for PARM_DECL.
2362
2363         PR c/37106
2364         * c-common.c (parse_optimize_options): Save and restore
2365         flag_strict_aliasing around decode_options call.
2366
2367 2008-11-04  Uros Bizjak  <ubizjak@gmail.com>
2368
2369         * config/i386/driver-i386.c (enum vendor_signatures): New enum.
2370         (host_detect_local_cpu): Use it instead of casted strings to
2371         compare vendor signatures.
2372
2373 2008-11-03  Mikael Pettersson  <mikpe@it.uu.se>
2374
2375         PR target/37989
2376         * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Only add libgcc_s.a
2377         or libgcc_eh.a to spec if ENABLE_SHARED_LIBGCC.
2378
2379 2008-11-03  Catherine Moore  <clm@codesourcery.com>
2380
2381         * config/mips.c (mips_conditional_register_usage):  Handle the
2382         DSP control register.
2383         * doc/extend.texi: Document the DSP control register.
2384
2385 2008-11-03  Steve Ellcey <sje@cup.hp.com>
2386             Jakub Jelinek  <jakub@redhat.com>
2387
2388         * omp-low.c (expand_omp_for_generic): If iter_type has different
2389         precision than type and type is a pointer type, cast n1 and n2
2390         first to an integer type with the same precision as pointers
2391         and only afterwards to iter_type.
2392
2393 2008-11-03  Richard Sandiford  <rdsandiford@googlemail.com>
2394
2395         * config/arm/arm.md (UNSPEC_PIC_BASE): Update documentation.
2396         (UNSPEC_GOTSYM_OFF): New unspec.
2397         (pic_add_dot_plus_four): Simplify the UNSPEC_PIC_BASE operands.
2398         (pic_add_dot_plus_eight): Likewise.
2399         (tls_load_dot_plus_eight): Likewise.  Update peephole2.
2400         * config/arm/thumb2.md (pic_load_dot_plus_four): Simplify the
2401         UNSPEC_PIC_BASE operands.
2402         * config/arm/arm.c (arm_load_pic_register): Use UNSPEC_GOTSYM_OFF.
2403         (arm_output_addr_const_extra): Handle it.
2404
2405 2008-11-03  Eric Botcazou  <ebotcazou@adacore.com>
2406
2407         * config/i386/i386.c (classify_argument) <ARRAY_TYPE>: Promote partial
2408         integer class to full integer class if the offset is not word-aligned.
2409
2410 2008-11-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2411
2412         PR rtl-opt/37782
2413         * loop-doloop.c (doloop_modify): Add from_mode argument that says what
2414         mode count is in.
2415         (doloop_optimize): Update call to doloop_modify.
2416
2417 2008-11-03  Eric Botcazou  <ebotcazou@adacore.com>
2418
2419         * tree-sra.c (bitfield_overlaps_p): Fix oversight.
2420
2421 2008-11-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2422
2423         PR other/37463
2424         * configure.ac (gcc_cv_ld_ro_rw_mix): Move before
2425         gcc_cv_as_cfi_directive.
2426         (gcc_cv_as_cfi_directive) [*-*-solaris*]: Check if linker supports
2427         merging read-only and read-write sections or assembler emits
2428         read-write .eh_frame sections.
2429         * configure: Regenerate.
2430
2431 2008-11-03  Nathan Froyd  <froydnj@codesourcery.com>
2432
2433         Revert:
2434         2008-10-31  Nathan Froyd  <froydnj@codesourcery.com>
2435
2436         * config/rs6000/rs6000.c (no_global_regs_above): Fix precedence
2437         problem.
2438         (rs6000_emit_prologue): Invert logic.
2439         * config/rs6000/rs6000.md (*save_gpregs_<mode>): Use explicit
2440         (reg:P 11) instead of match_operand.
2441         (*save_fpregs_<mode>): Likewise.
2442         (*restore_gpregs_<mode>): Likewise.
2443         (*return_and_restore_gpregs_<mode>): Likewise.
2444         (*return_and_restore_fpregs_<mode>): Likewise.
2445         * config/rs6000/spe.md (*save_gpregs_spe): Use explicit
2446         (reg:P 11) insted of match_operand.
2447         (*restore_gpregs_spe): Likewise.
2448         (*return_and_restore_gpregs_spe): Likewise.
2449
2450 2008-11-03  Harsha Jagasia  <harsha.jagasia@amd.com>
2451
2452         PR tree-optimization/37684
2453         * gcc.dg/graphite/pr37684.c: New.
2454         * graphite.c (exclude_component_ref): New.
2455         (is_simple_operand): Call exclude_component_ref.
2456
2457 2008-11-03  Sebastian Pop  <sebastian.pop@amd.com>
2458
2459         PR tree-optimization/36908
2460         * testsuite/gcc.dg/tree-ssa/pr36908.c: New.
2461         * tree-loop-distribution.c (number_of_rw_in_rdg): New.
2462         (number_of_rw_in_partition): New.
2463         (partition_contains_all_rw): New.
2464         (ldist_gen): Do not distribute when one of the partitions
2465         contains all the memory operations.
2466
2467 2008-11-03  Sebastian Pop  <sebastian.pop@amd.com>
2468
2469         * cfghooks.c (split_block): Set BB_IRREDUCIBLE_LOOP and
2470         EDGE_IRREDUCIBLE_LOOP.
2471
2472 2008-11-03  Bernd Schmidt  <bernd.schmidt@analog.com>
2473
2474         * config/bfin/bfin.c (bfin_optimize_loop): Properly handle case
2475         where we have one entry point in the loop which isn't the head.
2476
2477 2008-11-03  Richard Guenther  <rguenther@suse.de>
2478
2479         PR middle-end/37573
2480         * tree-data-ref.c (split_constant_offset_1): Fix tuplification.
2481
2482 2008-11-03  Jakub Jelinek  <jakub@redhat.com>
2483
2484         PR middle-end/37858
2485         * passes.c (execute_one_pass): Don't look at cfun->curr_properties
2486         for ipa and simple ipa passes.
2487
2488 2008-11-02  Richard Guenther  <rguenther@suse.de>
2489
2490         PR tree-optimization/37542
2491         * tree-ssa-pre.c (fully_constant_expression): Handle more cases.
2492         * tree-ssa-sccvn.c (vn_get_expr_for): Fix typo.
2493         (vn_nary_op_lookup_stmt): Adjust for unary reference trees.
2494         (vn_nary_op_insert_stmt): Likewise.
2495         (visit_use): Likewise.
2496
2497 2008-11-02  Anatoly Sokolov  <aesok@post.ru>
2498
2499         * config/avr/avr.md (UNSPEC_SWAP): Remove constants.
2500         (*swap): Remove.
2501         (rotlqi3, *rotlqi3_4, rotlhi3, *rotlhi3_8,
2502         rotlsi3, *rotlsi3_8, *rotlsi3_16, *rotlsi3_24): New patterns.
2503         (ashlqi3_const4, ashlqi3_const5, ashlqi3_const6, ashlqi3_l_const4,
2504         ashlqi3_l_const5, ashlqi3_l_const6, lshrqi3_const4, lshrqi3_const5,
2505         lshrqi3_const6, lshrqi3_l_const4, lshrqi3_l_const4, lshrqi3_l_const6
2506         peephole2's): Replace unspec with rotate.
2507         * config/avr/avr.c (avr_rtx_costs): Add ROTATE.
2508
2509 2008-11-02  Richard Guenther  <rguenther@suse.de>
2510
2511         PR tree-optimization/37991
2512         * tree-ssa-sccvn.h (copy_vuses_from_stmt): Remove.
2513         * tree-ssa-sccvn.c (copy_vuses_from_stmt): Make static.
2514         (set_ssa_val_to): Print if the value changed.
2515         (simplify_binary_expression): Strip useless conversions.
2516
2517 2008-11-01  Hans-Peter Nilsson  <hp@axis.com>
2518
2519         PR target/37939
2520         * config/cris/cris.c (cris_rtx_costs) <MULT>: Return 0 for an ADDI
2521         operand.
2522
2523 2008-11-01  Richard Guenther  <rguenther@suse.de>
2524
2525         PR middle-end/37976
2526         * builtins.c (fold_builtin_strspn): Return a size_t.
2527         (fold_builtin_strcspn): Likewise.
2528
2529 2008-10-31  Nathan Froyd  <froydnj@codesourcery.com>
2530
2531         * config/rs6000/rs6000.c (rs6000_file_start): Output gnu
2532         attribute for struct return convention.
2533
2534 2008-10-31  Nathan Froyd  <froydnj@codesourcery.com>
2535
2536         * config/rs6000/crtsavres.asm: Really, really delete.
2537
2538 2008-10-31  Nathan Froyd  <froydnj@codesourcery.com>
2539
2540         * config/rs6000/rs6000.c (no_global_regs_above): Fix precedence
2541         problem.
2542         (rs6000_emit_prologue): Invert logic.
2543         * config/rs6000/rs6000.md (*save_gpregs_<mode>): Use explicit
2544         (reg:P 11) instead of match_operand.
2545         (*save_fpregs_<mode>): Likewise.
2546         (*restore_gpregs_<mode>): Likewise.
2547         (*return_and_restore_gpregs_<mode>): Likewise.
2548         (*return_and_restore_fpregs_<mode>): Likewise.
2549         * config/rs6000/spe.md (*save_gpregs_spe): Use explicit
2550         (reg:P 11) insted of match_operand.
2551         (*restore_gpregs_spe): Likewise.
2552         (*return_and_restore_gpregs_spe): Likewise.
2553
2554 2008-10-28  Luis Machado  <luisgpm@br.ibm.com>
2555
2556         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add "dumpbase" to the
2557         list of word switches that take args.
2558
2559 2008-10-30  Jakub Jelinek  <jakub@redhat.com>
2560
2561         * config/s390/s390.c (s390_mark_symbol_ref_as_used): New function.
2562         (s390_output_pool_entry): Call it through for_each_rtx.
2563
2564         PR middle-end/37730
2565         * expr.c (store_constructor): For vectors, if target is a MEM, use
2566         target's MEM_ALIAS_SET instead of elttype alias set.
2567
2568 2008-10-29  Kaz Kojima  <kkojima@gcc.gnu.org>
2569
2570         PR target/37909
2571         * config/sh/sh.c (untangle_mova): Return -1 when NEW_MOVA has
2572         no address.
2573
2574 2008-10-29  David Edelsohn  <edelsohn@gnu.org>
2575
2576         PR target/37878
2577         * config/rs6000/predicates.md (word_offset_memref_operand):
2578         Restructure code and look inside auto-inc/dec addresses.
2579
2580 2008-10-29  Steve Ellcey  <sje@cup.hp.com>
2581
2582         PR target/32277
2583         * libgcov.c ( __gcov_indirect_call_profiler): Check
2584         TARGET_VTABLE_USES_DESCRIPTORS.
2585
2586 2008-10-29  Stefan Schulze Frielinghaus  <xxschulz@de.ibm.com>
2587
2588         * config/spu/spu.h (FRAME_GROWS_DOWNWARD): Define.
2589         (INITIAL_FRAME_POINTER_OFFSET): Remove.
2590         * config/spu/spu.c (spu_initial_elimination_offset): Calculate new
2591         offset if eliminating soft frame pointer.
2592         * config/spu/spu.md (stack_protect_set, stack_protect_test)
2593         (stack_protect_test_si): Add initial machine description
2594         for Stack Smashing Protector
2595
2596 2008-10-29  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2597
2598         PR 11492
2599         * c-common.c (min_precision): Move to...
2600         * tree.c (tree_int_cst_min_precision): ... to here. Renamed.
2601         * tree.h (tree_int_cst_min_precision): Declare.
2602         * c-common.h (min_precision): Delete declaration.
2603         * fold-const.c (tree_binary_nonnegative_warnv_p): Handle
2604         multiplication of non-negative integer constants.
2605         * c-decl.c (check_bitfield_type_and_width): Rename min_precision to
2606         tree_int_cst_min_precision.
2607         (finish_enum): Likewise.
2608
2609 2008-10-29  Joseph Myers  <joseph@codesourcery.com>
2610
2611         PR middle-end/36578
2612         * convert.c (convert_to_real): Do not optimize conversions of
2613         binary arithmetic operations between binary and decimal
2614         floating-point types.  Consider mode of target type in determining
2615         decimal type for arithmetic.  Unless
2616         flag_unsafe_math_optimizations, do not optimize binary conversions
2617         where this may change rounding behavior.
2618         * real.c (real_can_shorten_arithmetic): New.
2619         * real.h (real_can_shorten_arithmetic): Declare.
2620
2621 2008-10-29  Bernd Schmidt  <bernd.schmidt@analog.com>
2622
2623         * config/bfin/bfin-protos.h (WA_05000257, WA_05000283, WA_05000315,
2624         ENABLE_WA_05000257, ENABLE_WA_05000283, ENABLE_WA_05000315): New.
2625         * config/bfin/bfin.c (bfin_cpus): Add these workaround bits as
2626         appropriate.
2627         (must_save_p): For some workarounds, interrupts need to clobber a
2628         P register.
2629         (expand_prologue_reg_save, expand_epilogue_reg_restore): Save LC0
2630         and LC1 for WA_05000257.
2631         (expand_interrupt_handler_prologue): Add dummy read of CHIPID for
2632         WA_05000283 and WA_05000315.
2633         * config/bfin/bfin.md (UNSPEC_VOLATILE_DUMMY): New constant.
2634         (movbi): Add alternative to set CC to 1; improve code for setting
2635         CC to 0.
2636         (dummy_load): New pattern.
2637
2638 2008-10-29  Jakub Jelinek  <jakub@redhat.com>
2639
2640         PR middle-end/37870
2641         * expmed.c (extract_bit_field_1): If int_mode_for_mode returns
2642         BLKmode for non-memory, convert using a wider MODE_INT mode
2643         or through memory.
2644
2645         PR middle-end/37913
2646         * tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Only split bbs
2647         that haven't been removed yet.
2648
2649 2008-10-29  Bernd Schmidt  <bernd.schmidt@analog.com>
2650
2651         * config/bfin/bfin.c (struct machine_function): New member
2652         has_loopreg_clobber.
2653         (bfin_expand_movmem): Set it when generating memcpy insns.
2654         (n_regs_saved_by_prologue, expand_prologue_reg_save,
2655         expand_epilogue_reg_restore): If we have hardware loops,
2656         memcpy insns (indicated by has_loopreg_clobber) or function
2657         calls, we need to save the loop registers.
2658
2659 2008-10-28  H.J. Lu  <hongjiu.lu@intel.com>
2660
2661         * config/i386/i386.c (core2_cost): Fix typos in comments.
2662
2663 2008-10-28  Jakub Jelinek  <jakub@redhat.com>
2664
2665         PR c/37924
2666         * combine.c (make_compound_operation): Don't call make_extraction with
2667         non-positive length.
2668         (simplify_shift_const_1): Canonicalize count even if complement_p.
2669
2670 2008-10-28  Joseph Myers  <joseph@codesourcery.com>
2671
2672         * convert.c (strip_float_extensions): Do not remove or introduce
2673         conversions between binary and decimal floating-point types.
2674
2675 2008-10-28  Jakub Jelinek  <jakub@redhat.com>
2676
2677         PR middle-end/37931
2678         * fold-const.c (distribute_bit_expr): Convert common, left and
2679         right arguments to type.
2680
2681 2008-10-28  Nick Clifton  <nickc@redhat.com>
2682
2683         * config/mn10300/mn10300.h (CALL_REALLY_USED_REGISTERS): Define.
2684         * config/mn10300/mn10300.c (fp_regs_to_save): Test the
2685         call_really_used_regs array rather than the call_used_regs array.
2686         (mn10300_get_live_callee_saved_regs, expand_prologue,
2687         expand_epilogue, output_tst): Likewise.
2688
2689 2008-10-27  Jakub Jelinek  <jakub@redhat.com>
2690
2691         PR target/37378
2692         * df-scan.c (df_bb_refs_collect): Don't handle EH_USES here.
2693         (df_get_entry_block_def_set): Neither here.
2694         (df_get_regular_block_artificial_uses): Add EH_USES registers.
2695
2696         PR tree-optimization/37879
2697         * predict.c (tree_estimate_probability): Check if last_stmt is
2698         non-NULL before dereferencing it.
2699
2700 2008-10-27  Vladimir Makarov  <vmakarov@redhat.com>
2701
2702         * ira-int.h (ira_allocno): Add member updated_cover_class_cost.
2703         (ALLOCNO_UPDATED_COVER_CLASS_COST): New.
2704         (ira_fast_allocation): Remove the prototype.
2705
2706         * ira-color.c (update_copy_costs, allocno_cost_compare_func,
2707         assign_hard_reg, calculate_allocno_spill_cost): Use updated costs.
2708         (color_pass): Modify the updated costs.
2709         (ira_color): Rename to color.  Make it static.
2710         (ira_fast_allocation): Rename to fast_allocation.  Make it static.
2711         (ira_color): New function.
2712
2713         * ira-conflicts.c (process_regs_for_copy): Propagate hard reg cost
2714         change.
2715
2716         * ira-lives.c (last_call_num, allocno_saved_at_call): New
2717         variables.
2718         (set_allocno_live, clear_allocno_live, mark_ref_live,
2719         mark_ref_dead): Invalidate corresponding element of
2720         allocno_saved_at_call.
2721         (process_bb_node_lives): Increment last_call_num.  Setup
2722         allocno_saved_at_call.  Don't increase ALLOCNO_CALL_FREQ if the
2723         allocno was already saved.
2724         (ira_create_allocno_live_ranges): Initiate last_call_num and
2725         allocno_saved_at_call.
2726
2727         * ira-build.c (ira_create_allocno): Initiate
2728         ALLOCNO_UPDATED_COVER_CLASS_COST.
2729         (create_cap_allocno, propagate_allocno_info,
2730         remove_unnecessary_allocnos): Remove setting updated costs.
2731         (ira_flattening): Set up ALLOCNO_UPDATED_COVER_CLASS_COST.
2732
2733         * ira.c (ira):  Don't call ira_fast_allocation.
2734
2735         * ira-costs.c (setup_allocno_cover_class_and_costs): Don't set up
2736         updated costs.
2737
2738 2008-10-27  Vladimir Makarov  <vmakarov@redhat.com>
2739
2740         PR middle-end/37813
2741         * ira-conflicts.c (process_regs_for_copy): Remove class subset check.
2742
2743         * ira-int.h (ira_hard_regno_cover_class): New.
2744
2745         * ira-lives.c (mark_reg_live, mark_reg_dead,
2746         process_bb_node_lives): Use ira_hard_regno_cover_class.
2747
2748         * ira.c (reg_class ira_hard_regno_cover_class): New global variable.
2749         (setup_hard_regno_cover_class): New function.
2750         (ira_init): Call setup_hard_regno_cover_class.
2751
2752         * ira-costs.c (cost_class_nums): Add comment.
2753         (find_allocno_class_costs): Initiate cost_class_nums.
2754         (setup_allocno_cover_class_and_costs): Check cost_class_nums.
2755
2756 2008-10-27  Vladimir Makarov  <vmakarov@redhat.com>
2757
2758         PR middle-end/37884
2759         * ira-build.c (copy_live_ranges_to_removed_store_destinations):
2760         Rename to copy_info_to_removed_store_destinations.  Propagate
2761         conflict hard regs and register stack attribute.
2762
2763 2008-10-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2764
2765         PR middle-end/37316
2766         * pa.c (function_arg_padding):  Pad complex and vector types
2767         upward in 64-bit runtime.
2768         (function_arg): Use BLKmode for PARALLEL in 64-bit runtime.
2769
2770 2008-10-26  Matthias Klose  <doko@ubuntu.com>
2771
2772         * doc/install.texi: Document requirements on antlr.
2773
2774 2008-10-25  Richard Sandiford  <rdsandiford@googlemail.com>
2775
2776         * config/mips/mips.h (REG_ALLOC_ORDER): Put call-clobbered registers
2777         first.
2778
2779 2008-10-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
2780
2781         PR target/37841
2782         * function.c (locate_and_pad_parm): If FUNCTION_ARG_ADJUST_OFFSET
2783         is defined, use it to modify the constant offset.
2784
2785         * doc/tm.texi (FUNCTION_ARG_OFFSET): Document new macro.
2786
2787         * config/spu/spu.h (FUNCTION_ARG_OFFSET): New macro to move char
2788         and short arguments to the correct location as mandated by the ABI.
2789
2790 2008-10-24  Kaz Kojima  <kkojima@gcc.gnu.org>
2791
2792         PR rtl-optimization/37769
2793         * regmove.c (optimize_reg_copy_2): Update REG_INC note if needed.
2794
2795 2008-10-24  Kaz Kojima  <kkojima@gcc.gnu.org>
2796
2797         * config/sh/t-sh: Use $(MULTILIB_CFLAGS) when compiling to
2798         unwind-dw2-Os-4-200.o.
2799
2800 2008-10-24  Joseph Myers  <joseph@codesourcery.com>
2801
2802         * c-typeck.c (enum impl_conv): Remove ic_argpass_nonproto.
2803         (convert_for_assignment): Remove ic_argpass_nonproto cases.
2804
2805 2008-10-24  Jakub Jelinek  <jakub@redhat.com>
2806
2807         PR tree-optimization/36038
2808         * tree-ssa-loop-ivopts.c (add_old_iv_candidates): For pointer bases
2809         add sizetype IV with initial value zero instead of pointer type.
2810
2811 2008-10-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2812
2813         PR c/7543
2814         * value-prof.c (gimple_stringop_fixed_value): Use parentheses
2815         around bit operation.
2816         * profile.c (is_edge_inconsistent): Likewise.
2817         * fold-const.c (truth_value_p): Move from here...
2818         * tree.h (truth_value_p): ... to here.
2819         * c-tree.h (c_expr): Update description of original_code.
2820         * c-typeck.c (parser_build_unary_op): Set original_code.
2821         (parser_build_binary_op): Update call to warn_about_parentheses.
2822         * c-common.c (warn_about_parentheses): Take two additional
2823         arguments of the operands. Use a switch. Quote operators
2824         appropriately. Define macro APPEARS_TO_BE_BOOLEAN_EXPR_P.
2825         Add warning about !x | y and !x & y.
2826         * c-common.h (warn_about_parentheses): Update declaration.
2827
2828 2008-10-24  Jakub Jelinek  <jakub@redhat.com>
2829
2830         * Makefile.in (lang_checks_parallelized, check_gcc_parallelize,
2831         check_p_tool, check_p_vars, check_p_subno, check_p_comma,
2832         check_p_subwork, check_p_numbers, check_p_subdir, check_p_subdirs):
2833         New variables.
2834         (check-subtargets, check-%-subtargets, check-parallel-%): New targets.
2835         (check-%): For test targets listed in lang_checks_parallelized
2836         if -j is used and RUNTESTFLAGS doesn't specify tests to execute,
2837         run the testing in multiple make goals, possibly parallel, and
2838         afterwards run dg-extract-results.sh to merge the sum and log files.
2839
2840 2008-10-24  Richard Sandiford  <rdsandiford@googlemail.com>
2841
2842         * config/mips/mips.c (mips_canonicalize_move_class): New function.
2843         (mips_move_to_gpr_cost): Likewise.
2844         (mips_move_from_gpr_cost): Likewise.
2845         (mips_register_move_cost): Make more fine-grained.
2846
2847 2008-10-23  Tobias Grosser  <grosser@fim.uni-passau.de>
2848
2849         * graphite.c (graphite_apply_transformations): Check for
2850         -fgraphite-identity.
2851         * toplev.c (process_options): Add graphite_identity.
2852         * tree-ssa-loop.c (gate_graphite_transforms): Add graphite_identity.
2853
2854 2008-10-23  Bernd Schmidt  <bernd.schmidt@analog.com>
2855
2856         * config/bfin/bfin.c (bdesc_2arg): Add mulhisill, mulhisilh,
2857         mulhisihl and mulhisihh builtins.
2858
2859         From Jie Zhang  <jie.zhang@analog.com>
2860         * config/bfin/bfin.md (composev2hi): Put operands into vector
2861         with correct order.
2862
2863 2008-10-22  Chao-ying Fu  <fu@mips.com>
2864
2865         * config/mips/mips.opt (msmartmips): Accept -mno-smartmips.
2866
2867 2008-10-22  Bernd Schmidt  <bernd.schmidt@analog.com>
2868
2869         From Mike Frysinger  <michael.frysinger@analog.com>
2870         * config/bfin/bfin-protos.h (bfin_cpu_type): Add BFIN_CPU_BF512,
2871         BFIN_CPU_BF514, BFIN_CPU_BF516, and BFIN_CPU_BF518.
2872         * config/bfin/bfin.c (bfin_cpus[]): Add 0.0 for bf512, bf514, bf516,
2873         and bf518.  Add 0.2 for bf522, bf523, bf524, bf526, and bf527.
2874         Add 0.6 for bf533, bf532, and bf531.  Add 0.5 for bf538 and bf539.
2875         Add 0.2 for bf542, bf544, bf547, bf548, and bf549.
2876         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __ADSPBF512__
2877         for BFIN_CPU_BF512, __ADSPBF514__ for BFIN_CPU_BF514, __ADSPBF516__
2878         for BFIN_CPU_BF516, and __ADSPBF518__ for BFIN_CPU_BF518.  Define
2879         __ADSPBF51x__ for all of them.
2880         * config/bfin/elf.h (LIB_SPEC): Select proper linker scripts for
2881         -mcpu bf512, bf514, bf516, and bf518.
2882         * config/bfin/t-bfin-elf (MULTILIB_MATCHES): Select bf532-none for
2883         bf512-none, bf514-none, bf516-none, and bf518-none.
2884         * config/bfin/t-bfin-linux (MULTILIB_MATCHES): Likewise.
2885         * config/bfin/t-bfin-uclinux (MULTILIB_MATCHES): Likewise.
2886         * doc/invoke.texi (Blackfin Options): Document that
2887         -mcpu now accepts bf512, bf514, bf516, and bf518.
2888
2889 2008-10-22  Jakub Jelinek  <jakub@redhat.com>
2890
2891         PR middle-end/37882
2892         * fold-const.c (build_range_type): For 1 .. signed_max
2893         range call build_nonstandard_inter_type if signed_type_for
2894         returned a type with bigger precision.
2895
2896 2008-10-22  Richard Guenther  <rguenther@suse.de>
2897
2898         * tree.def (COMPLEX_TYPE): Constrain element type.
2899         * tree.c (build_complex_type): Assert that.
2900         * tree-ssa-structalias.c (could_have_pointers): Complex types
2901         cannot have pointers.
2902
2903 2008-10-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2904
2905         PR c/30949
2906         * c-typeck.c (convert_for_assignment): Do not give declaration's
2907         location for builtins. Spell out which type was expected and which
2908         was given.
2909
2910 2008-10-22  Nick Clifton  <nickc@redhat.com>
2911
2912         * config/frv/frv.h (HARD_REGNO_RENAME_OK): Define.  Do not allow
2913         the fdpic register to be a target when running in fdpic mode.
2914
2915 2008-10-22 Rafael Espindola  <espindola@google.com>
2916
2917         * ipa-struct-reorg.c (create_new_alloc_sites): Properly insert the
2918         newly created statements.
2919
2920 2008-10-22  Kaz Kojima  <kkojima@gcc.gnu.org>
2921
2922         PR target/37633
2923         * config/sh/sh.c (sh_hard_regno_mode_ok): New function.
2924         * config/sh/sh.h (HARD_REGNO_MODE_OK): Use it.
2925         * config/sh/sh-protos.h (sh_hard_regno_mode_ok): Declare.
2926
2927 2008-10-22  Jakub Jelinek  <jakub@redhat.com>
2928
2929         PR target/37880
2930         * doc/invoke.texi: Fix spelling of -mlarge-data-threshold option.
2931         Adjust -mcmodel=medium description for 2005-07-31 changes.
2932
2933 2008-10-22  Jan Hubicka  <jh@suse.cz>
2934             Jakub Jelinek  <jakub@redhat.com>
2935
2936         PR middle-end/35853
2937         * doc/invoke.texi: Remove references to obsoleted -d dumps.
2938
2939 2008-10-21  Richard Henderson  <rth@redhat.com>
2940
2941         PR 37815
2942         * emit-rtl.c (get_spill_slot_decl): Export.
2943         * emit-rtl.h (get_spill_slot_decl): Declare.
2944         * var-tracking.c (vt_add_function_parameters): Relax assertion
2945         on the contents of MEM_EXPR in a PARM_DECL to include a spill slot.
2946
2947 2008-10-21  Bob Wilson  <bob.wilson@acm.org>
2948
2949         * var-tracking.c (insn_stack_adjust_offset_pre_post): If insn has a
2950         REG_FRAME_RELATED_EXPR note, examine the pattern from the note instead
2951         of from insn.
2952
2953 2008-10-21  Adam Nemet  <anemet@caviumnetworks.com>
2954
2955         PR middle-end/37669
2956         * tree-ssa-ccp.c (ccp_fold_builtin): Only allow one argument to be
2957         processed by get_maxval_strlen.
2958
2959 2008-10-21  David Edelsohn  <edelsohn@gnu.org>
2960
2961         PR target/35485
2962         * tree.c (get_file_function_name): Copy first_global_object_name.
2963         Centralize call to clean_symbol_name.
2964
2965 2008-10-21  Sandra Loosemore  <sandra@codesourcery.com>
2966
2967         * config.gcc (powerpc-*): Make t-ppcgas imply usegas.h.
2968         * config/svr4.h (SVR4_ASM_SPEC): New.
2969         (ASM_SPEC): Inherit from SVR4_ASM_SPEC.
2970         * config/rs6000/sysv4.h (ASM_SPEC): Inherit from SVR4_ASM_SPEC.
2971
2972         * doc/invoke.texi (Option Summary): Add -T to linker options.
2973         (Link Options): Document -T.
2974
2975 2008-10-21  Jakub Jelinek  <jakub@redhat.com>
2976
2977         * tree-inline.c (tree_inlinable_function_p): Remove tuples
2978         debugging hack.
2979
2980         * gimplify.c (gimplify_expr): Drop TREE_OVERFLOW from INTEGER_CSTs.
2981
2982         PR debug/37020
2983         * c-decl.c (merge_decls): Don't call outlining_inline_function hook.
2984
2985 2008-10-20  Daniel Berlin  <dberlin@dberlin.org>
2986
2987         * tree-ssa-pre.c (insert_into_preds_of_block): Don't rewrite constant
2988         part of expression.
2989
2990 2008-10-20  Tobias Schlüter  <tobi@gcc.gnu.org>
2991
2992         * doc/install.texi: Fix typos in previous patch.
2993
2994 2008-10-19  Tobias Schlüter  <tobi@gcc.gnu.org>
2995
2996         * doc/install.texi: Document in-tree building of gcc and mpfr.
2997
2998 2008-10-19  Richard Guenther  <rguenther@suse.de>
2999
3000         * tree-ssa-alias.c (may_alias_p): Remove bogus shortcut.
3001
3002 2008-10-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3003
3004         PR c/30260
3005         * c-decl.c (finish_enum): Convert non-integer enumerators to enum type.
3006         (build_enumerator): Convert enumerators that fit in integer to
3007         integer type.
3008
3009 2008-10-18  Uros Bizjak  <ubizjak@gmail.com>
3010
3011         * config/i386/i386.md (unnamed peephole2): Do not force memory
3012         operands of arith or logical instructions into registers for
3013         non-TARGET_READ_MODIFY targets.
3014
3015         (ffs_cmove): Change operand 0 predicate to register_operand.
3016         Change operand 1 predicate to nonimmediate_operand.
3017         (ffsdi2): Ditto.
3018         (*ffs_no_cmove): Change operand 0 predicate to register_operand.
3019
3020 2008-10-18  Richard Guenther  <rguenther@suse.de>
3021
3022         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Guard
3023         VIEW_CONVERT_EXPR case against invalid gimple.
3024
3025 2008-10-17  Andreas Krebbel  <krebbel1@de.ibm.com>
3026
3027         * c-parser.c (c_parser_binary_expression): Silence the
3028         uninitialized variable warning emitted for binary_loc.
3029
3030 2008-10-16  Daniel Berlin  <dberlin@dberlin.org>
3031
3032         * tree-ssa-pre.c (phi_translate_set): Add constants to phi
3033         translation cache.
3034
3035 2008-10-16  Joseph Myers  <joseph@codesourcery.com>
3036
3037         PR c/33192
3038         * c-typeck.c (build_unary_op): Use omit_one_operand for
3039         IMAGPART_EXPR of real argument.
3040
3041 2008-10-16  Jakub Jelinek  <jakub@redhat.com>
3042
3043         PR tree-optimization/37664
3044         * fold-const.c (fold_binary): When optimizing comparison with
3045         highest or lowest type's value, don't consider TREE_OVERFLOW.
3046
3047 2008-10-16  David Edelsohn  <edelsohn@gnu.org>
3048
3049         PR target/35483
3050         * Makefile.in (coverage.o): Depend on $(TM_P_H).
3051         * coverage.c: Include tm_p.h.
3052         * config/rs6000/x-aix (jc1): Override LDFLAGS.
3053         * config/rs6000/xcoff.h (ASM_GENERATE_INTERNAL_LABEL): Strip
3054         dollar signs from PREFIX.
3055         * config/rs6000/rs6000.c (output_toc): Use RS6000_OUTPUT_BASENAME
3056         instead of manual strip_name_encoding.
3057
3058 2008-10-16  Richard Guenther  <rguenther@suse.de>
3059
3060         PR middle-end/37418
3061         * tree-ssa.c (useless_type_conversion_p_1): Do not treat
3062         volatile qualified functions or methods as relevant.
3063
3064 2008-10-16  Jakub Jelinek  <jakub@redhat.com>
3065
3066         PR tree-optimization/37525
3067         * tree.c (int_fits_type_p): Rewrite using double_int.  Zero extend
3068         sizetype unsigned constants, both in the case of C and bounds.
3069
3070 2008-10-15  Jan Hubicka  <jh@suse.cz>
3071
3072         * ira-emit.c (change_regs): Return false when replacing reg by itself.
3073
3074 2008-10-14  Vladimir Makarov  <vmakarov@redhat.com>
3075
3076         PR target/37633
3077         * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Check
3078         HARD_REGNO_CALL_PART_CLOBBERED.
3079
3080 2008-10-15  Vladimir Makarov  <vmakarov@redhat.com>
3081
3082         PR middle-end/37535
3083         * ira-lives.c (mark_early_clobbers): Remove.
3084         (make_pseudo_conflict, check_and_make_def_use_conflicts,
3085         check_and_make_def_conflicts,
3086         make_early_clobber_and_input_conflicts,
3087         mark_hard_reg_early_clobbers): New functions.
3088         (process_bb_node_lives): Call
3089         make_early_clobber_and_input_conflicts and
3090         mark_hard_reg_early_clobbers.  Make hard register inputs live again.
3091
3092         * doc/rtl.texi (clobber): Change descriotion of RA behaviour for
3093         early clobbers of pseudo-registers.
3094
3095 2008-10-15  Vladimir Makarov  <vmakarov@redhat.com>
3096
3097         PR middle-end/37674
3098         * ira-build.c (ira_flattening): Recalculate
3099         ALLOCNO_TOTAL_NO_STACK_REG_P and ALLOCNO_TOTAL_CONFLICT_HARD_REGS
3100         from the scratch instead of the propagation.
3101
3102 2008-10-15  Richard Sandiford  <rdsandiford@googlemail.com>
3103
3104         * doc/rtl.texi (const_double): Remove the "addr" operand.
3105         Describe CONST_DOUBLE_* macros under const_double rather
3106         than const_vector.
3107         (const_fixed): Fix the operand description.
3108         (const): Add an @findex directive.
3109         (CONST0_RTX, CONST1_RTX, CONST2_RTX): Move description
3110         after the constant rtl table.
3111         (fix): Combine floating-point and fixed-point descriptions.
3112         Fix hyphenation.
3113         * sched-deps.c (sched_analyze_2): Remove reference to
3114         CONST_DOUBLE_CHAIN.
3115
3116 2008-10-15  Richard Sandiford  <rdsandiford@googlemail.com>
3117
3118         * config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Handle
3119         UNSPEC_GOTSYM_OFFs.
3120         * config/mn10300/mn10300.c (legitimate_pic_operand_p): Return true
3121         for UNSPEC_GOTSYM_OFFs.
3122         * config/mn10300/mn10300.md (UNSPEC_GOTSYM_OFF): New unspec.
3123         (add_GOT_to_pic_reg): Use it.
3124         * config/mn10300/constraints.md (S): Allow UNSPEC_GOTSYM_OFF.
3125
3126 2008-10-15  Jan Sjodin  <jan.sjodin@amd.com>
3127             Harsha Jagasia  <harsha.jagasia@amd.com>
3128
3129         PR tree-optimization/37485
3130         * graphite.c (gmp_cst_to_tree): Moved.
3131         (iv_stack_entry_is_constant): New.
3132         (iv_stack_entry_is_iv): New.
3133         (loop_iv_stack_push): Renamed to loop_iv_stack_push_iv.
3134         (loop_iv_stack_insert_constant): New.
3135         (loop_iv_stack_pop): Use new datatpype.
3136         (loop_iv_stack_get_iv): Same.
3137         (loop_iv_stack_get_iv_from_name): Same.
3138         (loop_iv_stack_debug): Renamed to debug_loop_iv_stack.
3139         (loop_iv_stack_patch_for_consts): New.
3140         (loop_iv_stack_remove_constants): New.
3141         (graphite_create_new_loop): Use loop_iv_stack_push_iv.
3142         (translate_clast): Call loop_iv_stack_patch_for_consts and
3143         loop_iv_stack_remove_constants.
3144         (gloog): Use new datatype.  Redirect construction edge to end
3145         block to avoid accidental deletion.
3146         * graphite.h (enum iv_stack_entry_kind): New.  Tag for data in
3147         iv stack entry.
3148         (union iv_stack_entry_data): New.  Data in iv stack entry.
3149         (struct iv_stack_entry): New.  Datatype for iv stack entries.
3150
3151 2008-10-15  Sebastian Pop  <sebastian.pop@amd.com>
3152
3153         * tree-data-ref.c (stmt_simple_memref_p): Fix memleak.
3154         * graphite.c (free_scop): Same.
3155         (build_scops): Same.
3156         (free_scattering): New.
3157         (build_cloog_prog): Call free_scattering.
3158         (patch_phis_for_virtual_defs): Fix memleak.
3159         (graphite_trans_bb_strip_mine): Same.
3160         (limit_scops): Same.
3161
3162 2008-10-15  Sebastian Pop  <sebastian.pop@amd.com>
3163             Harsha Jagasia  <harsha.jagasia@amd.com>
3164
3165         PR tree-optimization/37828
3166         * graphite.c (graphite_trans_loop_block): Do not loop block
3167         single nested loops.
3168
3169 2008-10-15  Sebastian Pop  <sebastian.pop@amd.com>
3170
3171         PR tree-optimization/37686
3172         * tree-loop-linear.c (linear_transform_loops): Build a
3173         loop nest vector.  Pass it to lambda_compute_access_matrices.
3174         * tree-data-ref.h (struct access_matrix): Store the loop nest
3175         relative to which it encodes the information.
3176         (AM_LOOP_NEST_NUM): Renamed AM_LOOP_NEST.
3177         (am_vector_index_for_loop): Reimplemented: iterate over the
3178         loop nest for finding the loop index in the access matrix.
3179         (lambda_compute_access_matrices): Update declaration.
3180         * lambda-code.c (build_access_matrix): Pass the loop nest and
3181         record it.
3182         (lambda_compute_access_matrices): Same.
3183
3184 2008-10-15  Andreas Krebbel  <krebbel1@de.ibm.com>
3185
3186         * config/s390/s390.h: (TARGET_DFP): This requires TARGET_HARD_FLOAT.
3187         * config/s390/s390.md: Replace "TARGET_HARD_FLOAT &&
3188         TARGET_(HARD_)DFP" with only TARGET_(HARD_)DFP since this
3189         already implies hard float.  Also fix several insn condition
3190         with TARGET_DFP which shall require TARGET_HARD_DFP instead.
3191
3192 2008-10-15  David Edelsohn  <edelsohn@gnu.org>
3193
3194         PR target/35483
3195         Based on patches by Laurent Vivier.
3196         * xcoffout.h (DBX_FINISH_STABS): Translate dollar sign to underscore.
3197         * config/rs6000/rs6000-protos.h (rs6000_xcoff_strip_dollar): Declare.
3198         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Translate
3199         dollar sign to underscore.
3200         (ASM_OUTPUT_EXTERNAL): Same.
3201         (ASM_OUTPUT_LABELREF): New.
3202         * config/rs6000/rs6000.c (rs6000_xcoff_strip_dollar): New.
3203
3204         * config/rs6000/aix51.h (TARGET_USE_JCR_SECTION): Define.
3205         * config/rs6000/aix52.h (TARGET_USE_JCR_SECTION): Define.
3206         * config/rs6000/aix53.h (TARGET_USE_JCR_SECTION): Define.
3207         * config/rs6000/aix61.h (TARGET_USE_JCR_SECTION): Define.
3208
3209 2008-10-15  Jakub Jelinek  <jakub@redhat.com>
3210
3211         PR tree-optimization/36881
3212         * tree-switch-conversion.c (check_final_bb): For flag_pic, check
3213         that each value doesn't need runtime relocations, for !flag_pic
3214         check that each value is just a valid initializer constant.
3215
3216 2008-10-14  Richard Sandiford  <rdsandiford@googlemail.com>
3217
3218         * config/mips/mips.h (reg_class): Remove HI_AND_GR_REGS,
3219         LO_AND_GR_REGS, HI_AND_FP_REGS, COP0_AND_GR_REGS, COP2_AND_GR_REGS,
3220         COP3_AND_GR_REGS, ALL_COP_REGS and ALL_COP_AND_GR_REGS.
3221         Add GR_AND_MD0_REGS, GR_AND_MD1_REGS, GR_AND_MD_REGS and
3222         GR_AND_ACC_REGS.
3223         (REG_CLASS_NAMES): Update accordingly.
3224         (REG_CLASS_CONTENTS): Likewise.  Use the class name in the comments,
3225         rather than an unpredictable descriptive string.
3226         * config/mips/mips.c (mips_register_move_cost): Remove comment.
3227         (mips_register_move_cost): Check for specific COP*_REGS classes,
3228         instead of ALL_COP_AND_GR_REGS.
3229         (mips_ira_cover_classes): New function.
3230         (mips_secondary_reload_class): Remove MTLO and MTHI workarounds.
3231         (TARGET_IRA_COVER_CLASSES): Define.
3232
3233 2008-10-14  Douglas Gregor  <doug.gregor@gmail.com>
3234
3235         PR c++/37553
3236         * tree.c (build_type_attribute_qual_variant): Hash on the
3237         unqualified type, and don't overwrite an existing
3238         (type_hash_eq): Make the TYPE_NAME of the types significant, to
3239         allow distinguishing between wchar_t and its underlying type. This
3240         also means that we'll retain a little more typedef information.
3241
3242 2008-10-14  Andrey Belevantsev  <abel@ispras.ru>
3243             Dmitry Melnik  <dm@ispras.ru>
3244             Dmitry Zhurikhin  <zhur@ispras.ru>
3245             Alexander Monakov  <amonakov@ispras.ru>
3246             Maxim Kuvyrkov  <maxim@codesourcery.com>
3247
3248         * target.h (struct gcc_target): Update prototypes of needs_block_p
3249         and gen_spec_check.
3250         * haifa-sched.c (create_check_block_twin): Update calls to the above.
3251         * sel-sched.c (create_speculation_check): Likewise.
3252         * doc/tm.texi: Provide documentation for new target hooks.
3253
3254         * config/ia64/ia64.c: Include sel-sched.h.  Rewrite speculation hooks.
3255         (ia64_gen_spec_insn): Removed.
3256         (get_spec_check_gen_function, insn_can_be_in_speculative_p,
3257         ia64_gen_spec_check): New static functions.
3258         (ia64_alloc_sched_context, ia64_init_sched_context,
3259         ia64_set_sched_context, ia64_clear_sched_context,
3260         ia64_free_sched_context, ia64_get_insn_spec_ds,
3261         ia64_get_insn_checked_ds, ia64_skip_rtx_p): Declare functions.
3262         (ia64_needs_block_p): Change prototype.
3263         (ia64_gen_check): Rename to ia64_gen_spec_check.
3264         (ia64_adjust_cost): Rename to ia64_adjust_cost_2.  Add new parameter
3265         into declaration, add special memory dependencies handling.
3266         (TARGET_SCHED_ALLOC_SCHED_CONTEXT, TARGET_SCHED_INIT_SCHED_CONTEXT,
3267         TARGET_SCHED_SET_SCHED_CONTEXT, TARGET_SCHED_CLEAR_SCHED_CONTEXT,
3268         TARGET_SCHED_FREE_SCHED_CONTEXT, TARGET_SCHED_GET_INSN_SPEC_DS,
3269         TARGET_SCHED_GET_INSN_CHECKED_DS, TARGET_SCHED_SKIP_RTX_P):
3270         Define new target hooks.
3271         (TARGET_SCHED_GEN_CHECK): Rename to TARGET_SCHED_GEN_SPEC_CHECK.
3272         (ia64_optimization_options): Turn on selective scheduling with -O3,
3273         disable -fauto-inc-dec. Set mflag_sched_control_spec to true by
3274         default with selective scheduling.
3275         (ia64_override_options): Initialize align_loops and align_functions
3276         to 32 and 64, respectively.  Set global selective scheduling flags
3277         according to target-dependent flags.
3278         (rtx_needs_barrier): Support UNSPEC_LDS_A.
3279         (group_barrier_needed): Use new mstop-bit-before-check flag.
3280         Add heuristic.
3281         (dfa_state_size): Make global.
3282         (spec_check_no, max_uid): Remove.
3283         (mem_ops_in_group, current_cycle): New variables.
3284         (ia64_sched_init): Disable checks for !SCHED_GROUP_P after reload.
3285         Initialize new variables.
3286         (is_load_p, record_memory_reference): New functions.
3287         (ia64_dfa_sched_reorder): Lower priority of loads when limit is
3288         reached.
3289         (ia64_variable_issue): Change use of current_sched_info to
3290         sched_deps_info.  Update comment.  Note if a load or a store is issued.
3291         (ia64_first_cycle_multipass_dfa_lookahead_guard_spec): Require a cycle
3292         advance if maximal number of loads or stores was issued on current
3293         cycle.
3294         (scheduled_good_insn): New static helper function.
3295         (ia64_dfa_new_cycle): Assert that last_scheduled_insn is set when
3296         a group barrier is needed.  Fix vertical spacing.  Guard the code
3297         doing state transition with last_scheduled_insn check.
3298         Mark that a stop bit should be before current insn if there was a
3299         cycle advance.  Update current_cycle and mem_ops_in_group.
3300         (ia64_h_i_d_extended): Change use of current_sched_info to
3301         sched_deps_info. Reallocate stops_p by larger chunks.
3302         (struct _ia64_sched_context): New structure.
3303         (ia64_sched_context_t): New typedef.
3304         (ia64_alloc_sched_context, ia64_init_sched_context,
3305         ia64_set_sched_context, ia64_clear_sched_context,
3306         ia64_free_sched_context): New static functions.
3307         (gen_func_t): New typedef.
3308         (get_spec_load_gen_function): New function.
3309         (SPEC_GEN_EXTEND_OFFSET): Declare.
3310         (ia64_set_sched_flags): Check common_sched_info instead of *flags.
3311         (get_mode_no_for_insn): Change the condition that prevents use of
3312         special hardware registers so it can now handle pseudos.
3313         (get_spec_unspec_code): New function.
3314         (ia64_skip_rtx_p, get_insn_spec_code, ia64_get_insn_spec_ds,
3315         ia64_get_insn_checked_ds, ia64_gen_spec_load): New static functions.
3316         (ia64_speculate_insn, ia64_needs_block_p): Support branchy checks
3317         during selective scheduling.
3318         (ia64_speculate_insn): Use ds_get_speculation_types when
3319         determining whether we need to change the pattern.
3320         (SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET): Declare.
3321         (ia64_spec_check_src_p): Support new speculation/check codes.
3322         (struct bundle_state): New field.
3323         (issue_nops_and_insn): Initialize it.
3324         (insert_bundle_state): Minimize mid-bundle stop bits.
3325         (important_for_bundling_p): New function.
3326         (get_next_important_insn): Use important_for_bundling_p.
3327         (bundling): When shifting TImode from unimportant insns, ignore
3328         also group barriers.  Assert that best state is found before
3329         the backward bundling pass.  Print number of mid-bundle stop bits.
3330         Minimize mid-bundle stop bits.  Check correct calculation of
3331         mid-bundle stop bits.
3332         (ia64_sched_finish, final_emit_insn_group_barriers): Fix formatting.
3333         (final_emit_insn_group_barriers): Emit stop bits before insns starting
3334         a new cycle.
3335         (sel2_run): New variable.
3336         (ia64_reorg): When flag_selective_scheduling2 is set, run the
3337         selective scheduling pass instead of schedule_ebbs.
3338
3339         * config/ia64/ia64.md (speculable1, speculable2): New attributes.
3340         (UNSPEC_LDS_A): New UNSPEC.
3341         (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
3342         movti_internal, movsf_internal, movdf_internal,
3343         movxf_internal): Make visible.  Add speculable* attributes.
3344         (output_c_nc): New mode attribute.
3345         (mov<mode>_speculative_a, zero_extend<mode>di2_speculative_a,
3346         mov<mode>_nc, zero_extend<mode>di2_nc,
3347         advanced_load_check_nc_<mode>): New insns.
3348         (zero_extend*): Add speculable* attributes.
3349
3350         * config/ia64/ia64.opt (msched_fp_mem_deps_zero_cost): New option.
3351         (msched-stop-bits-after-every-cycle): Likewise.
3352         (msched-max-memory-insns, msched-max-memory-insns-hard-limit):
3353         Likewise.
3354         (msched-spec-verbose): Remove.
3355         (msched-prefer-non-data-spec-insns,
3356         msched-prefer-non-control-spec-insns,
3357         msched-count-spec-in-critical-path,
3358         msel-sched-dont-check-control-spec): Use Target  Report Var
3359         instead of Common Report Var.
3360
3361         * config/ia64/itanium2.md: Remove incorrect bypass.
3362
3363         * config/ia64/t-ia64 (ia64.o): Add dependency on sel-sched.h.
3364
3365 2008-10-14  Jakub Jelinek  <jakub@redhat.com>
3366
3367         PR middle-end/37805
3368         * opts.c (common_handle_option): Don't ICE on -fhelp=joined
3369         and -fhelp=separate.
3370
3371 2008-10-14  Ben Elliston  <bje@au.ibm.com>
3372
3373         * config/rs6000/rs6000.md (cell_micro): Fix formatting.
3374
3375 2008-10-13  Joseph Myers  <joseph@codesourcery.com>
3376
3377         * combine.c (simplify_set): Avoid calling LOAD_EXTEND_OP on
3378         non-integer modes.
3379
3380 2008-10-13  Matthias Klose  <doko@ubuntu.com>
3381
3382         * config/pa/linux-atomic.c: Work around missing header file
3383         for hppa64-linux-gnu targets.
3384
3385 2008-10-13  Andrew Pinski  <andrew_pinski@playstation.sony.com>
3386             Kaushal Kantawala <Kaushal_Kantawala@playstation.sony.com>
3387             Trevor Smigiel  <Trevor_Smigiel@playstation.sony.com>
3388             Grace Cao  <grace_cao@playstation.sony.com>
3389
3390         * doc/invoke.texi (-mgen-cell-microcode): Document.
3391         (-mwarn-cell-microcode): Document.
3392         * cfglayout.c (locator_location): Export.
3393         * rtl.h (locator_location): Define prototype.
3394         * config/rs6000/predicates.md (cc_reg_not_micro_cr0_operand):
3395         New predicate.
3396         * rs6000/rs6000-protos.h (rs6000_final_prescan_insn): Define prototype.
3397         * config/rs6000/rs6000.opt (mgen-cell-microcode): New option.
3398         (mwarn-cell-microcode): New option.
3399         * rs6000/rs6000.c (rs6000_cell_dont_microcode): Delete unused variable.
3400         (rs6000_override_options): Set rs6000_gen_cell_microcode if tuning for
3401         cell and not already set.
3402         Turn off string instructions if not generating cell microcode.
3403         (rs6000_final_prescan_insn): New function that warns about microcoded
3404         instructions.
3405         * config/rs6000/rs6000.h (FINAL_PRESCAN_INSN): Define.
3406         * config/rs6000/rs6000.md
3407         Replace cc_reg_not_cr0_operand with cc_reg_not_micro_cr0_operand if
3408         the instruction would have been microcoded on the Cell.  Set
3409         cell_micro to always on unnamed patterns for the string instructions.
3410         (cell_micro): Update definition, remove load/store conditional
3411         microcoded.
3412         (sign_extend:DI): Define new pattern for non microcoded version.
3413         (sign_extend:SI): Likewise.
3414         (compare (div:P)): Set cell_micro to not.
3415         (andsi3): Define as an expand.
3416         (andsi3_mc): New pattern.
3417         (andsi3_nomc): New pattern.
3418         (andsi3_internal0_nomc): New pattern.
3419         (andsi3_internal2): Rename to ...
3420         (andsi3_internal2_mc): this and enable iff generating microcode.
3421         (andsi3_internal3): Rename to ...
3422         (andsi3_internal3_mc): this and enable iff generating microcode.
3423         (andsi3_internal4): Enable iif generating microcode.
3424         (andsi3_internal5): Rename to ..
3425         (andsi3_internal5_mc): this and enable iff generating microcode.
3426         (andsi3_internal5_nomc): New pattern.
3427         (extzvdi_internal1): Enable iff generating microcode.
3428         (extzvdi_internal2): Likewise.
3429         (rotlsi3_internal7): Set cell_micro to always if non immediate form.
3430         (anddi3): Change to expand.
3431         (anddi3_mc): Rename from anddi3.
3432         (anddi3_no_mc): New pattern.
3433         (anddi3_internal2): Rename to ..
3434         (anddi3_internal2_mc): this and enable iff generating microcode.
3435         (anddi3_internal2_nomc): New pattern.
3436         (anddi3_internal3): Rename to ..
3437         (anddi3_internal3_mc): this and enable iff generating microcode.
3438         (anddi3_internal3_nomc): New pattern.
3439         (movti_string): Set cell_micro to always if TARGET_STRING.
3440         (stmsi8): Set cell_micro to always.
3441         (stmsi7): Likewise.
3442         (stmsi6): Likewise.
3443         (stmsi5): Likewise.
3444         (stmsi4): Likewise.
3445         (stmsi3): Likewise.
3446         (stmsi8_power): Likewise.
3447         (stmsi7_power): Likewise.
3448         (stmsi6_power): Likewise.
3449         (stmsi5_power): Likewise.
3450         (stmsi4_power): Likewise.
3451         (stmsi3_power): Likewise.
3452         (movsi_update2): Enable iff generating microcode.
3453         (movhi_update3): Likewise.
3454         (lmw): Set cell_micro to always.
3455
3456 2008-10-13  Richard Sandiford  <rdsandiford@googlemail.com>
3457
3458         * config/s390/s390.md (UNSPEC_POOL_OFFSET): New constant.
3459         * config/s390/s390.c (machine_function): Remove
3460         decomposed_literal_pool_addresses_ok_p.
3461         (s390_decompose_address): Check for UNSPEC_POOL_OFFSET instead of
3462         the difference of two labels.
3463         (s390_output_addr_const_extra): Handle UNSPEC_POOL_OFFSET.
3464         (s390_pool_offset): New function.
3465         (s390_find_constant, s390_find_execute, s390_dump_pool): Use it.
3466         (s390_reorg): Don't set decomposed_literal_pool_addresses_ok_p.
3467
3468 2008-10-13  Nathan Froyd  <froydnj@codesourcery.com>
3469
3470         * doc/install.texi (powerpc-*-*): Require binutils 2.15.
3471         (powerpc*-*-linux-gnu*): Describe.
3472         * config/rs6000/ppc-asm.h (HIDDEN_FUNC): New macro.
3473         * config/rs6000/crtresfpr.asm, config/rs6000/crtresgpr.asm,
3474         config/rs6000/crtresxfpr.asm, config/rs6000/crtresxgpr.asm,
3475         config/rs6000/crtsavfpr.asm, config/rs6000/crtsavgpr.asm,
3476         config/rs6000/e500crtres32gpr.asm,
3477         config/rs6000/e500crtres64gpr.asm,
3478         config/rs6000/e500crtres64gprctr.asm,
3479         config/rs6000/e500crtrest32gpr.asm,
3480         config/rs6000/e500crtrest64gpr.asm,
3481         config/rs6000/e500crtresx32gpr.asm,