re PR middle-end/19984 (nan should be C99 built-in)
[gcc.git] / gcc / ChangeLog
1 2008-02-25 Uros Bizjak <ubizjak@gmail.com>
2
3 PR middle-end/19984
4 * builtins.def (BUILT_IN_NAN): Define as c99 builtin
5 using DEF_C99_BUILTIN.
6 (BUILT_IN_NANF): Ditto.
7 (BUILT_IN_NANL): Ditto.
8
9 2008-02-25 Ayal Zaks <zaks@il.ibm.com>
10 Revital Eres <eres@il.ibm.com>
11
12 * modulo-sched.c (calculate_must_precede_follow): Address TODO
13 regarding the order of two dependent insns in the same row.
14
15 2008-02-25 Eric Botcazou <ebotcazou@adacore.com>
16
17 * stor-layout.c (layout_decl): Do not bump the alignment of a
18 bit-field to more than byte alignment if it is packed.
19
20 2008-02-24 David Edelsohn <edelsohn@gnu.org>
21
22 * config/rs6000/rs6000.c (processor_costs): Add cache costs for
23 e300c2 and e300c3.
24
25 2008-02-24 Diego Novillo <dnovillo@google.com>
26
27 http://gcc.gnu.org/ml/gcc-patches/2008-02/msg01094.html
28
29 PR 33738
30 * tree-vrp.c (vrp_evaluate_conditional): With
31 -Wtype-limits, emit a warning when comparing against a
32 constant outside the natural range of OP0's type.
33 * c.opt (Wtype-limits): Move ...
34 * common.opt (Wtype-limits): ... here.
35
36 2008-02-24 Edmar Wienskoski <edmar@freescale.com>
37
38 * config.gcc (powerpc*-*-*): Add new cores e300c2 and e300c3.
39 * config/rs6000/e300c2c3.md: New file.
40 * config/rs6000/rs6000.c (processor_costs): Add new costs for
41 e300c2 and e300c3.
42 (rs6000_override_options): Add e300c2 and e300c3 cases to
43 processor_target_table. Do not allow usage of Altivec or Spe
44 with e300 cores. Initialize rs6000_cost for e300c2 and e300c3.
45 (rs6000_issue_rate): Set issue rate for e300c2 and e300c3.
46 * config/rs6000/rs6000.h (processor_type): Add
47 PROCESSOR_PPCE300C2 and PROCESSOR_PPCE300C3.
48 (ASM_CPU_SPEC): Add e300c2 and e300c3.
49 * config/rs6000/rs6000.md (define_attr "cpu"): Add ppce300c2
50 and ppce300c3. Include e300c2c3.md.
51
52 2008-02-23 David Edelsohn <edelsohn@gnu.org>
53
54 * config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Use STRICT_ALIGNMENT
55 instead of TARGET_STRICT_ALIGN.
56
57 2008-02-23 Joseph Myers <joseph@codesourcery.com>
58
59 * explow.c (memory_address): Assert that the generated address is
60 valid.
61
62 2008-02-23 Francois-Xavier Coudert <coudert@clipper.ens.fr>
63
64 PR target/25477
65 * config/darwin-protos.h: Add darwin_patch_builtins prototype.
66 * config/darwin-ppc-ldouble-patch.def: New file.
67 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): New macro.
68 * config/rs6000/rs6000.c (rs6000_init_builtins): Call
69 SUBTARGET_INIT_BUILTINS if defined.
70 * config/darwin.c (darwin_patch_builtin, darwin_patch_builtins):
71 New functions.
72
73 2008-02-23 Andrew Pinski <andrew_pinski@playstation.sony.com>
74
75 PR rtl-opt/33512
76 * simplify-rtx.c (simplify_binary_operation_1): Add simplification
77 of (and X (ior (not X) Y) and (and (ior (not X) Y) X).
78
79 2008-02-23 Andrew Pinski <andrew_pinski@playstation.sony.com>
80
81 PR pch/35027
82 * c-pch.c (c_common_valid_pch): Make the "too short to be a PCH
83 file" warning condtional on -Winvalid-PCH.
84
85 2008-02-23 Daniel Jacobowitz <dan@codesourcery.com>
86
87 * expmed.c (extract_bit_field): Always use adjust_address for MEM.
88
89 2008-02-23 Uros Bizjak <ubizjak@gmail.com>
90
91 PR target/22076
92 PR target/34256
93 * config/i386/mmx.md (*mov<mode>_internal_rex64): Use "!y" to
94 prevent reload from using MMX registers.
95 (*mov<mode>_internal): Ditto.
96 (*movv2sf_internal_rex64): Ditto.
97 (*movv2sf_internal): Ditto.
98
99 2008-02-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
100
101 PR documentation/31569
102 * doc/install.texi2html: Use makeinfo --no-number-sections.
103
104 2008-02-22 Nathan Froyd <froydnj@codesourcery.com>
105
106 * config/rs6000/rs6000.c (rs6000_legitimize_address): Check to
107 ensure that we can address an entire entity > 8 bytes. Don't
108 generate reg+reg addressing for such data.
109
110 2008-02-22 Nathan Froyd <froydnj@codesourcery.com>
111
112 * config/rs6000/rs6000.h (CONSTANT_ALIGNMENT): Don't overalign
113 strings when optimizing for size, unless the target cares about
114 alignment.
115
116 2008-02-22 Tom Tromey <tromey@redhat.com>
117
118 * regclass.c (current_pass): Remove declaration.
119
120 2008-02-22 Anatoly Sokolov <aesok@post.ru>
121
122 * config/avr/libgcc.S (__RAMPZ__): Define.
123 (__do_copy_data): Add for devices with 128KB code memory.
124
125 2008-02-22 Nathan Froyd <froydnj@codesourcery.com>
126
127 * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
128 Use spe_abi.
129 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
130
131 2008-02-22 Hans-Peter Nilsson <hp@axis.com>
132
133 * config/cris/cris.h (REG_CLASS_FROM_LETTER): Recognize 'b' for
134 GENNONACR_REGS.
135
136 2008-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
137
138 PR c/19999
139 * c-typeck.c (build_binary_op): Warn about floating point
140 comparisons if FLOAT_TYPE_P, not only for REAL_TYPE.
141
142 2008-02-21 Janis Johnson <janis187@us.ibm.com>
143
144 PR target/34526
145 * config/rs6000/rs6000.c (rs6000_altivec_abi): Clarify comment.
146 (rs6000_explicit_options): Split abi into spe_abi and altivec_abi,
147 add vrsave.
148 (rs6000_override_options): Set altivec_abi as default, not override,
149 for 64-bit GNU/Linux; for 32-bit GNU/Linux default to altivec_abi for
150 TARGET_ALTIVEC; default to TARGET_ALTIVEC_VRSAVE when AltiVec ABI
151 is used; use new member spe_abi.
152 (rs6000_handle_option): Set rs6000_explicit_options.vrsave; use
153 spe_abi and altivec_abi.
154
155 2008-02-22 Tomas Bily <tbily@suse.cz>
156
157 * tree-vectorizer.c (vect_is_simple_reduction): Fix comment typo.
158
159 2008-02-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
160
161 PR bootstrap/35273
162 * config.build (build_file_translate): Set to `CMD //c' only if
163 it works.
164 * Makefile.in (build_file_translate): Improve comment.
165
166 2008-02-21 Jan Hubicka <jh@suse.cz>
167
168 * predict.def (PRED_TREE_OPCODE_POSITIVE, PRED_TREE_OPCODE_NONEQUAL,
169 PRED_TREE_OPCODE_POSITIVE, PRED_TREE_OPCODE_NONEQUAL, PRED_CALL,
170 PRED_TREE_EARLY_RETURN, PRED_NULL_RETURN): Update.
171
172 2008-02-21 Michael Matz <matz@suse.de>
173
174 PR target/35264
175 * config/i386/i386.c (ix86_expand_branch): Add missing breaks.
176
177 2008-02-21 Uros Bizjak <ubizjak@gmail.com>
178
179 * config/i386/i386.md (mov<mode>cc): Macroize expander from movsfcc,
180 movdfcc and movxfcc using X87MODEF mode iterator and SSE_FLOAT_MODE_P
181 as insn constraint.
182 * config/i386/sse.md (<sse>_movup<ssemodesuffixf2c>): Macroize insn
183 from sse_movups adn sse2_movupd using SSEMODEF2P mode iterator and
184 SSE_VEC_FLOAT_MODE_P as insn constraint.
185 (<sse>_movmskp<ssemodesuffixf2c>): Ditto from similar patterns.
186 (sse4a_movnt<mode>): Macroize insn from sse4a_movntsf and
187 sse4a_movntdf using MODEF mode iterator.
188 (sse4a_vmmovnt<mode>): Macroize insn form sse4a_vmmovntv2df and
189 sse4a_vmmovntv4sf using SSEMODEF2P mode iterator.
190 (sse4_1_blendp<ssemodesuffixf2c>): Ditto from similar patterns.
191 (sse4_1_blendvp<ssemodesuffixf2c>): Ditto.
192 (sse4_1_dpp<ssemodesuffixf2c>): Ditto.
193 (sse4_1_roundp<ssemodesuffixf2c>): Ditto.
194 (sse4_1_rounds<ssemodesuffixf2c>): Ditto.
195
196 2008-02-21 Richard Guenther <rguenther@suse.de>
197
198 * tree.def (PAREN_EXPR): New tree code.
199 * fold-const.c (fold_unary): Remove PAREN_EXPR around constants
200 and PAREN_EXPR.
201 * tree-pretty-print.c (dump_generic_node): Handle PAREN_EXPR.
202 * expr.c (expand_expr_real_1): Likewise.
203 * tree-inline.c (estimate_num_insns_1): Likewise.
204 * tree-complex.c (expand_complex_move): Likewise.
205 * tree-vectorizer.c (vect_is_simple_use): Treat PAREN_EXPR (x)
206 as plain x.
207
208 2008-02-20 Kaz Kojima <kkojima@gcc.gnu.org>
209
210 PR target/35225
211 * config/sh/sh.c (find_barrier): Don't go past 'from' argument.
212
213 2008-02-20 Kaz Kojima <kkojima@gcc.gnu.org>
214
215 PR target/35190
216 * config/sh/sh.md (jump_compact): Disable for crossing jumps.
217
218 * config/sh/sh.c (find_barrier): Don't go past
219 NOTE_INSN_SWITCH_TEXT_SECTIONS note.
220
221 2008-02-20 DJ Delorie <dj@redhat.com>
222
223 * config/h8300/h8300.md (insv): Force source operand to be a register.
224
225 * config/h8300/h8300.c (h8300_expand_epilogue): Emit return insn
226 as a jump, not as a plain insn.
227
228 2008-02-20 Seongbae Park <seongbae.park@gmail.com>
229
230 * doc/invoke.texi (Warning Options): Add new option
231 -Wframe-larger-than=.
232 (-Wframe-larger-than): Document.
233
234 * flags.h (warn_frame_larger_than, frame_larger_than_size):
235 Add declarations for new option variables.
236
237 * final.c (final_start_function): Check the frame size
238 before emission and issue a Wframe-larger-than warning.
239
240 * opts.c (warn_frame_larger_than, frame_larger_than_size):
241 Add definitions for new option variables.
242 (common_handle_option): Handle new option OPT_Wframe_larger_than_.
243
244 * common.opt (Wframe-larger-than=): New option.
245
246 2008-02-20 Uros Bizjak <ubizjak@gmail.com>
247
248 * config/i386/sse.md (<sse>_vmmul<mode>3): Fix typo in asm template.
249 (<sse>_div<mode>3): Ditto.
250 (<sse>_vmdiv<mode>3): Ditto.
251 (<sse>_vmsqrt<mode>2): Ditto.
252 (*smax<mode>3): Ditto.
253 (sse5_frcz<mode>2): Ditto.
254 (sse5_vmfrcz<mode>2): Ditto. Use TARGET_SSE5 instead of TARGET_ROUND
255 as insn constraint.
256
257 2008-02-20 Richard Guenther <rguenther@suse.de>
258
259 PR middle-end/35265
260 * builtins.c (validate_arg): If we want an INTEGER_TYPE,
261 be happy with INTEGRAL_TYPE_P.
262
263 2008-02-20 Richard Guenther <rguenther@suse.de>
264
265 * fold-const.c (split_tree): Associate floatig-point expressions
266 if flag_associative_math is set.
267
268 2008-02-20 Richard Guenther <rguenther@suse.de>
269
270 * tree.h (fold_real_zero_addition_p): Declare.
271 * fold-const.c (fold_real_zero_addition_p): Export.
272 * tree-ssa-reassoc.c (eliminate_using_constants): Also handle
273 floating-point operations with zero and one.
274
275 2008-02-20 Paolo Bonzini <bonzini@gnu.org>
276
277 * doc/install.texi: Correct references to CFLAGS, replacing them
278 with BOOT_CFLAGS. Document flags used during bootstrap for
279 target libraries.
280
281 2008-02-20 Uros Bizjak <ubizjak@gmail.com>
282
283 * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): New define.
284 * config/i386/i386.md (*sse_setcc<mode>): Macroize from *sse_setccsf
285 and *sse_setccdf using MODEF mode iterator and SSE_FLOAT_MODE_P as
286 insn constraint.
287 (smin<mode>3): Ditto from similar patterns.
288 (smax<mode>3): Ditto.
289 (*ieee_smin<mode>3): Ditto.
290 (*ieee_smax<mode>3): Ditto.
291 * config/i386/sse.md (sse): New mode attribute.
292 (mov<mode>): Macroize expander from movv4sf and movv2df using
293 SSEMODEF2P mode iterator.
294 (<sse>_movnt<mode>): Ditto from similar patterns. Use
295 SSE_VEC_FLOAT_MODE_P as insn constraint.
296 (storent<mode>): Ditto.
297 (storent<mode>): Macroize expander from storentsf and storentdf using
298 MODEF mode iterator.
299 (neg<mode>2): Macroize from negv4sf2 and negv2df2 using SSEMODEF2P
300 mode iterator and SSE_VEC_FLOAT_MODE_P as insn constraint.
301 (abs<mode>2): Ditto from similar patterns.
302 (add<mode>3, *add<mode>3, <sse>_vmadd<mode>3): Ditto.
303 (sub<mode>3, *sub<mode>3, <sse>_vmsub<mode>3): Ditto.
304 (<sse>_div<mode>3, <sse>_vmdiv<mode>3): Ditto.
305 (<sse>_vmsqrt<mode>2): Ditto.
306 (smin<mode>3, *smin<mode>3_finite, *smin<mode>3)
307 (<sse>_vmsmin<mode>3, *ieee_smin<mode>3): Ditto.
308 (smax<mode>3, *smax<mode>3_finite, *smax<mode>3)
309 (<sse>_vmsmax<mode>3, *ieee_smax<mode>3): Ditto.
310 (<sse>_maskcmp<mode>3): Macroize from sse_maskcmpv4sf3,
311 sse_maskcmpsf3, sse2_maskcmpv2df3 and sse2_maskcmpdf3 using SSEMODEF4
312 mode iterator. Use SSE_FLOAT_MODE_P with SSE_VEC_FLOAT_MODE_P as
313 insn constraint.
314 (<sse>_comi): Macroize from sse_comi and sse2_comi using MODEF mode
315 iterator and SSE_FLOAT_MODE_P as insn constraint.
316 (<sse>_ucomi): Ditto from similar patterns.
317 (<sse>_vmmaskcmp<mode>3): Macroize from sse_vmmaskcmpv4sf3 and
318 sse2_vmmaskcmpv2df3 using SSEMODEF2P mode iterator and
319 SSE_VEC_FLOAT_MODE_P as insn constraint.
320 (vcond<mode>): Ditto from similar patterns.
321 (and<mode>3, *and<mode>3): Ditto.
322 (<sse>_nand<mode>3): Ditto.
323 (ior<mode>3, *ior<mode>3): Ditto.
324 (xor<mode>3, *xor<mode>3): Ditto.
325 (*and<mode>3): Macroize from *andsf3 and *anddf3 using MODEF mode
326 iterator and SSE_FLOAT_MODE_P as insn constraint.
327 (*nand<mode>3): Ditto from similar patterns.
328 (*ior<mode>3): Ditto.
329 (*xor<mode>3): Ditto.
330
331 2008-02-20 Ira Rosen <irar@il.ibm.com>
332
333 * config/spu/spu.md (vec_unpacku_hi_v8hi, vec_unpacku_lo_v8hi,
334 vec_unpacks_hi_v8hi, vec_unpacks_lo_v8hi, vec_unpacku_hi_v16qi,
335 vec_unpacku_lo_v16qi, vec_unpacks_lo_v16qi): Implement.
336
337 2008-02-19 Jan Hubicka <jh@suse.cz>
338
339 * predict.c (tree_bb_level_predictions): Remove variable next
340 mistakely introduced by previous commit.
341
342 2008-02-19 Jan Hubicka <jh@suse.cz>
343
344 * predict.c (predict_paths_leading_to): Rewrite.
345 (predict_paths_for_bb): New.
346 (tree_bb_level_predictions): Update call of predict_paths_leading_to.
347
348 2008-02-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
349
350 PR bootstrap/35218
351 * Makefile.in (build_file_translate): New.
352 (gcc-vers.texi): Use it for translating $(abs_srcdir).
353 * config.build (build_file_translate): Set to `CMD //c' on MinGW.
354 * configure.ac (build_file_translate): Substitute it.
355 * configure: Regenerate.
356
357 2008-02-19 Jan Hubicka <jh@suse.cz>
358
359 PR rtl-optimization/34408
360 * see.c (see_def_extension_not_merged): Copy subreg so we don't have
361 invalid sharing.
362
363 2008-02-19 Jan Hubicka <jh@suse.cz>
364
365 PR middle-end/28779
366 * tree-inline.c (estimate_num_insns_1): Fix counting of cost of
367 call_expr.
368
369 2008-02-19 H.J. Lu <hongjiu.lu@intel.com>
370
371 PR Ada/35186
372 * config/i386/i386-modes.def: Revert the last DI alignment
373 change until Ada people can look into it.
374
375 2008-02-19 Nick Clifton <nickc@redhat.com>
376
377 * opts.c (print_specific_help): Fix typo in --help text.
378
379 2008-02-19 Jakub Jelinek <jakub@redhat.com>
380
381 PR target/35239
382 * config/i386/cpuid.h (__cpuid, __get_cpuid_max): Use special
383 32-bit inline asm without asm alternatives for host GCC < 3.0.
384
385 2008-02-19 Richard Guenther <rguenther@suse.de>
386
387 PR tree-optimization/34989
388 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Re-structure.
389 Allow propagation to INDIRECT_REF if we can simplify only.
390
391 2008-02-19 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
392
393 * c-common.c (warn_for_collisions_1): Use appropriate option when
394 warning.
395
396 2008-02-19 Nick Clifton <nickc@redhat.com>
397
398 PR other/31349
399 * opts.c (undocumented_msg): Leave blank unless checking is enabled.
400 (handle_options): Fix indentation.
401 (print_filtered_help): If no language-specific options were
402 displayed tell the user how to list all the options supported by
403 the language's front-end.
404 (print_specific_help): Fix indentation and remove duplicate line.
405 (common_handle_option): Handle the -v option.
406 For --help enable the display of undocumented options if the -v
407 switch has been included on the command line.
408 For --help= check for overlaps in the arguments between the option
409 classes and the language names and issue a warning when they
410 cannot be disambiguated.
411 * c.opt (v): Pass on to the common option handler.
412
413 2008-02-19 Revital Eres <eres@il.ibm.com>
414
415 * modulo-sched.c (sms_schedule): Change dump message when
416 create_ddg function fails.
417 (try_scheduling_node_in_cycle): Rename row to cycle.
418 (print_partial_schedule): Rename CYCLE to ROW.
419
420 2008-02-19 Christian Bruel <christian.bruel@st.com>
421 Zdenek Dvorak <ook@ucw.cz>
422
423 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check step alignment.
424
425 2008-02-19 Uros Bizjak <ubizjak@gmail.com>
426
427 PR target/33555
428 * config/i386/i386.md (*x86_movsicc_0_m1_se): New insn pattern.
429 (*x86_movdicc_0_m1_se): Ditto.
430
431 2008-02-19 Uros Bizjak <ubizjak@gmail.com>
432
433 * config/i386/sfp-machine.h (__gcc_CMPtype): New typedef.
434 (CMPtype): Define as __gcc_CMPtype.
435 * config/rs6000/sfp-machine.h (__gcc_CMPtype): New typedef.
436 (CMPtype): Define as __gcc_CMPtype.
437
438 2008-02-19 Hans-Peter Nilsson <hp@axis.com>
439
440 Support valgrind 3.3 for --enable-checking=valgrind.
441 * system.h: Consolidate ENABLE_VALGRIND_CHECKING-dependent defines
442 here.
443 [!VALGRIND_MAKE_MEM_NOACCESS]: Define as VALGRIND_MAKE_NOACCESS.
444 [!VALGRIND_MAKE_MEM_DEFINED]: Define as VALGRIND_MAKE_READABLE.
445 [!VALGRIND_MAKE_MEM_UNDEFINED]: Define as VALGRIND_MAKE_WRITABLE.
446 * ggc-common.c: Remove ENABLE_VALGRIND_CHECKING-dependent defines.
447 Replace use of VALGRIND_MAKE_READABLE, VALGRIND_MAKE_WRITABLE, and
448 VALGRIND_MAKE_NOACCESS with VALGRIND_MAKE_MEM_DEFINED,
449 VALGRIND_MAKE_MEM_UNDEFINED, and VALGRIND_MAKE_MEM_NOACCESS
450 respectively.
451 * ggc-zone.c: Similar.
452 * ggc-page.c: Similar.
453
454 2008-02-19 Paul Brook <paul@codesourcery.com>
455
456 PR target/35071
457 * config/arm/ieee754-df.S: Fix do_it typo.
458 * config/arm/ieee754-sf.S: Fix do_it typo.
459
460 2008-02-18 H.J. Lu <hongjiu.lu@intel.com>
461
462 PR target/35189
463 * config/i386/i386.c (OPTION_MASK_ISA_MMX_SET): New.
464 (OPTION_MASK_ISA_3DNOW_SET): Likewise.
465 (OPTION_MASK_ISA_SSE_SET): Likewise.
466 (OPTION_MASK_ISA_SSE2_SET): Likewise.
467 (OPTION_MASK_ISA_SSE3_SET): Likewise.
468 (OPTION_MASK_ISA_SSSE3_SET): Likewise.
469 (OPTION_MASK_ISA_SSE4_1_SET): Likewise.
470 (OPTION_MASK_ISA_SSE4_2_SET): Likewise.
471 (OPTION_MASK_ISA_SSE4_SET): Likewise.
472 (OPTION_MASK_ISA_SSE4A_SET): Likewise.
473 (OPTION_MASK_ISA_SSE5_SET): Likewise.
474 (OPTION_MASK_ISA_3DNOW_A_UNSET): Likewise.
475 (OPTION_MASK_ISA_MMX_UNSET): Updated.
476 (OPTION_MASK_ISA_3DNOW_UNSET): Updated.
477 (OPTION_MASK_ISA_SSE_UNSET): Likewise.
478 (OPTION_MASK_ISA_SSE3_UNSET): Likewise.
479 (OPTION_MASK_ISA_SSSE3_UNSET): Likewise.
480 (OPTION_MASK_ISA_SSE4_1_UNSET): Likewise.
481 (OPTION_MASK_ISA_SSE4_2_UNSET): Likewise.
482 (OPTION_MASK_ISA_SSE4A_UNSET): Likewise.
483 (OPTION_MASK_ISA_SSE5_UNSET): Likewise.
484 (OPTION_MASK_ISA_SSE4): Removed.
485 (ix86_handle_option): Turn on bits in ix86_isa_flags and
486 ix86_isa_flags_explicit with OPTION_MASK_ISA_XXX_SET for
487 -mXXX.
488 (override_options): Don't turn on implied SSE/MMX bits in
489 ix86_isa_flags.
490
491 2008-02-18 H.J. Lu <hongjiu.lu@intel.com>
492
493 * config/i386/i386-modes.def: Use 4 byte alignment on DI for
494 32bit host.
495
496 2008-02-18 Joey Ye <joey.ye@intel.com>
497
498 PR middle-end/34921
499 * tree-nested.c (insert_field_into_struct): Set type alignment
500 to field alignment if the former is less than the latter.
501
502 2008-02-18 Jakub Jelinek <jakub@redhat.com>
503
504 * BASE-VER: Set to 4.4.0.
505
506 2008-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
507
508 * doc/c-tree.texi: Use @dots{} and @enddots{} where appropriate.
509 * doc/cfg.texi: Likewise.
510 * doc/extend.texi: Likewise.
511 * doc/gty.texi: Likewise.
512 * doc/invoke.texi: Likewise.
513 * doc/loop.texi: Likewise.
514 * doc/md.texi: Likewise.
515 * doc/passes.texi: Likewise.
516 * doc/rtl.texi: Likewise.
517 * doc/sourcebuild.texi: Likewise.
518 * doc/tm.texi: Likewise.
519 * doc/tree-ssa.texi: Likewise.
520
521 2008-02-17 Richard Guenther <rguenther@suse.de>
522
523 PR middle-end/35227
524 * tree-complex.c (init_parameter_lattice_values): Handle parameters
525 without default definition.
526
527 2008-02-17 Richard Guenther <rguenther@suse.de>
528
529 PR tree-optimization/35231
530 * tree-vrp.c (register_edge_assert_for): Do not assume A == 0
531 if A | B != 1.
532
533 2008-02-17 Uros Bizjak <ubizjak@gmail.com>
534
535 Revert:
536
537 2008-02-15 Uros Bizjak <ubizjak@gmail.com>
538 * config/i386/sfp-machine.h (CMPtype): Define as typedef using
539 libgcc_cmp_return mode.
540
541 2008-02-16 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
542
543 PR c/28368
544 * doc/invoke.texi (-std): Clarify description of -std= and -ansi.
545
546 2008-02-16 Ralf Corsepius <ralf.corsepius@rtems.org>
547
548 * config/m68k/t-rtems (M68K_MLIB_CPU): Add 5208, 5307, 5407, 5475
549 multilibs.
550
551 2008-02-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
552
553 * doc/c-tree.texi: Use `@.' where appropriate.
554 * doc/extend.texi: Likewise.
555 * doc/install.texi: Likewise.
556 * doc/invoke.texi: Likewise.
557 * doc/loop.texi: Likewise.
558 * doc/makefile.texi: Likewise.
559 * doc/md.texi: Likewise.
560 * doc/passes.texi: Likewise.
561 * doc/standards.texi: Likewise.
562 * doc/tm.texi: Likewise.
563
564 2008-02-15 Jakub Jelinek <jakub@redhat.com>
565
566 PR middle-end/35196
567 * omp-low.c (expand_omp_for_generic): Don't initialize fd->v
568 in entry_bb.
569 (expand_omp_for_static_nochunk): Initialize fd->v in seq_start_bb
570 rather than in entry_bb.
571
572 2008-02-15 Uros Bizjak <ubizjak@gmail.com>
573
574 * config/i386/sfp-machine.h (CMPtype): Define as typedef using
575 libgcc_cmp_return mode.
576
577 2008-02-15 Jakub Jelinek <jakub@redhat.com>
578
579 PR middle-end/35130
580 * tree-nested.c (convert_call_expr): Put FRAME.* vars into
581 OMP_CLAUSE_SHARED rather than OMP_CLAUSE_FIRSTPRIVATE clause.
582
583 2008-02-15 Richard Guenther <rguenther@suse.de>
584 Zdenek Dvorak <ook@ucw.cz>
585
586 PR tree-optimization/35164
587 * tree-flow.h (stmt_references_abnormal_ssa_name): Declare.
588 * tree-dfa.c (stmt_references_abnormal_ssa_name): New function.
589 * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
590 Only propagate addresses which do not have abnormal SSA_NAMEs
591 in their operands.
592
593 2008-02-15 Joseph Myers <joseph@codesourcery.com>
594
595 PR target/35088
596 * config/m68k/m68k.h (DWARF_CIE_DATA_ALIGNMENT): Define.
597
598 2008-02-15 Jan Hubicka <jh@suse.cz>
599
600 PR middle-end/35149
601 * ipa.c (cgraph_remove_unreachable_nodes): Clear local.inlinable flag.
602
603 2008-02-15 Uros Bizjak <ubizjak@gmail.com>
604
605 PR middle-end/34621
606 * function.c (pad_to_arg_alignment): Remove test for STACK_BOUNDARY
607 when calculating alignment_pad.
608
609 2008-02-15 Uros Bizjak <ubizjak@gmail.com>
610
611 * config/i386/i386.h (CLEAR_RATIO): Use MIN macro.
612 (WIDEST_HARDWARE_FP_SIZE): Use LONG_DOUBLE_TYPE_SIZE define.
613 * config/i386/darwin.h (PREFERRED_STACK_BOUNDARY): Use MAX macro
614 and STACK_BOUNDARY define.
615
616 2008-02-14 Danny Smith <dannysmith@users.sourceforge.net>
617
618 PR preprocessor/35061
619 * c-pragma.c (handle_pragma_pop_macro): Check that
620 pushed_macro_table has been allocated.
621
622 2008-02-14 Eric Botcazou <ebotcazou@adacore.com>
623
624 PR middle-end/35136
625 * gimplify.c (force_gimple_operand_bsi): Revert 2008-02-12 change.
626 (force_gimple_operand): Likewise.
627 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Add new cases
628 for TARGET_MEM_REF and CONVERT_EXPR/NON_LVALUE_EXPR/NOP_EXPR.
629 Also recurse on the operand for regular VIEW_CONVERT_EXPRs.
630 (find_interesting_uses_address): Check addressability and alignment
631 of the base expression only after substituting bases of IVs into it.
632
633 2008-02-14 Michael Matz <matz@suse.de>
634
635 PR target/34930
636 * function.c (instantiate_virtual_regs_in_insn): Reload address
637 before falling back to reloading the whole operand.
638
639 2008-02-14 Andreas Krebbel <krebbel1@de.ibm.com>
640
641 * config/s390/s390.c (s390_mainpool_start): Emit the pool
642 before the first section switch note.
643
644 2008-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
645
646 * doc/bugreport.texi: Update copyright years.
647 * doc/c-tree.texi: Likewise.
648 * doc/cfg.texi: Likewise.
649 * doc/cpp.texi: Likewise.
650 * doc/cppinternals.texi: Likewise.
651 * doc/fragments.texi: Likewise.
652 * doc/frontends.texi: Likewise.
653 * doc/gcc.texi: Likewise.
654 * doc/gty.texi: Likewise.
655 * doc/hostconfig.texi: Likewise.
656 * doc/implement-c.texi: Likewise.
657 * doc/libgcc.texi: Likewise.
658 * doc/loop.texi: Likewise.
659 * doc/makefile.texi: Likewise.
660 * doc/options.texi: Likewise.
661 * doc/passes.texi: Likewise.
662 * doc/rtl.texi: Likewise.
663 * doc/sourcebuild.texi: Likewise.
664 * doc/standards.texi: Likewise.
665 * doc/tree-ssa.texi: Likewise.
666 * doc/trouble.texi: Likewise.
667
668 * doc/extend.texi: Use @: or add comma where appropriate.
669 * doc/invoke.texi: Likewise.
670 * doc/tm.texi: Likewise.
671
672 2008-02-14 Alan Modra <amodra@bigpond.net.au>
673
674 PR target/34393
675 * config/rs6000/rs6000.md (restore_stack_block): Force operands[1]
676 to a reg.
677
678 2008-02-14 Jesper Nilsson <jesper.nilsson@axis.com>
679
680 * doc/md.texi (clz, ctz): Add reference.
681 * doc/rtl.texi (clz, ctz): Likewise.
682
683 2008-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
684
685 PR other/35148
686 * Makefile.in (gcc-vers.texi): Use abs_srcdir for the value of
687 srcdir.
688
689 2008-02-13 Andreas Krebbel <krebbel1@de.ibm.com>
690
691 * config/s390/s390.c (struct constant_pool): New field
692 emit_pool_after added.
693 (s390_mainpool_start): Set the emit_pool_after flag according
694 to the section switch notes.
695 (s390_mainpool_finish): Consider emit_pool_after when emitting
696 the literal pool at the end of the function.
697 (s390_chunkify_start): Force literal pool splits at section
698 switch notes.
699
700 2008-02-13 Michael Matz <matz@suse.de>
701
702 PR debug/35065
703 * var-tracking.c (clobber_variable_part): Correctly traverse the
704 list.
705
706 2008-02-13 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
707
708 PR 29673
709 * doc/invoke.texi (Debugging Options): Remove -fdump-tree-inlined.
710 Add -fdump-ipa-inline.
711 * tree-dump.c (dump_files): Remove tree-inlined dump.
712 * tree-pass.h (tree_dump_index): Remove TDI_inlined.
713
714 2008-02-12 Richard Guenther <rguenther@suse.de>
715
716 PR tree-optimization/35171
717 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Deal with
718 default defs.
719
720 2008-02-12 Richard Guenther <rguenther@suse.de>
721
722 PR middle-end/35163
723 * fold-const.c (fold_widened_comparison): Use get_unwidened in
724 value-preserving mode. Disallow final truncation.
725
726 2008-02-12 Eric Botcazou <ebotcazou@adacore.com>
727
728 PR middle-end/35136
729 * gimplify.c (force_gimple_operand_bsi): Move SSA renaming
730 code from here to...
731 (force_gimple_operand): ...here.
732
733 2008-02-12 Jakub Jelinek <jakub@redhat.com>
734
735 PR c++/35144
736 * tree-sra.c (sra_build_assignment): fold_convert SRC if copying
737 non-compatible pointers.
738 (generate_element_copy): If SRC and DST are RECORD_TYPEs with
739 different FIELD_DECLs, try harder by comparing field offsets, sizes
740 and types.
741
742 PR inline-asm/35160
743 * function.c (match_asm_constraints_1): Don't replace the same input
744 multiple times.
745
746 2008-02-12 Anatoly Sokolov <aesok@post.ru>
747
748 * config/avr/avr.h (AVR_HAVE_RAMPZ): Define.
749 * config/avr/avr.c (expand_prologue): Save RAMPZ register.
750 (expand_epilogue): Restore RAMPZ register.
751 * config/avr/avr.md (RAMPZ_ADDR): New constant.
752
753 2008-02-11 Kai Tietz <kai.tietz@onevision.com>
754
755 * config/i386/cygwin.asm: (__alloca): Correct calling
756 convention and alignment.
757 (__chkstk): Force 8 byte stack alignment.
758
759 2008-02-11 Uros Bizjak <ubizjak@gmail.com>
760 Richard Guenther <rguenther@suse.de>
761
762 PR tree-optimization/33992
763 * tree-ssa-loop-im.c (rewrite_bittest): Fixup the type of
764 the zero we compare against.
765
766 2008-02-10 Danny Smith <dannysmith@users.sourceforge.net>
767
768 PR libfortran/35063
769 * gthr-win32.h (__gthread_mutex_destroy_function): New function
770 to CloseHandle after unlocking to prevent accumulation of handle
771 count.
772
773 2008-02-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
774
775 PR middle_end/34150
776 * pa.c (legitimize_pic_address): Add REG_EQUAL note on sets with a
777 pic_label_operand source. Similarly, add a REG_LABEL_OPERAND note
778 and update LABEL_NUSES during and after reload.
779
780 2008-02-08 Steven Bosscher <stevenb.gcc@gmail.com>
781
782 PR middle-end/34627
783 * combine.c (simplify_if_then_else): Make sure the comparison is
784 against const0_rtx when simplifying to (abs x) or (neg (abs X)).
785
786 2008-02-08 Richard Sandiford <rsandifo@nildram.co.uk>
787
788 PR bootstrap/35051
789 * double-int.h: Don't include gmp.h for GENERATOR_FILEs.
790 (mpz_set_double_int, mpz_get_double_int): Hide from GENERATOR_FILEs.
791 * real.h: Don't include gmp.h or mpfr.h for GENERATOR_FILEs.
792 (real_from_mpfr, mpfr_from_real): Hide from GENERATOR_FILEs.
793 * tree.h (get_type_static_bounds): Likewise.
794
795 2008-02-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
796
797 * doc/invoke.texi (Option Summary, C++ Dialect Options)
798 (Objective-C and Objective-C++ Dialect Options, Warning Options):
799 Make -Wfoo language annotations match what the compiler outputs.
800
801 2008-02-08 Sa Liu <saliu@de.ibm.com>
802
803 * config/spu/spu-builtins.def: Fixed wrong parameter type in spu
804 intrinsics spu_convts, spu_convtu, spu_convtf.
805 * testsuite/gcc.target/spu/intrinsics-3.c: New. Test error messages.
806
807 2008-02-08 Hans-Peter Nilsson <hp@axis.com>
808
809 * doc/extend.texi (Function Attributes) <noinline>: Mention
810 asm ("") as method to keep calls.
811
812 2008-02-07 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
813
814 PR other/32754
815 * doc/options.texi (Options): Replace references to opts.sh with
816 optc-gen.awk.
817 * opts-common.c: Likewise.
818 * optc-gen.awk: Likewise.
819
820 2008-02-07 Andreas Krebbel <krebbel1@de.ibm.com>
821
822 * config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit.
823
824 2008-02-07 Richard Henderson <rth@redhat.com>
825
826 PR rtl-opt/33410
827 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use an
828 EXPR_LIST for the REG_EQUAL instead of a comparison with a
829 funny mode.
830
831 2008-02-07 Uros Bizjak <ubizjak@gmail.com>
832
833 PR tree-optimization/35085
834 * tree-ssa-reassoc.c (rewrite_expr_tree): Enable destructive update
835 for operand entry oe2 in addition to operand entry oe3 in order to
836 expose more opportunities for vectorizer sum reduction.
837
838 2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
839
840 PR other/35107
841 * Makefile.in (LIBS): Remove $(GMPLIBS).
842 (cc1-dummy, cc1): Add $(GMPLIBS).
843
844 2008-02-06 Jan Hubicka <jh@suse.cz>
845
846 PR target/23322
847 * i386.md (moddf_integer): Do not produce partial memory stalls for
848 targets where it hurts.
849
850 2008-02-06 Uros Bizjak <ubizjak@gmail.com>
851
852 PR target/35083
853 * optabs.c (expand_float): Do not check for decimal modes when
854 expanding unsigned integer through signed conversion.
855
856 2008-02-06 Nick Clifton <nickc@redhat.com>
857
858 * config/stormy16/stormy16.md (eqbranchsi): Replace a match_dup
859 inside the clobber with a match_operand and duplicated operand
860 number in the constraint.
861 (ineqbranchsi): Delete redundant comment.
862
863 2008-02-06 Ralf Corsepius <ralf.corsepius@rtems.org>
864
865 * config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add
866 builtin_define ("__USE_INIT_FINI__").
867 * config/h8300/t-rtems (MULTILIB_OPTION,MULTILIB_DIRNAMES): Add
868 -msx multilibs.
869 * gthr-rtems.h: Remove __GTHREAD_MUTEX_INIT.
870
871 2008-02-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
872
873 PR documentation/30330
874 * doc/invoke.texi (C++ Dialect Options)
875 (Objective-C and Objective-C++ Dialect Options, Warning Options):
876 For each warning option -Wfoo that allows -Wno-foo, ensure both
877 -Wfoo and -Wno-foo are listed in the option index. Fix index
878 entry of -Wswitch-default, index -Wnormalized= including the
879 `=', and -Wlarger-than-@var{len} including @var{len}.
880
881 2008-02-05 Uros Bizjak <ubizjak@gmail.com>
882
883 * config/i386/i386.md (floatunssisf2): Use
884 ix86_expand_convert_uns_sisf_sse also for TARGET_SSE.
885 (floatunssi<mode>2): Rename from floatunssisf2 and floatunssidf2.
886 Macroize expander using MODEF mode iterator.
887
888 2008-02-05 Diego Novillo <dnovillo@google.com>
889
890 http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00140.html
891
892 PR 33738
893 * tree-vrp.c (vrp_evaluate_conditional): Revert fix for PR 33738.
894
895 2008-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
896
897 PR other/35070
898 * toplev.c (print_version): Honor `indent' for GMP/MPFR warnings.
899
900 2008-02-05 H.J. Lu <hongjiu.lu@intel.com>
901
902 PR target/35084
903 * config/i386/i386.c (ix86_function_sseregparm): Add an arg
904 to indicate if a message should be generated.
905 (init_cumulative_args): Updated.
906 (function_value_32): Likewise.
907
908 2008-02-05 Joseph Myers <joseph@codesourcery.com>
909
910 * doc/include/texinfo.tex: Update to version 2008-02-04.16.
911
912 2008-02-05 Uros Bizjak <ubizjak@gmail.com>
913
914 PR target/35083
915 * config/i386/i386.md (floatunsisf2): Enable for TARGET_SSE_MATH only.
916 Call ix86_expand_convert_uns_sisf_sse for TARGET_SSE2.
917
918 2008-02-04 Diego Novillo <dnovillo@google.com>
919
920 http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00110.html
921
922 PR 33738
923 * tree-vrp.c (vrp_evaluate_conditional): With
924 -Wtype-limits, emit a warning when comparing against a
925 constant outside the natural range of OP0's type.
926
927 2008-02-04 Richard Guenther <rguenther@suse.de>
928
929 PR middle-end/33631
930 * expr.c (count_type_elements): Give for unions instead of
931 guessing.
932
933 2008-02-04 Richard Guenther <rguenther@suse.de>
934
935 PR middle-end/35043
936 * gimplify.c (gimplify_init_ctor_eval): Convert array indices
937 to TYPE_DOMAINs base type instead of using bitsizetype here.
938
939 2008-02-03 Jason Merrill <jason@redhat.com>
940
941 * print-tree.c (print_node) [CONSTRUCTOR]: Print elements.
942
943 2008-02-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
944
945 PR other/29972
946 * doc/invoke.texi (C++ Dialect Options, Optimize Options)
947 (HPPA Options, i386 and x86-64 Options, IA-64 Options)
948 (RS/6000 and PowerPC Options): Fix typos and markup.
949 * doc/passes.texi (Tree-SSA passes): Likewise.
950
951 2008-02-02 Michael Matz <matz@suse.de>
952
953 PR target/35045
954 * postreload-gcse.c (record_last_reg_set_info_regno): Renamed
955 from record_last_reg_set_info.
956 (record_last_reg_set_info): Take an RTX argument, iterate over all
957 constituent hardregs.
958 (record_last_set_info, record_opr_changes): Change calls to
959 new signature or to record_last_reg_set_info_regno.
960
961 2008-02-02 Gerald Pfeifer <gerald@pfeifer.com>
962
963 * doc/extend.texi (X86 Built-in Functions): Fix grammar.
964
965 2008-02-01 Hans-Peter Nilsson <hp@axis.com>
966
967 PR rtl-optimization/34773
968 * reg-notes.def (EQUAL): Mention significance of combination of
969 REG_EQUAL and REG_RETVAL.
970 * fwprop.c (try_fwprop_subst): Don't add REG_EQUAL to an
971 insn that has a REG_RETVAL.
972
973 2008-02-01 Roger Sayle <roger@eyesopen.com>
974
975 PR bootstrap/33781
976 * configure.ac (--enable-fixed-point): Disable unless explicitly
977 requested on IRIX.
978 * configure: Regenerate.
979
980 2008-02-01 Richard Guenther <rguenther@suse.de>
981
982 PR other/35042
983 * invoke.texi (-finline-limit): Remove no longer true parts
984 of the documentation. Note that there is no default value.
985
986 2008-02-01 Andrew Pinski <pinskia@gmail.com>
987 Mark Mitchell <mark@codesourcery.com>
988 Ben Elliston <bje@au.ibm.com>
989
990 PR c/29326
991 * doc/extend.texi (Other Builtins): Document.
992
993 2008-01-31 Tom Browder <tom.browder@gmail.com>
994
995 * doc/c-tree.texi (Types): Fix grammar.
996 (Expression trees): Ditto.
997 * doc/passes.texi (Tree-SSA passes): Ditto.
998
999 * doc/configterms.texi (Configure Terms): Fix typo.
1000 * doc/cpp.texi (Common Predefined Macros): Ditto.
1001 * doc/md.texi (Machine Constraints): Ditto.
1002
1003 * doc/makefile.texi (Makefile): Add comma.
1004
1005 2008-01-31 Tom Browder <tom.browder@gmail.com>
1006 Gerald Pfeifer <gerald@pfeifer.com>
1007
1008 * doc/sourcebuild.texi (Front End): Remove references to CVS
1009 and CVSROOT/modules.
1010 (Texinfo Manuals): Replace reference to CVS by one to SVN.
1011 (Back End): Remove reference to CVS.
1012
1013 2008-01-31 Richard Sandiford <rsandifo@nildram.co.uk>
1014
1015 PR target/34900
1016 * config/mips/mips.c (gen_load_const_gp): New function, taking a
1017 comment from...
1018 (mips16_gp_pseudo_reg): ...here.
1019 * config/mips/mips.md (load_const_gp): Replace with...
1020 (load_const_gp_<mode>): ...this :P-based insn.
1021
1022 2008-01-31 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1023
1024 * doc/invoke.texi (-ansi): Mention explicitly corresponding -std=
1025 options. Minor fixes.
1026 (-std): Move reference to standards closer to where language
1027 standards are first mentioned.
1028
1029 2008-01-31 Richard Sandiford <rsandifo@nildram.co.uk>
1030
1031 PR rtl-optimization/34995
1032 * reload.c (alternative_allows_const_pool_ref): Take an rtx
1033 parameter and return a bool. If the rtx parameter is nonnull,
1034 check that it satisfies an EXTRA_MEMORY_CONSTRAINT.
1035 (find_reloads): Update call accordingly. Pass the new operand
1036 if it needed no address reloads, otherwise pass null.
1037
1038 2008-01-30 Richard Henderson <rth@redhat.com>
1039
1040 PR c/34993
1041 * tree.c (build_type_attribute_qual_variant): Skip TYPE_DOMAIN
1042 for unbounded arrays.
1043
1044 2008-01-30 Silvius Rus <rus@google.com>
1045
1046 * config/i386/xmmintrin.h (_mm_prefetch): Add const to first arg.
1047
1048 2008-01-30 Jan Hubicka <jh@suse.cz>
1049
1050 PR target/34982
1051 * i386.c (init_cumulative_args): Use real function declaration when
1052 calling locally.
1053
1054 2008-01-30 Richard Sandiford <rsandifo@nildram.co.uk>
1055
1056 PR rtl-optimization/34998
1057 * global.c (build_insn_chain): Treat non-subreg_lowpart
1058 SUBREGs of pseudos as clobbering all the words covered by the
1059 SUBREG, not just all the bytes.
1060 * ra-conflict.c (clear_reg_in_live): Likewise. Take the
1061 original df_ref rather than an extract parameter.
1062 (global_conflicts): Update call accordingly.
1063
1064 2008-01-30 Andreas Krebbel <krebbel1@de.ibm.com>
1065
1066 * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): Rearrange
1067 the overflow check to make it easier to read.
1068 (__fixtfdi): Change the type of the ll member in union
1069 long_double to UDItype_x.
1070
1071 2008-01-30 Jakub Jelinek <jakub@redhat.com>
1072
1073 PR middle-end/34969
1074 * cgraph.h (cgraph_update_edges_for_call_stmt): New prototype.
1075 * cgraph.c (cgraph_update_edges_for_call_stmt): New function.
1076 * tree-inline.c (fold_marked_statements): Call
1077 cgraph_update_edges_for_call_stmt if folding a call statement.
1078 * cgraphunit.c (verify_cgraph_node): Set cfun to this_cfun for
1079 debug_generic_stmt calls, reset it back afterwards.
1080
1081 PR c/35017
1082 * c-decl.c (start_decl): Don't pedwarn about TREE_READONLY
1083 static decls.
1084 * c-typeck.c (build_external_ref): Don't pedwarn about
1085 static vars in current function's scope.
1086
1087 2008-01-29 Joseph Myers <joseph@codesourcery.com>
1088
1089 * config.gcc (i[34567]86-*-nto-qnx*): Remove deprecation.
1090
1091 2008-01-29 Bernhard Fischer <aldot@gcc.gnu.org>
1092
1093 PR c/35002
1094 * ipa-struct-reorg.c: Fix spelling.
1095 * params.def: Ditto.
1096
1097 2008-01-29 Richard Guenther <rguenther@suse.de>
1098
1099 PR middle-end/35006
1100 * tree-inline.h (struct copy_body_data): Add remapping_type_depth
1101 field.
1102 * tree-inline.c (remap_type): Increment remapping_type_depth
1103 around remapping types.
1104 (copy_body_r): Only add referenced variables if they are referenced
1105 from code, not types.
1106
1107 2008-01-29 Douglas Gregor <doug.gregor@gmail.com>
1108
1109 PR c++/34055
1110 PR c++/34103
1111 PR c++/34219
1112 PR c++/34606
1113 PR c++/34753
1114 PR c++/34754
1115 PR c++/34755
1116 PR c++/34919
1117 PR c++/34961
1118 * c-pretty-print.c (pp_c_type_qualifier_list): Don't try to print
1119 qualifiers for an ERROR_MARK_NODE or a NULL_TREE.
1120
1121 2008-01-28 Andy Hutchinson <hutchinsonandy@netscape.net>
1122
1123 PR target/34412
1124 * config/avr/avr.c (expand_prologue): Use correct QI mode frame
1125 pointer for tiny stack.
1126
1127 2008-01-28 Bernhard Fischer <aldot@gcc.gnu.org>
1128
1129 * doc/tree-ssa.texi: Add cindex PHI nodes and improve wording.
1130
1131 2008-01-28 Bernhard Fischer <aldot@gcc.gnu.org>
1132
1133 * config/vx-common.h: Fix typo in comment.
1134
1135 2008-01-28 Ian Lance Taylor <iant@google.com>
1136
1137 PR c++/34862
1138 PR c++/33407
1139 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
1140 coalesce pointers if they have different DECL_NO_TBAA_P values.
1141 * tree-ssa-copy.c (may_propagate_copy): Don't propagate copies
1142 between variables with different DECL_NO_TBAA_P values.
1143
1144 2008-01-28 Nathan Froyd <froydnj@codesourcery.com>
1145
1146 PR 31535
1147 * config/rs6000/rs6000.c (small_data_operand): Vectors and floats
1148 are not legitimate small data references on SPE targets.
1149
1150 2008-01-28 David Daney <ddaney@avtrex.com>
1151
1152 * doc/install.texi (mips-*-*): Recommend binutils 2.18.
1153
1154 2008-01-28 David Daney <ddaney@avtrex.com>
1155
1156 * doc/install.texi (--disable-libgcj-bc): Reword documentation.
1157
1158 2008-01-27 Joseph Myers <joseph@codesourcery.com>
1159
1160 * config.gcc (strongarm*-*, ep9312*-*, xscale*-*, parisc*-*,
1161 m680[012]0-*, *-*-beos*, *-*-kaos*, *-*-linux*aout*,
1162 *-*-linux*libc1*, *-*-solaris2.[0-6], *-*-solaris2.[0-6].*,
1163 *-*-sysv*, *-*-windiss*, alpha*-*-unicosmk*, cris-*-aout,
1164 hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
1165 i[34567]86-sequent-ptx4*, i[34567]86-*-nto-qnx*,
1166 i[34567]86-*-sco3.2v5*, i[34567]86-*-uwin*, powerpc-*-chorusos*,
1167 vax-*-bsd*, vax-*-ultrix*): Mark obsolete.
1168
1169 2008-01-27 Bernhard Fischer <aldot@gcc.gnu.org>
1170
1171 * basic-block.h (condjump_equiv_p): Fix comment.
1172
1173 2008-01-27 Bernhard Fischer <aldot@gcc.gnu.org>
1174
1175 * tree-pretty-print.c (print_generic_decl, print_generic_stmt,
1176 print_generic_stmt_indented): Fix comment.
1177
1178 2008-01-27 Bernhard Fischer <aldot@gcc.gnu.org>
1179
1180 * configure.ac (__stack_chk_fail): Add detecion for availability
1181 of SSP in uClibc by checking if __UCLIBC_HAS_SSP__ is defined.
1182 * configure: Regenerate.
1183
1184 2008-01-26 Maxim Kuvyrkov <maxim@codesourcery.com>
1185
1186 PR middle-end/34688
1187 * final.c (output_addr_const): Handle TRUNCATE.
1188
1189 2008-01-26 Zdenek Dvorak <ook@ucw.cz>
1190
1191 PR target/34711
1192 * tree-ssa-loop-ivopts.c (comp_cost): New type.
1193 (zero_cost, infinite_cost): New constants.
1194 (struct cost_pair): Change type of cost to comp_cost.
1195 (struct iv_ca): Change type of cand_use_cost and cost to comp_cost.
1196 (new_cost, add_costs, sub_costs, compare_costs, infinite_cost_p):
1197 New functions.
1198 (set_use_iv_cost, force_expr_to_var_cost, force_var_cost,
1199 split_address_cost, ptr_difference_cost, difference_cost,
1200 get_computation_cost_at, get_computation_cost,
1201 determine_use_iv_cost_generic, determine_use_iv_cost_address,
1202 determine_use_iv_cost_condition, determine_use_iv_costs,
1203 cheaper_cost_pair, iv_ca_recount_cost, iv_ca_set_no_cp,
1204 iv_ca_set_cp, iv_ca_cost, iv_ca_new, iv_ca_dump, iv_ca_extend,
1205 iv_ca_narrow, iv_ca_prune, try_improve_iv_set, find_optimal_iv_set):
1206 Change type of cost to comp_cost.
1207 (determine_iv_cost): Increase cost of non-original ivs, instead
1208 of decreasing the cost of original ones.
1209 (get_address_cost): Indicate the complexity of the addressing mode
1210 in comp_cost.
1211 (try_add_cand_for): Prefer using ivs not specific to some object.
1212 * tree-flow.h (force_expr_to_var_cost): Declaration removed.
1213
1214 2008-01-26 Peter Bergner <bergner@vnet.ibm.com>
1215 Janis Johnson <janis187@us.ibm.com>
1216
1217 PR target/34814
1218 * doc/tm.texi (TARGET_EXPAND_TO_RTL_HOOK): Document.
1219 (TARGET_INSTANTIATE_DECLS): Likewise.
1220 * target.h (expand_to_rtl_hook): New target hook.
1221 (instantiate_decls): Likewise.
1222 * function.c (instantiate_decl): Make non-static. Rename to...
1223 (instantiate_decl_rtl): ... this.
1224 (instantiate_expr): Use instantiate_decl_rtl.
1225 (instantiate_decls_1): Likewise.
1226 (instantiate_decls): Likewise.
1227 (instantiate_virtual_regs: Call new instantiate_decls taget hook.
1228 * function.h (instantiate_decl_rtl): Add prototype.
1229 * cfgexpand.c (target.h): New include.
1230 (tree_expand_cfg): Call new expand_to_rtl_hook target hook.
1231 * target-def.h (TARGET_EXPAND_TO_RTL_HOOK): New define.
1232 (TARGET_INSTANTIATE_DECLS): Likewise.
1233 (TARGET_INITIALIZER): New target hooks added.
1234 * config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_rtx):
1235 New prototype.
1236 * config/rs6000/rs6000.c (tree-flow.h): New include.
1237 (machine_function): Add sdmode_stack_slot field.
1238 (rs6000_alloc_sdmode_stack_slot): New function.
1239 (rs6000_instantiate_decls): Likewise.
1240 (rs6000_secondary_memory_needed_rtx): Likewise.
1241 (rs6000_check_sdmode): Likewise.
1242 (TARGET_EXPAND_TO_RTL_HOOK): Target macro defined.
1243 (TARGET_INSTANTIATE_DECLS): Likewise.
1244 (rs6000_hard_regno_mode_ok): Allow SDmode.
1245 (num_insns_constant): Likewise. Handle _Decimal32 constants.
1246 (rs6000_emit_move): Handle SDmode.
1247 (function_arg_advance): Likewise.
1248 (function_arg): Likewise.
1249 (rs6000_gimplify_va_arg): Likewise. Add special handling of
1250 SDmode var args for 32-bit compiles.
1251 (rs6000_secondary_reload_class): Handle SDmode.
1252 (rs6000_output_function_epilogue): Likewise.
1253 (rs6000_function_value): Simplify if statement.
1254 (rs6000_libcall_value): Likewise.
1255 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Handle SDmode.
1256 (SECONDARY_MEMORY_NEEDED_RTX): Add define.
1257 * config/rs6000/dfp.md (movsd): New define_expand and splitter.
1258 (movsd_hardfloat): New define_insn.
1259 (movsd_softfloat): Likewise.
1260 (movsd_store): Likewise.
1261 (movsd_load): Likewise.
1262 (extendsddd2): Likewise.
1263 (extendsdtd2): Likewise.
1264 (truncddsd2): Likewise.
1265 (movdd_hardfloat64): Fixup comment.
1266 (UNSPEC_MOVSD_LOAD): New constant.
1267 (UNSPEC_MOVSD_STORE): Likewise.
1268
1269 2008-01-26 Jakub Jelinek <jakub@redhat.com>
1270
1271 PR c++/34965
1272 * c-pretty-print.c (pp_c_exclusive_or_expression): Handle
1273 TRUTH_XOR_EXPR.
1274 (pp_c_logical_and_expression): Handle TRUTH_AND_EXPR.
1275 (pp_c_logical_or_expression): Handle TRUTH_OR_EXPR.
1276 (pp_c_expression): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR
1277 and TRUTH_XOR_EXPR.
1278
1279 2008-01-26 David Edelsohn <edelsohn@gnu.org>
1280
1281 PR target/34794
1282 * config.gcc: Separate AIX 5.3 from AIX 6.1.
1283 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
1284 __LONGDOUBLE128 too.
1285 * config/rs6000/aix61.h: New file.
1286
1287 2008-01-26 Richard Sandiford <rsandifo@nildram.co.uk>
1288
1289 PR rtl-optimization/34959
1290 * optabs.c (expand_unop): In libcall notes, give ffs, clz, ctz,
1291 popcount and parity rtxes the same mode as their operand.
1292 Truncate or extend the result to the return value's mode
1293 if necessary.
1294
1295 2008-01-26 Richard Sandiford <rsandifo@nildram.co.uk>
1296
1297 PR target/34981
1298 * config/mips/mips-protos.h (mips_expand_call): Return an rtx.
1299 * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Rename FAKE_CALL_REGNO
1300 to GOT_VERSION_REGNUM.
1301 (CALL_REALLY_USED_REGISTERS): Set the GOT_VERSION_REGNUM entry to 0.
1302 (EPILOGUE_USES): Include GOT_VERSION_REGNUM if TARGET_USE_GOT.
1303 * config/mips/mips.c (mips_emit_call_insn): New function.
1304 (mips_call_tls_get_addr): Call mips_expand_call directly.
1305 (mips16_copy_fpr_return_value): Use mips_emit_call_insn rather than
1306 emit_call_insn.
1307 (mips16_build_call_stub): Likewise. Return the call insn or null.
1308 (mips_expand_call): Update the call to mips16_build_call_stub
1309 accordingly and a remove redundant condition. Assert that MIPS16
1310 stubs do not use lazy binding. Use mips_emit_call_insn and return
1311 the call insn.
1312 (mips_extra_live_on_entry): Include GOT_VERSION_REGNUM if
1313 TARGET_USE_GOT.
1314 (mips_hard_regno_mode_ok_p): Allow SImode for GOT_VERSION_REGNUM.
1315 (mips_avoid_hazard): Remove hazard_set handling.
1316 * config/mips/mips.md (UNSPEC_EH_RECEIVER): Rename to...
1317 (UNSPEC_RESTORE_GP): ...this.
1318 (UNSPEC_SET_GOT_VERSION, UNSPEC_UPDATE_GOT_VERSION): New constants.
1319 (FAKE_CALL_REGNO): Rename to...
1320 (GOT_VERSION_REGNUM): ...this.
1321 (type): Add "ghost" value. Add an associated insn reservation.
1322 (hazard_set): Remove.
1323 (exception_receiver): Rename to...
1324 (restore_gp): ...this and update the unspec identifier accordingly.
1325 (exception_receiver, nonlocal_got_receiver): New expanders.
1326 (load_call<mode>): Use GOT_VERSION_REGNUM. Don't set
1327 FAKE_CALL_REGNO. Remove hazard_set attribute.
1328 (set_got_version, update_got_version): New patterns.
1329
1330 2008-01-26 Danny Smith <dannysmith@users.sourceforge.net>
1331
1332 PR target/34970
1333 * config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define.
1334
1335 2008-01-25 Joseph Myers <joseph@codesourcery.com>
1336
1337 PR other/31955
1338 * doc/install.texi2html: Generate gcc-vers.texi.
1339
1340 2008-01-25 DJ Delorie <dj@redhat.com>
1341
1342 * config/m32c/m32c.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1343
1344 2008-01-25 Joseph Myers <joseph@codesourcery.com>
1345
1346 * config/c4x: Remove directory.
1347 * config.gcc (crx-*, mt-*): Mark obsolete.
1348 (c4x-*, tic4x-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*, tic4x-*,
1349 h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*,
1350 sh-*-rtemscoff*): Remove cases.
1351 * defaults.h (C4X_FLOAT_FORMAT): Remove.
1352 * real.c (encode_c4x_single, decode_c4x_single,
1353 encode_c4x_extended, decode_c4x_extended, c4x_single_format,
1354 c4x_extended_format): Remove.
1355 * real.h (c4x_single_format, c4x_extended_format): Remove.
1356 * doc/extend.texi (interrupt, naked): Remove mention of attributes
1357 on C4x.
1358 (Pragmas): Remove comment about c4x pragmas.
1359 * doc/install.texi (c4x): Remove target-specific instructions.
1360 * doc/invoke.texi (TMS320C3x/C4x Options): Remove.
1361 * doc/md.texi (Machine Constraints): Remove C4x documentation.
1362 * doc/tm.texi (MEMBER_TYPE_FORCES_BLK, c_register_pragma): Do not
1363 refer to C4x source files as examples.
1364 (C4X_FLOAT_FORMAT): Remove documentation.
1365
1366 2008-01-25 Bernd Schmidt <bernd.schmidt@analog.com>
1367
1368 * config/bfin/bfin.c (override_options): Reorder tests so that
1369 flag_pic gets enabled for -msep-data.
1370
1371 2008-01-25 Richard Guenther <rguenther@suse.de>
1372
1373 PR middle-end/32244
1374 * expr.c (expand_expr_real_1): Reduce result of LSHIFT_EXPR
1375 to its bitfield precision if required.
1376
1377 2008-01-25 Jakub Jelinek <jakub@redhat.com>
1378
1379 PR middle-end/33880
1380 * tree-nested.c (walk_omp_for): New function.
1381 (convert_nonlocal_reference, convert_local_reference): Call
1382 walk_omp_for on OMP_FOR.
1383 (convert_call_expr): Call walk_body on OMP_FOR's
1384 OMP_FOR_PRE_INIT_BODY.
1385
1386 2008-01-25 Richard Guenther <rguenther@suse.de>
1387
1388 PR tree-optimization/34966
1389 * tree-ssa-math-opts.c (execute_cse_sincos_1): For all but
1390 default defs and PHI_NODEs we have to insert after the
1391 defining statement.
1392
1393 2008-01-24 Nick Clifton <nickc@redhat.com>
1394
1395 * config/stormy16/stormy16-lib2.c (MIN_UNITS_PER_WORD):
1396 Provide a default definition.
1397 (LIBGCC2_UNITS_PER_WORD): Likewise.
1398
1399 * config/stormy16/stormy16.c: Include df.h for the prototype
1400 for df_regs_ever_live_p.
1401 (xstormy16_expand_builtin_va_start): Convert the stack offset
1402 into a component_ref and then use POINTER_PLUS_EXPR to add it
1403 to the incoming_virtual_args_rtx.
1404 (xstormy16_gimplify_va_arg_expr): Rename to
1405 xstormy16_gimplify_va_arg_expr.
1406 Use POINTER_PLUS_EXPR when performing pointer arithmetic.
1407 (TARGET_GIMPLIFY_VA_ARG_EXPR): Use renamed
1408 xstormy16_gimplify_va_arg_expr.
1409 Fix up some formatting issues.
1410
1411 * config/stormy16/stormy16.c: (xstormy16_carry_plus_operand):
1412 Move to predicates.md.
1413 (xs_hi_general_operand): Likewise.
1414 (xs_hi_nonmemory_operand): Likewise.
1415 * config/stormy16/predicates.md:
1416 (xstormy16_carry_plus_operand): New predicate.
1417 (xs_hi_general_operand): New predicate.
1418 (xs_hi_nonmemory_operand): New predicate.
1419 * config/stormy16/stormy16-protos.h:
1420 (xstormy16_carry_plus_operand): Delete prototype.
1421 (xs_hi_general_operand): Likewise.
1422 (xs_hi_nonmemory_operand): Likewise.
1423
1424 * config/storm16/stormy16.md (addhi3): Remove earlyclobber
1425 modifiers as they are no longer needed and they can trigger
1426 reload spill failures.
1427
1428 * config/storm16/stormy16.md (ineqbranchsi): Replace match_dup
1429 with a match_operand in order to help reload.
1430
1431 * config/storm16/stormy16.md (movhi_internal): Replace 'r'
1432 constraint with 'e' for the 8th alternative as this version of
1433 the mov.w instruction only accepts the lower 8 registers.
1434
1435 2008-01-25 Uros Bizjak <ubizjak@gmail.com>
1436
1437 PR target/34856
1438 * simplifx-rtx.c (simplify_const_binary_operation) [VEC_CONCAT]:
1439 Consider only CONST_INT, CONST_DOUBLE and CONST_FIXED as constant
1440 vector elements.
1441
1442 2008-01-25 Jakub Jelinek <jakub@redhat.com>
1443
1444 PR middle-end/33333
1445 * gimplify.c (gimplify_omp_for): Gimplify OMP_FOR_PRE_BODY.
1446
1447 2008-01-25 Golovanevsky Olga <olga@il.ibm.com>
1448
1449 * ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs):
1450 New functions.
1451 (remove_structure): Update allocations list before removing structure.
1452
1453 2008-01-25 Golovanevsky Olga <olga@il.ibm.com>
1454
1455 * ipa-struct-reorg.c (is_safe_cond_expr,
1456 create_new_stmts_for_cond_expr): Use integer_zerop function,
1457 that recognize not only zero-pointer, but zero-integer too.
1458
1459 2008-01-25 Ben Elliston <bje@au.ibm.com>
1460
1461 PR other/22232
1462 * fixproto: Escape "." in sed expression that strips leading "./".
1463
1464 2008-01-24 H.J. Lu <hongjiu.lu@intel.com>
1465
1466 PR driver/34904
1467 * gcc.c (SWITCH_OK): Removed.
1468 (SWITCH_LIVE): Changed to bit.
1469 (SWITCH_FALSE): Likewise.
1470 (SWITCH_IGNORE): Likewise.
1471 (switchstr): Change live_cond to unsigned int.
1472 (process_command): Replace SWITCH_OK with 0.
1473 (do_self_spec): Likewise.
1474 (set_collect_gcc_options): Check the SWITCH_IGNORE bit.
1475 (give_switch): Likewise.
1476 (used_arg): Likewise.
1477 (do_spec_1): Set the SWITCH_IGNORE bit.
1478 (check_live_switch): Check both SWITCH_LIVE and SWITCH_FALSE
1479 bits. Set the SWITCH_LIVE bit.
1480
1481 2008-01-24 Andreas Krebbel <krebbel1@de.ibm.com>
1482
1483 * config/s390/s390.h (MOVE_RATIO): Define new target macro.
1484
1485 2008-01-24 Richard Sandiford <rsandifo@nildram.co.uk>
1486
1487 PR tree-optimization/34472
1488 * ipa-struct-reorg.c (safe_cond_expr_check): Change the DATA
1489 parameter to a "bool *" and set *DATA to false if there is
1490 an unsafe access. Do not delete the structure here.
1491 (check_cond_exprs): Delete it here instead.
1492 (check_cond_exprs, exclude_cold_structs): Do not increase
1493 I when removing a structure.
1494
1495 2008-01-24 Uros Bizjak <ubizjak@gmail.com>
1496
1497 PR target/34856
1498 * config/i386/i386.c (ix86_expand_vector_init): Consider only
1499 CONST_INT, CONST_DOUBLE and CONST_FIXED as constant vector elements.
1500
1501 2008-01-24 Jakub Jakub Jelinek <jakub@redhat.com>
1502
1503 PR middle-end/34934
1504 * tree-stdarg.c (reachable_at_most_once): Use VEC vector instead of
1505 a fixed vector for stack.
1506
1507 2008-01-24 Ben Elliston <bje@au.ibm.com>
1508
1509 PR c++/25701
1510 * doc/gcc.texi (Software development): Add a direntry for g++.
1511
1512 2008-01-23 Hans-Peter Nilsson <hp@axis.com>
1513
1514 * config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop
1515 stale and straggling -fforce-addr comments above.
1516
1517 * config/cris/cris.h (CRIS_SUBTARGET_VERSION, TARGET_VERSION): Don't
1518 define.
1519 * config/cris/linux.h (CRIS_SUBTARGET_VERSION): Don't define.
1520 * config/cris/aout.h (CRIS_SUBTARGET_VERSION): Don't define.
1521
1522 2008-01-23 Michael Matz <matz@suse.de>
1523
1524 PR debug/34895
1525 * dwarf2out.c (force_type_die): Use modified_type_die instead of
1526 gen_type_die.
1527
1528 2008-01-23 Andreas Krebbel <krebbel1@de.ibm.com>
1529
1530 * ipa-struct-reorg.c (create_new_malloc): Use pointer type as
1531 malloc result type.
1532
1533 2008-01-23 Anatoly Sokolov <aesok@post.ru>
1534
1535 * config/avr/avr.c (avr_current_arch): New variable.
1536 (avr_arch_types): Add 'avr31' and 'avr51' entries.
1537 (avr_arch): Add 'ARCH_AVR31' and 'ARCH_AVR51'.
1538 (avr_mcu_types): Add 'avr31' and 'avr51' architectures.
1539 (avr_override_options): Init 'avr_current_arch'.
1540 (base_arch_s): Move from here...
1541 * config/avr/avr.h (base_arch_s): ... here. Add new members
1542 'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename
1543 'mega' to 'have_jmp_call'.
1544 (TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__",
1545 "__AVR_HAVE_RAMPZ__", "__AVR_HAVE_ELPM__" and "__AVR_HAVE_ELPMX__"
1546 macros.
1547 (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51'
1548 architectures.
1549 * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
1550 MULTILIB_MATCHES): (Ditto.).
1551
1552 2008-01-23 Richard Guenther <rguenther@suse.de>
1553
1554 PR middle-end/31529
1555 * cgraphunit.c (cgraph_reset_node): Always mark the node
1556 not reachable if it is not queued already.
1557
1558 2008-01-23 Bernd Schmidt <bernd.schmidt@analog.com>
1559
1560 * config/bfin/bfin-protos.h (WA_RETS, ENABLE_WA_RETS): New macros.
1561 * config/bfin/bfin.c (bfin_cpus): Add WA_RETS everywhere.
1562 (cputype_selected): New static variable.
1563 (bfin_handle_option): Set it if -mcpu is used.
1564 (override_option): Select default set of workarounds if no cpu type
1565 selected on the command line.
1566 (workaround_rts_anomaly): Only run if ENABLE_WA_RETS.
1567
1568 From Michael Frysinger <michael.frysinger@analog.com>
1569 * config/bfin/bfin-protos.h (enum bfin_cpu_type): Add
1570 BFIN_CPU_BF547, BFIN_CPU_BF523, BFIN_CPU_BF524, and BFIN_CPU_BF526.
1571
1572 * config/bfin/elf.h (LIB_SPEC): Use proper linker script
1573 for bf547, bf523, bf524, and bf526.
1574 * config/bfin/bfin.c (bfin_cpus[]): Add bf547, bf523, bf524, and
1575 bf526.
1576 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
1577 __ADSPBF523__ for bf523, __ADSPBF524__ for bf524,
1578 __ADSPBF526__ for bf526, __ADSPBF52x__ for all three, as well as
1579 __ADSPBF547__ and __ADSPBF54x__ for bf547.
1580 * doc/invoke.texi (Blackfin Options): Document that
1581 -mcpu now accept bf547, bf523, bf524, and bf526.
1582
1583 2008-01-22 Eric Botcazou <ebotcazou@adacore.com>
1584
1585 PR rtl-optimization/34628
1586 * combine.c (try_combine): Stop and undo after the first combination
1587 if an autoincrement side-effect on the first insn has effectively
1588 been lost.
1589
1590 2008-01-22 David Edelsohn <edelsohn@gnu.org>
1591
1592 PR target/34529
1593 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
1594 Offset addresses are not valid for Altivec or paired float modes.
1595
1596 2008-01-22 Jakub Jelinek <jakub@redhat.com>
1597
1598 PR c++/34607
1599 * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for
1600 if DECL_INITIAL (decl) is error_mark_node.
1601
1602 PR c++/34914
1603 * c-common.c (handle_vector_size_attribute): Only allow
1604 integral, scalar float and fixed point types. Handle OFFSET_TYPE
1605 the same way as pointer, array etc. types.
1606 * tree.c (reconstruct_complex_type): Handle OFFSET_TYPE.
1607
1608 PR c++/34917
1609 * tree.c (build_type_attribute_qual_variant): Call
1610 build_qualified_type if attributes are equal, but quals are not.
1611
1612 2008-01-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1613
1614 PR 32102
1615 * doc/invoke.texi (-Wall): -Wall enables -Wstrict-overflow=1.
1616 * flags.h (warn_strict_aliasing): Remove.
1617 (warn_strict_overflow): Remove.
1618 * opts.c (warn_strict_aliasing): Remove.
1619 (warn_strict_overflow): Remove.
1620 * c-opts.c (c_common_handle_option): -Wall only sets
1621 -Wstrict-aliasing or -Wstrict-overflow if they are uninitialized.
1622 (c_common_post_options): Give default values to -Wstrict-aliasing
1623 and -Wstrict-overflow if they are uninitialized.
1624 * common.opt (Wstrict-aliasing): Specify Var and Init.
1625 (Wstrict-overflow): Likewise.
1626
1627 2008-01-22 Kenneth Zadeck <zadeck@naturalbridge.com>
1628
1629 PR rtl-optimization/26854
1630 PR rtl-optimization/34400
1631 PR rtl-optimization/34884
1632 * ddg.c (create_ddg_dep_from_intra_loop_link): Use
1633 DF_RD->gen.
1634 * df.h (df_changeable_flags.DF_RD_NO_TRIM): Deleted
1635 (df_rd_bb_info.expanded_lr_out): Deleted
1636 * loop_invariant.c (find_defs): Deleted DF_RD_NO_TRIM flag.
1637 * loop_iv.c (iv_analysis_loop_init): Ditto. * df-problems.c
1638 (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
1639 df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
1640 Removed code to allocate, initialize or free expanded_lr_out.
1641 (df_rd_bb_local_compute_process_def): Restructured to make more
1642 understandable.
1643 (df_rd_confluence_n): Removed code to no apply invalidate_by_call
1644 sets if the sets are being trimmed.
1645
1646 2008-01-22 H.J. Lu <hongjiu.lu@intel.com>
1647
1648 PR bootstrap/32287
1649 * configure.ac (ld_vers): Support GNU linker version xx.xx.*
1650 (as_vers): Likewise.
1651 * configure: Regenerated.
1652
1653 2008-01-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1654
1655 PR middle-end/33092
1656 * tree-pass.h (pass_build_alias): New pass.
1657 * tree-ssa-alias.c (gate_build_alias): New.
1658 (pass_build_alias): New.
1659 * passes.c (init_optimization_passes): Add pass_build_alias after
1660 pass_create_structure_vars.
1661
1662 2008-01-22 Wolfgang Gellerich <gellerich@de.ibm.com>
1663
1664 * config/s390/s390.h (S390_TDC_POSITIVE_NORMALIZED_NUMBER):
1665 Renamed to S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER.
1666 (S390_TDC_NEGATIVE_NORMALIZED_NUMBER): Renamed to
1667 S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER.
1668 (S390_TDC_POSITIVE_DENORMALIZED_NUMBER): Renamed to
1669 S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER.
1670 (S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): Renamed to
1671 S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER.
1672 (S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER): New constant.
1673 (S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER): New constant.
1674 (S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER): New constant.
1675 (S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER): New constant.
1676 * config/s390/s390.md (FP_ALL): New mode iterator.
1677 (_d): New mode attribute.
1678 ("*signbit<mode>2>"): Changed mode of first operand.
1679 ("isinf<mode>2"): Changed mode of first operand.
1680 ("*TDC_insn"): Adaptation for DFP modes.
1681
1682 2008-01-22 Ben Elliston <bje@au.ibm.com>
1683
1684 * tree.c (check_qualified_type): Improve function description.
1685
1686 2008-01-21 Jason Merrill <jason@redhat.com>
1687
1688 PR c++/34196
1689 * tree.h (TRY_CATCH_IS_CLEANUP): New macro.
1690 * tree-eh.c (honor_protect_cleanup_actions): Strip TRY_CATCH_EXPR
1691 if it is set.
1692
1693 2008-01-21 DJ Delorie <dj@redhat.com>
1694
1695 * doc/tm.texi (HARD_REGNO_NREGS): Note that this macro must not
1696 return zero.
1697
1698 2008-01-21 Richard Guenther <rguenther@suse.de>
1699
1700 PR middle-end/34856
1701 * tree-cfg.c (verify_expr): Allow all invariant expressions
1702 instead of just constant class ones as reference argument.
1703 * tree-ssa-loop-im.c (for_each_index): Handle CONSTRUCTOR
1704 like any other constant.
1705 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
1706
1707 2008-01-21 H.J. Lu <hongjiu.lu@intel.com>
1708
1709 * regmove.c (fixup_match_1): Update call crossed frequencies.
1710
1711 2008-01-21 Richard Guenther <rguenther@suse.de>
1712
1713 PR c/34885
1714 * tree-inline.c (setup_one_parameter): Deal with mismatched
1715 types using a VIEW_CONVERT_EXPR.
1716
1717 2008-01-21 Alon Dayan <alond@il.ibm.com>
1718 Olga Golovanevsky <olga@il.ibm.com>
1719
1720 PR tree-optimization/34701
1721 * ipa-struct-reorg.c (gen_size): Fix the malloc parameter calculation
1722 when the structure size is not a power of 2.
1723
1724 2008-01-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1725
1726 * doc/install.texi: Add doc for --enable-checking=df.
1727
1728 2008-01-20 Kaz Kojima <kkojima@gcc.gnu.org>
1729
1730 PR rtl-optimization/34808
1731 * emit-rtl.c (try_split): Handle REG_RETVAL notes.
1732
1733 2008-01-20 Richard Sandiford <rsandifo@nildram.co.uk>
1734
1735 * global.c (find_reg): Only compute EH_RETURN_DATA_REGNO once per
1736 input.
1737
1738 2008-01-19 Kenneth Zadeck <zadeck@naturalbridge.com>
1739
1740 PR rtl-optimization/26854
1741 PR rtl-optimization/34400
1742 * ddg.c (create_ddg_dep_from_intra_loop_link): Do not use
1743 DF_RD->gen.
1744 * df.h (df_changeable_flags.DF_RD_NO_TRIM): New.
1745 (df_rd_bb_info.expanded_lr_out): New.
1746 * loop_invariant.c (find_defs): Added DF_RD_NO_TRIM flag.
1747 * loop_iv.c (iv_analysis_loop_init): Ditto.
1748 * df-problems.c (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
1749 df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
1750 Added code to allocate, initialize or free expanded_lr_out.
1751 (df_rd_bb_local_compute_process_def): Restructured to make
1752 more understandable.
1753 (df_rd_confluence_n): Add code to do nothing with fake edges and
1754 code to no apply invalidate_by_call sets if the sets are being trimmed.
1755 (df_lr_local_finalize): Renamed to df_lr_finalize.
1756 (df_live_local_finalize): Renamed to df_live_finalize.
1757
1758 2008-01-20 Richard Sandiford <rsandifo@nildram.co.uk>
1759
1760 PR target/34831
1761 * config/mips/mips.md (div<mode>3): Use <recip_condition> when
1762 deciding whether to use reciprocal instructions.
1763
1764 2008-01-19 Uros Bizjak <ubizjak@gmail.com>
1765
1766 * dwarf2out.c (dwarf2out_switch_text_section): Do not call
1767 dwarf2out_note_section_used if cold_text_section is NULL.
1768
1769 2008-01-19 Jakub Jelinek <jakub@redhat.com>
1770
1771 PR gcov-profile/34610
1772 * tree-cfg.c (make_edges): Mark both outgoing edges from
1773 OMP_CONTINUE and from OMP_FOR as EDGE_ABNORMAL.
1774 * omp-low.c (expand_omp_for): Clear EDGE_ABNORMAL bits
1775 from OMP_FOR and OMP_CONTINUE outgoing edges.
1776
1777 * tree-profile.c (tree_profiling): Return early if
1778 cfun->after_tree_profile != 0. Set cfun->after_tree_profile
1779 at the end.
1780 * omp-low.c (expand_omp_parallel): Copy after_tree_profile
1781 from cfun to child_cfun.
1782 * function.h (struct function): Add after_tree_profile bit.
1783
1784 2008-01-19 Anatoly Sokolov <aesok@post.ru>
1785
1786 * config/avr/avr.S (_exit): Disable interrupt.
1787
1788 2008-01-18 Kenneth Zadeck <zadeck@naturalbridge.com>
1789 Steven Bosscher <stevenb.gcc@gmail.com>
1790
1791 PR rtl-optimization/26854
1792 PR rtl-optimization/34400
1793 * df-problems.c (df_live_scratch): New scratch bitmap.
1794 (df_live_alloc): Allocate df_live_scratch when doing df_live.
1795 (df_live_reset): Clear the proper bitmaps.
1796 (df_live_bb_local_compute): Only process the artificial defs once
1797 since the order is not important.
1798 (df_live_init): Init the df_live sets only with the variables
1799 found live by df_lr.
1800 (df_live_transfer_function): Use the df_lr sets to prune the
1801 df_live sets as they are being computed.
1802 (df_live_free): Free df_live_scratch.
1803
1804 2008-01-18 Ian Lance Taylor <iant@google.com>
1805
1806 * common.opt: Add fmerge-debug-strings.
1807 * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test
1808 flag_merge_debug_strings rather than flag_merge_constants.
1809 * doc/invoke.texi (Option Summary): Mention
1810 -fmerge-debug-strings.
1811 (Debugging Options): Document -fmerge-debug-strings.
1812
1813 2008-01-18 Ian Lance Taylor <iant@google.com>
1814
1815 PR c++/33407
1816 * tree.h (DECL_IS_OPERATOR_NEW): Define.
1817 (struct tree_function_decl): Add new field operator_new_flag.
1818 * tree-inline.c (expand_call_inline): When inlining a call to
1819 operator new, force the return value to go into a variable, and
1820 set DECL_NO_TBAA_P on that variable.
1821 * c-decl.c (merge_decls): Merge DECL_IS_OPERATOR_NEW flag.
1822
1823 2008-01-18 Uros Bizjak <ubizjak@gmail.com>
1824
1825 PR debug/34484
1826 * dwarf2out.c (dwarf2out_switch_text_section): Do not guard with
1827 DWARF2_DEBUGGING_INFO.
1828 (dwarf2out_note_section_used): Ditto. Add prototype.
1829 (have_multiple_function_sections, text_section_used,
1830 cold_text_section_used, *cold_text_sections): Move declarations
1831 before their uses.
1832
1833 2008-01-17 Bob Wilson <bob.wilson@acm.org>
1834
1835 * config/xtensa/unwind-dw2-xtensa.h (_Unwind_FrameState): Remove pc
1836 field and add signal_ra.
1837 * config/xtensa/unwind-dw2-xtensa.c (uw_frame_state_for): Remove
1838 assignments to frame state pc. Move end of stack check after
1839 MD_FALLBACK_FRAME_STATE_FOR.
1840 (uw_update_context_1): Use frame state signal_regs if set, instead
1841 of checking signal_frame flag.
1842 (uw_update_context): Use frame state signal_ra if set.
1843 * config/xtensa/linux.h (MD_UNWIND_SUPPORT): Define.
1844 * config/xtensa/linux-unwind.h: New file.
1845
1846 2008-01-18 Bernhard Fischer <aldot@gcc.gnu.org>
1847
1848 * modulo-sched.c (get_sched_window): Fix comment typo.
1849
1850 2008-01-17 Andrew MacLeod <amacleod@redhat.com>
1851
1852 PR tree-optimization/34648
1853 * tree-ssa-sccvn.c (visit_use): Expressions which can throw are varying.
1854
1855 2008-01-17 Anatoly Sokolov <aesok@post.ru>
1856
1857 * config/avr/avr.h (LINK_SPEC): Support -mrelax and -mpmem-wrap-around.
1858 * config/avr/avr.opt (mrelax, mpmem-wrap-around): Add.
1859
1860 2008-01-17 Seongbae Park <seongbae.park@gmail.com>
1861
1862 PR rtl-optimization/34400
1863 * df-core.c (df_worklist_dataflow_overeager,
1864 df_worklist_dataflow_doublequeue): New functions.
1865 (df_worklist_dataflow): Two different worklist solvers.
1866 * params.def (PARAM_DF_DOUBLE_QUEUE_THRESHOLD_FACTOR):
1867 New param.
1868
1869 2008-01-16 Sebastian Pop <sebastian.pop@amd.com>
1870
1871 PR testsuite/34821
1872 * doc/invoke.texi: Document the dependence on pthread for fopenmp
1873 and ftree-parallelize-loops.
1874
1875 2008-01-17 Mircea Namolaru <namolaru@il.ibm.com>
1876
1877 PR rtl-optimization/34826
1878 * loop-doloop (doloop_modify): Update the REG_BR_PROB note.
1879
1880 2008-01-17 Andreas Krebbel <krebbel1@de.ibm.com>
1881
1882 * global.c (find_reg): Mark the eh regs as used if necessary.
1883 * ra-conflict.c (global_conflicts): Set no_eh_reg flag.
1884 * ra.h (struct allocno): no_eh_reg field added. Changed
1885 no_stack_reg type to bitfield.
1886
1887 2008-01-17 Eric Botcazou <ebotcazou@adacore.com>
1888
1889 * tree.c (substitute_in_expr): Add missing 'break'.
1890
1891 2008-01-17 Richard Guenther <rguenther@suse.de>
1892
1893 PR tree-optimization/34825
1894 * tree-ssa-math-opts.c (is_division_by): Do not recognize
1895 x / x as division to handle.
1896
1897 2008-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1898
1899 * pa64-hpux.h (LIB_SPEC): Add "-lpthread" in shared links if "-mt" or
1900 "-pthread" is specified.
1901 * pa-hpux11.h (LIB_SPEC): Likewise.
1902
1903 2008-01-16 Janis Johnson <janis187@us.ibm.com>
1904 Peter Bergner <bergner@vnet.ibm.com>
1905
1906 PR rtl-optimization/33796
1907 * sparseset.c (sparseset_alloc): Use xcalloc rather than xmalloc.
1908
1909 2008-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1910
1911 PR libgfortran/34699
1912 * pa-hpux.h (LINK_SPEC): Only search /lib/pa1.1 and /usr/lib/pa1.1 on
1913 static links.
1914 * pa-hpux10.h (LINK_SPEC): Likewise.
1915 * pa-hpux11.h (LINK_SPEC): Don't search /lib/pa1.1 and /usr/lib/pa1.1.
1916
1917 2008-01-16 Richard Guenther <rguenther@suse.de>
1918
1919 PR middle-end/32628
1920 * fold-const.c (fold_convert_const_int_from_int): Do not
1921 set overflow if that occured only because of a sign extension
1922 change when converting from/to a sizetype with the same
1923 precision and signedness.
1924
1925 2008-01-16 Uros Bizjak <ubizjak@gmail.com>
1926
1927 PR debug/34249
1928 * dwarf2out.c (output_call_frame_info): Move output of FDE initial
1929 location address to the correct place. Update copyright year.
1930
1931 2008-01-16 Sebastian Pop <sebastian.pop@amd.com>
1932
1933 * lambda-code.c (lambda_transform_legal_p): Handle the case of
1934 no dependences in the dependence_relations vector.
1935
1936 2008-01-16 Jan Hubicka <jh@suse.cz>
1937
1938 PR rtl-optimization/31396
1939 * regstat.c (regstat_bb_compute_ri): Compute FREQ_CALLS_CROSSED.
1940 * cfg.c (dump_reg_info): Print it.
1941 * regs.h (struct reg_info_t): add freq_calls_crossed.
1942 (REG_FREQ_CALLS_CROSSED): New macro.
1943 * global.c (global_alloc): Compute freq_calls_crossed for allocno.
1944 (find_reg): Update call of CALLER_SAVE_PROFITABLE.
1945 * regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2,
1946 regmove_optimize): Update call crossed frequencies.
1947 * local-alloc.c (struct qty): Add freq_calls_crossed.
1948 (alloc_qty): Copute freq_calls_crossed.
1949 (update_equiv_regs, combine_regs): Update REG_FREQ_CALLS_CROSSED.
1950 (find_free_reg): Update call of CALLER_SAVE_PROFITABLE.
1951 * ra.h (struct allocno): Add freq_calls_crossed.
1952
1953 2008-01-16 Sebastian Pop <sebastian.pop@amd.com>
1954
1955 * gcc.c (LINK_COMMAND_SPEC): Add includes and link options for
1956 libgomp when compiling with ftree-parallelize-loops.
1957 (GOMP_SELF_SPECS): Add -pthread for ftree-parallelize-loops.
1958
1959 2008-01-16 Richard Guenther <rguenther@suse.de>
1960
1961 PR tree-optimization/34769
1962 * tree-data-ref.c (initialize_matrix_A): Revert fix for PR34458.
1963 * tree.c (int_cst_value): Instead make this function more
1964 permissive in what it accepts as valid input. Document this
1965 function always sign-extends the value.
1966
1967 2008-01-16 Jakub Jelinek <jakub@redhat.com>
1968 Richard Guenther <rguenther@suse.de>
1969
1970 PR c/34668
1971 * gimplify.c (fold_indirect_ref_rhs): Rename to ...
1972 (gimple_fold_indirect_ref_rhs): ... this.
1973 (gimple_fold_indirect_ref): New function with foldings
1974 that preserve lvalueness.
1975 (gimplify_modify_expr_rhs): Call gimple_fold_indirect_ref_rhs.
1976 * tree-flow.h (gimple_fold_indirect_ref): Declare.
1977 * tree-inline.c (copy_body_r): Use gimple_fold_indirect_ref
1978 to fold an INDIRECT_REF, fall back to the old use of
1979 fold_indirect_ref_1.
1980
1981 2008-01-16 Sebastian Pop <sebastian.pop@amd.com>
1982
1983 * tree-data-ref.c (subscript_dependence_tester_1): Call
1984 free_conflict_function.
1985 (compute_self_dependence): Same.
1986
1987 2008-01-16 Uros Bizjak <ubizjak@gmail.com>
1988
1989 PR debug/34249
1990 * debug.h (dwarf2out_switch_text_section): Move declaration from ...
1991 * dwarf2out.c (dwarf2out_switch_text_section): ... here. Make
1992 function global.
1993 * final.c (final_scan_insn) [NOTE_INSN_SWITCH_TEXT_SECTIONS]:
1994 Depending on dwarf2out_do_frame, call dwarf2out_switch_text_section
1995 for DWARF2_UNWIND_INFO targets.
1996
1997 2008-01-16 Richard Guenther <rguenther@suse.de>
1998
1999 PR c/34768
2000 * c-typeck.c (common_pointer_type): Do not merge inconsistent
2001 type qualifiers for function types.
2002
2003 2008-01-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2004
2005 * tree-parloops.c (gen_parallel_loop): Fix ommision of declaration for
2006 loop_iterator li from previous commit.
2007
2008 2008-01-15 Sebastian Pop <sebastian.pop@amd.com>
2009
2010 * tree-parloops.c (gen_parallel_loop): Free loop bound estimations.
2011
2012 2008-01-12 Sebastian Pop <sebastian.pop@amd.com>
2013
2014 * tree-parloops.c (loop_has_blocks_with_irreducible_flag): New.
2015 (parallelize_loops): Don't parallelize irreducible components.
2016
2017 2008-01-14 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2018
2019 PR c++/24924
2020 * c-opts (c_common_post_options): Do not enable CPP
2021 flag_pedantic_errors by default.
2022
2023 2008-01-14 Eric Botcazou <ebotcazou@adacore.com>
2024
2025 PR rtl-optimization/31944
2026 * cse.c (remove_pseudo_from_table): New function.
2027 (merge_equiv_classes): Use above function to remove pseudo-registers.
2028 (invalidate): Likewise.
2029
2030 2008-01-13 Richard Guenther <rguenther@suse.de>
2031
2032 PR middle-end/34601
2033 * emit-rtl.c (set_reg_attrs_for_decl_rtl): Use DECL_MODE
2034 instead of TYPE_MODE to deal with calls from expand_one_error_var.
2035
2036 2008-01-13 Uros Bizjak <ubizjak@gmail.com>
2037
2038 * gcse.c (cprop_jump): Call validate_unshare_change instead of
2039 validate_change to unshare the source of the PC set.
2040
2041 2008-01-12 Jan Hubicka <jh@suse.cz>
2042
2043 PR middle-end/32135
2044 * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Do not construct
2045 references above array bounds. This might trigger bounds checks for
2046 pointers to arrays.
2047
2048 2008-01-12 Sebastian Pop <sebastian.pop@amd.com>
2049
2050 * tree-ssa-ter.c (free_temp_expr_table): Free num_in_part and
2051 new_replaceable_dependencies.
2052
2053 2008-01-12 Doug Kwan <dougkwan@google.com>
2054
2055 * c-decl.c: (grokdeclarator): Use OPT_Wignored_qualifiers
2056 instead of OPT_Wreturn_type in warning due to ignored return type
2057 qualifiers.
2058 * c-opt.c (c_common_post_option): Add -Wignored-qualifiers to
2059 options included in -Wextra.
2060 * c.opt: New option -Wignored_qualifiers.
2061 * doc/invoke.texi (Warning Options, -Wextra): Add new option
2062 -Wignore_qualifiers.
2063 (-Wignored-qualifiers): Document.
2064 (-Wreturn-type): Remove description of functionality now handled
2065 by -Wignored-qualifiers.
2066
2067 2008-01-12 Eric Botcazou <ebotcazou@adacore.com>
2068
2069 PR ada/33788
2070 * fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Fold an existing
2071 NOP_EXPR if it is between integral types with the same precision.
2072
2073 2008-01-12 Jan Hubicka <jh@suse.cz>
2074
2075 PR other/28023
2076 * invoke.texi (max-inline-recursive-depth): Fix default value.
2077
2078 2008-01-12 Zdenek Dvorak <ook@ucw.cz>
2079
2080 * tree-parloops.c (transform_to_exit_first_loop): Cast nit to the
2081 correct type.
2082
2083 2008-01-11 Bob Wilson <bob.wilson@acm.org>
2084
2085 * config/xtensa/xtensa.c (override_options): Set flag_shlib.
2086
2087 2008-01-11 James E. Wilson <wilson@specifix.com>
2088
2089 PR target/26015
2090 * config/vax/elf.h (FRAME_POINTER_CFA_OFFSET): Define.
2091
2092 2008-01-11 Anatoly Sokolov <aesok@post.ru>
2093
2094 * config/avr/avr.c (expand_prologue, expand_epilogue): Don't
2095 save/restore frame pointer register and don't use 'call-prologues'
2096 optimization in function with "OS_task" attribute.
2097
2098 2008-01-11 Eric Botcazou <ebotcazou@adacore.com>
2099
2100 PR middle-end/31309
2101 * expr.c (copy_blkmode_from_reg): Use a mode suited to the size
2102 when copying to memory.
2103
2104 2008-01-11 Steven Bosscher <stevenb.gcc@gmail.com>
2105
2106 PR rtl-optimization/30905
2107 * cfgcleanup.c: Include dce.h
2108 (crossjumps_occured): New global variable.
2109 (try_crossjump_bb): Exit loop after finding a fallthru edge.
2110 If something changed, set crossjumps_occured to true.
2111 (try_optimize_cfg): Clear crossjumps_occured at the beginning.
2112 Don't add/remove fake edges to exit here...
2113 (cleanup_cfg): ...but do it here, when crossjumping.
2114 Run a fast DCE when successful crossjumps occured in the latest
2115 iteration of try_optimize_cfg.
2116
2117 2008-01-11 Richard Guenther <rguenther@suse.de>
2118
2119 * tree-ssa-sccvn.c (struct vn_binary_op_s): Move hashcode near opcode.
2120 (struct vn_unary_op_s): Likewise.
2121 (vn_reference_insert): Free old reference on hash collision.
2122
2123 2008-01-10 Raksit Ashok <raksit@google.com>
2124
2125 PR rtl-optimization/27971
2126 * combine.c (find_split_point): Split PLUS expressions which are
2127 inside a MEM rtx, and whose first operand is complex.
2128
2129 2008-01-10 DJ Delorie <dj@redhat.com>
2130
2131 * config/m32c/m32c.c (m32c_hard_regno_nregs_1): Renamed from...
2132 (m32c_hard_regno_nregs): ...this, which is now a wrapper.
2133 (m32c_hard_regno_ok): Call the underlying function.
2134
2135 2008-01-10 Richard Guenther <rguenther@suse.de>
2136
2137 PR middle-end/34683
2138 * tree-cfg.c (tree_merge_blocks): Do not go through the
2139 full-blown folding and stmt updating path if we just deal
2140 with virtual operands.
2141 * tree-ssa-copy.c (may_propagate_copy): Do not short-cut
2142 test for abnormal SSA_NAMEs.
2143
2144 2008-01-10 Andreas Krebbel <krebbel1@de.ibm.com>
2145
2146 PR middle-end/34641
2147 * reload.c (push_reload): Add assertions. All constants from
2148 reg_equiv_constant should have been used for replacing the respective
2149 pseudo earlier.
2150 (find_reloads_address): Invoke find_reloads_address_part for
2151 constant taken from the reg_equiv_constant array.
2152
2153 2008-01-10 Steven Bosscher <stevenb.gcc@gmail.com>
2154
2155 * tree-ssa-sccvn.h (struct vn_ssa_aux): Make the most accessed
2156 field (valnum) the first in the struct. Replace bools with
2157 unit bit fields.
2158
2159 2008-01-10 Richard Guenther <rguenther@suse.de>
2160
2161 PR tree-optimization/34651
2162 * tree-sra.c (sra_build_assignment): Sanitize. Use the correct
2163 types and ordering for masking and converting.
2164
2165 2008-01-09 Sebastian Pop <sebastian.pop@amd.com>
2166
2167 PR tree-optimization/34017
2168 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Generate code
2169 also for PHI_NODE expressions.
2170
2171 2008-01-09 Jan Hubicka <jh@suse.cz>
2172
2173 PR tree-optimization/34708
2174 * tree-inline.c (estimate_num_insns_1): Compute cost of SWITCH_EXPR
2175 based on number of case labels.
2176 (init_inline_once): Remove switch_cost.
2177 * tree-inline.h (eni_weights_d): Remove switch_cost.
2178
2179 2008-01-09 Richard Guenther <rguenther@suse.de>
2180 Andrew Pinski <andrew_pinski@playstation.sony.com>
2181
2182 PR middle-end/30132
2183 * gimplify.c (gimplify_cond_expr): Do not create an addressable
2184 temporary if an rvalue is ok or an lvalue is not required.
2185
2186 2008-01-09 Richard Guenther <rguenther@suse.de>
2187
2188 PR middle-end/34458
2189 * tree-data-ref.c (initialize_matrix_A): Use tree_low_cst,
2190 adjust return type.
2191
2192 2008-01-09 Richard Guenther <rguenther@suse.de>
2193
2194 PR middle-end/34679
2195 * tree.c (host_integerp): Check for sizetype only if the
2196 type is an integer type.
2197
2198 2008-01-09 Steven Bosscher <stevenb.gcc@gmail.com>
2199
2200 PR debug/26364
2201 * opts.c (decode_options): Disable inlining of functions called
2202 once if not in unit-at-a-time mode.
2203
2204 2008-01-09 Alexandre Oliva <aoliva@redhat.com>
2205
2206 * Makefile.in (dse.o): Remove duplicate $(RECOG_H) dependency.
2207
2208 2008-01-08 Richard Guenther <rguenther@suse.de>
2209
2210 PR middle-end/31863
2211 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Bail
2212 out early if the result will be unused.
2213
2214 2008-01-08 Uros Bizjak <ubizjak@gmail.com>
2215
2216 PR target/34709
2217 Revert:
2218
2219 2008-01-05 Uros Bizjak <ubizjak@gmail.com>
2220 * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
2221 for TARGET_RECIP.
2222
2223 2008-01-08 Jan Sjodin <jan.sjodin@amd.com>
2224
2225 * config/i386/i386.c (k8_cost, amdfam10_cost): Branch costs
2226 for vectorization tuned.
2227
2228 2008-01-08 Richard Guenther <rguenther@suse.de>
2229
2230 PR tree-optimization/34683
2231 * tree-ssa-operands.c (operand_build_cmp): Export.
2232 * tree-ssa-operands.h (operand_build_cmp): Declare.
2233 * tree-vn.c (vuses_compare): Remove.
2234 (sort_vuses): Use operand_build_cmp.
2235 (sort_vuses_heap): Likewise.
2236 * tree-ssa-sccvn.c (vuses_to_vec): Use VEC_reserve, not VEC_alloc
2237 to re-use old VEC if available. Do not sort already sorted VUSEs.
2238 (vdefs_to_vec): Do not sort already sorted VDEFs.
2239
2240 2008-01-08 Jakub Jelinek <jakub@redhat.com>
2241
2242 PR middle-end/34694
2243 * omp-low.c (copy_var_decl): Copy also DECL_SOURCE_LOCATION.
2244
2245 2008-01-08 Uros Bizjak <ubizjak@gmail.com>
2246
2247 PR target/34702
2248 * doc/invoke.texi (i386 and x86-64 Options) [mrecip]: Document
2249 limitations of reciprocal sequences on x86 targets.
2250
2251 2008-01-08 Richard Guenther <rguenther@suse.de>
2252
2253 PR tree-optimization/34683
2254 * tree-flow-inline.h (var_ann): Remove overzealous asserts.
2255
2256 2008-01-07 Jakub Jelinek <jakub@redhat.com>
2257
2258 PR target/34622
2259 * config/darwin.c (darwin_mergeable_string_section): Don't use
2260 .cstring if int_size_in_bytes != TREE_STRING_LENGTH.
2261
2262 2008-01-07 Uros Bizjak <ubizjak@gmail.com>
2263
2264 PR target/34682
2265 * config/i386/i386.md (neg<mode>2): Rename from negsf2, negdf2 and
2266 negxf2. Macroize expander using X87MODEF mode iterator. Change
2267 predicates of op0 and op1 to register_operand.
2268 (abs<mode>2): Rename from abssf2, absdf2 and negxf2. Macroize
2269 expander using X87MODEF mode iterator. Change predicates of
2270 op0 and op1 to register_operand.
2271 ("*absneg<mode>2_mixed", "*absneg<mode>2_sse"): Rename from
2272 corresponding patterns and macroize using MODEF macro. Change
2273 predicates of op0 and op1 to register_operand and remove
2274 "m" constraint. Disparage "r" alternative with "!".
2275 ("*absneg<mode>2_i387"): Rename from corresponding patterns and
2276 macroize using X87MODEF macro. Change predicates of op0 and op1
2277 to register_operand and remove "m" constraint. Disparage "r"
2278 alternative with "!".
2279 (absneg splitter with memory operands): Remove.
2280 ("*neg<mode>2_1", "*abs<mode>2_1"): Rename from corresponding
2281 patterns and macroize using X87MODEF mode iterator.
2282 * config/i386/sse.md (negv4sf2, absv4sf2, neg2vdf2, absv2df2):
2283 Change predicate of op1 to register_operand.
2284 * config/i386/i386.c (ix86_expand_fp_absneg_operator): Remove support
2285 for memory operands.
2286
2287 2008-01-07 Nathan Froyd <froydnj@codesourcery.com>
2288
2289 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add clause for mcpu=8548.
2290
2291 2008-01-07 Richard Guenther <rguenther@suse.de>
2292
2293 * basic-block.h (struct edge_def): Pair dest_idx with goto_locus
2294 fields.
2295
2296 2008-01-07 Richard Guenther <rguenther@suse.de>
2297
2298 PR tree-optimization/34683
2299 * tree-ssa-sccvn.c (vuses_to_vec): Pre-allocate the vector of
2300 VOPs of the needed size to save memory. Use VEC_quick_push
2301 to save compile-time.
2302 (vdefs_to_vec): Likewise.
2303
2304 2008-01-07 Sa Liu <saliu@de.ibm.com>
2305
2306 * config/spu/spu.md (divdf3): Genetate inline code for double
2307 division. The implementation doesn't handle INF or NAN, therefore it
2308 only applies when -ffinite-math-only is given.
2309
2310 2008-01-06 Paolo Carlini <pcarlini@suse.de>
2311
2312 PR libstdc++/34680
2313 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_RTTI, if appropriate.
2314 * doc/cpp.texi ([Common Predefined Macros]): Document.
2315
2316 2008-01-06 Uros Bizjak <ubizjak@gmail.com>
2317
2318 * config/i386/i386.c (ix86_emit_swsqrtsf): Use negative constants in
2319 order to use commutative addition instead of subtraction.
2320
2321 2008-01-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
2322 Mircea Namolaru <namolaru@il.ibm.com>
2323 Vladimir Yanovsky <yanov@il.ibm.com>
2324 Revital Eres <eres@il.ibm.com>
2325
2326 PR tree-optimization/34263
2327 * tree-outof-ssa.c (process_single_block_loop_latch,
2328 contains_tree_r): New functions.
2329 (analyze_edges_for_bb): Call process_single_block_loop_latch
2330 function to empty single-basic-block latch block if possible.
2331
2332 2008-01-05 Uros Bizjak <ubizjak@gmail.com>
2333
2334 * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
2335 for TARGET_RECIP.
2336 (ix86_emit_swsqrtsf): Do not filter out infinity for rsqrt expansion.
2337
2338 2008-01-05 Richard Sandiford <rsandifo@nildram.co.uk>
2339
2340 * c-omp.c (check_omp_for_incr_expr): Handle CONVERT_EXPR.
2341
2342 2008-01-05 Richard Sandiford <rsandifo@nildram.co.uk>
2343
2344 * config/mips/mips.c (mips_in_small_data_p): Reinstate size > 0 check.
2345
2346 2008-01-05 Jakub Jelinek <jakub@redhat.com>
2347
2348 PR tree-optimization/34618
2349 * tree-outof-ssa.c (create_temp): Copy over DECL_GIMPLE_REG_P
2350 flag from T.
2351
2352 2008-01-05 Uros Bizjak <ubizjak@gmail.com>
2353
2354 PR target/34673
2355 * config/i386/i386.c (ix86_emit_swsqrtsf): Swap input operands
2356 in the call to gen_rtx_NE. Remove unneeded VECTOR_MODE_P check.
2357 Update copyright year.
2358
2359 * config/i386/i386.md (rsqrtsf2): Enable for TARGET_SSE_MATH.
2360 Update copyright year.
2361 * config/i386/sse.md (rsqrtv4sf2): Ditto. Unconditionally expand
2362 using NR fixup.
2363
2364 2008-01-05 Zhouyi Zhou <zhouzhouyi@FreeBSD.org>
2365
2366 * tree-vrp.c (find_conditional_asserts): Remove redundant check that
2367 edge does not point to current bb before changing need_assert.
2368
2369 2008-01-04 Richard Guenther <rguenther@suse.de>
2370
2371 PR middle-end/34029
2372 * tree-cfg.c (verify_expr): Do not look inside ADDR_EXPRs
2373 for verifying purposes if they are is_gimple_min_invariant.
2374
2375 2008-01-04 Aldy Hernandez <aldyh@redhat.com>
2376
2377 PR tree-optimization/34448
2378 PR tree-optimization/34465
2379 * gimplify.c (gimplify_init_constructor): Add new parameter
2380 notify_temp_creation. Use it.
2381 (gimplify_modify_expr_rhs): Take volatiles into account when
2382 optimizing constructors.
2383 Do not optimize constructors if gimplify_init_constructor will dump to
2384 memory.
2385 * gcc.dg/tree-ssa/pr32901.c: Tests const volatiles.
2386 * gcc.c-torture/compile/pr34448.c: New.
2387
2388 2008-01-04 Jakub Jelinek <jakub@redhat.com>
2389
2390 PR gcov-profile/34609
2391 * tree-inline.c (declare_return_variable): Set TREE_ADDRESSABLE on
2392 return_slot if result is TREE_ADDRESSABLE.
2393
2394 2008-01-04 Richard Sandiford <rsandifo@nildram.co.uk>
2395
2396 * config/mips/mips.md (sqrt_condition): Tweak comment.
2397 (recip_condition): Likewise. Require TARGET_FLOAT64 for DFmode.
2398
2399 2008-01-03 Tom Tromey <tromey@redhat.com>
2400
2401 PR c/34457
2402 * c-common.c (c_type_hash): Handle VLAs.
2403
2404 2008-01-03 Jan Hubicka <jh@suse.cz>
2405
2406 PR tree-optimization/31081
2407 * tree-inline.c (remap_ssa_name): Initialize uninitialized SSA vars to
2408 0 when inlining and not inlining to first basic block.
2409 (remap_decl): When var is initialized to 0, don't set default_def.
2410 (expand_call_inline): Set entry_bb.
2411 * tree-inline.h (copy_body_data): Add entry_bb.
2412
2413 2008-01-03 Jakub Jelinek <jakub@redhat.com>
2414
2415 PR c++/34619
2416 * cgraphunit.c (cgraph_build_static_cdtor): set_cfun back to NULL
2417 before returning.
2418
2419 PR tree-optimization/29484
2420 * tree-inline.c (inline_forbidden_p_2): New function.
2421 (inline_forbidden_p): Disallow inlining if some static var
2422 has an address of a local LABEL_DECL in its initializer.
2423 * doc/extend.texi (Labels as Values): Document &&foo behaviour
2424 vs. inlining.
2425
2426 2008-01-03 Sebastian Pop <sebastian.pop@amd.com>
2427
2428 PR tree-optimization/34635
2429 * tree-data-ref.c (add_other_self_distances): Make sure that the
2430 evolution step is constant.
2431
2432 2008-01-03 Jakub Jelinek <jakub@redhat.com>
2433
2434 PR middle-end/34608
2435 * omp-low.c (expand_omp_parallel): Purge dead EH edges in the child fn.
2436
2437 2008-01-02 Richard Sandiford <rsandifo@nildram.co.uk>
2438
2439 * tree-sra.c (scalarize_init): Insert the generate_element_init
2440 statements after the generate_element_zero statements.
2441
2442 2008-01-02 Richard Guenther <rguenther@suse.de>
2443
2444 PR middle-end/34093
2445 PR middle-end/31976
2446 * tree-ssa-operands.c (ssa_operand_alloc): Also allocate a buffer
2447 for very large number of operands instead of ICEing.
2448
2449 2008-01-02 Arthur Norman <acn1@cam.ac.uk>
2450
2451 PR target/34013
2452 * gcc/config/i386/i386.c (ix86_expand_prologue): Save red-zone
2453 while stack probing.
2454
2455 2008-01-01 Douglas Gregor <doug.gregor@gmail.com>
2456
2457 * c-opts.c (sanitize_cpp_opts): Don't warn about "long long" when
2458 in C++0x mode.
2459
2460 2008-01-01 Volker Reichelt <v.reichelt@netcologne.de>
2461
2462 PR libmudflap/26442
2463 * tree-mudflap.c (mx_register_decls): Guard warning by
2464 !DECL_ARTIFICIAL check.
2465
2466 2008-01-01 Jakub Jelinek <jakub@redhat.com>
2467
2468 * config/i386/sse.md (sse5_pperm, sse5_pperm_pack_v2di_v4si,
2469 sse5_pperm_pack_v4si_v8hi, sse5_pperm_pack_v8hi_v16qi,
2470 sse5_perm<mode>): Fix constraints.