OSDN Git Service

0875708d2b71e7cc83721d3198fa2c9323ba6a43
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2007-12-14  Jakub Jelinek  <jakub@redhat.com>
2
3         PR target/29978
4         * config/i386/i386.c (ix86_expand_branch): Optimize LE/LEU/GT/GTU
5         DImode comparisons against constant with all 1's in the lower word.
6
7 2007-12-14  Uros Bizjak  <ubizjak@gmail.com>
8
9         * config/i386/sse.md (sse4_2_pcmpestr): Use reg_not_xmm0_operand
10         constraint for operand2.  Use nonimm_not_xmm0_operand constraint
11         for operand 4.  Update arguments in the call to
12         gen_sse4_2_pcmpestr_cconly.
13         (sse_4_2_pcmpestr_cconly): Renumber insn operands and update insn
14         template accordingly.
15         (sse4_2_pcmpistr): Use reg_not_xmm0_operand constraint for operand2.
16         Use nonimm_not_xmm0_operand constraint for operand 3.  Update
17         arguments in the call to gen_sse4_2_pcmpistr_cconly.
18         (sse_4_2_pcmpistr_cconly): Renumber insn operands and update insn
19
20 2007-12-14  Richard Guenther  <rguenther@suse.de>
21
22         PR middle-end/34462
23         * tree-ssa-operands.h (create_ssa_artificial_load_stmt): Add
24         parameter to say whether to unlink immediate uses.
25         * tree-ssa-operands.c (create_ssa_artificial_load_stmt): Do not
26         mark the artificial stmt as modified.  Unlink immediate uses
27         only if requested.
28         * tree-ssa-dom.c (record_equivalences_from_stmt): Update caller.
29         * tree-ssa-pre.c (insert_fake_stores): Likewise.
30
31 2007-12-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
32
33         PR middle-end/33088
34         * gimplify.c (gimplify_modify_expr_complex_part): Add note to comment.
35         * tree-complex.c (init_dont_simulate_again): Return true if there are
36         uninitialized loads generated by gimplify_modify_expr_complex_part.
37         * tree-gimple.c (is_gimple_reg_type): Return false for complex types
38         if not optimizing.
39         * tree-ssa.c (ssa_undefined_value_p): New predicate extracted from...
40         (warn_uninit): ...here.  Use ssa_undefined_value_p.
41         * tree-ssa-pre.c (is_undefined_value): Delete.
42         (phi_translate_1): Use ssa_undefined_value_p.
43         (add_to_exp_gen): Likewise.
44         (make_values_for_stmt): Likewise.
45         * tree-flow.h (ssa_undefined_value_p): Declare.
46
47 2007-12-13  Andrew Pinski  <pinskia@gmail.com>
48             David Daney  <ddaney@avtrex.com>
49
50         PR bootstrap/34144
51         * system.h: Make -Wuninitialized non-fatal if ASSERT_CHECKING
52         is disabled.
53
54 2007-12-13  Jakub Jelinek  <jakub@redhat.com>
55
56         PR rtl-optimization/32636
57         * df-scan.c (df_get_entry_block_def_set): Set struct_value_rtx
58         regno in entry_block_defs even if HAVE_prologue && epilogue_completed.
59
60 2007-12-13  Uros Bizjak  <ubizjak@gmail.com>
61             Richard Guenther  <rguenther@suse.de>
62
63         PR target/34435
64         * config/i386/emmintrin.h (_mm_shuffle_pd, _mm_extract_epi16,
65         _mm_insert_epi16, _mm_shufflehi_epi16, _mm_shufflelo_epi16,
66         _mm_shuffle_epi32): Cast non-constant input values to either __m64,
67         __m128, __m128i or __m128d in a macro version of the intrinsic.
68         Cast constant input values to int.
69         * config/i386/ammintrin.h (_mm_extracti_si64, _mm_inserti_si64): Ditto.
70         * config/i386/bmmintrin.h (_mm_roti_epi8, _mm_roti_epi16,
71         _mm_roti_epi32, _mm_roti_epi64): Ditto.
72         * config/i386/smmintrin.h (_mm_blend_epi16, _mm_blend_ps, _mm_blend_pd,
73         _mm_dp_ps, _mm_dp_pd, _mm_insert_ps, _mm_extract_ps, _mm_insert_epi8,
74         _mm_insert_epi32, _mm_insert_epi64, _mm_extract_epi8, mm_extract_epi32,
75         _mm_extract_epi64, _mm_mpsadbw_epu8, _mm_cmpistrm, _mm_cmpistri,
76         _mm_cmpestrm, _mm_cmpestri, _mm_cmpistra, _mm_cmpistrc, _mm_cmpistro,
77         _mm_cmpistrs, _mm_cmpistrz, _mm_cmpestra, _mm_cmpestrc, _mm_cmpestro,
78         _mm_cmpestrs, _mm_cmpestrz): Ditto.
79         * config/i386/tmmintrin.h (_mm_alignr_epi8, _mm_alignr_pi8): Ditto.
80         * config/i386/xmmintrin.h (_mm_shuffle_ps, _mm_extract_pi16, _m_pextrw,
81         _mm_insert_pi16, _m_pinsrw, _mm_shuffle_pi16, _m_pshufw): Ditto.
82         * config/i386/mmintrin-common.h (_mm_round_pd, _mm_round_sd,
83         _mm_round_ps, _mm_round_ss): Ditto.
84
85 2007-12-13  Richard Guenther  <rguenther@suse.de>
86
87         PR tree-optimization/34450
88         * params.def (PARAM_SCCVN_MAX_SCC_SIZE): New param.
89         * invoke.texi (sccvn-max-scc-size): Document.
90         * Makefile.in (tree-ssa-sccvn.o): Add $(PARAMS_H) dependency.
91         * tree-ssa-sccvn.h (run_scc_vn): Return true on success, false
92         on error.
93         * tree-ssa-sccvn.c (params.h): Include.
94         (DFS): Return true if all went well, return false as soon as
95         a SCC exceeds the size of PARAM_SCCVN_MAX_SCC_SIZE.
96         (run_scc_vn): Return true if all went well, return false if
97         we aborted during DFS.
98         * tree-ssa-pre.c (execute_pre): Check if SCCVN finished
99         successfully, otherwise bail out.
100
101 2007-12-13  Olga Golovanevsky  <olga@il.ibm.com>
102
103         * ipa-struct-reorg.c (is_candidate): Print information to dump 
104         file when the type is initialized.
105         (get_stmt_accesses):  Likewise when a structure has bitfields
106         or field access is too complicate.
107         (safe_cond_expr_check): Likewise for unsafe condition expressions.
108         (exclude_cold_structs): Likewise for cold structures.
109         (collect_structures): Suppress redundant print when there are 
110         no structures to transform.
111         (do_reorg): Print to dump file a number of structures that 
112         will be transformed.
113         (dump_new_types): Print a number of new types to replace 
114         an original structure type.
115         
116 2007-12-13  Olga Golovanevsky  <olga@il.ibm.com>
117
118         * doc/invoke.texi (Optimiza Options): Document new -fipa-struct-reorg
119         option and struct-reorg-cold-struct-ratio parameter.
120         
121 2007-12-13  Torbjorn Granlund  <tege@swox.com>
122
123         * config/i386/i386.c (ix86_rtx_costs) [MULT]: Check op0 for
124         ZERO_EXTEND when computing costs for widening multiplication.
125
126 2007-12-13  Richard Earnshaw  <rearnsha@arm.com>
127
128         PR target/30192
129         * config/arm/ieee754-df.S (floatundidf): Fix for wrong sp value on
130         exit when using hard FPA.
131         * config/arm/ieee754-df.S (floatdidf): Likewise.
132
133 2007-12-12  Jakub Jelinek  <jakub@redhat.com>
134
135         PR bootstrap/30589
136         * doc/install.texi: Document that for MinGW only runtime 3.12 and
137         later is supported.
138
139 2007-12-12  David Edelsohn  <edelsohn@gnu.org>
140
141         * config/rs6000/rs6000.c (is_mem_ref): Ignore STACK_TIE.
142
143 2007-12-12  Aldy Hernandez  <aldyh@redhat.com>
144
145         PR tree-optimization/32901
146         * gimplify.c (gimplify_modify_expr_rhs): Handle the case when we
147         are assigning from a constant constructor.
148         Fix wrapping in function comment.
149
150 2007-12-12  Andreas Krebbel  <krebbel1@de.ibm.com>
151
152         * config/s390/s390.c (s390_O_constraint_str): Limit the range
153         for 'On' to -4G+1..-1.
154         * config/s390/constraints.md: Adjust comment accordingly.
155
156 2007-12-11  Nathan Sidwell  <nathan@codesourcery.com>
157
158         * config/rs6000/rs6000.c (rs6000_emit_prologue): Use frame_reg_rtx
159         for SPE saves.
160
161 2007-12-11  Kai Tietz  <kai.tietz@onevision.com>
162
163         * config/i386/cygming.h (DWARF2_UNWIND_INFO): Handle 64-bit
164         target same as 32-bit.
165
166 2007-12-10  Jakub Jelinek  <jakub@redhat.com>
167
168         PR tree-optimization/34371
169         * tree-vectorizer.h (struct _loop_vec_info): Add num_iters_unchanged
170         field.
171         (LOOP_VINFO_NITERS_UNCHANGED): Define to num_iters_unchanged field.
172         * tree-vectorizer.c (set_prologue_iterations,
173         slpeel_tree_peel_loop_to_edge): Call unshare_expr on
174         LOOP_VINFO_NITERS_UNCHANGED before using it.
175
176 2007-12-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
177
178         PR target/34403
179         * config/i386/i386.c (ix86_expand_movmem): Punt if the count is large.
180         (ix86_expand_setmem): Likewise.
181
182 2007-12-10  Kenneth Zadeck <zadeck@naturalbridge.com>
183
184         PR rtl-optimization/34302
185         * auto-inc-dec.c (attempt_change): Change place where move is
186         inserted.
187
188 2007-12-10  Jakub Jelinek  <jakub@redhat.com>
189
190         * dwarf2out.c (gen_array_type_die, gen_descr_array_type_die): For
191         Fortran multi-dimensional arrays use DW_AT_ordering
192         DW_ORD_col_major.
193
194 2007-12-10  Paolo Bonzini  <bonzini@gnu.org>
195
196         PR target/32086
197         * config/i386/i386.c (override_options): Enable -fvect-cost-model.
198
199 2007-12-10 Uros Bizjak <ubizjak@gmail.com>
200
201         * config/i386/i386.c (ix86_function_regparm): Do not check global_regs
202         array, registers that are members of global_regs are also members of
203         fixed_regs array.  Use REGPARM_MAX to check that no regparm hard
204         register is taken by a fixed register variable.  Check up to and
205         including DI_REG when adjusting regparm value due to fixed regs usage.
206         (rep_prefix_usable): Check fixed_regs array, not global_regs array for
207         available hard registers.
208         (ix86_expand_strlen): Ditto.
209         * config/i386/i386.md (strmov): Ditto.
210         (cmpstrnsi): Ditto.
211
212 2007-12-10  Kaz Kojima  <kkojima@gcc.gnu.org>
213
214         * genopinit.c: Include tm_p.h in generated file.
215
216         * config/arm/neon.md (vec_set<mode>_internal): Use INTVAL
217         to extract the integer from operands[2].
218         (vec_setv2di_internal): Likewise.
219
220         * config/arm/arm.c (arm_size_return_regs): Make return type unsigned.
221         (arm_init_neon_builtins): Move code after declarations.
222
223 2007-12-10  Hans-Peter Nilsson  <hp@axis.com>
224
225         * reload.c (find_reloads_address_1): To properly mark as an
226         autoincdec, pass X for non-NULL OUT in call to push_reload for
227         autoincdec which can't be trivially used as an address.
228
229 2007-12-10  Pranav Bhandarkar  <pranav.bhandarkar@celunite.com>
230             Hans-Peter Nilsson  <hp@axis.com>
231
232         * caller-save.c (insert_one_insn): If inserting before a call_insn
233         then the registers containing the arguments of the call are
234         live_throughout in the new insn.
235
236 2007-12-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
237
238         PR middle-end/32889
239         PR target/34091
240         * pa.md: Consolidate HImode and QImode move patterns into one pattern
241         each, eliminating floating-point alternatives.
242         * pa-protos.h (pa_cannot_change_mode_class, pa_modes_tieable_p):
243         Declare functions.
244         * pa-64.h (SECONDARY_MEMORY_NEEDED): Define here.
245         * pa.c (pa_secondary_reload): Use an intermediate general register
246         for copies to/from floating-point register classes.  Simplify code
247         SHIFT_REGS class.  Provide additional comments.
248         (pa_cannot_change_mode_class, pa_modes_tieable_p): New functions.
249         * pa.h (MODES_TIEABLE_P): Use pa_modes_tieable_p.
250         (SECONDARY_MEMORY_NEEDED): Delete define.
251         (INT14_OK_STRICT): Define.
252         (MODE_OK_FOR_SCALED_INDEXING_P): Allow SFmode and DFmode when using
253         soft float.
254         (MODE_OK_FOR_UNSCALED_INDEXING_P): Likewise.
255         (GO_IF_LEGITIMATE_ADDRESS): Use INT14_OK_STRICT in REG+D case for
256         SFmode and DFmode.
257         (LEGITIMIZE_RELOAD_ADDRESS): Use INT14_OK_STRICT in mask selection.
258         Align DImode offsets when generating 64-bit code.
259         * pa32-regs.h (VALID_FP_MODE_P): Remove QImode and HImode.
260         (CANNOT_CHANGE_MODE_CLASS): Define.
261         * pa64-regs.h (VALID_FP_MODE_P): Remove QImode and HImode.
262         (CANNOT_CHANGE_MODE_CLASS): Define using pa_cannot_change_mode_class.
263
264 2007-12-09  Jakub Jelinek  <jakub@redhat.com>
265
266         PR fortran/22244
267         * langhooks-def.h (LANG_HOOKS_GET_ARRAY_DESCR_INFO): Define.
268         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
269         * langhooks.h (struct array_descr_info): Forward declaration.
270         (struct lang_hooks_for_types): Add get_array_descr_info field.
271         * dwarf2.h (DW_AT_bit_stride, DW_AT_byte_stride): New.
272         (DW_AT_stride_size, DW_AT_stride): Keep around for Dwarf2
273         compatibility.
274         * dwarf2out.h (struct array_descr_info): New type.
275         * dwarf2out.c (dwarf_attr_name): Rename DW_AT_stride to
276         DW_AT_byte_stride and DW_AT_stride_size to DW_AT_bit_size.
277         (descr_info_loc, add_descr_info_field, gen_descr_array_type_die):
278         New functions.
279         (gen_type_die_with_usage): Call lang_hooks.types.get_array_descr_info
280         and gen_descr_array_type_die.
281
282 2007-12-08  Richard Guenther  <rguenther@suse.de>
283
284         PR tree-optimization/34391
285         * tree-vect-transform.c (vect_setup_realignment): Mark new
286         symbols for renaming.
287
288 2007-12-07  Bob Wilson  <bob.wilson@acm.org>
289         
290         * config/xtensa/xtensa.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
291         (ASM_OUTPUT_DWARF_PCREL): Define.
292         
293 2007-12-07  Richard Guenther  <rguenther@suse.de>
294
295         PR middle-end/34382
296         * opts.c (common_handle_option): Handle OPT_fforce_addr.
297
298 2007-12-07  Aldy Hernandez  <aldyh@redhat.com>
299
300         * m32c.h (LEGITIMIZE_ADDRESS): Use WIN instead of win.
301         (LEGITIMIZE_RELOAD_ADDRESS): Same.
302
303 2007-12-07  Samuel Tardieu  <sam@rfc1149.net>
304
305         PR ada/29157
306         * doc/install.texi: Explain how to check for a clean environment when
307         building GNAT.
308
309 2007-12-07  Richard Guenther  <rguenther@suse.de>
310
311         * tree-profile.c (gcov_type_tmp_var): New global variable.
312         (tree_gen_edge_profiler): Use a single shared variable decl per
313         function for edge counter incrementing.
314         (tree_profiling): Re-set the shared variable.
315
316 2007-12-06  Bob Wilson  <bob.wilson@acm.org>
317
318         * config/xtensa/xtensa.c (xtensa_va_start): Add prototype.
319
320 2007-12-06  Tom Tromey  <tromey@redhat.com>
321
322         PR c/29172:
323         * c-opts.c (c_common_parse_file): Call cpp_clear_file_cache.
324
325 2007-12-06  Richard Sandiford  <rsandifo@nildram.co.uk>
326
327         * config/mips/mips.c (mips_function_ok_for_sibcall): Check
328         targetm.binds_local_p as well as DECL_EXTERNAL.
329
330 2007-12-06  Harsha Jagasia <harsha.jagasia@amd.com>
331
332         * tree-vectorizer.c (slpeel_add_loop_guard): Gimplify the condition.
333         (set_prologue_iterations): New. Set the prologue iterations to total
334         number of scalar iterations if the cost model check indicates that
335         scalar code should be generated.
336         (slpeel_tree_peel_loop_to_edge): Add a new parameter and code for 
337         generating the cost condition for epilog. Call
338         set_prologue_iterations to generate cost condition for prolog.
339         (new_loop_vec_info): Initialize LOOP_VINFO_NITERS_UNCHANGED.
340         * tree-vectorizer.h (LOOP_VINFO_NITERS_UNCHANGED): New.
341         (slpeel_tree_peel_loop_to_edge): Update declaration.
342         (set_prologue_iterations): New declaration.
343         * tree-vect-analyze.c (vect_analyze_loop_form): Update 
344         LOOP_VINFO_NITERS_UNCHANGED.
345         * tree-vect-transform.c
346         (vect_estimate_min_profitable_iters): Add new parameter and
347         code to  check if run time cost model test is needed.
348         Remove code that adds builtin vectorization cost to scalar
349         outside cost for the run time cost model test. If run time
350         cost model test is needed add the appropriate guard cost to
351         the scalar outside cost. The guard cost depends on whether
352         the guard is generated at versioning or at prolog generation
353         or at epilog generation. Change cost model equation to include
354         scalar outside cost.
355         (conservative_cost_threshold): New. Return the less conservative
356         profitability threshold between the cost model threshold and the
357         user defined vectorization threshold.
358         (vect_do_peeling_for_loop_bound): Call conservative_cost_threshold.
359         (vect_do_peeling_for_alignment): Same.
360         (vect_loop_versioning): Same.
361         (vect_create_cond_for_align_checks): ANDs the cost model condition
362         with the alignment condition.
363         (vect_transform_loop): Call loop versioning only when there is a
364         misalignment or an aliasing problem.
365
366 2007-12-06  Jakub Jelinek  <jakub@redhat.com>
367
368         PR middle-end/20983
369         * tree-ssa-ccp.c (optimize_stdarg_builtin): New function.
370         (execute_fold_all_builtins): Call it for BUILT_IN_VA_START,
371         BUILT_IN_VA_COPY and BUILT_IN_VA_END.
372
373         * target.h (struct ggc_target): Add expand_builtin_va_start hook.
374         * target-def.h (TARGET_EXPAND_BUILTIN_VA_START): Define.
375         (TARGET_INITIALIZER): Add it.
376         * builtins.c (expand_builtin_va_start): Use
377         targetm.expand_builtin_va_start hook instead of
378         EXPAND_BUILTIN_VA_START macro.
379         * alpha/alpha.c (alpha_va_start): Made static.
380         (override_options): Clear targetm.expand_builtin_va_start if
381         TARGET_UNICOSMK.
382         (TARGET_EXPAND_BUILTIN_VA_START): Define.
383         * alpha/unicosmk.h (EXPAND_BUILTIN_VA_START): Remove.
384         * alpha/alpha.h (EXPAND_BUILTIN_VA_START): Remove.
385         * alpha/alpha-protos.h (alpha_va_start): Remove prototype.
386         * xtensa/xtensa.h (EXPAND_BUILTIN_VA_START): Remove.
387         * xtensa/xtensa.c (TARGET_EXPAND_BUILTIN_VA_START): Define.
388         (xtensa_va_start): Made static.
389         * xtensa/xtensa-protos.h (xtensa_va_start): Remove prototype.
390         * pa/pa-protos.h (hppa_va_start): Remove prototype.
391         * pa/pa.h (EXPAND_BUILTIN_VA_START): Remove.
392         * pa/pa.c (hppa_va_start): Made static, add prototype.
393         (TARGET_EXPAND_BUILTIN_VA_START): Define.
394         * frv/frv.c (frv_expand_builtin_va_start): Made static, add prototype.
395         (TARGET_EXPAND_BUILTIN_VA_START): Define.
396         * frv/frv-protos.h (frv_expand_builtin_va_start): Remove prototype.
397         * frv/frv.h (EXPAND_BUILTIN_VA_START): Remove.
398         * i386/i386.c (override_options): Clear
399         targetm.expand_builtin_va_start if -m32 or 64-bit MS ABI.
400         (ix86_va_start): Made static.
401         (TARGET_EXPAND_BUILTIN_VA_START): Define.
402         * i386/i386.h (EXPAND_BUILTIN_VA_START): Remove.
403         * i386/i386-protos.h (ix86_va_start, ix86_va_arg): Remove prototypes.
404         * iq2000/iq2000-protos.h (iq2000_va_start): Remove prototype.
405         * iq2000/iq2000.h (EXPAND_BUILTIN_VA_START): Remove.
406         * iq2000/iq2000.c (iq2000_va_start): Made static, add prototype.
407         (TARGET_EXPAND_BUILTIN_VA_START): Define.
408         * rs6000/rs6000-protos.h (rs6000_va_start): Remove prototype.
409         * rs6000/rs6000.c (rs6000_va_start): Made static, add prototype.
410         (TARGET_EXPAND_BUILTIN_VA_START): Define.
411         (rs6000_override_options): Clear targetm.expand_builtin_va_start if
412         DEFAULT_ABI != ABI_V4.
413         * rs6000/rs6000.h (EXPAND_BUILTIN_VA_START): Remove.
414         * spu/spu.c (spu_va_start): Made static, add prototype.
415         (TARGET_EXPAND_BUILTIN_VA_START): Define.
416         * spu/spu.h (EXPAND_BUILTIN_VA_START): Remove.
417         * spu/spu-protos.h spu_va_start): Remove prototype.
418         * stormy16/stormy16.h (EXPAND_BUILTIN_VA_START): Remove.
419         * stormy16/stormy16-protos.h (xstormy16_expand_builtin_va_start):
420         Remove prototype.
421         * stormy16/stormy16.c (xstormy16_expand_builtin_va_start): Made static.
422         (TARGET_EXPAND_BUILTIN_VA_START): Define.
423         * s390/s390-protos.h (s390_va_start): Remove prototype.
424         * s390/s390.c (s390_va_start): Made static.
425         (TARGET_EXPAND_BUILTIN_VA_START): Define.
426         * s390/s390.h (EXPAND_BUILTIN_VA_START): Remove.
427         * mn10300/mn10300.h (EXPAND_BUILTIN_VA_START): Remove.
428         * mn10300/mn10300-protos.h (mn10300_va_start): Remove prototype.
429         * mn10300/mn10300.c (mn10300_va_start): Made static, add prototype.
430         (TARGET_EXPAND_BUILTIN_VA_START): Define.
431         * arc/arc.c (arc_va_start): Made static, add prototype.
432         (TARGET_EXPAND_BUILTIN_VA_START): Define.
433         * arc/arc.h (EXPAND_BUILTIN_VA_START): Remove.
434         * arc/arc-protos.h (arc_va_start): Remove prototype.
435         * mt/mt-protos.h (mt_va_start): Remove prototype.
436         * sparc/sparc.c (sparc_va_start): Made static, add prototype.
437         (TARGET_EXPAND_BUILTIN_VA_START): Define.
438         * sparc/sparc-protos.h (sparc_va_start): Remove prototype.
439         * sparc/sparc.h (EXPAND_BUILTIN_VA_START): Remove.
440         * sh/sh.c (sh_va_start): Made static, add prototype.
441         (TARGET_EXPAND_BUILTIN_VA_START): Define.
442         * sh/sh-protos.h (sh_va_start): Remove prototype.
443         * sh/sh.h (EXPAND_BUILTIN_VA_START): Remove.
444         * mips/mips-protos.h (mips_va_start): Remove prototype.
445         * mips/mips.h (EXPAND_BUILTIN_VA_START): Remove.
446         * mips/mips.c (mips_va_start): Made static.
447         (TARGET_EXPAND_BUILTIN_VA_START): Define.
448
449 2007-12-06  Uros Bizjak  <ubizjak@gmail.com>
450
451         * tree-ssa-loop.c (gate_tree_parallelize_loops): Return true when
452         "flag_tree_parallelize_loops > 1".
453         
454 2007-12-06  Zdenek Dvorak  <ook@ucw.cz>
455             Dorit Nuzman  <dorit@il.ibm.com>
456             Jakub Jelinek  <jakub@redhat.com>
457
458         PR tree-optimization/34005
459         * tree-gimple.c (is_gimple_formal_tmp_rhs): Add a case for COND_EXPR.
460         * gimplify.c (gimplify_ctx): Add a new member allow_rhs_cond_expr.
461         (gimplify_pure_cond_expr): New function.
462         (generic_expr_could_trap_p): New function.
463         (gimplify_cond_expr): Call gimplify_pure_cond_expr.
464         (force_gimple_operand): Initialize new field allow_rhs_cond_expr.
465
466 2007-12-06  Andreas Krebbel  <krebbel1@de.ibm.com>
467
468         * config/s390/s390.c (s390_emit_stack_tie): New function.
469         (s390_emit_prologue): Emit a stack tie when writing to the
470         f8-f15 stack slots.
471         * config/s390/s390.md ("stack_tie"): New insn definition.
472
473 2007-12-06  Ben Elliston  <bje@au.ibm.com>
474
475         * SERVICE: Remove.
476         * doc/sourcebuild.texi (Miscellaneous Docs): Remove SERVICE item.
477
478 2007-12-05  Jakub Jelinek  <jakub@redhat.com>
479
480         PR middle-end/34337
481         * fold-const.c (fold_binary) <case BIT_IOR_EXPR>: Don't minimize
482         number of bits set in C1 if a mode mask for some mode can be used
483         instead.
484
485 2007-12-05  Bernhard Fischer  <aldot@gcc.gnu.org>
486
487         * varasm.c (merge_weak, weak_finish, assemble_alias): Commentary typo
488         fixes.
489
490 2007-12-05  Richard Guenther  <rguenther@suse.de>
491
492         PR tree-optimization/34138
493         * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
494         Do not forward propagate addresses if that changes volatileness of
495         the pointed-to type.
496
497 2007-12-05  Uros Bizjak  <ubizjak@gmail.com>
498
499         PR target/34312
500         * config/i386/i386.c (ix86_function_regparm): Also check for fixed
501         registers when checking that regparm registers are available.
502         Lower regparm value due to fixed registers usage in addition to
503         global regs usage.
504
505 2007-12-05  Bernhard Fischer  <aldot@gcc.gnu.org>
506
507         * sparseset.c: Include config.h and system.h before sparseset.h.
508         * sparseset.h: Remove inclusion of system.h.
509
510 2007-12-05  Jakub Jelinek  <jakub@redhat.com>
511             Richard Sandiford  <rsandifo@nildram.co.uk>
512
513         * optabs.c (init_insn_codes): New function.
514         (new_optab): Delete.
515         (init_optab, init_optabv): Don't call new_optab.
516         (init_convert_optab): Don't clear the insn codes.
517         (init_optabs): Call init_insn_codes.
518
519 2007-12-04  Jakub Jelinek  <jakub@redhat.com>
520
521         * omp-low.c (optimize_omp_library_calls): New function.
522         (expand_omp_parallel): Call it if optimizing.
523
524         PR middle-end/34134
525         * stmt.c (expand_stack_restore): Call expand_normal on var to get
526         rtx for it instead of assuming it will be a VAR_DECL.
527
528 2007-12-04  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
529
530         * c-parser (c_parser_statement_after_labels): Move error from here...
531         (c_parser_label): ... to here. Check that the declaration is not
532         actually just another label.
533
534 2007-12-04  Richard Guenther  <rguenther@suse.de>
535
536         PR middle-end/34334
537         PR middle-end/34222
538         * tree-ssa-operands.c (get_addr_dereference_operands): If we
539         fall back to using the SMTs aliases, make sure to add virtual
540         operands for the SMT itself.
541         (create_ssa_artificial_load_stmt): Fix typo.  Make sure to also
542         clear the loaded and stored symbols bitmaps.
543
544 2007-12-04  Ben Elliston  <bje@au.ibm.com>
545
546         * config/spu/spu.h (ASM_FORMAT_PRIVATE_NAME): Remove; use default.
547
548 2007-12-04  Ben Elliston  <bje@au.ibm.com>
549
550         * doc/tm.texi (Exception Handling): Mention unwind-dw2-xtensa.c.
551
552 2007-12-03  Steven Bosscher  <stevenb.gcc@gmail.com>
553
554         PR middle-end/33713
555         * doc/invoke.texi: Remove -fforce-addr documentation.
556         * expr.c (emit_move_insn): Remove use of flag_force_addr.
557         (expand_expr_real_1): Same.
558         (do_tablejump): Same.
559         Call memory_address instead of memory_address_noforce.
560         * expr.h (memory_address_noforce): Remove prototype.
561         * explow.c (memory_address): Remove support for flag_force_addr.
562         (validize_mem): Same.
563         (memory_address_noforce): Remove.
564         * common.opt: Add dummy documentation for -fforce-addr.
565         * combine.c (can_combine_p): Remove -fforce-addr comment.
566         * config/cris/cris.h (OPTIMIZATION_OPTIONS): Remove set of
567         flag_force_addr.
568         * config/m68k/m68k.h (PIC_CASE_VECTOR_ADDRESS): Remove comment
569         relating to memory_address_noforce.
570         * testsuite/gcc.c-torture/compile/20050802-1.c: Remove.
571         * testsuite/gcc.c-torture/compile/20011113-1.c: Remove.
572         
573 2007-12-03  Jakub Jelinek  <jakub@redhat.com>
574
575         * omp-low.c (lookup_decl_in_outer_ctx): Allow calling this
576         with !ctx->is_nested.
577         (maybe_lookup_decl_in_outer_ctx): Look up in outer contexts
578         even if !ctx->is_nested.
579         (lower_copyprivate_clauses, lower_send_clauses,
580         lower_send_shared_vars): Call lookup_decl_in_outer_ctx
581         unconditionally.
582
583         PR middle-end/29749
584         * fold-const.c (fold_binary) <case BIT_AND_EXPR>: Optimize
585         (X << C1) & C2 into (X << C1) & (C2 | ((1 << C1) - 1))
586         and (X >> C1) & C2 into (X >> C1) & (C2 | ~((type) -1 >> C1)).
587         (fold_binary) <case LSHIFT_EXPR, case RSHIFT_EXPR>: Optimize
588         (X & C2) << C1 into (X << C1) & (C2 << C1) and
589         (X & C2) >> C1 into (X >> C1) & (C2 >> C1) if that allows further
590         optimizations.
591
592         PR tree-optimization/33453
593         * tree-data-ref.c (split_constant_offset): Use POINTER_PLUS_EXPR
594         for pointer addition.
595         * tree-parloops.c (canonicalize_loop_ivs): Likewise.
596         (separate_decls_in_loop_name): Copy DECL_GIMPLE_REG_P from var to
597         var_copy.
598
599 2007-12-03  Bernd Schmidt  <bernd.schmidt@analog.com>
600
601         * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __FDPIC__ as
602         necessary.
603
604 2007-12-03  Razya Ladelsky <razya@il.ibm.com>
605
606         * doc/invoke.texi (fipa-cp, fipa-matrix-reorg): Add documentation.
607
608 2007-12-03  Jakub Jelinek  <jakub@redhat.com>
609
610         PR middle-end/34317
611         * opts.c (common_handle_option): Handle OPT_ftree_store_copy_prop.
612         * common.opt (ftree-store-copy-prop): Use the same help text as for
613         other nop switches.
614
615 2007-12-02  Ayal Zaks  <zaks@il.ibm.com>
616             Revital Eres  <eres@il.ibm.com>
617
618         * modulo-sched.c (calculate_must_precede_follow,
619         try_scheduling_node_in_cycle): New functions.
620         (sms_schedule_by_order): Call the new functions.
621         (ps_insn_find_column): Use must_follow and must_precede only if
622         they are not NULL.
623         (ps_insn_advance_column): Likewise.
624
625 2007-12-02  Ayal Zaks  <zaks@il.ibm.com>
626             Revital Eres  <eres@il.ibm.com>
627
628         * modulo-sched.c (get_sched_window): Fix the direction of the
629         scheduling window and add dump info.
630
631 2007-12-02  Samuel Tardieu  <sam@rfc1149.net>
632
633         * config/sh/sh.md (cmpgeusi_t): Fix condition.
634
635 2007-11-30  Jan Hubicka  <jh@suse.cz>
636
637         * ggc-common.c (dump_ggc_loc_statistics): Reset ggc_force_collect flag.
638
639 2007-11-30  Seongbae Park <seongbae.park@gmail.com>
640
641         PR rtl-optimization/34171
642         * cfgrtl.c (update_bb_for_insn_chain): New function,
643         refactored from update_bb_for_insn.
644         (update_bb_for_insn): Call update_bb_for_insn.
645         (rtl_merge_blocks, try_redirect_by_replacing_jump):
646         Replace a loop with update_bb_for_insn_chain call.
647         (cfg_layout_merge_blocks): Add a call to
648         update_bb_for_insn_chain. Replace the for loop
649         with a call to update_bb_for_insn_chain.
650
651 2007-11-30  Ben Elliston  <bje@au.ibm.com>
652
653         * config/vax/vax.h (ASM_FORMAT_PRIVATE_NAME): Remove. Use default.
654
655 2007-11-29  Zdenek Dvorak  <ook@ucw.cz>
656
657         PR tree-optimization/34244
658         * tree-vrp.c (adjust_range_with_scev): Clear scev cache.
659         (record_numbers_of_iterations): New function.
660         (execute_vrp): Cache the numbers of iterations of loops.
661         * tree-scalar-evolution.c (scev_reset_except_niters): New function.
662         (scev_reset): Use scev_reset_except_niters.
663         * tree-scalar-evolution.h (scev_reset_except_niters): Declare.
664
665 2007-11-29  Jan Hubicka  <jh@suse.cz>
666             Jakub Jelinek  <jakub@redhat.com>
667
668         PR tree-optimization/33434
669         * tree-inline.c (setup_one_parameter): If the value passed to
670         a parameter is never used, don't set it up.
671
672 2007-11-29  Jakub Jelinek  <jakub@redhat.com>
673
674         PR target/32130
675         * config/rs6000/eabi-cn.asm (__DTOR_END__): Make it weak.
676         * config/rs6000/sol-cn.asm (__DTOR_END__): Likewise.
677
678 2007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
679
680         * Makefile.in: Use separate vpath lines for each path.
681
682 2007-11-29  Ben Elliston  <bje@au.ibm.com>
683
684         * SERVICE: Update URL.
685
686 2007-11-28  Jakub Jelinek  <jakub@redhat.com>
687
688         PR tree-optimization/34140
689         * tree-if-conv.c (if_convertible_phi_p): Fail if BB other than
690         loop->header has virtual phi nodes.
691
692 2007-11-28  Richard Sandiford  <rsandifo@nildram.co.uk>
693
694         PR target/32406
695         * builtins.c (expand_builtin_nonlocal_goto): Also emit a use
696         of GP register, if valid and fixed.
697
698         Revert:
699         2007-06-21  David Daney  <ddaney@avtrex.com>
700
701         PR target/32406
702         * config/mips/mips.md (define_constants): Rename UNSPEC_EH_RECEIVER
703         to UNSPEC_NONLOCAL_GOTO_RECEIVER globally.
704         (exception_receiver): Renamed to ...
705         (nonlocal_goto_receiver): ... this.
706
707 2007-11-27  H.J. Lu  <hongjiu.lu@intel.com>
708             Joey Ye <joey.ye@intel.com>
709
710         PR target/34001
711         * config/i386/i386.c (function_arg_32): Don't pass aggregate
712         arguments in ECX/EDX for fastcall.
713
714 2007-11-28  Rask Ingemann Lambertsen  <rask@sygehus.dk>
715
716         * config/i386/linux.h (CRT_GET_RFIB_DATA): Add Intel syntax inline
717         asm to macro.
718         * config/i386/sco5.h (CRT_GET_RFIB_DATA): Likewise.
719         * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Likewise.
720
721 2007-11-28  Ben Elliston  <bje@au.ibm.com>
722
723         * config/rs6000/aix64.opt (maix64): Add Negative(maix32).
724         (maix32): Add Negative(maix64).
725
726 2007-11-27  Jakub Jelinek  <jakub@redhat.com>
727
728         PR tree-optimization/34016
729         * tree-ssa-loop.c (pass_linear_transform): Add
730         TODO_update_ssa_only_virtuals to todo_flags_finish.
731
732 2007-11-27  Eric B. Weddington  <eric.weddington@atmel.com>
733
734         * config/avr/avr.c (avr_mcu_types): Add atmega32hvb.
735         * config/avr/avr.h (LINK_SPEC): Likewise.
736         (CRT_BINUTILS_SPECS): Likewsie.
737         * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
738         
739 2007-11-27  Jakub Jelinek  <jakub@redhat.com>
740
741         PR target/34225
742         * config/rs6000/rs6000.c (adjacent_mem_locations): Don't assume
743         MEM_SIZE is set on all MEMs.
744
745 2007-11-27  Andreas Krebbel  <krebbel1@de.ibm.com>
746
747         * config/s390/s390.opt (mhard-float): Add the option to be
748         overridden.  That was missing in my last patch.
749
750 2007-11-27  Richard Guenther  <rguenther@suse.de>
751
752         PR tree-optimization/34241
753         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Make sure
754         to only delete real conversion chains.
755
756 2007-11-27  Andreas Krebbel  <krebbel1@de.ibm.com>
757
758         * config/s390/s390.opt (m31, m64, mesa, mzarch, msoft-float,
759         mhard-float, mlong-double-64, mlong-double-128): Add the
760         option to be overridden.
761
762 2007-11-27  Richard Guenther  <rguenther@suse.de>
763
764         * builtins.c (fold_builtin_1): Verify the argument types
765         of BUILT_IN_ISNORMAL.
766         (fold_builtin_n): Verify the number of arguments to variadic
767         built-in functions.
768
769 2007-11-27  Bernd Schmidt  <bernd.schmidt@analog.com>
770
771         * config/bfin/elf.h (SUBTARGET_DRIVER_SELF_SPECS): New macro.
772         * doc/invoke.texi (Blackfin Options): Document the effects.
773
774 2007-11-27  Ben Elliston  <bje@au.ibm.com>
775
776         * config/rs6000/sysv4.opt (m32): Add Negative(m64).
777         (m64): Add Negative(m32).
778         * config/rs6000/darwin.opt (m32): Add Negative(m64).
779         (m64): Add Negative(m32).
780
781 2007-11-26  Eric Botcazou  <ebotcazou@adacore.com>
782
783         * tree-ssa-propagate.c (set_rhs) <GIMPLE_MODIFY_STMT>: Fix typo.
784
785 2007-11-26  Michael Meissner  <michael.meissner@amd.com>
786
787         PR target/34077
788         * config/i386/i386.c (ix86_expand_movmem): If the copy size is a
789         constant, avoid calling emit_cmp_and_jump_insns.  Use counter_mode
790         to get the mode for loading a pseudo register with a count rather
791         than duplicating code.
792
793 2007-11-25  Eric B. Weddington  <eric.weddington@atmel.com>
794
795         * config/avr/avr.c (avr_mcu_types): Add atmega1284p.
796         * config/avr/avr.h (LINK_SPEC): Likewise.
797         (CRT_BINUTILS_SPECS): Likewsie.
798         * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
799
800 2007-11-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
801         
802         * c-common.c (conversion_warning): Use get_unwidened instead of
803         get_narrower.
804         
805 2007-11-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
806
807         PR c/23722
808         * c-parser.c (struct c_parser): New bit in_if_block.
809         (c_parser_compound_statement_nostart): Handle unexpected 'else'
810         keyword.
811         (c_parser_statement_after_labels): Set in_if_block to false while
812         parsing.
813         (c_parser_if_body): Don't call c_parser_statement_after_labels if
814         a semicolon is found, just consume it. Don't call
815         c_parser_statement_after_labels if an open brace is found, call
816         c_parser_compound_statement instead.
817         (c_parser_else_body): New.
818         (c_parser_if_statement): Set in_if_block to true when parsing the
819         body of the 'if' statement. Use c_parser_else_body.
820
821 2007-11-26  Andreas Krebbel  <krebbel1@de.ibm.com>
822
823         PR c++/34081
824         * c-decl.c (store_parm_decls): Pass 'false' for the new
825         allocate_struct_function parameter.
826         * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
827         * tree-parloops.c (create_loop_fn): Likewise.
828         * function.c (push_function_context_to, push_struct_function,
829         init_function_start): Likewise.
830         (allocate_struct_function): Add boolean parameter.
831         * tree.h (allocate_struct_function): Add boolean parameter.
832         * function.h (struct function): Move returns_struct and
833         returns_pcc_struct to the end of the structure definiton.
834
835 2007-11-26  Uros Bizjak  <ubizjak@gmail.com>
836
837         PR target/34215
838         * config/i386/i386.md (truncdfsf2): Select SLOT_TEMP stack slot if
839         virtual registers are already instantiated.
840         (truncxf<mode>2): Ditto.
841         (floatsi<mode>2): Ditto.
842         (floatdisf2): Ditto.
843         (floatdidf2): Ditto.
844
845 2007-11-26  Rask Ingemann Lambertsen  <rask@sygehus.dk>
846
847         PR target/34174
848         * config/fr30/fr30.c (fr30_move_double): Sanitize mem->reg case. Copy
849         the address before it is clobbered.
850
851 2007-11-26  Nick Clifton  <nickc@redhat.com>
852
853         * config/mn10300/mn10300.md: (call_internal): Remove mode on
854         operand 0 in order to match UNPSEC'ed calls generated in PIC mode.
855         (call_value_internal): Remove mode on operands 0 and 1 in order to
856         match UNPSEC'ed calls generated in PIC mode.
857         (GOTaddr2picreg): Use copy_rtx to prevent sharing an rtx between
858         two insns.
859
860 2007-11-26  Richard Guenther  <rguenther@suse.de>
861
862         PR middle-end/34233
863         * builtins.c (expand_builtin_pow): Use expand_expr to expand
864         the result of build_call_expr.
865
866 2007-11-26  Steven Bosscher  <stevenb.gcc@gmail.com> 
867             Revital Eres  <eres@il.ibm.com> 
868
869         PR middle-end/34085
870         * bb-reorder.c (insert_section_boundary_note): Clear
871         BLOCK_FOR_INSN in NOTE_INSN_SWITCH_TEXT_SECTIONS.
872
873 2007-11-26  Richard Sandiford  <rsandifo@nildram.co.uk>
874
875         * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add missing comma.
876
877 2007-11-26  Alexandre Oliva  <aoliva@redhat.com>
878
879         * dwarf2asm.c (splay_tree_compare_strings): New function.
880         (dw2_force_const_mem): Use it.
881
882 2007-11-26  Alexandre Oliva  <aoliva@redhat.com>
883
884         * tree.c (type_hash_add): Don't violate strict aliasing rules.
885
886 2007-11-26  Alexandre Oliva  <aoliva@redhat.com>
887
888         PR c/27898
889         * c-typeck.c (tagged_types_tu_compatible_p): Enable exact
890         matches between anonymous union fields.
891
892 2007-11-26  Alexandre Oliva  <aoliva@redhat.com>, Jan Hubicka  <jh@suse.cz>
893
894         * tree-ssa-live.c (remove_unused_scope_block_p): Drop
895         declarations and blocks only after inlining.  Check that
896         non-empty blocks are not dropped.
897         * tree-inline.c (expand_call_inline): Check that functions are
898         not inlined too late.
899
900 2007-11-26  Ben Elliston  <bje@au.ibm.com>
901
902         * unwind-dw2-fde.c: Fix comment typo.
903         * unwind-generic.h: Likewise, fix comment typos.
904         
905 2007-11-25  Richard Sandiford  <rsandifo@nildram.co.uk>
906
907         * tree-sra.c (scalarize_use): Adjust the vpos argument to
908         sra_explode_bitfield_assignment in cases where the type is
909         wider than the bitfield.
910
911 2007-11-25  Richard Guenther  <rguenther@suse.de>
912
913         * tree.h (struct tree_block): Move locus member next to flags.
914         * c-decl.c (SCOPE_LIST_APPEND): Use BLOCK_CHAIN.
915         (SCOPE_LIST_CONCAT): Likewise.
916         (pop_scope): Likewise.
917         * function.c (instantiate_decls_1): Likewise.
918         (setjmp_vars_warning): Likewise.
919         * emit-rtl.c (set_used_decls): Likewise.
920         * tree-inline.c (add_lexical_block): Likewise.
921
922 2007-11-24  Hans-Peter Nilsson  <hp@axis.com>
923
924         * rtlanal.c (label_is_jump_target_p): Return true for a matching
925         REG_LABEL_TARGET.
926         * reorg.c (fill_slots_from_thread): Correct last change to use
927         NULL_RTX, not NULL.  Outside of REG_NOTES loop, increase and
928         decrease LABEL_NUSES for JUMP_LABEL (trial), not XEXP (note, 0).
929         * jump.c (mark_jump_label_1): Add comment for last change
930         regarding JUMP_LABEL setting.
931         * gcse.c (add_label_notes): Remove conditional that the label is
932         mentioned in insn before adding regnote.
933         * sched-rgn.c (is_cfg_nonregular): Don't return 1 for a
934         single_set insn only feeding a label to a jump through a
935         register that dies there.
936
937 2007-11-23  Dirk Mueller  <dmueller@suse.de>
938             Richard Guenther <rguenther@suse.de>
939
940         PR middle-end/34197
941         * tree-vrp.c (check_array_ref): Move check for valid location..
942         (check_array_bounds) here. Use EXPR_HAS_LOCATION().
943
944 2007-11-23  Hans-Peter Nilsson  <hp@axis.com>
945
946         * reload.c (find_reloads_address_1) <autoincdec cases>:
947         Call REG_OK_FOR_CONTEXT with the autoincdec code, not outer_code.
948
949 2007-11-23  Richard Guenther  <rguenther@suse.de>
950             Michael Matz  <matz@suse.de>
951
952         PR tree-optimization/34176
953         * alloc-pool.h (empty_alloc_pool): Declare.
954         * alloc-pool.c (empty_alloc_pool): New function.
955         * tree-ssa-sccvn.c (vn_reference_lookup): Also lookup from the
956         valid table if a lookup from the optimistic table failed.
957         (vn_unary_op_lookup): Likewise.
958         (vn_binary_op_lookup): Likewise.
959         (vn_phi_lookup): Likewise.
960         (process_scc): Clear optimistic tables before every iteration.
961
962 2007-11-23  Richard Guenther  <rguenther@suse.de>
963
964         * tree-ssa-copy.c (may_propagate_copy): Remove redundant checks.
965         (merge_alias_info): Do verification only if checking is
966         enabled.  Merge flow-sensitive alias information in simple cases.
967         * tree-ssa-operands.c (get_addr_dereference_operands): Also
968         complain about missing NMTs.
969
970 2007-11-23  Jakub Jelinek  <jakub@redhat.com>
971
972         PR c++/34198
973         * c-common.c (conversion_warning): For INTEGER_TYPE to
974         INTEGER_TYPE conversions call get_narrower on expr to avoid
975         spurious warnings from binop shortening or when the implicit
976         conversion can't change the value.
977
978 2007-11-22  Joseph Myers  <joseph@codesourcery.com>
979
980         PR c/14050
981         * c-decl.c (set_array_declarator_inner): Don't give error for
982         static or type qualifiers in abstract declarator.  Remove
983         abstract_p parameter.
984         * c-tree.h (set_array_declarator_inner): Update prototype.
985         * c-parser.c (c_parser_direct_declarator_inner): Update call to
986         set_array_declarator_inner.
987         * doc/standards.texi: Update for C99 TC3.
988
989 2007-11-22  Hans-Peter Nilsson  <hp@bitrange.com>
990
991         * config/mmix/mmix.c (mmix_encode_section_info): Remove duplicate
992         line in my edit of the last change.
993
994 2007-11-22  Jakub Jelinek  <jakub@redhat.com>
995
996         PR target/33947
997         * config/arm/arm.c (arm_init_tls_builtins): Set TREE_NOTHROW
998         and TREE_READONLY on the fn decl rather than passing a chain
999         of attributes.
1000
1001 2007-11-22  Kaz Kojima  <kkojima@gcc.gnu.org>
1002
1003         * config/sh/sh.md (divsi_inv_m3): Handle zero dividend specially.
1004
1005 2007-11-22  Uros Bizjak  <ubizjak@gmail.com>
1006
1007         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Change checking
1008         of ix86_arch and ix86_tune into a switch statement.
1009         (enum processor_type): Default PROCESSOR_I386 to 0.
1010         * config/i386/i386.c (ix86_decompose_address): Use TARGET_K6 instead
1011         of "ix86_tune == PROCESSOR_K6".
1012         (ia32_multipass_dfa_lookahead): Change checking of ix86_tune into
1013         a switch statement.
1014
1015 2007-11-22  Tom Tromey  <tromey@redhat.com>
1016
1017         * config/mmix/mmix.c (mmix_encode_section_info): Use alloca to
1018         avoid writing into string allocated by ggc_alloc_string.
1019
1020 2007-11-21  Kaz Kojima  <kkojima@gcc.gnu.org>
1021
1022         PR target/34155
1023         * config/sh/sh.md (binary_sf_op): Remove.
1024         (binary_sf_op0, binary_sf_op1): New define_insn_and_split.
1025         * config/sh/sh.c (sh_expand_binop_v2sf): Use gen_binary_sf_op0
1026         and gen_binary_sf_op1.
1027
1028 2007-11-21  Hans-Peter Nilsson  <hp@axis.com>
1029
1030         * regclass.c (init_reg_autoinc): Fix typo preventing test of
1031         secondary output reload when setting forbidden_inc_dec_class.
1032
1033 2007-11-21  Richard Guenther  <rguenther@suse.de>
1034
1035         PR tree-optimization/34148
1036         * tree-ssa-structalias.c (create_variable_info_for): Do not use
1037         field-sensitive PTA for single-element structures.
1038         * tree-ssa-alias.c (create_overlap_variables_for): Do not create
1039         SFTs for single-element structures.
1040
1041 2007-11-20  Richard Guenther  <rguenther@suse.de>
1042
1043         PR middle-end/34154
1044         * gimplify.c (gimplify_switch_expr): Use tree_int_cst_lt instead
1045         of the signed INT_CST_LT.
1046         * stmt.c (expand_case): Likewise.
1047         (estimate_case_costs): Likewise.
1048
1049 2007-11-20  Rask Ingemann Lambertsen  <rask@sygehus.dk>
1050
1051         * read-rtl.c (fatal_expected_char): Print EOF as text rather that
1052         its binary representation.
1053
1054 2007-11-20  Richard Guenther  <rguenther@suse.de>
1055
1056         * tree-ssa-operands.c (add_virtual_operand): Consistently prune
1057         accesses.
1058
1059 2007-11-20  Thiemo Seufer  <ths@mips.com>
1060
1061         * config/mips/mips.c (mips_file_start): Add support for
1062         flagging 32-bit code with -mfp64 floating-point.
1063
1064 2007-11-20  Jakub Jelinek  <jakub@redhat.com>
1065
1066         PR c/34146
1067         * c-gimplify.c (optimize_compound_literals_in_ctor): New function.
1068         (c_gimplify_expr): Use it.
1069
1070 2007-11-20  Ben Elliston  <bje@au.ibm.com>
1071
1072         * config/spu/spu_mfcio.h: Fix typo.
1073
1074 2007-11-20  Ben Elliston  <bje@au.ibm.com>
1075
1076         * unwind.inc: Comment that unwind-sjlj.c includes this file.
1077
1078 2007-11-20  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1079             Ben Elliston  <bje@au.ibm.com>
1080
1081         * config/spu/mfc_tag_release.c: New file.
1082         * config/spu/mfc_multi_tag_release.c: Likewise.
1083         * config/spu/mfc_multi_tag_reserve.c: Likewise.
1084         * config/spu/mfc_tag_release.c: Likewise.
1085         * config/spu/mfc_tag_reserve.c: Likewise.
1086         * config/spu/mfc_tag_table.c: Likewise.
1087         * config/spu/t-spu-elf (LIB2FUNCS_STATIC_EXTRA): Compile them.
1088         (TARGET_LIBGCC2_CFLAGS): Define __IN_LIBGCC2.
1089         * config/spu/spu_mfcio.h: Avoid <stdint.h>.
1090         (uint64_t): Typedef if __IN_LIBGCC2 is defined.
1091         (MFC_TAG_INVALID, MFC_TAG_VALID): New macros.
1092         (mfc_tag_reserve, mfc_tag_release, mfc_multi_tag_reserve,
1093         mfc_multi_tag_release): Likewise.
1094         (__mfc_tag_reserve, __mfc_tag_release, __mfc_multi_tag_reserve,
1095         __mfc_multi_tag_release): Declare.
1096
1097 2007-11-19  Jason Merrill  <jason@redhat.com>
1098
1099         PR debug/28834, debug/29436, c/32326
1100         * tree.c (build_type_attribute_qual_variant): Refuse to make
1101         a distinct copy of a struct/enum type.  Use build_distinct_type_copy.
1102         * doc/extend.texi (Type Attributes): Don't encourage people to add
1103         attributes to struct/enum types in a typedef.  Fix
1104         transparent_union example.
1105
1106         * tree-inline.c (remap_type_1): Remove code that's redundant with
1107         remap_type.
1108         (build_duplicate_type): Set id.copy_decl.
1109         * c-common.c (handle_transparent_union_attribute): Simplify logic.
1110
1111 2007-11-19  Peter Bergner  <bergner@vnet.ibm.com>
1112
1113         * config/rs6000/rs6000.c (invalid_e500_subreg,
1114         rs6000_legitimate_offset_address_p, legitimate_lo_sum_address_p,
1115         rs6000_legitimize_address, rs6000_legitimize_reload_address,
1116         rs6000_legitimate_address, function_arg_advance,
1117         spe_build_register_parallel, rs6000_spe_function_arg,
1118         rs6000_split_multireg_move, spe_func_has_64bit_regs_p,
1119         emit_frame_save, gen_frame_mem_offset, rs6000_function_value,
1120         rs6000_libcall_value, rs6000_dwarf_register_span): Handle DDmode and
1121         TDmode similarly to DFmode and TFmode.
1122         * config/rs6000/rs6000.h (LOCAL_ALIGNMENT, MEMBER_TYPE_FORCES_BLK,
1123         DATA_ALIGNMENT, CLASS_MAX_NREGS, CANNOT_CHANGE_MODE_CLASS): Likewise.
1124
1125 2007-11-19  Eric Botcazou  <ebotcazou@adacore.com>
1126
1127         * stor-layout.c (lang_adjust_rli): Delete.
1128         (set_lang_adjust_rli): Likewise.
1129         (layout_type): Do not call lang_adjust_rli hook.
1130         * tree.h (set_lang_adjust_rli): Delete.
1131
1132 2007-11-19  Bernd Schmidt  <bernd.schmidt@analog.com>
1133         
1134         * config/bfin/bfin.c (must_save_p): New function, mostly broken out of
1135         n_dregs_to_save and n_pregs_to_save.
1136         (n_pregs_to_save, n_dregs_to_save): Use it.  New argument CONSECUTIVE;
1137         all callers changed.
1138         (expand_prologue_reg_save, expand_epilogue_reg_restore): Enhance to be
1139         able to save single D/P registers that aren't saved by the push/pop
1140         multiple insns.
1141
1142 2007-11-19  Richard Guenther  <rguenther@suse.de>
1143
1144         PR tree-optimization/34099
1145         * tree-ssa-ccp.c (likely_value): Exclude all but PLUS_EXPR,
1146         MINUS_EXPR and POINTER_PLUS_EXPR from handling as UNDEFINED
1147         if only one operand is undefined.
1148
1149 2007-11-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
1150
1151         PR tree-optimization/34036
1152         * opts.c (set_fast_math_flags): Do not set flags in common
1153         with set_unsafe_math_optimizations_flags, invoke it directly.
1154         (set_unsafe_math_optimizations_flags): Unset flag_trapping_math
1155         and flag_signed_zeros.
1156         * toplev.c (process_options): Force flag_associative_math to 0 and
1157         warn, if it is set and either flag_trapping_math or flag_signed_zeros
1158         is set too.
1159         * doc/invoke.texi (Optimize Options): Document the new behavior
1160         of -funsafe-math-optimizations, that -fassociative-math requires
1161         both -fno-signed-zeros and -fno-trapping-math and make it clear
1162         that -fno-trapping-math requires -fno-signaling-nans.  Refactor
1163         documentation of -ffast-math.
1164
1165 2007-11-18  Jakub Jelinek  <jakub@redhat.com>
1166
1167         PR rtl-optimization/34132
1168         * gcse.c (try_replace_reg): Avoid rtx sharing between REG_EQUAL note
1169         and insn.
1170
1171         PR middle-end/33335
1172         * optabs.h (optab_table): Change type to struct optab from optab.
1173         (convert_optab_table): Similarly.
1174         Adjust all _optab macros to expand to addresses of optab_table
1175         resp. convert_optab_table elements rather than the values of the
1176         elements.
1177         * optabs.c (optab_table): Change typype to struct optab from optab.
1178         If compiled by recent GCC, initialize all the insn_code fields in
1179         the array using designated range initializers.
1180         (convert_optab_table): Similarly.
1181         (convert_optab_libfunc, optab_libfunc, set_optab_libfunc,
1182         set_conv_libfunc): Into libfunc_entry's optab field store index within
1183         optab_table resp. convert_optab_table array instead of difference
1184         between two separately malloced addresses.
1185         (new_optab): Add op argument, don't return anything.  Initialize
1186         just the insn_code field in handlers array and only when needed.
1187         (init_optab, init_optabv): Add op argument, don't return anything.
1188         Adjust new_optab caller.
1189         (new_convert_optab): Removed.
1190         (init_convert_optab): Add op argument, don't return anything, don't
1191         call new_convert_optab.  If needed, initialize insn_code field in
1192         handlers array.
1193         (init_optabs): Adjust init_optab, init_optabv and init_convert_optab
1194         callers.
1195         (debug_optab_libfuncs): Adjust uses of optab_table and
1196         convert_optab_table arrays.
1197
1198 2007-11-18  Richard Guenther  <rguenther@suse.de>
1199
1200         PR tree-optimization/34127
1201         * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
1202         Make code match up the comments, require compatibility of the
1203         pointed-to types.
1204
1205 2007-11-17  Richard Guenther  <rguenther@suse.de>
1206
1207         PR middle-end/34130
1208         * fold-const.c (extract_muldiv_1): Do not move negative
1209         constants inside ABS_EXPR.
1210
1211 2007-11-16  Ian Lance Taylor  <iant@google.com>
1212
1213         * collect2.c (dump_file): If a demangled symbol is followed by a
1214         space, make sure we output at least one space.
1215
1216 2007-11-16  Richard Guenther  <rguenther@suse.de>
1217
1218         PR middle-end/34030
1219         * fold-const.c (fold_binary): Use correct types for folding
1220         1 << X & Y to Y >> X & 1.
1221
1222 2007-11-16  Richard Guenther  <rguenther@suse.de>
1223
1224         PR tree-optimization/33870
1225         * tree.h (struct tree_memory_tag): Add base_for_components flag.
1226         (struct tree_struct_field_tag): Remove nesting_level field.
1227         (SFT_NESTING_LEVEL): Remove.
1228         (SFT_BASE_FOR_COMPONENTS_P): Add.
1229         * tree-flow.h (struct fieldoff): Remove nesting_level field.  Add
1230         base_for_components flag.
1231         (push_fields_onto_fieldstack): Remove nesting_level parameter.
1232         * tree-ssa-alias.c (create_sft): Likewise.  Add base_for_components
1233         parameter.
1234         (create_overlap_variables_for): Deal with it.
1235         * tree-dfa.c (dump_subvars_for): Likewise.
1236         (dump_variable): Likewise.
1237         * tree-ssa-structalias.c (push_fields_onto_fieldstack): Likewise.
1238         Set base_for_components for first elements of sub-structures.
1239         (create_variable_info_for): Handle base_for_components.
1240         (set_uids_in_ptset): Always set SFT_UNPARTITIONABLE_P for
1241         pointed-to SFTs if SFT_BASE_FOR_COMPONENTS_P is set.
1242         * tree-ssa-operands.c (ref_nesting_level): Remove.
1243         (add_vars_for_offset): Remove full_ref parameter, always add
1244         the offset of the pointed-to SFT.
1245         (add_virtual_operand): Adjust for changed signature of
1246         add_vars_for_offset.
1247
1248 2007-11-16  Sa Liu  <saliu@de.ibm.com>
1249
1250         * config/spu/spu.md (floatunssidf2, floatunsdidf2): Inlined 
1251         floatunssidf2 and floatunsdidf2.
1252
1253 2007-11-16  Richard Guenther  <rguenther@suse.de>
1254
1255         PR tree-optimization/34113
1256         * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
1257         Use correct conversion direction for checking type compatibility.
1258
1259 2007-11-16  Richard Guenther  <rguenther@suse.de>
1260
1261         PR tree-optimization/34099
1262         * tree-ssa-ccp.c (likely_value): Use a whitelist for operators
1263         that produce UNDEFINED result if at least one of its operands
1264         is UNDEFINED.  By default the result is only UNDEFINED if all
1265         operands are UNDEFINED.
1266
1267 2007-11-16  Jakub Jelinek  <jakub@redhat.com>
1268
1269         PR driver/30460
1270         * gcc.c (init_spec): Don't initialize asm_debug here...
1271         (main): ... but here.
1272
1273 2007-11-07  Tom Tromey  <tromey@redhat.com>
1274
1275         * tree-ssa-structalias.c (ipa_pta_execute): Rename 'cfun' to 'func'. 
1276         * tree-parloops.c (create_loop_fn): Use set_cfun.
1277         * gengtype.c (open_base_files): Emit #undef cfun.
1278         * ipa-struct-reorg.c (do_reorg_1): Use set_cfun.
1279         * function.h (cfun): New define.
1280         * function.c: Undefine cfun.
1281
1282 2007-11-07  Eric B. Weddington  <eweddington@cso.atmel.com>
1283
1284         * config/avr/avr.c (avr_mcu_types): Add attiny88.
1285         * config/avr/avr.h (LINK_SPEC): Likewise.
1286         (CRT_BINUTILS_SPECS): Likewsie.
1287         * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
1288
1289 2007-11-15  Jakub Jelinek  <jakub@redhat.com>
1290
1291         PR middle-end/23848
1292         * tree-ssa-ccp.c (optimize_stack_restore): New function.
1293         (execute_fold_all_builtins): Call optimize_stack_restore for
1294         BUILT_IN_STACK_RESTORE.
1295
1296 2007-11-15  Paolo Bonzini  <bonzini@gnu.org>
1297
1298         * fwprop.c (try_fwprop_subst): Skip profitability check for forward
1299         propagation into an address; that's done in should_replace_address.
1300                 
1301 2007-11-15  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1302
1303         * config/spu/spu-protos.h (legitimate_const): Remove prototype.
1304         * config/spu/spu.c (legitimate_const): Remove.
1305         (classify_immediate): Inline call to legitimate_const.
1306         (spu_legitimate_address): Likewise.  Allow SYMBOL_REF + CONST_INT
1307         for any constant, not just -512 .. 511.
1308
1309 2007-11-15  Sa Liu  <saliu@de.ibm.com>
1310
1311         * config/spu/spu.c (spu_emit_branch_or_set): Remove PROCESSOR_CELL
1312         condition from HONOR_NANS test.
1313         * config/spu/spu.md (ceq_df): Always generate comparison code
1314         inline, including checks for NaNs and infinities.
1315         (cgt_df): Likewise.
1316         (cgt_v2df): Likewise.
1317         (cmpdf): Make this expander unconditional.
1318
1319 2007-11-15  Richard Guenther  <rguenther@suse.de>
1320
1321         * tree-ssa-alias.c (create_overlap_variables_for): Make sure
1322         to only create SFTs if we also create variable infos for PTA.
1323         * tree-ssa-structalias.c (set_uids_in_ptset): Add all overlapping SFTs.
1324
1325 2007-11-15  Richard Guenther  <rguenther@suse.de>
1326
1327         * tree-ssa-structalias.c (set_uids_in_ptset): Use the pointed-to
1328         type for TBAA pruning.
1329         (find_what_p_points_to): Call set_uids_in_ptset with the original
1330         pointer, not the decl of the solution we collapsed to.
1331
1332 2007-11-14  David Daney  <ddaney@avtrex.com>
1333
1334         * config/mips/linux-unwind.h (mips_fallback_frame_state): Use CFA
1335         to find sigcontext.
1336
1337 2007-11-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
1338
1339         PR target/33923
1340         * config/ia64/ia64.h (CANNOT_CHANGE_MODE_CLASS): Forbid mode changes
1341         for registers in BR_REGS class.
1342
1343 2007-11-14  Jakub Jelinek  <jakub@redhat.com>
1344
1345         PR middle-end/34088
1346         * tree-ssa.c (delete_tree_ssa): Don't call fini_ssa_operands if
1347         init_ssa_operands has not been called for cfun.
1348
1349 2007-11-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
1350
1351         PR tree-optimization/34046
1352         * cfg.c (update_bb_profile_for_threading): Avoid the division for the
1353         scaling if the old probability is greater than the new base.
1354
1355 2007-11-14  Sebastian Pop  <sebastian.pop@amd.com>
1356
1357         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Remove
1358         unused edges after loop duplication.
1359
1360 2007-11-14  Uros Bizjak  <ubizjak@gmail.com>
1361
1362         * config/i386/i386.h (TARGET_CPU_DEFAULT_*): Substitute with ...
1363         (enum target_cpu_default): ... this enum.
1364         (TARGET_CPU_DEFAULT_NAMES): Remove macro.  Move initializer to ...
1365         * config/i386/i386.c (override_options): ... here.
1366         * config/i386/i386-interix.h (TARGET_CPU_DEFAULT): Use
1367         TARGET_CPU_DEFAULT_i486.
1368
1369 2007-11-14  Rask Ingemann Lambertsen  <rask@sygehus.dk>
1370
1371         * global.c (rest_of_handle_global_alloc): Fix comment typos.
1372         * config/sh/sh.c (sh_rtx_costs): Likewise.
1373         * ChangeLog: Likewise.
1374
1375 2007-11-13  Sebastian Pop  <sebastian.pop@amd.com>
1376
1377         * tree-chrec.h (build_polynomial_chrec): RHS of a chrec
1378         should not be of pointer type.
1379
1380 2007-11-13  Michael Meissner  <michael.meissner@amd.com>
1381
1382         * config/i386/i386.c (ix86_sse5_valid_op_p): Put type on separate line.
1383
1384 2007-11-13  Sterling Augustine  <sterling@tensilica.com>
1385             Bob Wilson  <bob.wilson@acm.org>
1386         
1387         * config/xtensa/unwind-dw2-xtensa.c: New.
1388         * config/xtensa/unwind-dw2-xtensa.h: New.
1389         * config/xtensa/xtensa.h (MUST_USE_SJLJ_EXCEPTIONS): Remove.
1390         (DWARF2_UNWIND_INFO): Remove.
1391         (DWARF_FRAME_REGISTERS): Define.
1392         (EH_RETURN_DATA_REGNO): Define.
1393         * config/xtensa/xtensa.md (UNSPECV_EH_RETURN): Define.
1394         (eh_return): New.
1395         * config/xtensa/t-xtensa (LIB2ADDEH): Define.
1396         
1397 2007-11-13  Jakub Jelinek  <jakub@redhat.com>
1398
1399         * doc/invoke.texi: Fix description of -fsched-stalled-insns=0,
1400         -fsched-stalled-insns.
1401
1402         PR tree-optimization/34063
1403         * tree-chrec.c (chrec_evaluate): Put CHREC_LEFT based argument
1404         as first chrec_fold_plus operand rather than second.
1405
1406 2007-11-13  Diego Novillo  <dnovillo@google.com>
1407
1408         PR tree-optimization/33870
1409         * tree.h (strcut tree_memory_tag): Add field unpartitionable.
1410         Remove field in_nested_struct.
1411         (struct tree_struct_field_tag): Add field nesting_level.
1412         (sft_in_nested_struct): Remove.
1413         (sft_nesting_level): Define.
1414         (sft_unpartitionable_p): Define.
1415         * tree-ssa-alias.c (mem_sym_score): If mp->var is not
1416         partitionable, return long_max.
1417         (compute_memory_partitions): Do not partition sfts marked
1418         unpartitionable.
1419         (create_sft): Add argument nesting_level.  Set
1420         sft_nesting_level with it.  Update all users.
1421         (create_overlap_variables_for): Show nesting level.
1422         * tree-dfa.c (dump_subvars_for): Likewise.
1423         (dump_variable): Likewise. Show whether the sft is
1424         partitionable or not.
1425         * tree-flow.h (struct fieldoff): Remove field in_nested_struct.
1426         Add field nesting_level.
1427         * tree-ssa-structalias.c (struct variable_info): Remove
1428         field in_nested_struct.
1429         (push_fields_onto_fieldstack): Add argument nesting_level.
1430         Update all users.  Update documentation. Update pair->nesting_level
1431         with nesting_level.  Make recursive calls with nesting_level + 1.
1432         (set_uids_in_ptset): If an sft is added to the points-to set,
1433         mark it as unpartitionable.
1434         * tree-ssa-operands.c (ref_nesting_level): New.
1435         (add_vars_for_offset): Call it.  Add argument full_ref. Update
1436         callers.  If var is inside a nested structure and the nesting level
1437         of full_ref is lower than the nesting level of var,
1438         adjust offset by the offset of var.
1439
1440 2007-11-13  Victor Kaplansky  <victork@il.ibm.com>
1441
1442         PR tree-optimization/32582
1443         * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-tree-vectorize
1444
1445 2007-11-12  Danny Smith  <dannysmith@users.sourceforge.net>
1446
1447         * doc/extend.texi (dllimport): Document that pointers to dllimport'd
1448         functions can be used as constant.
1449
1450 2007-11-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
1451
1452         PR rtl-optimization/34035
1453         * cse.c (cse_cfg_altered): New global variable.
1454         (cse_jumps_altered): Make boolean.
1455         (recorded_label_ref): Likewise.
1456         (cse_insn): Adjust for above changes.
1457         (cse_extended_basic_block): Likewise.  Set cse_cfg_altered
1458         if dead edges have been purged.
1459         (cse_main): Change return value specification and adjust code.
1460         (rest_of_handle_cse): Adjust for above change.
1461         (rest_of_handle_cse2): Likewise.
1462         * gcse.c (rest_of_handle_gcse): Likewise.
1463
1464 2007-11-12  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
1465             Michael Meissner  <michael.meissner@amd.com>
1466
1467         * config/i386/i386.md (sse5_setcc<mode>): Use <ssemodefsuffix> to
1468         get the appropriate suffix for the coms* instruction.
1469         (sse5_pcmov_<mode>): Restrict operands of pcmov
1470         for scalar case to be only xmm registers and not memory.
1471
1472         * config/i386/sse.md (sse5_pcmov_<mode>): Correct the operand
1473         constraints to follow the mnemonics for the pcmov instruction   
1474
1475 2007-11-12  Richard Sandiford  <rsandifo@nildram.co.uk>
1476
1477         PR target/34042
1478         * config/mips/mips.c (mips_return_fpr_single): New function.
1479         (mips_function_value): Use it when returning single-field
1480         aggregates in FPRs.
1481         (mips_expand_call): Handle the PARALLELs created by
1482         mips_return_fpr_single.
1483
1484 2007-11-12  Richard Guenther  <rguenther@suse.de>
1485
1486         PR middle-end/34070
1487         * fold-const.c (fold_binary): If testing for non-negative
1488         operands with tree_expr_nonnegative_warnv_p make sure to
1489         use op0 which has all (sign) conversions retained.
1490
1491 2007-11-12  Richard Guenther  <rguenther@suse.de>
1492
1493         PR middle-end/34027
1494         * fold-const.c (fold_binary): Fold n - (n / m) * m to n % m.
1495         (fold_binary): Fold unsinged FLOOR_DIV_EXPR to TRUNC_DIV_EXPR.
1496
1497 2007-11-12  Ira Rosen  <irar@il.ibm.com>
1498
1499         PR tree-optimization/33953
1500         * tree-vect-transform.c (vectorizable_operation): In case of SLP,
1501         allocate vec_oprnds1 according to the number of created vector
1502         statements. In case of shift with scalar argument, store scalar
1503         operand for every vector statement to be created for the SLP node.
1504         Fix a comment.
1505
1506 2007-11-10  Steven Bosscher  <stevenb.gcc@gmail.com>
1507
1508         * gcse.c (CUID_INSN): Remove.
1509         (cuid_insn): Ditto.
1510         (alloc_gcse_mem): Don't allocate cuid_insn.
1511         (free_gcse_mem): Don't free cuid_insn.
1512
1513 2007-11-10  Jakub Jelinek  <jakub@redhat.com>
1514
1515         PR fortran/34020
1516         * gimplify.c (goa_lhs_expr_p): Inside INDIRECT_REF handle unshared
1517         nops.
1518
1519         PR middle-end/34018
1520         * tree-inline.h (copy_body_data): Add regimplify field.
1521         * tree-inline.c (copy_body_r): Set id->regimplify to true
1522         if an TREE_INVARIANT ADDR_EXPR is no longer invariant after
1523         substitutions.
1524         (copy_bb): Clear id->regimplify before walk_tree, if it is
1525         set afterwards, regimplify the whole statement.
1526
1527         PR tree-optimization/33680
1528         * tree-data-ref.c (split_constant_offset) <case ADDR_EXPR>: Punt
1529         if the added cast involves variable length types.
1530
1531 2007-11-09  Alexander Monakov  <amonakov@ispras.ru>
1532             Maxim Kuvyrkov  <maxim@codesourcery.com>
1533
1534         * sched-deps.c (sched_analyze_insn): Use MOVE_BARRIER
1535         instead of TRUE_BARRIER for jumps.  Add register dependencies
1536         even when reg_pending_barrier is set.
1537
1538 2007-11-09  Alexander Monakov  <amonakov@ispras.ru>
1539
1540         * haifa-sched.c (haifa_classify_insn): Rename to ...
1541         (haifa_classify_rtx): ...  this.  Improve handling of COND_EXECs,
1542         handle PARALLELs by recursing.  Use it ...  
1543         (haifa_classify_insn): ...  here.  Reimplement.
1544
1545 2007-11-09  Richard Guenther  <rguenther@suse.de>
1546
1547         * bitmap.h (bitmap_single_bit_set_p): Declare.
1548         * bitmap.c (bitmap_single_bit_set_p): New function.
1549         * tree-ssa-alias.c (add_may_alias_for_new_tag): Use it.
1550         (maybe_create_global_var): Use bitmap_empty_p.
1551
1552 2007-11-09  Paolo Bonzini  <bonzini@gnu.org>
1553             Jakub Jelinek  <jakub@redhat.com>
1554
1555         PR rtl-optimization/34012
1556         * fwprop.c (try_fwprop_subst): Do not replace if the new
1557         SET_SRC has a higher cost than the old one.
1558
1559 2007-11-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1560
1561         PR rtl-optimization/33732
1562         * reload.c (push_reload): Check that the REG_DEAD note was referring
1563         to a hardreg or to a pseudo that has been assigned exactly one hardreg
1564         before considering it in order to select the reload register.
1565         (combine_reloads): Likewise.
1566         (find_dummy_reload): Likewise.
1567
1568 2007-11-09  Richard Guenther  <rguenther@suse.de>
1569
1570         * tree-flow.h (struct ptr_info_def): Make escape_mask a ENUM_BITFIELD.
1571         (struct ptr_info_def): Likewise.
1572         (enum escape_type): Also use bit zero.
1573
1574 2007-11-09  Richard Guenther  <rguenther@suse.de>
1575
1576         PR tree-optimization/33604
1577         * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
1578         Disregard changes in CV qualifiers of pointed to types for
1579         forward propagating ADDR_EXPRs.
1580         * tree-ssa-ccp.c (fold_stmt_r): Preserve volatileness of the original
1581         expression.
1582
1583 2007-11-09  Richard Sandiford  <rsandifo@nildram.co.uk>
1584
1585         * dse.c (find_shift_sequence): Always choose an integer mode for
1586         new_mode.
1587         (replace_read): Require both the read and store mode to be
1588         integer ones.  Remove a then-redundant FLOAT_P check.
1589
1590 2007-11-08  Richard Guenther  <rguenther@suse.de>
1591
1592         * tree-dfa.c (remove_referenced_var): If removing a
1593         variable which has subvars, also remove those from
1594         the referenced vars.  Do not create a variable annotation.
1595
1596 2007-11-08  Bob Wilson  <bob.wilson@acm.org>
1597
1598         * config/xtensa/xtensa.c (xtensa_expand_prologue): Remove first
1599         argument for gen_entry calls.
1600         * config/xtensa/xtensa.md: Add new "entry" value to "type" attribute.
1601         (entry): Use the new attribute value.  Remove unused first operand.
1602
1603 2007-11-08  Tom Tromey  <tromey@redhat.com>
1604
1605         * c-parser.c (c_parser_translation_unit): Use location in error.
1606         (c_parser_external_declaration): Likewise.
1607         (c_parser_declaration_or_fndef): Likewise.
1608         (c_parser_enum_specifier): Likewise.
1609         (c_parser_struct_or_union_specifier): Likewise.
1610         (c_parser_struct_declaration): Likewise.
1611         (c_parser_typeof_specifier): Likewise.
1612         (c_parser_parms_list_declarator): Likewise.
1613         (c_parser_asm_string_literal): Likewise.
1614         (c_parser_braced_init): Likewise.
1615         (c_parser_initelt): Likewise.
1616         (c_parser_compound_statement_nostart): Likewise.
1617         (c_parser_statement_after_labels): Likewise.
1618         (c_parser_do_statement): Likewise.
1619         (c_parser_asm_statement): Likewise.
1620         (c_parser_conditional_expression): Likewise.
1621         (c_parser_unary_expression): Likewise.
1622         (c_parser_sizeof_expression): Likewise.
1623         (c_parser_postfix_expression): Likewise.
1624         (c_parser_postfix_expression_after_paren_type): Likewise.
1625         (c_parser_objc_class_instance_variables): Likewise.
1626         (c_parser_objc_method_definition): Likewise.
1627         (c_parser_objc_methodprotolist): Likewise.
1628         (c_parser_pragma): Likewise.
1629         (c_parser_omp_clause_num_threads): Likewise.
1630         (c_parser_omp_clause_schedule): Likewise.
1631         (c_parser_omp_all_clauses): Likewise.
1632         (c_parser_omp_sections_scope): Likewise.
1633         (c_parser_label): Use location of label, not colon.
1634
1635 2007-11-08  Danny Smith  <dannysmith@users.sourceforge.net>
1636
1637         PR target/33774
1638         * config/i386/cygming.h (BIGGEST_FIELD_ALIGNMENT): Define only if
1639         IN_TARGET_LIBS.
1640
1641 2007-11-07  Kenneth Zadeck <zadeck@naturalbridge.com>
1642
1643         PR middle-end/33826
1644         * ipa-pure-const.c (static_execute): Added code to keep recursive
1645         functions from being marked as pure or const.
1646         * ipa-utils.c (searchc): Fixed comment.
1647                 
1648 2007-11-08  Tom Tromey  <tromey@redhat.com>
1649
1650         * common.opt (fshow-column): Default to 0.
1651         * configure: Rebuilt.
1652         * configure.ac (--enable-mapped-location): Default to 'yes'.
1653
1654 2007-11-07  Kenneth Zadeck <zadeck@naturalbridge.com>
1655
1656         * common.opt: Add pointer to doc/options.texi.
1657         * doc/invoke.texi (-fdse, -fdce, -fauto-inc-dec, -fipa-pure-const,
1658         -fipa-reference): Add or correct doc.  Sorted options list for -Os
1659         -O, -O2.
1660
1661 2007-11-07  Bernhard Fischer  <aldot@gcc.gnu.org>
1662
1663         PR target/16350
1664         * config.gcc: For arm*b-* define TARGET_BIG_ENDIAN_DEFAULT.
1665         * config/arm/linux-elf.h (TARGET_ENDIAN_DEFAULT): Define based on
1666         TARGET_BIG_ENDIAN_DEFAULT.  Use for MULTILIB_DEFAULTS.
1667         (TARGET_DEFAULT): Set according to TARGET_ENDIAN_DEFAULT.
1668         (LINUX_TARGET_LINK_SPEC): Pass -mlittle-endian on to the assembler.
1669         * config/arm/linux-eabi.h (TARGET_LINKER_EMULATION): Set according
1670         to TARGET_BIG_ENDIAN_DEFAULT.
1671         (SUBTARGET_EXTRA_LINK_SPEC): Likewise.
1672         * config/arm/bpabi.h (TARGET_DEFAULT_MASK): Set according
1673         to TARGET_BIG_ENDIAN_DEFAULT.
1674
1675 2007-11-07  Diego Novillo  <dnovillo@google.com>
1676
1677         * tree.h (struct tree_struct_field_tag): Move field
1678         in_nested_struct ...
1679         (struct tree_memory_tag): ... here.
1680
1681 2007-11-07  Diego Novillo  <dnovillo@google.com>
1682
1683         PR 33870
1684         * tree.h (struct tree_struct_field_tag): Add field in_nested_struct.
1685         (SFT_IN_NESTED_STRUCT): Define.
1686         * tree-dfa.c (dump_subvars_for): Show offset of each sub-var.
1687         * tree-flow.h (struct fieldoff): Add field in_nested_struct.
1688         * tree-ssa-structalias.c (struct variable_info): Likewise.
1689         (push_fields_onto_fieldstack): If OFFSET is positive,
1690         set in_nested_struct.
1691         (create_variable_info_for): Copy setting of
1692         in_nested_struct from the field offset object.
1693         (set_uids_in_ptset): Set SFT_IN_NESTED_STRUCT from the
1694         variable info object.
1695         * tree-ssa-operands.c (add_vars_for_offset): If VAR
1696         belongs to a nested structure, adjust OFFSET by SFT_OFFSET(VAR).
1697
1698 2007-11-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
1699
1700         PR rtl-optimization/33737
1701         * cfgcleanup.c (try_crossjump_to_edge): Add count and frequency of
1702         target block after computing the probabilities of outgoing edges.
1703         Cap the frequency to BB_FREQ_MAX.
1704         * tree-ssa-threadupdate.c (redirect_edges): Also adjust count and
1705         frequency of the basic block if it has been reused.
1706
1707 2007-11-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
1708
1709         PR rtl-optimization/33822
1710         * rtl.h (REG_OFFSET): Fix comment.
1711         * var-tracking.c (INT_MEM_OFFSET): New macro.
1712         (var_mem_set): Use it.
1713         (var_mem_delete_and_set): Likewise.
1714         (var_mem_delete): Likewise.
1715         (same_variable_part_p): Likewise.
1716         (vt_get_decl_and_offset): Likewise.
1717         (offset_valid_for_tracked_p): New predicate.
1718         (count_uses): Do not track locations with invalid offsets.
1719         (add_uses): Likewise.
1720         (add_stores): Likewise.
1721
1722 2007-11-07  Tom Tromey  <tromey@redhat.com>
1723
1724         * Makefile.in (tree-ssa-structalias.o): Depend on $(FUNCTION_H)
1725         (BASIC_BLOCK_H): Add vec.h, $(FUNCTION_H).
1726
1727 2007-11-07  Dmitry Zhurikhin  <zhur@ispras.ru>
1728             Andrey Belevantsev  <abel@ispras.ru>
1729
1730         * modulo-sched.c (sms_order_nodes, permute_partial_schedule,
1731         generate_prolog_epilog, duplicate_insns_of_cycles): Fix prototypes.
1732         (calculate_order_params, sms_order_nodes): New parameter pmax_asap.
1733         Save calculated max_asap in it.         
1734         (sms_schedule): Calculate maxii using max_asap.
1735
1736 2007-11-07  Andreas Krebbel  <krebbel1@de.ibm.com>
1737
1738         * doc/invoke.texi: Replace rs6000 dfp switches -mdfp/-mno-dfp
1739         with -mhard-dfp/-mno-hard-dfp.
1740
1741 2007-11-07  Maxim Kuvyrkov  <maxim@codesourcery.com>
1742             Jakub Jelinek  <jakub@redhat.com>
1743
1744         PR middle-end/33670
1745         * haifa-sched.c (check_sched_flags): Remove.
1746         (sched_init): Don't call it.
1747
1748 2007-11-06  Diego Novillo  <dnovillo@google.com>
1749
1750         * tree-flow.h (struct fieldoff): Reformat comment. Document fields.
1751         * tree-ssa-operands.c: Tidy top-level comments.
1752         (add_vop): Likewise.
1753         (add_vars_for_offset): Tidy parameter formatting..
1754         (get_addr_dereference_operands): Likewise.
1755         (get_indirect_ref_operands): Likewise.
1756         (get_expr_operands) <OMP_ATOMIC_LOAD>: Reformat.
1757         <OMP_ATOMIC_STORE>: Likewise.
1758
1759 2007-11-06  Rask Ingemann Lambertsen  <rask@sygehus.dk>
1760
1761         PR target/32787
1762         * config/i386/driver-i386.c: Test for __GNUC__ instead of
1763         GCC_VERSION which is always defined.
1764
1765 2007-11-06  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1766
1767         PR target/30961
1768         * reload1.c (find_reloads): Also check in_reg when handling a
1769         simple move with an input reload and a destination of a hard register.
1770
1771 2007-11-06  Maxim Kuvyrkov  <maxim@codesourcery.com>
1772
1773         * config/m68k/m68k.c (sched-int.h, insn-codes.h): New includes.
1774         (TARGET_SCHED_ADJUST_COST, TARGET_SCHED_VARIABLE_ISSUE,
1775         TARGET_SCHED_INIT_GLOBAL, TARGET_SCHED_FINISH_GLOBAL,
1776         TARGET_SCHED_INIT, TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE,
1777         TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Redefine.
1778         (m68k_sched_attr_type2): New function.
1779         (sched_adjust_cost_state): New static variable.
1780         (m68k_sched_adjust_cost): New static function implementing
1781         scheduler hook.
1782         (sched_ib_size, sched_ib_filled, sched_ib_insn, sched_mem_unit_code):
1783         New static variables.
1784         (m68k_sched_variable_issue): New static function implementing
1785         scheduler hook.
1786         (sched_dump_class_def, sched_dump_class_func_t): New typedefs.
1787         (sched_dump_split_class): New static function.
1788         (sched_dump_dfa_guess_unit_code, sched_dump_dfa_state): New static
1789         variables.
1790         (sched_dump_dfa_class, m68k_sched_dump): New static function.
1791         (m68k_sched_md_init_global, m68k_sched_md_finish_global,
1792         m68k_sched_md_init, m68k_sched_dfa_pre_advance_cycle,
1793         m68k_sched_dfa_post_advance_cycle): New static functions implementing
1794         scheduler hooks.
1795
1796         * config/m68k/m68k.h (m68k_sched_attr_type2): Declare.
1797         (CPU_UNITS_QUERY): Define.
1798
1799         * config/m68k/cf.md: New file.
1800         * config/m68k/m68.md (cf.md): New include.
1801
1802 2007-11-06  Tom Tromey  <tromey@redhat.com>
1803
1804         PR c++/32256, PR c++/32368:
1805         * function.c (saved_in_system_header): New global.
1806         (push_cfun): Save in_system_header.
1807         (pop_cfun): Restore in_system_header.
1808         (push_struct_function): Save in_system_header.
1809
1810 2007-11-06  Douglas Gregor  <doug.gregor@gmail.com>
1811
1812         PR c++/33977
1813         PR c++/33886
1814         * c-common.c (c_build_qualified_type): Moved to c-typeck.c.
1815         (complete_array_type): Set canonical type appropriately.
1816         * c-typeck.c (c_build_qualified_type): Moved from c-common.c. The
1817         C and C++ front ends now have different versions of this function,
1818         because the C++ version needs to maintain canonical types here.
1819
1820 2007-11-04  Razya Ladelsky  <razya@il.ibm.com>
1821         
1822         * tree-parloops.c (reduction_info): Remove reduction_init field.
1823         (initialize_reductions): Remove creation of the reduction_init variable.
1824         (struct data_arg): Remove.
1825         (add_field_for_reduction, create_stores_for_reduction): New functions.
1826         (add_field_for_name): Remove reduction handling.
1827         (separate_decls_in_loop): Call add_field_for_reduction,
1828         create_stores_for_reduction.
1829
1830 2007-11-06  Jakub Jelinek  <jakub@redhat.com>
1831
1832         PR tree-optimization/33458
1833         * tree-inline.c (copy_phis_for_bb): If PHI arg substitution creates
1834         !is_gimple_val PHI argument, gimplify it and insert it on edge.
1835
1836         PR tree-optimization/33993
1837         * tree-vect-transform.c (vect_get_constant_vectors): Use build_vector
1838         rather than build_constructor_from_list if all list values are
1839         constants.
1840         (get_initial_def_for_induction): Use build_vector instead of
1841         build_constructor_from_list.
1842
1843 2007-11-05  Mark Mitchell  <mark@codesourcery.com>
1844
1845         PR target/33579
1846         * tree.h (DECL_INIT_PRIORITY): Do not require DECL_HAS_INIT_PRIORITY_P.
1847         (DECL_FINI_PRIORITY): Likewise.
1848         * tree.c (decl_init_priority_lookup): Remove assert.
1849         (decl_fini_priority_insert): Likewise.
1850         * cgraphunit.c (static_ctors): Make it a VEC.
1851         (static_dtors): Likewise.
1852         (record_cdtor_fn): Adjust accordingly.
1853         (build_cdtor): Generate multiple functions for each initialization
1854         priority.
1855         (compare_ctor): New function.
1856         (compare_dtor): Likewise.
1857         (cgraph_build_cdtor_fns): Sort the functions by priority before
1858         calling build_cdtor.
1859         (cgraph_build_static_cdtor): Put the priority in the function's name.
1860
1861 2007-11-05  H.J. Lu  <hongjiu.lu@intel.com>
1862
1863         PR driver/32632
1864         * common.opt: Add shared and pie.
1865
1866 2007-11-05  Bob Wilson  <bob.wilson@acm.org>
1867
1868         * config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Do not
1869         replace references to virtual_stack_vars_rtx in goto_handler.
1870
1871 2007-11-05  Paul Brook  <paul@codesourcery.com>
1872
1873         * config.gcc (arm*-*-*): Set c_target_objs and cxx_target_objs.
1874         * config/arm/arm.c (arm_lang_output_object_attributes_hook): New.
1875         (arm_file_start): Don't set Tag_ABI_PCS_wchar_t.  Call
1876         arm_lang_output_object_attributes_hook.
1877         * config/arm/arm.h (arm_lang_output_object_attributes_hook): Declare.
1878         (REGISTER_TARGET_PRAGMAS): Call arm_lang_object_attributes_init.
1879         * config/arm/arm-protos.h (arm_lang_object_attributes_init): Add
1880         prototype.
1881         * config/arm/t-arm.c (arm.o): New rule.
1882         * config/arm/arm-c.c: New file.
1883
1884 2007-11-05  Nick Clifton  <nickc@redhat.com>
1885             Sebastian Pop  <sebastian.pop@amd.com>
1886
1887         PR tree-optimization/32540
1888         PR tree-optimization/33922
1889         * doc/invoke.texi: Document PARAM_MAX_PARTIAL_ANTIC_LENGTH.
1890         * tree-ssa-pre.c: Include params.h.
1891         (compute_partial_antic_aux): Use PARAM_MAX_PARTIAL_ANTIC_LENGTH
1892         to limit the maximum length of the PA set for a given block.
1893         * Makefile.in: Add a dependency upon params.h for tree-ssa-pre.c
1894         * params.def (PARAM_MAX_PARTIAL_ANTIC_LENGTH): New parameter.
1895
1896 2007-11-05  Nathan Sidwell  <nathan@codesourcery.com>
1897
1898         * libgcc2.c (__fixunstfDI, __fixunsxfDI, __fixunsdfDI,
1899         __fixunssfDI): Make return type unsigned.
1900         * libgcc2.h (__fixunstfDI, __fixunsxfDI, __fixunsdfDI,
1901         __fixunssfDI): Make return type unsigned.
1902
1903 2007-11-05  Jakub Jelinek  <jakub@redhat.com>
1904
1905         PR tree-optimization/33856
1906         * tree-data-ref.c (get_references_in_stmt): Don't add
1907         REFERENCE_CLASS_P trees to references vector if get_base_address
1908         returns NULL on them.
1909
1910 2007-11-05  Alexandre Oliva  <aoliva@redhat.com>
1911
1912         * cfg.c (dump_cfg_bb_info): Update bb_bitnames to match enum.
1913
1914 2007-11-04  Andrew Pinski  <pinskia@gmail.com>
1915
1916         PR middle-end/32931
1917         * fold-const.c (fold_binary <case EQ_EXPR>): Convert the inner type
1918         for TRUTH_NOT_EXPR to type.
1919
1920 2007-11-04  Gerald Pfeifer  <gerald@pfeifer.com>
1921
1922         * doc/contrib.texi (Contributors): Add Manuel Lopez-Ibanez.
1923
1924 2007-11-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1925
1926         PR fortran/10220
1927         * dwarf2out.c (add_calling_convention_attribute): Change
1928         second argument. Set calling convention to DW_CC_program for
1929         Fortran main program.
1930         (gen_subprogram_die): Adjust to new prototype for
1931         add_calling_convention_attribute.
1932
1933 2007-11-03  Dorit Nuzman  <dorit@il.ibm.com>
1934
1935         PR tree-optimization/33987
1936         * tree-vect-transform.c (get_initial_def_for_reduction): Fix assert.
1937         Fix indentation.
1938         (vectorizable_reduction): Add type check.
1939
1940 2007-11-03  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1941
1942         PR c/29062
1943         * c-parser.c (c_parser_statement_after_labels): Error if a
1944         declaration is parsed after a label.
1945         
1946 2007-11-03  Daniel Jacobowitz  <dan@codesourcery.com>
1947
1948         PR debug/33921
1949         * reorg.c (emit_delay_sequence): Do not clear the locator on
1950         the jump instruction.
1951
1952 2007-11-03  Jakub Jelinek  <jakub@redhat.com>
1953
1954         PR middle-end/33670
1955         * haifa-sched.c (ok_for_early_queue_removal): Don't walk out of the
1956         current sched region.
1957
1958 2007-11-02  Jakub Jelinek  <jakub@redhat.com>
1959
1960         * config/ia64/ia64.c (struct reg_write_state): Change into
1961         unsigned short bitfields rather than unsigned int, decrease
1962         first_pred to just 10 bits.
1963         (rws_insn): Change into a bitmap or if not ENABLE_CHECKING
1964         into two char array.
1965         (rws_insn_set, rws_insn_test): New functions.
1966         (in_safe_group_barrier): New variable.
1967         (rws_update): Remove first argument, always set rws_sum array.
1968         (rws_access_regno): Use rws_insn_set macro.  Only call rws_update
1969         or update rws_sum if !in_safe_group_barrier, adjust rws_update args.
1970         (rtx_needs_barrier): Use rws_insn_test macro.
1971         (safe_group_barrier_needed): Don't save/restore rws_sum array,
1972         instead set/clear in_safe_group_barrier flag.
1973
1974 2007-11-02  Bob Wilson  <bob.wilson@acm.org>
1975
1976         * config/xtensa/xtensa.c (xtensa_expand_prologue): Put a
1977         REG_FRAME_RELATED_EXPR note on the last insn that sets up the stack
1978         pointer or frame pointer.
1979         * config/xtensa/xtensa.h (DWARF_UNWIND_INFO): Delete.
1980         (MUST_USE_SJLJ_EXCEPTIONS): Define.
1981         (DWARF2_UNWIND_INFO): Define.
1982         (INCOMING_RETURN_ADDR_RTX): Define.
1983         (DWARF_FRAME_RETURN_COLUMN): Define.
1984
1985 2007-11-02  Tom Tromey  <tromey@redhat.com>
1986
1987         * varpool.c (dump_varpool): Use 'next', not 'next_needed' when
1988         traversing pool.
1989
1990 2007-11-02  Diego Novillo  <dnovillo@google.com>
1991
1992         * langhooks.h (struct lang_hooks_for_callgraph): Remove third
1993         argument from function pointer ANALYZE_EXPR.  Update all users.
1994         * cgraph.c (debug_cgraph_node): New.
1995         (debug_cgraph): New.
1996
1997 2007-11-02  Jakub Jelinek  <jakub@redhat.com>
1998
1999         PR rtl-optimization/33648
2000         * cfgrtl.c (cfg_layout_split_edge): Initialize BB_PARTITION of
2001         the newly created basic block.
2002
2003 2007-11-01  Richard Guenther  <rguenther@suse.de>
2004
2005         * ggc-page.c (extra_order_size_tab): Add bitmap_head size.
2006
2007 2007-11-01  Steven Bosscher  <stevenb.gcc@gmail.com>
2008
2009         PR rtl-optimization/33828
2010         * gcse.c (compute_code_hoist_vbeinout): Fix order of computation
2011         of VBEIN and VBEOUT.
2012
2013 2007-11-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
2014
2015         * optabs.c (prepare_cmp_insn): Merge a couple of conditional blocks.
2016         * sched-rgn.c (compute_trg_info): Zero 'el' local variable.
2017         * tree-if-conv.c (process_phi_nodes): Zero 'cond' local variable.
2018
2019 2007-11-01  Nathan Sidwell  <nathan@codesourcery.com>
2020
2021         * gcc.c (getenv_spec_function): Escape the environment variable's
2022         value.
2023
2024 2007-11-01  Janis Johnson  <janis187@us.ibm.com>
2025
2026         * doc/invoke.texi (Optimize Options): Under -fcse-follow-jumps,
2027         show that CSE means common subexpression elimination.  Change wording
2028         for -fsee and define LCM.  Remove capitalization of optimizations
2029         for -ftree-reassoc, -ftree-pre, and -ftree-fre.
2030
2031 2007-11-01  Janis Johnson  <janis187@us.ibm.com>
2032
2033         PR testsuite/25352
2034         * doc/sourcebuild.texi (Test Directives): Document that xfail
2035         has no effect for dg-do except when dg-do-what is "run".
2036
2037 2007-11-01  Tom Tromey  <tromey@redhat.com>
2038
2039         * c-decl.c (grokdeclarator): Set decl source locations.
2040         * c-parser.c (c_parser_enum_specifier): Set location.
2041         (c_parser_struct_or_union_specifier): Likewise.
2042
2043 2007-11-01  Tom Tromey  <tromey@redhat.com>
2044
2045         * print-tree.c (print_node): Print column number.
2046
2047 2007-11-01  Jakub Jelinek  <jakub@redhat.com>
2048
2049         PR debug/33537
2050         * dwarf2out.c (gen_formal_parameter_die, gen_variable_die,
2051         gen_decl_die): Use TREE_TYPE (TREE_TYPE (decl)) as type
2052         rather than TREE_TYPE (decl) if DECL_BY_REFERENCE (decl).
2053
2054         PR rtl-optimization/33673
2055         * gcse.c (cprop_jump): If a conditional jump has been optimized
2056         into unconditional jump, make the remaining normal edge fallthru
2057         and delete the jump insn.
2058
2059 2007-11-01  Ben Elliston  <bje@au.ibm.com>
2060
2061         * emit-rtl.c (set_reg_attrs_from_mem): Clarify function comment.
2062         (set_mem_attrs_from_reg): Likewise.
2063
2064 2007-11-01  Michael Matz  <matz@suse.de>
2065
2066         PR tree-optimization/33961
2067         * tree-ssa-phiopt.c (struct name_to_bb.store): New member.
2068         (name_to_bb_hash, name_to_bb_eq): Consider and check it.
2069         (add_or_mark_expr): New argument 'store', using it to search
2070         the hash table.
2071         (nt_init_block): Adjust calls to add_or_mark_expr.
2072
2073 2007-10-31  Jakub Jelinek  <jakub@redhat.com>
2074
2075         PR target/31507
2076         * config/i386/i386.md (pushsf_rex64): Use X instead of < constraints
2077         for the first push_operand.
2078
2079 2007-10-31  Revital Eres  <eres@il.ibm.com>
2080
2081         * config/rs6000/paired.md (sminv2sf3, smaxv2sf3, reduc_smax_v2sf,
2082         reduc_smin_v2sf vec_interleave_highv2sf, vec_interleave_lowv2sf,
2083         vec_extract_evenv2sf, vec_extract_oddv2sf, reduc_splus_v2sf,
2084         movmisalignv2sf, vcondv2sf): New.
2085         (UNSPEC_INTERHI_V2SF, UNSPEC_INTERLO_V2SF, UNSPEC_EXTEVEN_V2SF,
2086         UNSPEC_EXTODD_V2SF): Define new constants.
2087         * config/rs6000/rs6000-protos.h (paired_expand_vector_move,
2088         paired_emit_vector_cond_expr): New.
2089         * config/rs6000/rs6000-c.c (__PAIRED__): Add new builtin_define.
2090         * config/rs6000/rs6000.c (paired_expand_vector_move,
2091         paired_emit_vector_cond_expr, paired_emit_vector_compare):
2092         New functions.
2093         * config/rs6000/750cl.h (ASM_CPU_SPEC): Pass down -m750cl option.
2094
2095 2007-10-31  Sebastian Pop  <sebastian.pop@amd.com>
2096
2097         PR tree-optimization/32377
2098         * tree-data-ref.c (compute_overlap_steps_for_affine_univar): Make it
2099         work also for unknown number of iterations.
2100         (analyze_subscript_affine_affine): Clean up.  Don't fail when the 
2101         number of iterations is not known.
2102
2103 2007-10-31  Richard Guenther  <rguenther@suse.de>
2104
2105         PR middle-end/33779
2106         * fold-const.c (extract_muldiv_1): Make sure to not introduce
2107         new undefined integer overflow.
2108         (fold_binary): Avoid useless conversion.
2109
2110 2007-10-31  Richard Sandiford  <rsandifo@nildram.co.uk>
2111
2112         PR target/33948
2113         * config/mips/mips.c (mips_fpr_return_fields): Fix SCALAR_TYPE_P check.
2114
2115 2007-10-31  Andreas Krebbel  <krebbel1@de.ibm.com>
2116
2117         * config/rs6000/rs6000.opt: Rename -mdfp option to -mhard-dfp.
2118
2119         * config/s390/s390.c: (override_options): Replace
2120         -mhard-dfp/-msoft-dfp with -mhard-dfp/-mno-hard-dfp.
2121         * config/s390/s390.opt: Likewise.
2122         * config/s390/s390.h: Add MASK_HARD_DFP to the TARGET_DEFAULT
2123         definition.
2124
2125 2007-10-30  Janis Johnson  <janis187@us.ibm.com>
2126
2127         * tree-ssa.c (execute_update_addresses_taken): Initialize update_vops.
2128
2129 2007-10-30  Janis Johnson  <janis187@us.ibm.com>
2130
2131         * doc/invoke.texi (Option Summary): Add -fdce and -fdse to list of
2132         optimization options.
2133         (Optimize Options): Add -fdce and -fdse to the list of optimizations
2134         enabled by -O.  Document -fdce and -fdse.
2135
2136 2007-10-30  Jakub Jelinek  <jakub@redhat.com>
2137
2138         PR c++/33709
2139         * fold-const.c (fold_binary): If one argument is COMPOUND_EXPR,
2140         convert second operand of COMPOUND_EXPR to the original type of
2141         that argument.
2142
2143 2007-10-30  Richard Guenther  <rguenther@suse.de>
2144
2145         * tree-ssa-operands.c (add_vars_for_offset): Fix exit test
2146         of loop adding SFTs as virtual operands.
2147
2148 2007-10-30  Richard Guenther  <rguenther@suse.de>
2149
2150         * Makefile.in (dse.o): Add $(OPTABS_H) and $(RECOG_H) dependencies.
2151
2152 2007-10-29  Dorit Nuzman  <dorit@il.ibm.com>
2153
2154         PR tree-optimization/32893
2155         * tree-vectorize.c (vect_can_force_dr_alignment_p): Check
2156         STACK_BOUNDARY instead of PREFERRED_STACK_BOUNDARY.
2157
2158 2007-10-29  Rask Ingemann Lambertsen  <rask@sygehus.dk>
2159
2160         * longlong.h (add_ssaaaa): Support Intel asm syntax in i386 and
2161         x86_64 versions.
2162         (sub_ddmmss): Likewise.
2163         (umul_ppmm): Likewise.
2164         (udiv_qrnnd): Likewise.
2165
2166 2007-10-29  Janis Johnson  <janis187@us.ibm.com>
2167
2168         PR testsuite/24841
2169         * doc/sourcebuild.texi (Test Directives): Document that dg-require
2170         directives must come before dg-additional-sources.
2171
2172 2007-10-29  Jakub Jelinek  <jakub@redhat.com>
2173
2174         PR tree-optimization/33723
2175         * c-gimplify.c (c_gimplify_expr): Optimize INIT_EXPR or
2176         MODIFY_EXPR with non-addressable COMPOUND_LITERAL_EXPR as source.
2177
2178 2007-10-29  Richard Sandiford  <rsandifo@nildram.co.uk>
2179
2180         PR tree-optimization/33614
2181         * gimplify.c (gimplify_init_constructor): Gimplify vector constructors
2182         if they can't be reduced to VECTOR_CSTs and aren't legitimate
2183         initializer constants.
2184
2185 2007-10-29  Richard Guenther  <rguenther@suse.de>
2186
2187         PR tree-optimization/33870
2188         * tree-ssa-operands.c (add_vars_for_offset): Remove mpt_vars parameter.
2189         (add_virtual_operand): Do not recurse into MPTs looking for pointed-to
2190         SFTs.
2191
2192 2007-10-29  Richard Guenther  <rguenther@suse.de>
2193
2194         * passes.c (init_optimization_passes): Exchange store_copy_prop
2195         with copy_prop.
2196         * tree-pass.h (pass_store_copy_prop): Remove.
2197         * tree-ssa-copy.c (do_store_copy_prop): Remove.
2198         (stmt_may_generate-copy): Do not handle store_copy_prop.
2199         (get_copy_of_val): Likewise.
2200         (set_copy_of_val): Likewise.
2201         (copy_prop_visit_assignment): Likewise.
2202         (copy_prop_visit_stmt): Likewise.
2203         (copy_prop_visit_phi_node): Likewise.
2204         (init_copy_prop): Likewise.
2205         (execute_copy_prop): Likewise.
2206         (do_copy_prop): Remove.
2207         (gate_store_copy_prop): Likewise.
2208         (store_copy_prop): Likewise.
2209         (pass_store_copy_prop): Likewise.
2210         (pass_copy_prop): Call execute_copy_prop.
2211         * opts.c (decode_options): Do not set flag_tree_store_copy_prop.
2212         * common.opt (ftree-store-copy-prop): Mark obsolete.
2213         * doc/invoke.texi (ftree-store-copy-prop): Remove documentation.
2214
2215 2007-10-29  Ian Lance Taylor  <iant@google.com>
2216
2217         * ifcvt.c (noce_can_store_speculate_p): New static function.
2218         (noce_process_if_block): Call it.
2219         (if_convert): Remove recompute_dominance parameter.  Change all
2220         callers.
2221
2222 2007-10-29  Richard Guenther  <rguenther@suse.de>
2223
2224         * tree-flow-inline.h (get_subvar_at): Use binary search.
2225         (get_first_overlapping_subvar): New function to binary search
2226         for the first overlapping subvar.
2227         * tree-ssa-operands.c (add_vars_for_offset): Strip down to
2228         just handle adding subvars for a pointed-to subvar.  Optimize
2229         and use get_first_overlapping_subvar.
2230         (add_vars_for_bitmap): Fold into single caller.
2231         (add_virtual_operand): Streamline, inherit add_vars_for_bitmap
2232         and non pointed-to bits of add_vars_for_offset.
2233
2234 2007-10-29  Revital Eres  <eres@il.ibm.com> 
2235
2236         * modulo-sched.c (sms_schedule): Add DF_UD_CHAIN problem.
2237
2238 2007-10-29  Razya Ladelsky  <razya@il.ibm.com>
2239             Zdenek Dvorak  <ook@ucw.cz>
2240
2241         OMP_ATOMIC Changes,
2242         reduction support for automatic parallelization.
2243
2244         * expr.c (expand_expr_real_1): Add cases for OMP_ATOMIC_LOAD,
2245         OMP_ATOMIC_STORE.
2246         * Makefile.in: Add dependencies to expr.o, tree-parloops.o, omp-low.o
2247         * tree-pretty-print.c (dump_generic_node): Add OMP_ATOMIC_LOAD
2248         and OMP_ATOMIC_STORE.
2249         * tree.h (OMP_DIRECTIVE_P): Add OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
2250         * gimple-low.c (lower_stmt): Same.
2251         * gimplify.c (gimplify_expr): Same.
2252         (gimplify_omp_atomic_fetch_op, gimplify_omp_atomic_pipeline,
2253         gimplify_omp_atomic_mutex): Remove.
2254         (gimplify_omp_atomic): Change it to simply gimplify the
2255         statement instead of expanding it.
2256         * omp-low.c: Add includes to optabs.h, cfgloop.h.
2257         (expand_omp_atomic, expand_omp_atomic_pipeline,
2258         goa_stabilize_expr, expand_omp_atomic_mutex,
2259         expand_omp_atomic_fetch_op): New functions to implement
2260         expansion of OMP_ATOMIC.
2261         (expand_omp, build_omp_regions_1): Add support for
2262         OMP_ATOMIC_LOAD/OMP_ATOMIC_STORE.
2263         * tree-cfg.c (make_edges): add case for OMP_ATOMIC_LOAD,
2264         OMP_ATOMIC_STORE.
2265         * tree-gimple.c (is_gimple_stmt): Add OMP_ATOMIC_LOAD,
2266         OMP_ATOMIC_STORE.
2267         * tree-parloops.c: add include to tree-vectorizer.h.
2268         (reduction_info): New structure for reduction.
2269         (reduction_list): New list to represent list of reductions per loop.
2270         (struct data_arg): New helper structure for reduction.
2271         (reduction_info_hash, reduction_info_eq, reduction_phi,
2272         initialize_reductions, create_call_for_reduction,
2273         create_phi_for_local_result, create_call_for_reduction_1,
2274         create_loads_for_reductions, create_final_loads_for_reduction):
2275         New functions.
2276         (loop_parallel_p): Identify reductions, add reduction_list parameter.
2277         (separate_decls_in_loop_name): Support reduction variables.
2278         (separate_decls_in_loop): Add reduction_list and ld_st_data arguments,
2279         call create_loads_for_reduction for each reduction.
2280         (canonicalize_loop_ivs): Identify reductions, add reduction_list
2281         parameter.
2282         (transform_to_exit_first_loop): Add reduction support, add
2283         reduction_list parameter.
2284         (gen_parallel_loop): Add reduction_list parameter.  Add call
2285         separate_decls_in_loop with
2286         the new argument.  Traverse reductions and call
2287         initialize_reductions, create_call_for_reduction.
2288         (parallelize_loops): Create and delete the reduction list.
2289         (add_field_for_name): Change use of data parameter.  Add fields for
2290         reductions.
2291         * tree-vectorizer.h (vect_analyze_loop_form): Add declaration.
2292         * tree-vect-analyze.c (vect_analyze_loop_form): export it.
2293         * tree.def: Add definitions for OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
2294         * tree-inline.c (estimate_num_insns_1): add cases for
2295         OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
2296         * tree-cfg.c (make_edges): Add OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
2297         * tree-ssa-operands.c (get_addr_dereference_operands):
2298         New function.  Subroutine of get_indirect_ref_operands.
2299         (get_indirect_ref_operands): Call get_addr_dereference_operands.
2300         (get_expr_operands): Support OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
2301
2302
2303 2007-10-29  Hans-Peter Nilsson  <hp@axis.com>
2304
2305         * config/cris/cris.c: Include df.h.
2306         (cris_address_cost): Add gcc_assert for canonicalization
2307         assumptions.  For PLUS with MULT or register, correct
2308         test for register in other arm.  Tweak comments.
2309
2310 2007-10-28  Richard Guenther  <rguenther@suse.de>
2311
2312         * tree-ssa-operands.c (add_vars_for_offset): Add parameter
2313         telling if the var is to be treated as points-to location.
2314         (add_vars_for_bitmap): Pass true to add_vars_for_offset.
2315         (add_virtual_operand): Only recurse into MPTs if aliases
2316         is from a NMT.
2317
2318 2007-10-28  Richard Guenther  <rguenther@suse.de>
2319
2320         * tree-ssa-operands.c (add_vars_for_offset): Clean and speed up.
2321         (add_vars_for_bitmap): Do not recurse further.  Only add vars
2322         for pointed-to SFTs.
2323         (add_virtual_operand): Re-instantiate loop to add operands for
2324         aliases.  Recurse into MPTs.
2325         (get_indirect_ref_operands): If we fall back to use a pointers
2326         SMT, make sure to not prune based on the access offset and size.
2327
2328 2007-10-28  Andrew Pinski  <pinskia@gmail.com>
2329
2330         PR tree-opt/33589
2331         * tree-outof-ssa.c (rewrite_trees): If the statement changed, cleanup
2332         the eh information on the statement.
2333
2334 2007-10-28  Richard Guenther  <rguenther@suse.de>
2335
2336         * tree-flow.h (subvar_t): Make it a VEC.
2337         (struct subvar): Remove.
2338         (struct var_ann_d): Use VEC(tree,gc) to store subvars.
2339         * tree-flow-inline.h (get_subvar_at): Adjust iterators over
2340         variable subvars.
2341         * tree-into-ssa.c (mark_sym_for_renaming): Likewise.
2342         * tree-nrv.c (dest_safe_for_nrv_p): Likewise.
2343         * tree-ssa-alias.c (mark_aliases_call_clobbered): Likewise.
2344         (set_initial_properties): Likewise.
2345         (setup_pointers_and_addressables): Likewise.
2346         (new_type_alias): Likewise.
2347         (create_overlap_variables_for): Likewise.
2348         * tree-dfa.c (dump_subvars_for): Likewise.
2349         * tree-ssa-operands.c (add_vars_for_offset): Likewise.
2350         (get_expr_operands): Likewise.
2351         (add_to_addressable_set): Likewise.
2352         * tree-ssa-structalias.c (set_uids_in_ptset): Likewise.
2353
2354 2007-10-28  Uros Bizjak  <ubizjak@gmail.com>
2355
2356         PR tree-optimization/33920
2357         * tree-if-conv.c (tree_if_conversion): Force predicate of single
2358         successor bb to true when predecessor bb has NULL predicate.
2359         (find_phi_replacement_condition): Assert that tmp_cond is non-null.
2360
2361 2007-10-28  Richard Sandiford  <rsandifo@nildram.co.uk>
2362
2363         * config/mips/mips.md: Add combiner patterns for DImode extensions
2364         of HImode and QImode truncations.  Reformat HImode <- QImode pattern
2365         for consistency.
2366
2367 2007-10-28  Richard Sandiford  <rsandifo@nildram.co.uk>
2368
2369         PR target/33895
2370         * config/mips/mips.c (mips_output_dwarf_dtprel): Add ATTRIBUTE_UNUSED.
2371
2372 2007-10-28  Andreas Krebbel  <krebbel1@de.ibm.com>
2373
2374         * dce.c (delete_unmarked_insns): Just delete the RETVAL and
2375         LIBCALL notes if they are about to be moved to the same insn.
2376
2377 2007-10-27  Richard Guenther  <rguenther@suse.de>
2378
2379         PR tree-optimization/33870
2380         * tree-ssa-operands.c (add_vars_for_offset): Reduce code
2381         duplication.  Remove redundant call to access_can_touch_variable.
2382         (add_vars_for_bitmap): New helper for recursing over MPT contents.
2383         (add_virtual_operand): Use it.
2384
2385 2007-10-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2386
2387         PR fortran/31608
2388         * pa.h (ASM_PN_FORMAT): Delete define.
2389
2390 2007-10-26  Janis Johnson  <janis187@us.ibm.com>
2391
2392         * doc/invoke.texi (Option Summary, optimizations): Remove
2393         -fbounds-check.  Add -fassociative-math, -freciprocal-math,
2394         -ftree-vrp and -funit-at-a-time.  Change -fno-split-wide-types to
2395         -fsplit-wide-types to match later entry.  Break up a long line.
2396         (Option Summary, code gen options)  Add -fno-stack-limit.  Add
2397         missing @gol to the end of a line.
2398         (Optimization Options): Remove -fbounds-check, which is also
2399         documented under Code Generation Options.  Remove =n from
2400         index entry for -ftree-parallelize-loops.  Change -fno-cprop-registers
2401         to -fcprop-registers to match other options, and say when it is
2402         enabled rather than disabled.  Remove extra index entry for
2403         -fno-cx-limited-range.  Add index entries for -fstack-protector
2404         and -fstack-protector-all.
2405         (Code Gen Options): Add index entry for -ftls-model.
2406
2407 2007-10-26  Anatoly Sokolov <aesok@post.ru>
2408
2409         * config/avr/avr.c (avr_OS_task_function_p): Add new function.
2410         (avr_regs_to_save): Handle functions with 'OS_task' attribute.
2411         (avr_simple_epilogue, expand_prologue, avr_asm_function_end_prologue,
2412         expand_epilogue, output_movhi): Don't handle 'main' function.
2413         (avr_attribute_table): Add 'OS_task' function attribute.
2414         * config/avr/avr.h (machine_function): Remove 'is_main' field, add
2415         'is_OS_task' field.
2416         * config/avr/avr.md (return_from_main_epilogue): Remove insn.
2417         (return_from_epilogue, return_from_interrupt_epilogue): Don't handle
2418         'main' function.
2419         * config/avr/avr.opt (minit-stack): Remove.
2420
2421 2007-10-26  Eric Botcazou  <ebotcazou@adacore.com>
2422
2423         * tree-nested.c (get_trampoline_type): Fix thinko.
2424
2425 2007-10-26  Douglas Gregor  <doug.gregor@gmail.com>
2426
2427         PR c++/33601
2428         * tree.c (build_offset_type): Build canonical type based on the
2429         TYPE_MAIN_VARIANT of the base type.
2430
2431 2007-10-26  Daniel Jacobowitz  <dan@codesourcery.com>
2432
2433         * reorg.c (emit_delay_sequence): Move insn locator from the
2434         first insn to the sequence.
2435
2436 2007-10-26  Samuel Tardieu  <sam@rfc1149.net>
2437
2438         * ipa-pure-const.c (check_decl): Return immediately when
2439         pure_const_state has been set to IPA_NEITHER.
2440
2441 2007-10-25  Ira Rosen  <irar@il.ibm.com>
2442
2443         PR tree-optimization/33833
2444         * tree-vect-analyze.c (vect_analyze_data_refs): Use POINTER_PLUS_EXPR
2445         and convert init to sizetype in inner_base construction.
2446
2447 2007-10-25  Richard Guenther  <rguenther@suse.de>
2448
2449         * tree-flow.h (mem_sym_stats): Remove.
2450         (dump_mem_sym_stats_for_var): Declare.
2451         * tree-dfa.c (dump_variable): Call dump_mem_sym_stats_for_var.
2452         (mem_sym_stats): Move ...
2453         * tree-ssa-alias.c (mem_sym_stats): ... here and make it static.
2454         (mem_sym_score): Rename from ...
2455         (pscore): ... this.  Remove.
2456         (dump_mem_sym_stats_for_var): New function.  Dump the score, but
2457         not the frequencies.
2458         (compare_mp_info_entries): Make sort stable by disambiguating
2459         on DECL_UID.
2460
2461 2007-10-25  Ira Rosen  <irar@il.ibm.com>
2462
2463         PR tree-optimization/33866
2464         * tree-vect-transform.c (vectorizable_store): Check operands of all
2465         the stmts in the group of strided accesses. Get def stmt type for each
2466         store in the group and pass it to vect_get_vec_def_for_stmt_copy ().
2467
2468 2007-10-25  Uros Bizjak  <ubizjak@gmail.com>
2469
2470         * config/i386/constraints.md (Y0): Rename register constraint to Yz.
2471         (Yt): Rename register constraint to Y2.
2472         * config/i386/sse.md: Use renamed register constraints.
2473         * config/i386/mmx.md: Ditto.
2474         * config/i386/i386.md: Ditto.
2475
2476 2007-10-25  Rask Ingemann Lambertsen  <rask@sygehus.dk>
2477
2478         * config/i386/i386.md (*dummy_extendsfdf2): Fix operand 1 constraint.
2479
2480 2007-10-24  Chao-ying Fu  <fu@mips.com>
2481
2482         * dwarf2out.c (base_type_die): Use DW_ATE_unsigned_fixed or
2483         DW_ATE_signed_fixed to describe FIXED_POINT_TYPE.
2484
2485 2007-10-24  Samuel Tardieu  <sam@rfc1149.net>
2486             Olga Golovanevsky <olga@il.ibm.com>
2487         
2488         * ipa-struct-reorg.c (replace_field_acc): Make it clear to
2489         the compiler that wr.wrap and wr.domain are initialized in
2490         any case.
2491
2492 2007-10-24  Samuel Tardieu  <sam@rfc1149.net>
2493
2494         * ipa-struct-reorg.c (sum_counts): Use HOST_WIDEST_PRINT_DEC
2495         to print gcov_type values.
2496
2497 2007-10-24  Eric B. Weddington  <eweddington@cso.atmel.com>
2498
2499         * config/avr/avr.h: Do not include progmem_section definition when
2500         building with IN_TARGET_LIBS.
2501
2502 2007-10-24  Richard Sandiford  <rsandifo@nildram.co.uk>
2503
2504         PR target/33755
2505         * config/mips/mips.c (mips_lo_sum_offset): New structure.
2506         (mips_hash_base, mips_lo_sum_offset_hash, mips_lo_sum_offset_eq)
2507         (mips_lo_sum_offset_lookup, mips_record_lo_sum)
2508         (mips_orphaned_high_part_p: New functions.
2509         (mips_avoid_hazard): Don't check INSN_P here.
2510         (mips_avoid_hazards): Rename to...
2511         (mips_reorg_process_insns): ...this.  Cope with
2512         !TARGET_EXPLICIT_RELOCS.  Delete orphaned high-part relocations,
2513         or turn them into nops.
2514         (mips_reorg): Remove TARGET_EXPLICIT_RELOCS check from calls to
2515         dbr_schedule and mips_avoid_hazards/mips_reorg_process_insns.
2516         (mips_set_mips16_mode): Don't set flag_delayed_branch here.
2517         (mips_override_options): Set flag_delayed_branch to 0.
2518
2519 2007-10-24  Richard Sandiford  <rsandifo@nildram.co.uk>
2520
2521         * config/mips/mips.h (MOVE_MAX): Use UNITS_PER_WORD and describe
2522         MIPS-specific implementation details.
2523         (MIPS_MAX_MOVE_BYTES_PER_LOOP_ITER): New macro.
2524         (MIPS_MAX_MOVE_BYTES_STRAIGHT): Likewise.
2525         (MOVE_RATIO): Define to MIPS_MAX_MOVE_BYTES_STRAIGHT / UNITS_PER_WORD
2526         for targets with movmemsi.
2527         (MOVE_BY_PIECES_P): Define.
2528         * config/mips/mips.c (MAX_MOVE_REGS, MAX_MOVE_BYTES): Delete.
2529         (mips_block_move_loop): Add a bytes_per_iter argument.
2530         (mips_expand_block_move): Use MIPS_MAX_MOVE_BYTES_STRAIGHT.
2531         Update call to mips_block_move_loop.
2532
2533 2007-10-24  Michael Matz  <matz@suse.de>
2534
2535         PR debug/33868
2536         * var-tracking.c (variable_union): Don't break after one loop
2537         iteration but only when a difference is found.
2538         (dump_variable): Also print DECL_UID.
2539
2540 2007-10-24  Olga Golovanevsky  <olga@il.ibm.com>
2541
2542         * ipa-type-escape.h: Expose function
2543         is_array_access_through_pointer_and_index.
2544         * ipa-type-escape.c
2545         (is_array_access_through_pointer_and_index):
2546         Add three new parameters. Add support of
2547         POINTER_PLUS_EXPR tree code.
2548
2549 2007-10-24  Olga Golovanevsky  <olga@il.ibm.com>
2550
2551         * ipa-struct-reorg.c, ipa-struct-reorg.h: New files.
2552         * tree-pass.h: Add pass_ipa_struct_reorg.
2553         * common.opt: Add ipa-struct-reorg flag.
2554         * Makefile.in: Add ipa-strcut-reorg.o compilation.
2555         * passes.c: Add pass pass_ipa_struct_reorg.
2556         * params.h:  Add STRUCT_REORG_COLD_STRUCT_RATIO.
2557         * params.def: Add PARAM_STRUCT_REORG_COLD_STRUCT_RATIO.
2558
2559 2007-10-24  Ira Rosen  <irar@il.ibm.com>
2560
2561         PR tree-optimization/33804
2562         * tree-vect-transform.c (vectorizable_operation): Remove the
2563         checks that the vectorization is worthwhile from the transformation
2564         phase.
2565
2566 2007-10-24  Ira Rosen  <irar@il.ibm.com>
2567
2568         * tree-vect-analyze.c (vect_build_slp_tree): Return false if
2569         vectype cannot be determined for the scalar type.
2570         (vect_analyze_slp_instance): Likewise.
2571         * tree-vect-transform.c (vect_model_reduction_cost): Change the
2572         return type to bool. Return false if vectype cannot be determined 
2573         for the scalar type.
2574         (vect_get_constant_vectors): Return false if vectype cannot be
2575         determined for the scalar type.
2576         (get_initial_def_for_induction, vect_get_vec_def_for_operand,
2577         get_initial_def_for_reduction, vect_create_epilog_for_reduction,
2578         vectorizable_reduction): Likewise.      
2579
2580 2007-10-23  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2581
2582         * config.gcc: For a FreeBSD target, parse the value of ${target}
2583         to determine the value of FBSD_MAJOR, instead of adding an
2584         explicit check for every possible FreeBSD major version.
2585
2586 2007-10-23  Uros Bizjak  <ubizjak@gmail.com>
2587
2588         PR rtl-optimization/33846
2589         * combine.c (simplify_shift_const_1) [NOT]: Skip vector modes.
2590
2591 2007-10-23  Dorit Nuzman  <dorit@il.ibm.com>
2592
2593         PR tree-optimization/33860
2594         * tree-vect-transform.c (vect_analyze_data_ref_access): Don't allow
2595         interleaved accesses in case the dr is inside the inner-loop during
2596         outer-loop vectorization.
2597
2598 2007-10-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
2599
2600         * doc/rtl.texi (Flags): Fix MEM_SCALAR_P entry.
2601         Document MEM_POINTER.  Replace mentions of "integrated"
2602         field with "return_val".  Delete outdated stuff.
2603
2604 2007-10-23  David Edelsohn  <edelsohn@gnu.org>
2605
2606         * config/rs6000/rs6000.c (rs6000_override_options): Set
2607         rs6000_altivec_abi on AIX.
2608         (conditional_register_usage): Set VR20:31 fixed on AIX.
2609
2610 2007-10-23  Richard Guenther  <rguenther@suse.de>
2611
2612         * alias.c (get_alias_set): For INDIRECT_REFs, deal with
2613         SSA_NAME pointers.
2614
2615 2007-10-22  Seongbae Park <seongbae.park@gmail.com>
2616             David S. Miller  <davem@davemloft.net>
2617
2618         * df-scan.c (df_get_call_refs): Mark global registers as both a
2619         DF_REF_REG_USE and a non-clobber DF_REF_REG_DEF.
2620
2621 2007-10-22  Dorit Nuzman  <dorit@il.ibm.com>
2622
2623         PR tree-optimization/33834
2624         PR tree-optimization/33835
2625         * tree-vect-analyze.c (vect_analyze_operations): RELEVANT and LIVE
2626         stmts need to be checked for success seperately.
2627         * tree-vect-transform.c (vectorizable_call, vectorizable_conversion):
2628         Remove the check that stmt is not LIVE.
2629         (vectorizable_assignment, vectorizable_induction): Likewise.
2630         (vectorizable_operation, vectorizable_type_demotion): Likewise.
2631         (vectorizable_type_promotion, vectorizable_load, vectorizable_store):
2632         Likewise.
2633         (vectorizable_live_operation): Check that op is not NULL. 
2634
2635 2007-10-22  Janis Johnson  <janis187@us.ibm.com>
2636
2637         * doc/invoke.texi (Optimization Options): In the summary, show
2638         that the value for options -falign-jumps, -falign-labels,
2639         -falign-loops, -falign-functions, -fsched-stalled-insns, and
2640         -fsched-stalled-insns-dep is optional.  In the summary, show that
2641         -fsched-stalled-insns takes an optional argument and that
2642         -fparallelize-loops takes an argument.  Add opindex for several
2643         optimization options, and fix typos in the opindex commands for
2644         several others.  In the descriptions for -fsched-stalled-insns
2645         and -fsched-stalled-insns-dep, show the options with and without
2646         values.
2647
2648 2007-10-22  Eric B. Weddington  <eweddington@cso.atmel.com>
2649
2650         * config/avr/avr.c (avr_mcu_types): Remove ATmega603 which was never
2651         produced.
2652         * config/avr/avr.h (LINK_SPEC): Likewise.
2653         (CRT_BINUTILS_SPECS): Likewsie.
2654         * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
2655
2656 2007-10-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
2657
2658         PR rtl-optimization/33644
2659         * cfgcleanup.c: Do not include dce.h.
2660         * cfgrtl.c (delete_insn_chain_and_edges): Resurrect.
2661         * combine.c (distribute_notes): Delete REG_LIBCALL_ID case.
2662         * dce.c (something_changed): Delete.
2663         (libcall_dead_p): New predicate.
2664         (delete_unmarked_insns): Use it to delete dead libcalls.
2665         Deal with REG_LIBCALL and REG_RETVAL notes.
2666         (prescan_libcall_for_dce): New function.
2667         (prescan_insns_for_dce): Use it to deal with libcalls.
2668         (mark_reg_dependencies): Do nothing special for libcalls.
2669         (dce_process_block): Likewise.
2670         (fast_dce): Delete unused local variable.
2671         (run_fast_dce): Do not return a value.
2672         * dce.h (struct df): Delete.
2673         (run_fast_dce): Adjust prototype.
2674         * optabs.c (libcall_id): Delete.
2675         (maybe_encapsulate_block): Do not emit REG_LIBCALL_ID notes.
2676         (emit_no_conflict_block): Do not look for REG_LIBCALL_ID notes.
2677         * reload1.c (reload): Delete REG_LIBCALL_ID case.
2678         * rtl.h (delete_insn_chain_and_edges): Resurrect prototype.
2679         * see.c (see_update_relevancy): Look for REG_LIBCALL and REG_RETVAL
2680         notes instead of REG_LIBCALL_ID notes.
2681         * reg-notes.def (LIBCALL_ID): Delete.
2682         * Makefile.in (see.o): Add dce.h dependency.
2683         (cfgcleanup.o): Remove dce.h dependency.
2684
2685 2007-10-22  Michael Matz  <matz@suse.de>
2686
2687         PR tree-optimization/33855
2688         * tree-ssa-phiopt.c (cond_store_replacement): Handle COMPLEX_TYPE
2689         and VECTOR_TYPE.
2690
2691 2007-10-22  Ira Rosen  <irar@il.ibm.com>
2692
2693         PR tree-optimization/33854
2694         * tree-vect-analyze.c (vect_determine_vectorization_factor): Add
2695         FLOAT_EXPR to the list of promotion operations. 
2696
2697 2007-10-22  Rask Ingemann Lambertsen  <rask@sygehus.dk>
2698
2699         PR target/29473
2700         PR target/29493
2701         * config/i386/i386.c (output_pic_addr_const): Support Intel asm syntax.
2702         (print_reg): Print register prefix only with AT&T asm syntax. 
2703         Support pc_rtx for RIP register.
2704         (print_operand_address): Use print_reg()'s pc_rtx support for RIP
2705         relative addressing.  Always print segment register prefix with AT&T
2706         asm syntax and never with Intel asm syntax.
2707         (print_operand): Suppress 'XXX PTR' prefix for BLKmode operands. 
2708         Fix prefix for 16-byte XFmode operands.
2709         (output_addr_const_extra): Support Intel asm syntax.
2710         (x86_file_start): Don't use register prefix with Intel asm syntax.
2711         * config/i386/i386.md ("*zero_extendqihi2_movzbl"): Fix typo.
2712         ("return_internal_long"): Fix Intel asm syntax output.
2713         ("set_got_rex64"): Support Intel asm syntax.
2714         ("set_rip_rex64"): Likewise.
2715         ("set_got_offset_rex64"): Likewise.
2716         ("*sibcall_1_rex64_v"): Print register prefix only with AT&T asm
2717         syntax.
2718         ("*tls_global_dynamic_64"): Likewise.
2719         ("*tls_local_dynamic_base_64"): Likewise.
2720         ("*load_tp_si")("*load_tp_di"): Likewise.
2721         ("*add_tp_si")("*add_tp_di"): Likewise.
2722         ("*tls_dynamic_lea_64"): Likewise.
2723         ("*sibcall_value_1_rex64_v"): Likewise.
2724         ("stack_tls_protect_set_si"): Likewise.
2725         ("stack_tls_protect_set_di"): Likewise.
2726         ("stack_tls_protect_test_si"): Likewise.
2727         ("stack_tls_protect_test_di"): Likewise.
2728         * config/i386/mmx.md ("*mov<mode>_internal_rex64"): Fix Intel asm
2729         syntax output.
2730         ("*movv2sf_internal_rex64"): Likewise.
2731         * config/i386/cpuid.h (__cpuid): Support Intel asm syntax.
2732         (__get_cpuid_max): Likewise.
2733
2734 2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
2735
2736         * config/mips/mips-protos.h (mips_regno_mode_ok_for_base_p): Give
2737         the STRICT_P argument type "bool" rather than "int".
2738         (mips_legitimate_address_p): Likewise.
2739         (fp_register_operand, lo_operand): Delete.
2740         (mips_subword): Give the HIGH_P argument type "bool" rather than "int".
2741         (mips_emit_scc): Rename to...
2742         (mips_expand_scc): ...this.
2743         (gen_conditional_branch): Rename to...
2744         (mips_expand_conditional_branch): ...this.
2745         (gen_conditional_move): Rename to...
2746         (mips_expand_conditional_move): ...this.
2747         (mips_gen_conditional_trap): Rename to...
2748         (mips_expand_conditional_trap): ...this and take an rtx code instead
2749         of an operands array.
2750         (mips_expand_call): Give the SIBCALL_P argument type "bool"
2751         rather than "int".
2752         (mips_emit_fcc_reload): Rename to...
2753         (mips_expand_fcc_reload): ...this.
2754         (init_cumulative_args): Rename to...
2755         (mips_init_cumulative_args): ...this and remove the libname argument.
2756         (function_arg_advance): Rename to...
2757         (mips_function_arg_advance): ...this.
2758         (function_arg): Rename to...
2759         (mips_function_arg): ...this and use "rtx" instead of
2760         "struct rtx_def *".
2761         (function_arg_boundary): Rename to...
2762         (mips_function_arg_boundary): ...this.
2763         (mips_expand_unaligned_load): Rename to...
2764         (mips_expand_ext_as_unaligned_load): ...this and give the WIDTH
2765         and BITPOS arguments type "HOST_WIDE_INT".
2766         (mips_expand_unaligned_store): Rename to...
2767         (mips_expand_ins_as_unaligned_store): ...this and give the WIDTH
2768         and BITPOS arguments type "HOST_WIDE_INT".
2769         (override_options): Rename to...
2770         (mips_override_options): ...this.
2771         (print_operand): Rename to...
2772         (mips_print_operand): ...this.
2773         (print_operand_address): Rename to...
2774         (mips_print_operand_address): ...this.
2775         (mips_output_ascii): Remove the PREFIX argument.
2776         (mips_expand_epilogue): Give the SIBCALL_P argument type "bool"
2777         rather than "int".
2778         (mips_can_use_return_insn): Return a "bool" rather than an "int".
2779         (mips_function_value): Remove the FUNC argument.  Use "rtx" instead
2780         of "struct rtx_def *".
2781         (mips_secondary_reload_class): Give the IN_P argument type "bool"
2782         rather than "int".
2783         (build_mips16_call_stub): Delete.
2784         (mips_store_data_bypass_p): Return a "bool" rather than an "int".
2785         (mips_use_ins_ext_p): Give the second and third arguments type
2786         "HOST_WIDE_INT" rather than "rtx".
2787         * config/mips/mips.h: Update after the above changes.  Tweak comments
2788         and formatting.
2789         (SECONDARY_INPUT_RELOAD_CLASS): Pass a boolean IN_P argument.
2790         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
2791         (mips_print_operand_punct, mips_hard_regno_mode_ok): Change the
2792         element type from "char" to "bool".
2793         (mips_section_threshold, sym_lineno, set_noat, mips_branch_likely)
2794         (mips_cpu_info_table): Delete.
2795         * config/mips/mips.md: Update after the above changes.  Tweak some
2796         formatting.
2797         * config/mips/mips-ps-3d.md: Likewise.
2798         * config/mips/mips.c: Tweak comments and formatting.
2799         Use NULL-like macros rather than 0 in various places.
2800         (mips_section_threshold): Rename to...
2801         (mips_small_data_threshold): ...this and give it an unsigned type.
2802         (num_source_filenames): Remove explicit initialization.
2803         (sdb_label_count): Likewise.
2804         (sym_lineno): Delete.
2805         (set_noat): Make static.
2806         (mips_branch_likely): Likewise, and give it type "bool".
2807         (mips_isa_info): Rename to...
2808         (mips_isa_option_info): ...this.
2809         (mips_flag_delayed_branch): Rename to...
2810         (mips_base_delayed_branch): ...this.
2811         (mips_split_addresses): Delete.
2812         (mips_print_operand_punct, mips_hard_regno_mode_ok): Change the
2813         element type from "char" to "bool".
2814         (mips_regno_to_class): Add an explicit array size.
2815         (mips16_flipper): Change from type "int" to type "bool".
2816         (mips_comp_type_attributes): Remove redundant FUNCTION_TYPE check.
2817         (mips_tls_operand_p): Rename to...
2818         (mips_tls_symbol_p): ...this.
2819         (mips_global_symbol_p): Remove redundant "const".
2820         (mips_offset_within_alignment_p): Simplify.
2821         (mips_regno_mode_ok_for_base_p): Change the name of the last argument
2822         to STRICT_P and give it type bool.
2823         (mips_valid_base_register_p): Likewise.
2824         (mips_classify_address): Likewise.
2825         (mips_legitimate_address_p): Likewise.
2826         (mips16_unextended_reference_p): Take the offset as an
2827         "unsigned HOST_WIDE_INT" rather than an "rtx".  Simplify.
2828         (mips_const_insns): Use IN_RANGE.
2829         (mips_force_temporary): Remove an unnecessary copy_rtx.
2830         (mips16_gp_pseudo_reg): Simplify.
2831         (mips_split_symbol): Remove an unnecessary copy_rtx.
2832         (mips_legitimize_tls_address): Only create registers if we need them.
2833         (mips_legitimize_address): Use mips_split_plus.
2834         (mips_move_integer): Swap DEST and TEMP arguments.  Rename local
2835         variable COST to NUM_OPS.
2836         (mips_legitimize_move): Use gen_lowpart.
2837         (mips_rewrite_small_data): Rename the OP parameter to PATTERN.
2838         (m16_check_op): Use IN_RANGE.
2839         (mips_subword): Give the HIGH_P argument type "bool" rather than "int".
2840         (mips_split_doubleword_move): Pass booleans to mips_subword.
2841         (mips_output_move): Store the mode in a local variable.
2842         Explicitly assert that this function does not deal with
2843         MFLO and MFHI.  Use SMALL_OPERAND_UNSIGNED.  Make order of
2844         cases more consistent.
2845         (mips_relational_operand_ok_p): Rename to...
2846         (mips_int_order_operand_ok_p): ...this.
2847         (mips_canonicalize_comparison): Rename to...
2848         (mips_canonicalize_int_order_test): ...this.
2849         (mips_emit_int_relational): Rename to...
2850         (mips_emit_int_order_test): ...this.  Store the mode in a local
2851         variable.
2852         (mips_reverse_fp_cond_p): Rename to...
2853         (mips_reversed_fp_cond): ...this.
2854         (mips_emit_compare): Make the order of the statements more consistent.
2855         (mips_emit_scc): Rename to...
2856         (mips_expand_scc): ...this.
2857         (gen_conditional_branch): Rename to...
2858         (mips_expand_conditional_branch): ...this.
2859         (gen_conditional_move): Rename to...
2860         (mips_expand_conditional_move): ...this.  Build the condition
2861         separately from the main pattern.
2862         (mips_gen_conditional_trap): Rename to...
2863         (mips_expand_conditional_trap): ...this and take an rtx code instead
2864         of an operands array.  Simplify.
2865         (init_cumulative_args): Rename to...
2866         (mips_init_cumulative_args): ...this.  Use memset rather than a
2867         copy from a zeroed static.  Use prototype_p and stdarg_p.
2868         (mips_arg_info): Rename to...
2869         (mips_get_arg_info): ...this and put the INFO argument first.
2870         (function_arg): Rename to...
2871         (mips_function_arg): ...this and use "rtx" instead of
2872         "struct rtx_def *".  Only split structures into chunks if 
2873         TARGET_HARD_FLOAT, rather than checking !TARGET_SOFT_FLOAT on
2874         a chunk-by-chunk basis.  Use SCALAR_FLOAT_TYPE_P instead of a
2875         comparison with REAL_TYPE.  Rename local variable REG to REGNO
2876         and make it unsigned.
2877         (function_arg_advance): Rename to...
2878         (mips_function_arg_advance): ...this.
2879         (function_arg_boundary): Rename to...
2880         (mips_function_arg_boundary): ...this.
2881         (mips_pad_arg_upward): Use SCALAR_INT_MODE_P instead of a comparison
2882         with MODE_INT.
2883         (mips_fpr_return_fields): Use SCALAR_FLOAT_TYPE_P instead of a
2884         comparison with REAL_TYPE.
2885         (mips_function_value): Remove the FUNC argument.  Rename local
2886         variable UNSIGNEDP to UNSIGNED_P.
2887         (mips_return_in_memory): Use IN_RANGE.
2888         (mips_setup_incoming_varargs): Pass a boolean rather than an int
2889         to FUNCTION_ARG_ADVANCE.
2890         (mips_gimplify_va_arg_expr): Rename local variable INDIRECT
2891         to INDIRECT_P.  Remove a redundant mips_abi check.  Only calculate
2892         SIZE and RSIZE if needed.
2893         (mips16_stub): Rename FPRET to FP_RET_P and give it type "bool"
2894         rather than "int".
2895         (build_mips16_function_stub): Rename to...
2896         (mips16_build_function_stub): ...this.
2897         (build_mips16_call_stub): Rename to...
2898         (mips16_build_call_stub): ...this.  Make static, and return a
2899         "bool" rather than an "int".  Rename the ARG_SIZE argument to
2900         ARGS_SIZE.  Rename the local variable FPRET to FP_RET_P and give
2901         it type "bool".  Use "jr" rather than "j".  Use XNEW.  Simplify.
2902         (mips_load_call_address): Give the SIBCALL_P argument type "bool"
2903         rather than "int".
2904         (mips_expand_call): Likewise.  Assert that MIPS16 calls via stubs
2905         are not sibling ones.
2906         (mips_emit_fcc_reload): Rename to...
2907         (mips_expand_fcc_reload): ...this.
2908         (mips_get_unaligned_mem): Give the WIDTH and BITPOS arguments type
2909         "HOST_WIDE_INT".
2910         (mips_expand_unaligned_load): Rename to...
2911         (mips_expand_ext_as_unaligned_load): ...this and give the WIDTH
2912         and BITPOS arguments type "HOST_WIDE_INT".  Remove redundant
2913         SUBREG_BYTE check.
2914         (mips_expand_unaligned_store): Rename to...
2915         (mips_expand_ins_as_unaligned_store): ...this and give the WIDTH
2916         and BITPOS arguments type "HOST_WIDE_INT".
2917         (mips_use_ins_ext_p): Rename second and third arguments to WIDTH
2918         and BITPOS and give them type "HOST_WIDE_INT" rather than "rtx".
2919         Use IN_RANGE.
2920         (mips_init_split_addresses): Replace with...
2921         (mips_split_addresses_p): ...this new function.
2922         (mips_init_relocs): Check mips_split_addresses_p () rather than
2923         mips_split_addresses.  Always initialize mips_split_p with booleans.
2924         (print_operand_reloc): Rename to...
2925         (mips_print_operand_reloc): ...this.  Use a gcc_assert rather than
2926         a fatal_error.
2927         (print_operand): Rename to...
2928         (mips_print_operand): ...this.
2929         (print_operand_address): Rename to...
2930         (mips_print_operand_address): ...this.  Use GP_REG_FIRST.
2931         (mips_in_small_data_p): Simplify.
2932         (mips_output_ascii): Remove the PREFIX argument and "register"
2933         keywords.  Use the STRING parameter directly and cast to
2934         "unsigned char".
2935         (mips16e_collect_argument_save_p): Use IN_RANGE.
2936         (mips_function_has_gp_insn): Simplify.
2937         (mips_set_return_address): Use BITSET_P.
2938         (mips_restore_gp): Use a separate statement to pick the base
2939         register.
2940         (mips_output_function_prologue): Use a local FRAME variable.
2941         (mips_save_reg): Pass booleans to mips_subword.
2942         (mips_expand_prologue): Use a local FRAME variable.  Use
2943         cprestore_size to detect when .cprestore is needed.
2944         (mips_restore_reg): Use GP_REG_FIRST.
2945         (mips_expand_epilogue): Give the SIBCALL_P argument type "bool"
2946         rather than "int".  Use local FRAME and REGNO variables.
2947         (mips_can_use_return_insn): Return a "bool" rather than an "int".
2948         (mips_secondary_reload_class): Give the IN_P argument type "bool"
2949         rather than "int".
2950         (mips_linked_madd_p): Rename arguments to OUT_INSN and IN_INSN.
2951         (mips_store_data_bypass_p): Return a "bool" rather than an "int".
2952         (vr4130_swap_insns_p): Rename local variables to DEP1_P and DEP2_P.
2953         (mips_74k_agen_init): Assume INSN satisfies USEFUL_INSN_P.
2954         (mips_variable_issue): Do nothing unless INSN satisfies USEFUL_INSN_P.
2955         (builtin_description): Rename to...
2956         (mips_builtin_description): ...this.
2957         (mips_bdesc): Rename to...
2958         (mips_ps_bdesc): ...this.
2959         (sb1_bdesc): Rename to...
2960         (mips_sb1_bdesc): ...this.
2961         (dsp_bdesc): Rename to...
2962         (mips_dsp_bdesc): ...this.
2963         (dsp_32only_bdesc): Rename to...
2964         (mips_dsp_32only_bdesc): ...this.
2965         (bdesc_map): Rename to...
2966         (mips_bdesc_map): ...this.
2967         (bdesc_arrays): Rename to...
2968         (mips_bdesc_arrays): ...this.
2969         (mips_prepare_builtin_arg): Rename OP to OPNO and ARGNUM to ARGNO.
2970         Tweak error message.
2971         (mips_expand_builtin_direct): Rename HAS_TARGET to HAS_TARGET_P.
2972         Rename local variables I and J to OPNO and ARGNO respectively.
2973         Assert that the number of arguments is no more than the number of
2974         input operands.
2975         (mips_expand_builtin_compare): Use an array of arguments rather
2976         than an array of operands.  Assert that the number of operands is
2977         as expected.
2978         (add_constant): Rename to...
2979         (mips16_add_constant): ...this.  Use XNEW.
2980         (dump_constants_1): Rename to...
2981         (mips16_emit_constants_1): ...this.  Use ALL_SCALAR_FIXED_POINT_MODE_P.
2982         (dump_constants): Rename to...
2983         (mips16_emit_constants): ...this.
2984         (mips_sim_wait_reg, mips_sim_record_set): Use END_REGNO.
2985         (mips_set_mips16_mode): Don't call mips_init_split_addresses.
2986         Assign mips16_p to was_mips16_p.
2987         (mips_parse_cpu): Tweak warning message.
2988         (override_options): Rename to...
2989         (mips_override_options): ...this.  Move the mips_cost initialization
2990         out of the "shared with GAS" block.  Quote option names in error
2991         messages.
2992         (mips_conditional_register_usage): Make local variable REGNO unsigned.
2993         (mips_order_regs_for_local_alloc): Remove register keyword.
2994
2995 2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
2996
2997         * system.h (IN_RANGE): Cast each argument individually.
2998
2999 2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
3000
3001         * config/mips/mips.c (mips_set_mips16_mode) Say sorry for hard-float
3002         MIPS16 code unless using o32 or o64.  
3003
3004 2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
3005
3006         * config/mips/mips.c (mips_cannot_change_mode_class): Don't check
3007         for modes smaller than 4 bytes.
3008         * config/mips/mips.md (*movhi_internal, *movqi_internal): Remove
3009         FPR alternatives.
3010
3011 2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
3012
3013         * config/mips/mips-protos.h (mips_output_aligned_bss): Delete.
3014         * config/mips/linux.h (BSS_SECTION_ASM_OP): Delete.
3015         (ASM_OUTPUT_ALIGNED_BSS): Delete.
3016         * config/mips/mips.c (mips_output_aligned_bss): Delete.
3017
3018 2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
3019
3020         * config/mips/mips.c (mips_function_ok_for_sibcall): Only forbid
3021         sibling calls to "mips16" functions if the function satisfies
3022         const_call_insn_operand.
3023
3024 2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
3025
3026         * config/mips/mips.c (mips_va_start): Fix types in calls
3027         to build_int_cst.
3028
3029 2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
3030
3031         * config/mips/mips.c (mips_rtx_costs): Only recognize reciprocals
3032         if ISA_HAS_FP4.
3033
3034 2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
3035
3036         * config/mips/mips.h (ISA_HAS_LDC1_SDC1): New macro.
3037         * config/mips/mips.c (mips_split_64bit_move_p): Use ISA_HAS_LDC1_SDC1
3038         instead of checking mips_isa.
3039
3040 2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
3041
3042         * doc/invoke.texi (-mpaired-single): Don't say that the option
3043         requires 64-bit code.
3044         * config/mips/mips-protos.h (mips_modes_tieable_p): Declare.
3045         * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): New macro.
3046         (ISA_HAS_NMADD_NMSUB): Add a mode argument.  Return true for
3047         V2SF if ISA_MIPS32R2.
3048         (MODES_TIEABLE_P): Use mips_modes_tieable_p.
3049         * config/mips/mips.c (mips_rtx_costs): Pass a mode argument
3050         to ISA_HAS_NMADD_NMSUB.
3051         (mips_split_doubleword_move): Handle V2SF.
3052         (mips_modes_tieable_p): New function.
3053         (override_options): Report a warning rather than an error when
3054         -mpaired-single is used on ISAs that don't support it; use
3055         ISA_HAS_PAIRED_SINGLE to check that case.
3056         * config/mips/mips.md (MOVE64): New mode iterator.  Replace DI
3057         and DF move splitters with a single MOVE64 splitter, thereby adding
3058         a V2SF splitter too.
3059         (SPLITF): Add TARGET_DOUBLE_FLOAT conditions to DI and DF.
3060         Add a TARGET_FLOAT64 condition to TF.  Add V2SF to the iterator.
3061         (HALFMODE): Add V2SF.
3062         (*nmadd<mode>, *nmadd<mode>_fastmath, *nmsub<mode>)
3063         (*nmsub<mode>_fastmath): Add a mode argument to ISA_HAS_NMADD_NMSUB.
3064         (movv2sf_hardfloat_64bit): Tweak ordering of conditions.
3065         (movv2sf_hardfloat_32bit): New pattern.
3066         (load_low<mode>, load_high<mode>, store_word<mode>): Remove
3067         TARGET_DOUBLE_FLOAT conditions.
3068
3069 2007-10-20  Jakub Jelinek  <jakub@redhat.com>
3070
3071         * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Point
3072         saved CR2 offset to low 32 bits of regs->ccr rather than the whole
3073         64-bit register in 64-bit libgcc.
3074
3075 2007-10-20  Eric B. Weddington  <eweddington@cso.atmel.com>
3076
3077         * config/avr/avr.c (avr_mcu_types): Add at90pwm2b, at90pwm3b.
3078         * config/avr/avr.h (LINK_SPEC): Likewise.
3079         (CRT_BINUTILS_SPECS): Likewsie.
3080         * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
3081
3082 2007-10-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
3083
3084         * doc/invoke.texi (Warning Options): Move -w, -Werror, -Werror=
3085         and -Wfatal-errors together.
3086         
3087 2007-10-20  Alan Modra  <amodra@bigpond.net.au>
3088
3089         PR target/33812
3090         * config/rs6000/rs6000.c (rs6000_emit_epilogue): Revert 2007-05-16
3091         change for vrsave, ie restore after frame pop.
3092
3093 2007-10-19  David S. Miller  <davem@davemloft.net>
3094
3095         * config/sparc/niagara2.md: Fix copyright notice.
3096
3097 2007-10-19  Sebastian Pop  <sebastian.pop@amd.com>
3098
3099         PR tree-optimization/23820
3100         PR tree-optimization/24309
3101         PR tree-optimization/33766
3102         * testsuite/gcc.dg/tree-ssa/pr23820.c: New.
3103         * testsuite/gcc.dg/tree-ssa/pr24309.c: New.
3104         * testsuite/gcc.dg/tree-ssa/pr33766.c: New.
3105         * testsuite/gcc.dg/tree-ssa/ltrans-3.c: XFAILed.
3106         * tree-loop-linear.c (perfect_loop_nest_depth): New.
3107         (linear_transform_loops): Use perfect_loop_nest_depth.
3108         * lambda-code.c (perfect_nest_p): Outer loops in perfect nests 
3109         should have a single condition: their exit.
3110
3111 2007-10-19  Richard Guenther  <rguenther@suse.de>
3112
3113         PR middle-end/33816
3114         PR middle-end/32921
3115         * stor-layout.c (layout_type): Assert that aggregates do not
3116         have their alias sets set.
3117         * alias.c (get_alias_set): Return alias set zero for incomplete
3118         types, return the alias set of the element for incomplete array
3119         types, but do not remember these.
3120
3121 2007-10-19  Richard Guenther  <rguenther@suse.de>
3122
3123         Revert
3124         2007-10-19  Richard Guenther  <rguenther@suse.de>
3125
3126         PR middle-end/32921
3127         * tree.c (build_array_type): Do not re-layout unbound array
3128         types.
3129
3130 2007-10-19  Richard Guenther  <rguenther@suse.de>
3131
3132         PR middle-end/32921
3133         * tree.c (build_array_type): Do not re-layout unbound array types.
3134
3135 2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
3136
3137         * config/mips/mips.c (mips_canonicalize_comparison):  Check
3138         mips_relational_operand_ok_p before trying to rewrite the test.
3139         Only calculate PLUS_ONE if needed.
3140         (mips_emit_int_relational): Don't call mips_relational_operand_ok_p
3141         here.
3142
3143 2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
3144
3145         * config/mips/mips.c (mips16e_build_save_restore): Fix *OFFSET_PTR
3146         calculation.
3147
3148 2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
3149
3150         * config/mips/mips.c (mips_call_tls_get_addr): Don't claim that
3151         the call uses the incoming value of $2.
3152
3153 2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
3154
3155         * config/mips/mips.c (mips_call_tls_get_addr): Use gen_const_mem
3156         rather then gen_rtx_MEM.
3157         (mips_setup_incoming_varargs): Use gen_frame_mem rather than
3158         gen_rtx_MEM.
3159         (mips_set_return_address): Likewise.
3160         (mips_restore_gp): Likewise.
3161
3162 2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
3163
3164         * config/mips/mips.c (gpr_mode): Delete.
3165         (mips16e_build_save_restore): Use word_mode and UNITS_PER_WORD
3166         instead of gpr_mode.
3167         (mips_for_each_saved_reg): Likewise.
3168         (mips_expand_prologue, mips_expand_epilogue): Likewise.
3169         (override_options): Don't initialize gpr_mode.
3170         * config/mips/mips.md (eh_return): Use word_mode instead of gpr_mode.
3171
3172 2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
3173
3174         * config/mips/mips.c (mips_hard_regno_nregs): Put the UNITS_PER_WORD
3175         case last.
3176         (mips_class_max_nregs): Calculate the smallest consituent register
3177         size and use that to determine an upper bound on the number of
3178         registers.
3179
3180 2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
3181
3182         * config/mips/mips.c (mips16_copy_fpr_return_value): New function,
3183         split out from...
3184         (mips_expand_epilogue): ...here.
3185         (mips_mdebug_abi_name): New function, split out from...
3186         (mips_file_start): ...here.
3187         (mips_hard_regno_mode_ok_p): New function, split out from...
3188         (override_options): ...here.
3189         (mips_expand_builtin_1): New function, split out from...
3190         (mips_expand_buitin): ...here.  Abort if we don't recognize
3191         the function.
3192
3193 2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
3194
3195         * config/mips/mips.c (build_mips16_function_stub): Load the
3196         target address into $1 before transfering the arguments.
3197         Don't use ".set noreorder".
3198         (build_mips16_call_stub): Likewise.
3199
3200 2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
3201
3202         * config/mips/mips.c (mips_output_32bit_xfer): New function.
3203         (mips_output_64bit_xfer): Likewise.
3204         (mips16_fp_args): Rename to...
3205         (mips_output_args_xfer): ...this and replace the FROM_FP_P argument
3206         with a DIRECTION argument.  Use mips_output_32bit_xfer and
3207         mips_output_64bit_xfer.
3208         (build_mips16_function_stub): Update accordingly.
3209         (mips16_fpret_double): Delete.
3210         (build_mips16_call_stub): Update after above changes.
3211         Use mips_output_32bit_xfer.  Use mips_output_64bit_xfer instead
3212         of mips16_fpret_double.  Use GP_REG_RETURN.
3213
3214 2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
3215
3216         * config/mips/mips.c (mips16_fp_args): Remove the FILE argument and
3217         use asm_out_file instead.
3218         (build_mips16_function_stub): Likewise.
3219         (build_mips16_call_stub, mips_output_function_prologue): Update
3220         accordingly.
3221
3222 2007-10-18  David S. Miller  <davem@davemloft.net>
3223
3224         Add Niagara-2 support.
3225         * doc/invoke.texi: Document -m{cpu,tune}=niagara2.
3226         * config.gcc: Add niagara2 to cpu and tune lists for sparc.
3227         * config/sparc/sparc.md (sparc_cpu_attr): Add niagara2.
3228         (include): Add inclusion of niagara2.md
3229         * config/sparc/sparc.c (niagara2_costs): New.
3230         (sparc_override_options): Add niagara2 entry to cpu_default[]
3231         and cpu_table[].  Set align_functions to 32 on Niagara2.  Use
3232         niagara2_costs when PROCESSOR_NIAGARA2.  Handle Niagara2 for
3233         PARAM_SIMULTANEOUS_PREFETCHES and PARAM_L1_CACHE_LINE_SIZE.
3234         (sparc_initialize_trampoline): Handle niagara2 like niagara.
3235         (sparc64_initialize_trampoline): Likewise.
3236         (sparc_use_sched_lookahead): Likewise.
3237         (sparc_issue_rate): Likewise.
3238         * config/sparc/sol2-bi.h: Handle TARGET_CPU_niagara2 and
3239         mcpu=niagara2
3240         * config/sparc/sparc.h (TARGET_CPU_niagara2): Define.
3241         ({CPP,ASM}_CPU64_DEFAULT_SPEC): Set appropriately for
3242         TARGET_CPU_niagara2.
3243         (PROCESSOR_NIAGARA2): New.
3244         (REGISTER_MOVE_COST): Handle PROCESSOR_NIAGARA2.
3245         (BRANCH_COST): Likewise.
3246         * config/sparc/linux64.h: Handle TARGET_CPU_niagara2.
3247         * config/sparc/sol2.h: Likewise.
3248         * config/sparc/niagara2.md: New file.
3249
3250 2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
3251
3252         * config/mips/mips.c (mips_frame_info): Remove gp_reg_size and
3253         and fp_reg_size.
3254         (mips_compute_frame_info): Remove associated code.
3255         (mips16e_build_save_restore): Check num_fp instead of fp_reg_size.
3256
3257 2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
3258
3259         * config/mips/mips-protos.h (compute_frame_size): Delete.
3260         * config/mips/mips.h: Update comments.
3261         * config/mips/mips.c (mips_frame_info): Remove initialized.
3262         (compute_frame_size): Rename to...
3263         (mips_compute_frame_info): ...this and make static.  Remove the
3264         SIZE argument and return no value.  Remove the setting of initialized.
3265         Update rest of file accordingly.
3266         (mips_set_return_address): Don't call compute_frame_size.
3267         (mips_can_use_return_insn): Don't check df_regs_ever_live_p (31).
3268         Don't call compute_frame_size.
3269
3270 2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
3271
3272         * config/mips/mips-protos.h (mips_frame_pointer_required): Declare.
3273         * config/mips/mips.h (FRAME_POINTER_REQUIRED): Use
3274         mips_hard_frame_pointer_required.
3275         (CAN_ELIMINATE): Rely on FRAME_POINTER_REQUIRED to check for
3276         large MIPS16 frames.
3277         * config/mips/mips.c (mips_frame_pointer_required): New function.
3278
3279 2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
3280
3281         * config/mips/mips.c (mips_frame_info): Add arg_pointer_offset
3282         and hard_frame_pointer_offset.
3283         (mips_debugger_offset): Use hard_frame_pointer_offset.
3284         (mips16e_collect_argument_save_p): Likewise.
3285         (compute_frame_size): Initialize arg_pointer_offset and
3286         hard_frame_pointer_offset.
3287         (mips_initial_elimination_offset): Use them.
3288         (mips_output_function_prologue): Use hard_frame_pointer_offset.
3289         (mips_expand_prologue, mips_expand_epilogue): Likewise.
3290
3291 2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
3292
3293         * config/mips/mips.h (STARTING_FRAME_OFFSET): Remove rtl
3294         profiling code.
3295         * config/mips/mips.c (mips_frame_info): Give num_gp and num_fp type
3296         "unsigned int" rather than "int" and put them with the other
3297         register-related fields.  Put expanded comments above fields
3298         rather than to their right.
3299         (mips16e_mask_registers): Replace the GP_REG_SIZE_PTR argument
3300         with a NUM_REGS_PTR argument.
3301         (mips16e_save_restore_pattern_p): Update accordingly.
3302         (compute_frame_size): Clarify frame diagram.  Rewrite.
3303
3304 2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
3305
3306         * config/mips/mips-ftypes.def: New file.
3307         * config/mips/mips.c (MIPS_FTYPE_NAME1, MIPS_FTYPE_NAME2)
3308         (MIPS_FTYPE_NAME3, MIPS_FTYPE_NAME4): New macros.
3309         (mips_function_type): Redefine using mips-ftypes.def.
3310         (dsp_bdesc): Use POINTER rather than PTR in the MIPS_*_FTYPE_* names.
3311         (mips_builtin_vector_type): New function.
3312         (MIPS_ATYPE_VOID, MIPS_ATYPE_INT, MIPS_ATYPE_POINTER, MIPS_ATYPE_SI)
3313         (MIPS_ATYPE_USI, MIPS_ATYPE_DI, MIPS_ATYPE_SF, MIPS_ATYPE_DF)
3314         (MIPS_ATYPE_V2SF, MIPS_ATYPE_V2HI, MIPS_ATYPE_V4QI, MIPS_FTYPE_ATYPES1)
3315         (MIPS_FTYPE_ATYPES2, MIPS_FTYPE_ATYPES3, MIPS_FTYPE_ATYPES4): New
3316         macros.
3317         (mips_build_function_type): New function.
3318         (mips_init_builtins): Use it to create types lazily.
3319
3320 2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
3321
3322         * config/mips/mips.h (set_volatile): Delete.
3323         * config/mips/mips.c (set_volatile): Delete.
3324         (mips_print_operand_punctuation): New function, split out from
3325         print_operand.  Remove '%{', '%}', '%~', '%&' and '%!'.
3326         Use the same character ordering in the code and the comments.
3327         Use a recursive call to handle '*'.  Abort on unknown characters.
3328         (mips_init_print_operand_punct): New function, split out from
3329         override_options.
3330         (mips_print_int_branch_condition): New function, split out from
3331         print_operand.  Use GET_RTX_NAME.  Use output_operand_lossage
3332         to report unexpected codes.
3333         (mips_print_float_branch_condition): New function, split out from
3334         print_operand.  Use output_operand_lossage to report unexpected codes.
3335         (print_operand): Rework to use a case statement.  Use the
3336         same letter ordering in the code and the comments.  Use
3337         output_operand_lossage to report unexpected codes and
3338         reverse_condition to handle inverted branch conditions.
3339         (override_options): Use mips_init_print_operand_punct.
3340
3341 2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
3342
3343         * config/mips/mips.h: Move variable declarations to end of file and
3344         enclose them all in #ifndef USED_FOR_TARGET.
3345         * config/mips/mips.c: Reorder functions into more logical groups,
3346         and so that callees appear before callers.  Put the targetm
3347         initializer at the end of the file.  Remove forward static
3348         declarations where possible.
3349         (mips_init_builtins): Add "static" to definition.
3350         (mips_expand_builtin, mips_mode_rep_extended): Likewise.
3351
3352 2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
3353
3354         * config/mips/mips.c (TARGET_MIN_ANCHOR_OFFSET): Delete.
3355         (TARGET_MAX_ANCHOR_OFFSET): Delete.
3356         (mips_cannot_force_const_mem): Don't check TARGET_HAVE_TLS.
3357         (mips_set_mips16_mode): Initialize min_anchor_offset and
3358         max_anchor_offset directly to constants.
3359
3360 2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
3361
3362         * config/mips/mips.c: Delete trailing whitespace.
3363
3364 2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
3365
3366         * config/mips/mips.c (mips_expand_call): Use FAKE_CALL_REGNO.
3367         (mips_avoid_hazard): Allow multiple sets for HAZARD_DELAY,
3368         and pick the first.
3369         * config/mips/mips.md (load_call<mode>): Don't make the unspec
3370         depend on FAKE_CALL_REGNO.  Set FAKE_CALL_REGNO.
3371
3372 2007-10-18  David Daney  <ddaney@avtrex.com>
3373
3374         * config/mips/linux-unwind.h (mips_fallback_frame_state): Use new
3375         reg_offset variable to calculate register locations.
3376
3377 2007-10-18  Richard Guenther  <rguenther@suse.de>
3378
3379         * tree-ssa.c (uid_ssaname_map_eq): New function.
3380         (uid_ssaname_map_has): Likewise.
3381         (init_tree_ssa): Allocate default_defs as uid_ssaname map.
3382         * tree-flow.h (struct gimple_df): Make default_defs a
3383         uid_ssaname map.
3384         * tree-dfa.c (gimple_default_def): Deal with it.
3385         (set_default_def): Likewise.
3386
3387 2007-10-18  Richard Guenther  <rguenther@suse.de>
3388
3389         * tree-flow.h (struct gimple_df): Make referenced_vars
3390         a uid_decl_map.
3391         (uid_decl_map_eq): Declare.
3392         (uid_decl_map_hash): Likewise.
3393         * tree-ssa.c (uid_decl_map_eq): New function.
3394         (uid_decl_map_hash): Likewise.
3395         (init_tree_ssa): Make referenced_vars a uid_decl_map.
3396         * tree-flow-inline.h (first_referenced_var): Deal with
3397         the referenced_vars representation change.
3398         (next_referenced_var): Likewise.
3399         * tree-dfa.c (referenced_var_lookup): Likewise.
3400         (referenced_var_check_and_insert): Likewise.
3401         (remove_referenced_var): Likewise.
3402
3403 2007-10-18  Daniel Jacobowitz  <dan@codesourcery.com>
3404
3405         * config/mips/mips.c (mips_dwarf_register_span): New.
3406         (TARGET_DWARF_REGISTER_SPAN): Define.
3407
3408 2007-10-18  Chen Liqin  <liqin@sunnorth.com.cn>
3409
3410         * config.gcc : update score-*-elf(extra_objs).
3411         * config/score/mac.md : Remove.
3412         * config/score/misc.md : Remove.
3413         * config/score/score7.md : Remove.
3414         * config/score/score-mdaux.h : Remove.
3415         * config/score/score-mdaux.c : Remove.
3416         * config/score/score-version.h : Remove.
3417         * config/score/score-generic.md : New.
3418         * config/score/score3.h : New.
3419         * config/score/score3.c : New.
3420         * config/score/score7.h : New.
3421         * config/score/score7.c : New.
3422         * config/score/mul-div.S : add flush_cache score3 support.
3423         * config/score/elf.h : Fix some typos.
3424         * config/score/score.md : merge score3 and score7 pattern.