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