]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
optc-gen.awk: Assign all remaining fields to help string...
[gcc.git] / gcc / ChangeLog
CommitLineData
b3cdf3cb
RW
12009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2
4d077054
RW
3 * optc-gen.awk: Assign all remaining fields to help string,
4 space-separated, for multi-line help in *.opt.
5
a072f1cf
RW
6 * doc/invoke.texi (Warning Options): -Wsync-nand is C/C++ only.
7 -Wno-pedantic-ms-format is for MinGW targets only.
8
b3cdf3cb
RW
9 * doc/options.texi (Option file format): Fix bad indentation,
10 restoring dropped sentence.
11
a3aadcc5
JH
122009-02-28 Jan Hubicka <jh@suse.cz>
13
14 * tree-inline.c (tree_function_versioning): Output debug info.
15
1cf5abb3
JH
162009-02-28 Jan Hubicka <jh@suse.cz>
17
18 PR debug/39267
19 * tree-inline.c (setup_one_parameter): Do not copy propagate
20 arguments when not optimizing.
21
c4d3f42f
L
222009-02-28 H.J. Lu <hongjiu.lu@intel.com>
23
24 PR target/39327
25 * config/i386/sse.md (avx_addsubv8sf3): Correct item bits.
26 (avx_addsubv4df3): Likewise.
27 (*avx_addsubv4sf3): Likewise.
28 (sse3_addsubv4sf3): Likewise.
29 (*avx_addsubv2df3): Likewise.
30 (sse3_addsubv2df3): Likewise.
31 (avx_unpckhps256): Correct item selectors.
32 (avx_unpcklps256): Likewise.
33 (avx_unpckhpd256): Likewise.
34 (avx_unpcklpd256): Likewise.
35
eb50f5f4
JH
362009-02-28 Jan Hubicka <jh@suse.cz>
37
38 * tree-inline.c (expand_call_inline): Avoid duplicate declarations of
39 static vars.
40 (copy_arguments_for_versioning): If var is declared don't declare it.
41 (tree_function_versioning): First setup substitutions and then copy
42 args.
43
26140130
JH
442009-02-27 Jan Hubicka <jh@suse.cz>
45
46 PR debug/39267
47 * cgraph.h (varpool_output_debug_info): Remove.
48 * cgraphunit.c (varpool_output_debug_info): Remove.
49 * dwarf2out.c (deferred_locations_struct): New struct
50 (deferred_locations): New type.
51 (deferred_locations_list): New static var.
52 (deffer_location): New function.
53 (gen_variable_die): Use it.
54 (decls_for_scope): Output info on local static vars.
55 (dwarf2out_finish): Process deferred locations.
56 * varpool.c (varpool_output_debug_info): Remove.
57
cff7525f
JH
582009-02-27 Jan Hubicka <jh@suse.cz>
59
60 PR debug/39267
61 * tree.h (TREE_PROTECTED): Fix comment.
62 (BLOCK_HANDLER_BLOCK): Remove.
63 (struct tree_block): Remove handler_block add body_block.
64 (inlined_function_outer_scope_p): New.
65 (is_body_block): Remove.
66 * dbxout.c (dbxout_block): Remove BLOCK_HANDLER_BLOCK.
67 * dwarf2out.c (is_inlined_entry_point): Remove.
68 (add_high_low_attributes): Use inlined_function_outer_scope_p.
f10a1c6c
EB
69 (gen_block_die): Use is_inlined_entry_point check. Remove body block
70 code.
cff7525f
JH
71 * langhooks.h (struct lang_hooks): Remove no_bodu_blocks.
72 * gimplify.c (gimplify_expr): Gimplify body blocks.
f10a1c6c
EB
73 * tree-ssa-live.c (remove_unused_scope_block_p): Allow removing wrapper
74 block with multiple subblocks.
cff7525f
JH
75 (dump_scope_block): Prettier output; dump more flags and info.
76 (dump_scope_blocks): New.
77 (remove_unused_locals): Use dump_scope_blocks.
78 * tree-flow.h (dump_scope_blocks): Declare.
79 * tree-cfg.c (execute_build_cfg): Dump scope blocks.
80 * stmt.c (is_body_block): Remove.
81 * tree-inline.c (remap_block): Copy BODY_BLOCK info.
82 * langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): Remove.
83
c20993b9
SP
842009-02-27 Sebastian Pop <sebastian.pop@amd.com>
85
86 PR middle-end/39308
87 * graphite.c (graphite_loop_normal_form): Do not call
88 number_of_iterations_exit from a gcc_assert.
89
e3cba5e5
AK
902009-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
91
92 * gcc/config/s390/s390.c: (s390_swap_cmp): Look for conditional
93 jumps if COND is NULL.
94 (find_cond_jump): New function.
95 (s390_z10_optimize_cmp): Handling for reg-reg compares added.
96 * gcc/config/s390/s390.md: Remove z10_cobra attribute value.
97
9dadeeb8
UB
982009-02-26 Uros Bizjak <ubizjak@gmail.com>
99
100 * config/alpha/alpha.h (alpha_expand_mov): Return false if
101 force_const_mem returns NULL_RTX.
102
625d3251
EB
1032009-02-26 Jan Hubicka <jh@suse.cz>
104
105 PR debug/39267
106 * cgraph.h (varpool_output_debug_info): Remove.
107 * cgraphunit.c (varpool_output_debug_info): Remove.
108 * dwarf2out.c (deferred_locations_struct): New struct
109 (deferred_locations): New type.
110 (deferred_locations_list): New static var.
111 (deffer_location): New function.
112 (gen_variable_die): Use it.
113 (decls_for_scope): Output info on local static vars.
114 (dwarf2out_finish): Process deferred locations.
115 * varpool.c (varpool_output_debug_info): Remove.
116
38432148 1172009-02-25 H.J. Lu <hongjiu.lu@intel.com>
8592acaf
L
118
119 PR rtl-optimization/39241
120 * jump.c (rtx_renumbered_equal_p): Remove 2 superfluous calls
121 to subreg_offset_representable_p.
122
62d049cf
PB
1232009-02-25 Paolo Bonzini <bonzini@gnu.org>
124
125 * regmove.c (regmove_optimize): Conform to struct rtl_opt_pass
126 execute function prototype. Get f and nregs from max_reg_num
127 and get_insns. Remove the first backward pass as it's dead,
128 guard the forward pass by flag_expensive_optimizations.
129 (rest_of_handle_regmove): Delete.
130 (pass_regmove): Replace it with regmove_optimize.
131
f618d33e
MJ
1322009-02-25 Martin Jambor <mjambor@suse.cz>
133
134 PR tree-optimization/39259
135 * tree-inline.c (initialize_cfun): Remove asserts for calls_setjmp and
136 alls_alloca function flags.
137 (copy_bb): Set calls_setjmp and alls_alloca function flags if such
138 calls are detected.
139
c8a05f7c
PB
1402009-02-25 Paolo Bonzini <bonzini@gnu.org>
141
142 * regmove.c (discover_flags_reg, flags_set_1, mark_flags_life_zones,
143 flags_set_1_rtx, flags_set_1_set): Delete.
144 (regmove_optimize): Do not call mark_flags_life_zones.
145
6d2538f5
JB
1462009-02-24 Julian Brown <julian@codesourcery.com>
147
148 PR target/35965
149 * config/arm/arm.c (require_pic_register): Only set
150 cfun->machine->pic_reg once per function.
151
a2fa6772
SL
1522009-02-24 Sandra Loosemore <sandra@codesourcery.com>
153
154 * doc/invoke.texi (Link Options): Document an easier way to pass
9dadeeb8 155 options that take arguments to the GNU linker using -Xlinker and -Wl.
a2fa6772 156
5472de36
SE
1572009-02-24 Steve Ellcey <sje@cup.hp.com>
158
159 PR target/33785
160 * doc/tm.texi (TARGET_C99_FUNCTIONS): Fix description.
161
844216f3
RG
1622009-02-24 Richard Guenther <rguenther@suse.de>
163
164 PR debug/39285
165 * dwarf2out.c (gen_enumeration_type_die): Handle CONST_DECLs.
166
71adbef3 1672009-02-24 Richard Guenther <rguenther@suse.de>
8592acaf 168 Zdenek Dvorak <ook@ucw.cz>
71adbef3
RG
169
170 PR tree-optimization/39233
171 * tree-ssa-loop-ivopts.c (add_candidate_1): Do not except pointers
172 from converting them to a generic type.
173
f1a558e0
SP
1742009-02-23 Sebastian Pop <sebastian.pop@amd.com>
175
176 PR tree-optimization/39260
177 * graphite.c (harmful_stmt_in_bb): Stop a SCoP when the basic block
178 contains a condition with a real type.
179 (build_scop_conditions_1): Conditions are always last_stmt of a bb.
180
d8028f2c
JM
1812009-02-23 Jason Merrill <jason@redhat.com>
182
183 PR c++/38880
184 * varasm.c (initializer_constant_valid_p) [PLUS_EXPR]: Check
185 narrowing_initializer_constant_valid_p.
186 (narrowing_initializer_constant_valid_p): Don't return
187 null_pointer_node for adding a pointer to itself.
188
9283b513
JH
1892009-02-23 Jan Hubicka <jh@suse.cz>
190
191 PR c/12245
9dadeeb8
UB
192 * ggc.h (htab_create_ggc): Use ggc_free to free hashtable when
193 resizing.
9283b513 194
61e04322
JH
1952009-02-23 Jan Hubicka <jh@suse.cz>
196
9dadeeb8
UB
197 PR tree-optimization/37709
198 * tree.c (block_ultimate_origin): Move here from dwarf2out.
199 * tree.h (block_ultimate_origin): Declare.
200 * dwarf2out.c (block_ultimate_origin): Move to tree.c
61e04322
JH
201 * tree-ssa-live.c (remove_unused_scope_block_p):
202 Eliminate blocks containig no instructions nor live variables nor
203 nested blocks.
204 (dump_scope_block): New function.
205 (remove_unused_locals): Enable removal of dead blocks by default;
9dadeeb8 206 enable dumping at TDF_DETAILS.
61e04322 207
38432148 2082009-02-21 H.J. Lu <hongjiu.lu@intel.com>
5339d3ea
L
209
210 * config/i386/i386.c (classify_argument): Don't allow COImode
211 and OImode.
212 (function_arg_advance_32): Don't allow OImode.
213 (function_arg_32): Likewise.
214 (function_value_32): Likewise.
215 (return_in_memory_32): Likewise.
216 (function_arg_64): Remove OImode comment.
217
38432148 2182009-02-21 H.J. Lu <hongjiu.lu@intel.com>
f161e158
L
219
220 PR target/39261
221 * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Use
222 ix86_expand_vector_set for V4DImode in 64bit mode only.
223 (ix86_expand_vector_init_one_var): Likewise.
224
dcd739a6
SP
2252009-02-21 Sebastian Pop <sebastian.pop@amd.com>
226
227 * graphite.c (graphite_trans_loop_block): Adjust tile size to 51.
228
6c3b938d
RS
2292009-02-21 Richard Sandiford <rdsandiford@googlemail.com>
230
8e361f23 231 PR bootstrap/39257
6c3b938d
RS
232 * loop-iv.c: Revert last change.
233 * emit-rtl.c: Likewise.
234
38432148 2352009-02-21 H.J. Lu <hongjiu.lu@intel.com>
4c64d3dd
L
236
237 PR target/39256
238 * config/i386/i386.c (type_natural_mode): Remove an extra
239 space in the warning message.
240 (function_value_32): Handle 32-byte vector modes.
241 (return_in_memory_32): Likewise.
242
2ec62529
RS
2432009-02-21 Richard Sandiford <rdsandiford@googlemail.com>
244
245 * loop-iv.c (truncate_value): New function.
246 (iv_subreg, get_iv_value, iv_number_of_iterations): Use it instead
247 of lowpart_subreg.
248 (lowpart_subreg): Move to...
249 * emit-rtl.c: ...here.
250
ecb8c3cc 2512009-02-21 Danny Smith <dannysmith@users.sourceforge.net>
f814e489 252
ecb8c3cc
DS
253 * config/i386/winnt.c (i386_pe_asm_output_aligned_decl_common): Revert
254 accidental and undocumented change at revision 140860.
255
ae46a823
JM
2562009-02-21 Joseph Myers <joseph@codesourcery.com>
257
258 * config/arm/arm.c (arm_gimplify_va_arg_expr): Update prototype to
259 take gimple_seq * arguments.
260 (arm_mangle_type): Use CONST_CAST_TREE on type argument passed to
261 types_compatible_p langhook.
262
07d8efe3 2632009-02-20 Mark Mitchell <mark@codesourcery.com>
f814e489 264 Joseph Myers <joseph@codesourcery.com>
07d8efe3
MM
265
266 * config/arm/arm.c (arm_builtin_va_list): New function.
267 (arm_expand_builtin_va_start): Likewise.
268 (arm_gimplify_va_arg_expr): Likewise.
269 (TARGET_BUILD_BUILTIN_VA_LIST): Define.
270 (TARGET_BUILD_BUILTIN_VA_START): Likewise.
271 (TARGET_BUILD_BUILTIN_VA_ARG_EXPR): Likewise.
272 (va_list_type): New variable.
273 (arm_mangle_type): Mangle va_list_type appropriately.
274
b1fb9f56
JJ
2752009-02-20 Jakub Jelinek <jakub@redhat.com>
276
277 PR middle-end/39157
278 * Makefile.in (loop-invariant.o): Depend on $(PARAMS_H).
279 * params.h (LOOP_INVARIANT_MAX_BBS_IN_LOOP): Define.
280 * params.def (loop-invariant-max-bbs-in-loop): New parameter.
281 * opts.c (decode_options): Set loop-invariant-max-bbs-in-loop
282 parameter to 1000 for -O1 by default.
283 * doc/invoke.texi (loop-invariant-max-bbs-in-loop): Document new
284 parameter.
285 * loop-invariant.c: Include params.h.
286 (move_loop_invariants): Don't call move_single_loop_invariants on
287 very large loops.
288
5bc0807c
JM
2892009-02-20 Jaka Mocnik <jaka@xlab.si>
290
291 * calls.c (emit_library_call_value_1): Use slot_offset instead of
292 offset when calculating bounds for indexing stack_usage_map. Fixes
293 a buffer overflow with certain target setups.
294
c69cd1f5
JJ
2952009-02-20 Jakub Jelinek <jakub@redhat.com>
296
297 PR target/39240
298 * calls.c (expand_call): Clear try_tail_call if caller and callee
299 disagree in promotion of function return value.
300
09812622
JJ
3012009-02-19 Jakub Jelinek <jakub@redhat.com>
302
303 PR target/39175
304 * c-common.c (c_determine_visibility): If visibility changed and
305 DECL_RTL has been already set, call make_decl_rtl to update symbol
306 flags.
307
68017cb4
L
3082009-02-19 H.J. Lu <hongjiu.lu@intel.com>
309
310 PR c++/39188
311 * varasm.c (assemble_variable): Don't check DECL_NAME when
312 globalizing a variable.
313
ab4194da
JM
3142009-02-19 Joseph Myers <joseph@codesourcery.com>
315
316 PR c/38483
317 * builtins.c (gimplify_va_arg_expr): Evaluate the va_list
318 expression before any __builtin_trap call.
319 * c-typeck.c (build_function_call): Convert and check function
320 arguments before generating a call to a trap. Evaluate the
321 function arguments before the trap.
322
6b67572e
UB
3232009-02-19 Uros Bizjak <ubizjak@gmail.com>
324
325 PR target/39228
326 * config/i386/i386.md (isinfxf2): Split from isinf<mode>2.
327 (UNSPEC_FXAM_MEM): New unspec.
328 (fxam<mode>2_i387_with_temp): New insn and split pattern.
329 (isinf<mode>2): Use MODEF mode iterator. Force operand[1] through
330 memory using fxam<mode>2_i387_with_temp to remove excess precision.
331
9e39dba6
RG
3322009-02-19 Richard Guenther <rguenther@suse.de>
333
334 PR tree-optimization/39207
335 PR tree-optimization/39074
336 * tree-ssa-structalias.c (storedanything_id, var_storedanything,
337 storedanything_tree): New.
338 (do_ds_constraint): Simplify ANYTHING shortcutting. Update
6b67572e 339 the STOREDANYTHING solution if the lhs solution contains ANYTHING.
9e39dba6
RG
340 (build_succ_graph): Add edges from STOREDANYTHING to all
341 non-direct nodes.
342 (init_base_vars): Initialize STOREDANYTHING.
343 (compute_points_to_sets): Free substitution info after
344 building the succ graph.
345 (ipa_pta_execute): Likewise.
346
347 * tree-ssa-structalias.c (struct variable_info): Add may_have_pointers
348 field.
349 (do_ds_constraint): Do not add to special var or non-pointer
350 field solutions.
351 (type_could_have_pointers): Split out from ...
352 (could_have_pointers): ... here. For arrays use the element type.
353 (create_variable_info_for): Initialize may_have_pointers.
354 (new_var_info): Likewise.
355 (handle_lhs_call): Make the HEAP variable unknown-sized.
356 (intra_create_variable_infos): Use a type with pointers for
357 PARM_NOALIAS, make it unknown-sized.
358
fd7b2603
L
3592009-02-18 H.J. Lu <hongjiu.lu@intel.com>
360
361 PR target/39224
6b67572e 362 * config/i386/i386.c (ix86_return_in_memory): Properly check ABI.
fd7b2603 363
98b80692
JM
3642009-02-18 Jason Merrill <jason@redhat.com>
365
366 PR target/39179
367 * tree-ssa-ccp.c (get_symbol_constant_value): Don't assume zero
368 value if DECL_EXTERNAL.
369 * tree-sra.c (sra_walk_gimple_assign): Likewise.
370 * target.h (gcc_target::binds_local_p): Clarify "module".
371 * tree.h (TREE_PUBLIC): Clarify "module".
372
0705d3f4
L
3732009-02-17 Xuepeng Guo <xuepeng.guo@intel.com>
374
375 PR target/38891
376 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Move the hunk of
377 initialization for MS_ABI prior to the hunk of !TARGET_MMX.
378
bce08d50
L
3792009-02-17 H.J. Lu <hongjiu.lu@intel.com>
380
381 PR target/39082
382 * c.opt (Wabi): Support C and ObjC.
383 (Wpsabi): New.
384
385 * c-opts.c (c_common_handle_option): Handle OPT_Wabi.
386
387 * config/i386/i386.c (classify_argument): Warn once about the ABI
388 change when passing union with long double.
389
390 * doc/invoke.texi: Update -Wabi for warning psABI changes.
391
5600f233
JM
3922009-02-18 Joseph Myers <joseph@codesourcery.com>
393
394 PR c/35447
395 * c-parser.c (c_parser_compound_statement): Always enter and leave
396 a scope.
397
8cd01fe6
JDA
3982009-02-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
399
400 PR target/34587
401 * config/darwin.h (SUPPORTS_INIT_PRIORITY): Define.
402
418df9d7
JJ
4032009-02-18 Jakub Jelinek <jakub@redhat.com>
404
405 PR tree-optimization/36922
406 * tree-data-ref.c (initialize_matrix_A): Handle BIT_NOT_EXPR.
407 * tree-scalar-evolution.c (interpret_rhs_expr, instantiate_scev_1):
408 Likewise.
409
082d2ebb
RS
4102009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
411
412 * config/mips/mips.c (mips_override_options): Set flag_dwarf2_cfi_asm
413 to 0 for EABI64.
414
17de576c
RS
4152009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
416
417 * config/mips/mips.md (type): Reclassify lui_movf as "unknown".
418
6d8d5435
RS
4192009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
420
421 * config/mips/mips.c (mips_gimplify_va_arg_expr): Fix invalid
422 tree sharing.
423
e69ff910
RB
4242009-02-17 Ruan Beihong <ruanbeihong@gmail.com>
425 Richard Sandiford <rdsandiford@googlemail.com>
426
427 * config/mips/mips.c (CODE_FOR_loongson_biadd): Delete.
428 * config/mips/loongson.md (reduc_uplus_<mode>): Rename to...
429 (loongson_biadd): ...this.
430
6b24ee26
RG
4312009-02-17 Richard Guenther <rguenther@suse.de>
432
433 PR tree-optimization/39202
434 * tree-ssa-structalias.c (do_structure_copy): Before collapsing
435 a var make sure to follow existing collapses.
436
91ab2c86
RG
4372009-02-17 Richard Guenther <rguenther@suse.de>
438
439 PR middle-end/39214
440 * langhooks.c (lhd_print_error_function): Check for NULL block.
441
73a63870
RG
4422009-02-17 Richard Guenther <rguenther@suse.de>
443
444 PR tree-optimization/39204
445 * tree-ssa-pre.c (phi_translate_1): Lookup the value-number
446 of the PHI arg.
447
0e08f686
UB
4482009-02-17 Uros Bizjak <ubizjak@gmail.com>
449
450 * config/soft-fp/double.h: Update from glibc CVS.
451
a60b7ddb
RG
4522009-02-17 Richard Guenther <rguenther@suse.de>
453
454 PR tree-optimization/39207
455 * tree-ssa-structalias.c (find_what_p_points_to): Do not emit
456 strict-aliasing warnings for pointers pointing to NULL.
457
a47e20fd
JM
4582009-02-16 Joseph Myers <joseph@codesourcery.com>
459
460 PR c/35446
461 * c-parser.c (c_parser_braced_init): Call pop_init_level when
462 skipping until next close brace.
463
50aab7dc
L
4642009-02-16 H.J. Lu <hongjiu.lu@intel.com>
465
466 PR target/37049
467 * config/i386/i386.c (ix86_expand_push): Set memory alignment
468 to function argument boundary.
469
68e53db0
HS
4702009-02-16 Hariharan Sandanagobalane <hariharan@picochip.com>
471
472 * config/picochip/picochip.md (lea_add): Allow any nonimmediate
473 in the lea_add. Reload eventually constraints it properly.
474 * config/picochip/constraints.md : Remove the target constraint
475 "b", since it is not needed anymore.
476
09e361bb
JJ
4772009-02-16 Jakub Jelinek <jakub@redhat.com>
478
479 * gthr-dce.h: Uglify function parameter and local variable names.
480 * gthr-gnat.h: Likewise.
481 * gthr-mipssde.h: Likewise.
482 * gthr-nks.h: Likewise.
483 * gthr-posix95.h: Likewise.
484 * gthr-posix.h: Likewise.
485 * gthr-rtems.h: Likewise.
486 * gthr-single.h: Likewise.
487 * gthr-solaris.h: Likewise.
488 * gthr-tpf.h: Likewise.
489 * gthr-vxworks.h: Likewise.
490 * gthr-win32.h: Likewise.
491
47f5a48f
L
4922009-02-15 H.J. Lu <hongjiu.lu@intel.com>
493
494 PR target/39196
495 * config/i386/i386.md: Restrict the new peephole2 to move
496 between MMX/SSE registers.
497
68c9ab45
RG
4982009-02-15 Richard Guenther <rguenther@suse.de>
499
500 Revert
501 2009-02-13 Richard Guenther <rguenther@suse.de>
502
503 * configure.ac: Enable LFS.
504 * configure: Re-generate.
505 * config.in: Likewise.
506
d7815554
UW
5072009-02-13 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
508
509 * config/spu/spu_internals.h (spu_sr, spu_sra, spu_srqw,
510 spu_srqwbyte, spu_srqwbytebc): Define.
511 * config/spu/spu-builtins.def (spu_sr, spu_sra, spu_srqw,
512 spu_srqwbyte, spu_srqwbytebc): New overloaded builtins.
513 * config/spu/spu.md ("shrqbybi_<mode>", "shrqbi_<mode>",
514 "shrqby_<mode>"): New insn-and-split patterns.
515 * config/spu/spu.c (expand_builtin_args): Determine and return
516 number of operands using spu_builtin_description data.
517 (spu_expand_builtin_1): Use it.
518
c208436c
SE
5192009-02-13 Steve Ellcey <sje@cup.hp.com>
520
521 PR target/38056
522 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Check
523 TARGET_CONST_GP.
524
c2e7ba7e
L
5252009-02-13 H.J. Lu <hongjiu.lu@intel.com>
526
527 PR target/39149
528 * config/i386/i386.c (override_options): Correct warning
6b67572e 529 messages for -malign-loops, -malign-jumps and -malign-functions.
c2e7ba7e 530
72f4e3a7
L
5312009-02-13 H.J. Lu <hongjiu.lu@intel.com>
532
533 PR target/39152
534 * config/i386/i386.md: Restrict the new peephole2 to move
535 between the general purpose registers.
536
53f648e2
L
5372009-02-13 H.J. Lu <hongjiu.lu@intel.com>
538
539 PR target/39162
540 * config/i386/i386.c (type_natural_mode): Add a new argument.
6b67572e 541 Return the original mode and warn ABI change if vector size is 32byte.
53f648e2
L
542 (function_arg_advance): Updated.
543 (function_arg): Likewise.
544 (ix86_function_value): Likewise.
545 (ix86_return_in_memory): Likewise.
546 (ix86_sol10_return_in_memory): Likewise.
547 (ix86_gimplify_va_arg): Likewise.
548 (function_arg_32): Don't warn ABX ABI change here.
549 (function_arg_64): Likewise.
550
38432148 5512009-02-13 Bernd Schmidt <bernd.schmidt@analog.com>
b1c92d54
BS
552
553 * loop-iv.c (implies_p): In the final case, test that operands 0
554 of the two comparisons match.
555
dd2139e7
BS
556 * config/bfin/bfin.c (find_prev_insn_start): New function.
557 (bfin_optimize_loop): Use it in some cases instead of PREV_INSN.
558 (find_next_insn_start): Move.
559
601b3e1a
RG
5602009-02-13 Richard Guenther <rguenther@suse.de>
561
562 * configure.ac: Enable LFS.
563 * configure: Re-generate.
564 * config.in: Likewise.
565
f007042e
JM
5662009-02-13 Joseph Myers <joseph@codesourcery.com>
567
568 PR c/35444
569 * c-parser.c (c_parser_parms_list_declarator): Discard pending
570 sizes on syntax error after some arguments have been parsed.
571
3f238e8b
JJ
5722009-02-12 Jakub Jelinek <jakub@redhat.com>
573
574 * doc/invoke.texi (-fira): Remove.
575
328e13b7
L
5762009-02-12 H.J. Lu <hongjiu.lu@intel.com>
577
578 * caller-save.c: Replace regclass.c with reginfo.c in comments.
579 * recog.c: Likewise.
580 * rtl.h: Likewise.
581
c252db20
L
5822009-02-12 Uros Bizjak <ubizjak@gmail.com>
583
584 * longlong.h (sub_ddmmss): New for ia64. Ported from GMP 4.2.
585 (umul_ppmm): Likewise.
586 (count_leading_zeros): Likewise.
587 (count_trailing_zeros): Likewise.
588 (UMUL_TIME): Likewise.
589
5902009-02-12 H.J. Lu <hongjiu.lu@intel.com>
591
ba181049
UB
592 * config.gcc (ia64*-*-linux*): Add ia64/t-fprules-softfp and
593 soft-fp/t-softfp to tmake_file.
c252db20
L
594
595 * config/ia64/ia64.c (ia64_soft_fp_init_libfuncs): New.
ba181049
UB
596 (ia64_expand_compare): Use HPUX library for TFmode only for HPUX.
597 (ia64_builtins) [IA64_BUILTIN_COPYSIGNQ, IA64_BUILTIN_FABSQ,
598 IA64_BUILTIN_INFQ]: New.
c252db20
L
599 (ia64_init_builtins): Initialize __builtin_infq,
600 __builtin_fabsq and __builtin_copysignq if not HPUX.
601 (ia64_expand_builtin): Handle IA64_BUILTIN_COPYSIGNQ,
602 IA64_BUILTIN_FABSQ and IA64_BUILTIN_INFQ.
603
604 * config/ia64/lib1funcs.asm (__divtf3): Define only if
605 SHARED is defined.
606 (__fixtfti): Likewise.
607 (__fixunstfti): Likewise.
608 (__floattitf): Likewise.
609
610 * config/ia64/libgcc-glibc.ver: New.
611 * config/ia64/t-fprules-softfp: Likewise.
612 * config/ia64/sfp-machine.h: Likewise.
613
614 * config/ia64/linux.h (LIBGCC2_HAS_TF_MODE): New.
615 (LIBGCC2_TF_CEXT): Likewise.
616 (TF_SIZE): Likewise.
617 (TARGET_INIT_LIBFUNCS): Likewise.
618
ba181049 619 * config/ia64/t-glibc (SHLINB_MAPFILES):
6b67572e 620 Add $(srcdir)/config/ia64/libgcc-glibc.ver.
c252db20 621
f13eae6a
L
6222009-02-12 H.J. Lu <hongjiu.lu@intel.com>
623
624 * config/i386/i386.c (construct_container): Rewrite processing
625 BLKmode with X86_64_SSE_CLASS.
626
12019aec
L
6272009-02-12 Paolo Bonzini <bonzini@gnu.org>
628
629 PR target/39152
630 * config/i386/i386.md: Replace simplify_replace_rtx with
631 replace_rtx in the new peephole2.
632
28c11eb3
NS
6332009-02-12 Nathan Sidwell <nathan@codesourcery.com>
634
635 * doc/invoke.texi (Optimize Options): Stop claiming inlining and
636 loop unrolling do not happen at -O2.
637
c7b94907
MM
6382009-02-12 Michael Matz <matz@suse.de>
639
640 * gcc.c (ASM_DEBUG_SPEC): Check for -g0.
641
61e98967
JJ
6422009-02-12 Jakub Jelinek <jakub@redhat.com>
643
644 * dwarf2out.c (dwarf2out_finish): Force output of comp_unit_die
645 for -g3.
646
a2a237b5
BE
6472009-02-12 Ben Elliston <bje@au.ibm.com>
648
649 * config/rs6000/rs6000.md (allocate_stack): Use _stack form of
650 patterns when updating the back chain. Missed in the 2009-02-10
651 change.
652
853eda8d
JJ
6532009-02-11 Janis Johnson <janis187@us.ibm.com>
654
655 * doc/extend.texi (Decimal Floating Types): Update identifier of
656 draft TR and list of missing support.
657
3ad6b266
JJ
6582009-02-11 Jakub Jelinek <jakub@redhat.com>
659
660 PR middle-end/39154
661 * gimplify.c (omp_notice_variable): If adding GOVD_SEEN
662 bit to variable length decl's flags, add it also to its
663 pointer replacement variable.
664
b058b753
UB
6652009-02-11 Uros Bizjak <ubizjak@gmail.com>
666 Jakub Jelinek <jakub@redhat.com>
667
668 PR target/39118
669 * config/i386/i386.md (UNSPEC_MEMORY_BLOCKAGE): New constant.
670 (memory_blockage): New expander.
671 (*memory_blockage): New insn pattern.
672 * config/i386/i386.c (ix86_expand_prologue): Use memory_blockage
673 instead of general blockage at the end of function prologue when
674 frame pointer is used to access red zone area. Do not emit blockage
675 when profiling, it is emitted in generic code.
676 (ix86_expand_epilogue): Emit memory_blockage at the beginning of
677 function epilogue when frame pointer is used to access red zone area.
678
bab64f23
PB
6792009-02-11 Paolo Bonzini <bonzini@gnu.org>
680
0ce6dcfa 681 PR target/38824
bab64f23
PB
682 * config/i386/i386.md: Add two new peephole2 to avoid mov followed
683 by arithmetic with memory operands.
684 * config/i386/predicates.md (commutative_operator): New.
685
8fd94bda
JJ
6862009-02-10 Janis Johnson <janis187@us.ibm.com>
687
688 * doc/extend.texi (Fixed-Point Types): Break long paragraphs into
689 bulleted lists.
690
794511d2
EB
6912009-02-10 Eric Botcazou <ebotcazou@adacore.com>
692
693 * alias.h (record_alias_subset): Declare.
694 * alias.c (record_alias_subset): Make global.
695
6da7fc87
NC
6962009-02-10 Nick Clifton <nickc@redhat.com>
697
698 * tree-parloops.c: Change license to GPLv3.
699 * ipa-struct-reorg.c: Change license to GPLv3.
700 * ipa-struct-reorg.h: Change license to GPLv3.
701
a03813c8
SE
7022009-02-10 Steve Ellcey <sje@cup.hp.com>
703
704 PR c/39084
705 * c-decl.c (start_struct): Return NULL on error.
706
fc3103e7
JJ
7072009-02-10 Jakub Jelinek <jakub@redhat.com>
708
9b43d37b
JJ
709 PR middle-end/39124
710 * cfgloopmanip.c (remove_path): Call remove_bbs after
711 cancel_loop_tree, not before it.
712
fc3103e7 713 PR target/39139
b058b753 714 * function.h (struct function): Add has_local_explicit_reg_vars bit.
fc3103e7
JJ
715 * gimplify.c (gimplify_bind_expr): Set it if local DECL_HARD_REGISTER
716 VAR_DECLs were seen.
717 * tree-ssa-live.c (remove_unused_locals): Recompute
718 cfun->has_local_explicit_reg_vars.
719 * tree-ssa-sink.c (statement_sink_location): Don't sink BLKmode
720 copies or clearings if cfun->has_local_explicit_reg_vars.
721
dbf9ee15
UB
7222009-02-10 Uros Bizjak <ubizjak@gmail.com>
723
724 PR target/39118
725 * config/i386/i386.c (expand_prologue): Emit blockage at the end
726 of function prologue when frame pointer is used to access
727 red zone area.
728
bdec4dc7
RG
7292009-02-10 Richard Guenther <rguenther@suse.de>
730
731 PR middle-end/39127
732 * gimplify.c (gimple_regimplify_operands): Always look if
733 we need to create a temporary.
734
7cae94fc
RG
7352009-02-10 Richard Guenther <rguenther@suse.de>
736
737 PR tree-optimization/39132
738 * tree-loop-distribution.c (todo): New global var.
739 (generate_memset_zero): Trigger TODO_rebuild_alias.
740 (tree_loop_distribution): Return todo.
741
a8800687
L
7422009-02-10 H.J. Lu <hongjiu.lu@intel.com>
743
744 PR target/39119
745 * config/i386/i386.c (x86_64_reg_class): Remove X86_64_AVX_CLASS.
746 (x86_64_reg_class_name): Removed.
747 (classify_argument): Return 0 if bytes > 32. Return 0 if the
748 first one isn't X86_64_SSE_CLASS or any other ones aren't
749 X86_64_SSEUP_CLASS when size > 16bytes. Don't turn
750 X86_64_SSEUP_CLASS into X86_64_SSE_CLASS if the preceded one
751 is X86_64_SSEUP_CLASS. Set AVX modes to 1 X86_64_SSE_CLASS
752 and 3 X86_64_SSEUP_CLASS.
753 (construct_container): Remove X86_64_AVX_CLASS. Handle 4
754 registers with 1 X86_64_SSE_CLASS and 3 X86_64_SSEUP_CLASS.
755
d4bacef0
BE
7562009-02-10 Ben Elliston <bje@au.ibm.com>
757
758 * config/rs6000/rs6000.md (allocate_stack): Always use an update
759 form instruction to update the stack back chain word, even if the
760 user has disabled the generation of update instructions.
761 (movdi_<mode>_update_stack): New.
762 (movsi_update_stack): Likewise.
763 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Likewise,
764 always use an update form instruction to update the stack back
765 chain word.
766
01d7d2f3
SP
7672009-02-09 Sebastian Pop <sebastian.pop@amd.com>
768
769 PR middle-end/38953
b058b753
UB
770 * graphite.c (if_region_set_false_region): After moving a region in
771 the false branch of a condition, remove the empty dummy basic block.
01d7d2f3
SP
772 (gloog): Remove wrong fix for PR38953.
773
e41e2ab4
UW
7742009-02-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
775
776 * config/spu/spu.c (array_to_constant): Fix (latent) wrong-code
777 generation due to implicit sign extension.
778
4bb07c5d
EB
7792009-02-09 Eric Botcazou <ebotcazou@adacore.com>
780
781 PR middle-end/38981
782 * tree-ssa-coalesce.c (add_coalesce): Cap the costs of coalesce pairs
783 at MUST_COALESCE_COST-1 instead of MUST_COALESCE_COST.
784
f060a261
RG
7852009-02-09 Richard Guenther <rguenther@suse.de>
786
787 PR middle-end/35202
788 * convert.c (convert_to_real): Disable (float)fn((double)x)
789 to fnf(x) conversion if errno differences may occur and
790 -fmath-errno is set.
791
5a7e237c
AS
7922009-02-07 Anatoly Sokolov <aesok@post.ru>
793
794 * config/avr/avr.c (avr_mcu_t): Add ata6289 device.
795 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
796 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
797
feab5a67
JM
7982009-02-06 Joseph Myers <joseph@codesourcery.com>
799
800 PR c/35434
801 * c-common.c (handle_alias_attribute): Disallow attribute for
802 anything not a FUNCTION_DECL or VAR_DECL.
803
90ef2296
JJ
8042009-02-06 Janis Johnson <janis187@us.ibm.com>
805
806 PR c/39035
807 * real.c (do_compare): Special-case compare of zero against
808 decimal float value.
809
1de2c900
JM
8102009-02-06 Joseph Myers <joseph@codesourcery.com>
811
812 PR c/36432
813 * c-decl.c (grokdeclarator): Don't treat [] declarators in fields
814 as indicating flexible array members unless the field itself is
815 being declarared as the incomplete array.
816
e901811a
JH
8172009-02-06 Jan Hubicka <jh@suse.cz>
818
819 PR tree-optimization/38844
820 * ipa-inline.c (try_inline): Stop inlining recursion when edge
821 is already inlined.
822
3cfa762b
RG
8232009-02-06 Richard Guenther <rguenther@suse.de>
824
825 PR middle-end/38977
826 * tree-cfg.c (need_fake_edge_p): Force a fake edge for
827 fork because we may expand it as __gcov_fork.
828
8506528c
NC
8292009-02-06 Nick Clifton <nickc@redhat.com>
830
dbf9ee15 831 * config/m32c/m32c.h (PCC_BITFIELD_TYPE_MATTERS): Define to zero.
8506528c 832
85169114
PB
8332009-02-06 Paolo Bonzini <bonzini@gnu.org>
834
835 PR tree-optimization/35659
836 * tree-ssa-sccvn.c (vn_constant_eq, vn_reference_eq, vn_nary_op_eq
837 vn_phi_eq): Shortcut if hashcode does not match.
838 (vn_reference_op_compute_hash): Do not call iterative_hash_expr for
839 NULL operands.
840 * tree-ssa-pre.c (pre_expr_hash): Look at hashcode if available,
841 and avoid iterative_hash_expr.
842 (FOR_EACH_VALUE_ID_IN_SET): New.
843 (value_id_compare): Remove.
844 (sorted_array_from_bitmap_set): Use FOR_EACH_VALUE_ID_IN_SET to
845 sort expressions by value id.
846
6d39673d
KK
8472009-02-05 Kaz Kojima <kkojima@gcc.gnu.org>
848
849 PR target/38991
850 * config/sh/predicates.md (general_movsrc_operand): Don't check
851 the subreg of system registers here.
852
e6e1c050
JJ
8532009-02-05 Jakub Jelinek <jakub@redhat.com>
854
855 PR c++/39106
856 * cgraphunit.c (cgraph_function_versioning): Clear also DECL_VIRTUAL_P
857 on the copied decl.
858
65a74b5d
PB
8592009-02-05 Paolo Bonzini <bonzini@gnu.org>
860
861 PR rtl-optimization/39110
862 * rtlanal.c (rtx_addr_can_trap_p_1): Shortcut unaligned
863 addresses, not aligned ones.
864
08e14b2a
DB
8652009-02-05 Daniel Berlin <dberlin@dberlin.org>
866 Richard Guenther <rguenther@suse.de>
867
868 PR tree-optimization/39100
869 * tree-ssa-structalias.c (do_ds_constraint): Actually do what the
870 comment says and add edges.
871
5006381c
JM
8722009-02-05 Joseph Myers <joseph@codesourcery.com>
873
874 PR c/35435
875 * c-common.c (handle_tls_model_attribute): Ignore attribute for
876 non-VAR_DECLs without checking DECL_THREAD_LOCAL_P.
877
b0789219
TG
8782009-02-04 Tobias Grosser <grosser@fim.uni-passau.de>
879
880 * graphite.c (bb_in_sese_p, sese_build_livein_liveouts_use,
881 sese_build_livein_liveouts_bb, sese_build_livein_liveouts,
882 register_bb_in_sese, new_sese, free_sese): Moved.
883 (dot_scop_1, build_scop_loop_nests, build_loop_iteration_domains,
884 outermost_loop_in_scop, build_scop_iteration_domain,
885 expand_scalar_variables_ssa_name, get_vdef_before_scop,
886 limit_scops): Use bb_in_sese_p instead of bb_in_scop_p.
887 Use loop_in_sese_p instead of loop_in_scop_p.
888 (new_graphite_bb, gloog): Do not initialize SCOP_BBS_B.
889 (new_scop, free_scop): Remove SCOP_LOOP2CLOOG_LOOP and SCOP_BBS_B.
890 (scopdet_basic_block_info): Fix bug in scop detection.
891 (new_loop_to_cloog_loop_str, hash_loop_to_cloog_loop,
892 eq_loop_to_cloog_loop): Remove.
893 (nb_loops_around_loop_in_scop, nb_loop
894 ref_nb_loops): Moved here...
895 * graphite.h (ref_nb_loops): ... from here.
896 (struct scop): Remove bbs_b bitmap and loop2cloog_loop.
897 (loop_domain_dim, loop_iteration_vector_dim): Remove.
898 (SCOP_BBS_B, bb_in_scop_p, loop_in_scop_p): Removed.
899 * testsuite/gcc.dg/graphite/scop-19.c: New
900
48e8382e
PB
9012009-02-04 Paolo Bonzini <bonzini@gnu.org>
902 Hans-Peter Nilsson <hp@axis.com>
903
904 PR rtl-optimization/37889
905 * rtlanal.c (rtx_addr_can_trap_p_1): Add offset and size arguments.
906 Move offset handling from PLUS to before the switch. Use new
907 arguments when considering SYMBOL_REFs too.
908 (rtx_addr_can_trap_p): Pass dummy offset and size.
909 (enum may_trap_p_flags): Remove.
910 (may_trap_p_1): Pass size from MEM_SIZE.
911
912 PR rtl-optimization/38921
913 * loop-invariant.c (find_invariant_insn): Use may_trap_or_fault_p.
914 * rtl.h (may_trap_after_code_motion_p): Delete prototype.
915 * rtlanal.c (may_trap_after_code_motion_p): Delete.
916 (may_trap_p, may_trap_or_fault_p): Pass 0/1 as flags.
917
69349ea5
L
9182009-02-04 H.J. Lu <hongjiu.lu@intel.com>
919
920 AVX Programming Reference (January, 2009)
921 * config/i386/sse.md (*vpclmulqdq): New.
922
b545e411
JJ
9232009-02-04 Jakub Jelinek <jakub@redhat.com>
924
925 PR tree-optimization/38977
926 PR gcov-profile/38292
bf9b2cc9 927 * calls.c (special_function_p): Disregard __builtin_ prefix.
b545e411 928
5b43bf05
HS
9292009-02-04 Hariharan Sandanagobalane <hariharan@picochip.com>
930
931 * config/picochip/picochip.c (GO_IF_LEGITIMATE_ADDRESS): Disallow
932 non-indexable addresses even before reload.
933
062c4bb3
JM
9342009-02-03 Joseph Myers <joseph@codesourcery.com>
935
936 PR c/29129
937 * c-decl.c (grokdeclarator): Mark [*] arrays in field declarators
938 as having variable size. Do not give an error for unnamed
939 parameters with [*] declarators. Give a warning for type names
940 with [*] declarators and mark them as variable size.
941 * c-parser.c (c_parser_sizeof_expression): Do not give an error
942 for sizeof applied to [*] type names.
943
6175f578
AP
9442009-02-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
945
946 PR C++/36607
947 * convert.c (convert_to_integer): Treat OFFSET_TYPE like INTEGER_TYPE.
948
d4f4bc84
JJ
9492009-02-03 Jakub Jelinek <jakub@redhat.com>
950
951 * gcc.c (process_command): Update copyright notice dates.
952 * gcov.c (print_version): Likewise.
953 * gcov-dump.c (print_version): Likewise.
954 * mips-tfile.c (main): Likewise.
955 * mips-tdump.c (main): Likewise.
956
f6294de7
JM
9572009-02-03 Joseph Myers <joseph@codesourcery.com>
958
959 PR c/35433
960 * c-typeck.c (composite_type): Set TYPE_SIZE and TYPE_SIZE_UNIT
961 for composite type involving a zero-length array type.
962
754ccf7c
JJ
9632009-02-03 Jakub Jelinek <jakub@redhat.com>
964
70f16287
JJ
965 PR target/35318
966 * function.c (match_asm_constraints_1): Skip over
967 initial optional % in the constraint.
968
754ccf7c
JJ
969 PR inline-asm/39059
970 * c-parser.c (c_parser_postfix_expression): If fixed point is not
971 supported, don't accept FIXED_CSTs.
972 * c-decl.c (finish_declspecs): Error if fixed point is not supported
973 and _Sat is used without _Fract/_Accum. Set specs->type to
974 integer_type_node for cts_fract/cts_accum if fixed point is not
975 supported.
976
965fdadf
CM
9772009-02-02 Catherine Moore <clm@codesourcery.com>
978
dbf9ee15 979 * sde.h (SUBTARGET_ARM_SPEC): Don't assemble -fpic code as -mabicalls.
965fdadf 980
2e8a796f
RS
9812009-02-02 Richard Sandiford <rdsandiford@googlemail.com>
982
983 * config/mips/mips.h (FILE_HAS_64BIT_SYMBOLS): New macro.
984 (ABI_HAS_64BIT_SYMBOLS): Use it.
985 (DWARF2_ADDR_SIZE): Use it instead of ABI_HAS_64BIT_SYMBOLS.
986
e0079468
PB
9872009-02-02 Paul Brook <paul@codesourcery.com>
988
989 * config/arm/arm.md (arm_addsi3): Add r/r/k alternative.
990
eca72963
JJ
9912009-02-02 Jakub Jelinek <jakub@redhat.com>
992
993 PR inline-asm/39058
994 * recog.h (asm_operand_ok): Add constraints argument.
995 * recog.c (asm_operand_ok): Likewise. If it is set, for digits
996 recurse on matching constraint.
997 (check_asm_operands): Pass constraints as 3rd argument to
998 asm_operand_ok. Don't look up matching constraint here.
999 * stmt.c (expand_asm_operands): Pass NULL as 3rd argument
1000 to asm_operand_ok.
1001
b5bde9ff
BE
10022009-02-02 Ben Elliston <bje@au.ibm.com>
1003
1004 * doc/tm.texi (Storage Layout): Fix TARGET_ALIGN_ANON_BITFIELD and
1005 TARGET_NARROW_VOLATILE_BITFIELD macro names.
1006
30f3e427
JDA
10072009-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1008
be7659ba
JDA
1009 * doc/install.texi (hppa*-hp-hpux*): Update binutils and linker
1010 information. Remove some obsolete information. Reorganize.
1011
30f3e427
JDA
1012 * config/pa/fptr.c: Revert license to GPL 2.
1013 * config/pa/milli64.S: Likewise.
1014
3cbfaf98
DK
10152009-01-31 Dave Korn <dave.korn.cygwin@gmail.com>
1016
1017 PR target/38904
1018 * mkmap-flat.awk (END): Use pe_dll command-line arg to pass
1019 LIBRARY name in, instead of hard-coding it.
1020 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add an
1021 extra target make frag to tmake_files according to EH model.
1022 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
1023 * config/i386/t-dw2-eh, config/i386/t-sjlj-eh: Add new target
1024 frags that define makefile variable EH_MODEL appropriately.
1025 * config/i386/cygming.h (DWARF2_UNWIND_INFO): Add comment.
1026 * config/i386/cygwin.h (LIBGCC_EH_EXTN): Define to nothing or
1027 to "-sjlj" according to type of EH configured.
1028 (LIBGCC_SONAME): Concatenate it to shared library base name.
1029 * config/i386/mingw32.h (LIBGCC_EH_EXTN): Define to "_dw2" or
1030 to "_sjlj" according to type of EH configured.
1031 (LIBGCC_SONAME): Concatenate it to shared library base name.
1032 * config/i386/t-cygming (SHLIB_SONAME): Use EH_MODEL.
1033 (SHLIB_LINK): Add missing semicolon to if-else construct.
1034 (SHLIB_MKMAP_OPTS): Pass library name to mkmap-flat.awk as
1035 string value of "pe_dll" command-line option.
1036 * config/i386/t-cygwin (SHLIB_EH_EXTENSION): New helper.
1037 (SHLIB_SONAME): Use it when overriding t-cygming default.
1038 (SHLIB_IMPLIB): Override t-cygming default.
1039 (SHLIB_MKMAP_OPTS): Pass library name to mkmap-flat.awk as
1040 string value of "pe_dll" command-line option.
1041
8d0b6068
DK
10422009-01-31 Dave Korn <dave.korn.cygwin@gmail.com>
1043
1044 PR target/38952
1045 * config/i386/i386.c (ix86_builtin_setjmp_frame_value): New.
bf9b2cc9 1046 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Override default to point at it.
8d0b6068 1047
14c28276
RG
10482009-01-31 Richard Guenther <rguenther@suse.de>
1049
1050 PR tree-optimization/38937
1051 * tree-ssa-structalias.c (do_sd_constraint): Do not shortcut
1052 computing the transitive closure.
1053
5f4d82c2
RG
10542009-01-30 Richard Guenther <rguenther@suse.de>
1055
1056 PR tree-optimization/39041
1057 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
1058 Propagate variable indices only if the types match for this stmt.
1059
d0728ae0
JJ
10602009-01-30 Jakub Jelinek <jakub@redhat.com>
1061
1062 PR target/39013
1063 * c-decl.c (pop_scope): Set DECL_EXTERNAL for functions declared
1064 inline but never defined.
1065
6b67572e 10662009-01-30 Wolfgang Gellerich <gellerich@de.ibm.com>
9fec758d
WG
1067
1068 * config/s390/s390.md (*insv<mode>_reg_extimm): Removed.
1069 (*insv_h_di_reg_extimm): New insn.
1070 (*insv_l<mode>_reg_extimm): New insn.
1071
10722009-01-30 Hariharan Sandanagobalane <hariharan@picochip.com>
9e8be1e4
HS
1073
1074 * config/picochip/picochip.c (flag_conserve_stack): set
1075 PARAM_LARGE_STACK_FRAME and PARAM_STACK_FRAME_GROWTH to zero under
1076 fconserve-stack. Reduce call-overhead used by inliner.
1077
9fec758d 10782009-01-30 Hariharan Sandanagobalane <hariharan@picochip.com>
df9198ab
HS
1079
1080 PR/38157
1081 * common.opt (flag_conserve_stack): Initialised to zero.
1082
7f1c539c
KT
10832009-01-30 Kai Tietz <kai.tietz@onevision.com>
1084
1085 PR/39002
1086 * config/i386/i386.c (ix86_can_use_return_insn_p): Check for nsseregs.
1087 (ix86_expand_epilogue): Take nsseregs in account to use proper restore
1088 method.
1089
3631be48
L
10902009-01-29 H.J. Lu <hongjiu.lu@intel.com>
1091
1092 * ira-color.c (allocno_reload_assign): Update comments.
1093 * regmove.c (regmove_optimize): Likewise.
1094
1095 * ra.h: Removed.
1096
416ac4d4
RM
10972009-01-29 Robert Millan <rmh@aybabtu.com>
1098
1099 * gcc/config.gcc: Recognize GNU/kOpenSolaris (*-*-kopensolaris*-gnu).
1100 * gcc/config/i386/kopensolaris-gnu.h: New file. Undefine
1101 `MD_UNWIND_SUPPORT'.
1102 * gcc/config/kopensolaris-gnu.h: New file (based on kfreebsd-gnu.h).
1103
d5e54bc1
KH
11042009-01-29 Kazu Hirata <kazu@codesourcery.com>
1105
1106 PR tree-optimization/39007
1107 * tree-loop-distribution.c (generate_builtin): Use
1108 recompute_dominator to compute the immediate dominator of the
1109 basic block just after the loop.
1110
38432148 11112009-01-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
e9e077fa
RO
1112
1113 * config/i386/sol2-10.h [!HAVE_AS_IX86_DIFF_SECT_DELTA]
1114 (ASM_OUTPUT_DWARF_PCREL): Define.
1115
38432148 11162009-01-29 Vladimir Makarov <vmakarov@redhat.com>
2af2dbdc
VM
1117
1118 * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
1119 * doc/passes.texi: Remove entries about regclass, local-alloc, and
1120 global. Modify entries about regmove and IRA.
1121
1122 * ra-conflict.c: Remove the file.
1123
1124 * reload.c (push_reload, find_dummy_reload): Remove flag_ira.
1125
1126 * tree-pass.h (pass_local_alloc, pass_global_alloc): Remove.
1127 (pass_regclass_init): Rename to pass_reginfo_init.
1128
1129 * cfgloopanal.c (estimate_reg_pressure_cost): Remove flag_ira.
1130
1131 * toplev.h (flag_ira): Remove.
1132
1133 * caller-save.c (setup_save_areas): Remove flag_ira.
1134
bf9b2cc9 1135 * ira-color.c (ira_reuse_stack_slot, ira_mark_new_stack_slot): Ditto.
2af2dbdc
VM
1136
1137 * global.c: Remove the file.
1138
1139 * opts.c: (decode_options): Remove flag_ira.
1140
1141 * hard-reg-set.h (losing_caller_save_reg_set): Remove.
1142
1143 * regmove.c: Modify file description.
1144 (find_use_as_address, try_auto_increment): Define them only if
1145 AUTO_INC_DEC is defined.
1146 (replacement_quality, replace_in_call_usage, fixup_match_1,
1147 stable_and_no_regs_but_for_p): Remove.
1148 (reg_set_in_bb): Make it static.
1149 (regmove_optimize): Remove flag_ira and code which worked for
1150 !flag_ira.
1151
1152 * local-alloc.c: Remove the file.
1153
1154 * common.opt (fira): Remove.
1155
1156 * ira.c: Include except.h.
1157 (eliminable_regset): Move from global.c.
1158 (mark_elimination): Ditto. Remove flag_ira.
1159 (reg_renumber, struct equivalence, reg_equiv, equiv_mem,
1160 equiv_mem_modified, validate_equiv_mem_from_store,
1161 validate_equiv_mem, equiv_init_varies_p, equiv_init_movable_p,
1162 contains_replace_regs, memref_referenced_p, memref_used_between_p,
1163 no_equiv, recorded_label_ref): Move from local-alloc.c.
1164 (update_equiv_regs): Ditto. Make it static.
1165 (print_insn_chain, print_insn_chains): Move it from global.c.
bf9b2cc9 1166 (pseudo_for_reload_consideration_p): Ditto. Remove flag_ira.
2af2dbdc
VM
1167 (build_insn_chain): Ditto. Make it static.
1168 (ra_init_live_subregs): Move from ra-conflict.c. Make it static.
1169 Rename to init_live_subregs.
1170 (gate_ira): Remove flag_ira.
1171
1172 * regclass.c: Rename reginfo.c. Change file description.
1173 (FORBIDDEN_INC_DEC_CLASSES): Remove.
dbf9ee15 1174 (reg_class_superclasses, forbidden_inc_dec_class, in_inc_dec): Remove.
2af2dbdc
VM
1175 (init_reg_sets_1): Remove code for evaluation of
1176 reg_class_superclasses and losing_caller_save_reg_set.
1177 (init_regs): Remove init_reg_autoinc.
1178 (struct costs, costs, init_cost, ok_for_index_p_nonstrict,
1179 ok_for_base_p_nonstrict): Remove.
bf9b2cc9 1180 (regclass_init): Rename to reginfo_init. Don't initialize init_cost.
2af2dbdc
VM
1181 (pass_regclass_init): Rename to pass_reginfo_init. Modify
1182 corresponding entries.
1183 (dump_regclass, record_operand_costs, scan_one_insn,
1184 init_reg_autoinc, regclass, record_reg_classes, copy_cost,
1185 record_address_regs, auto_inc_dec_reg_p): Remove.
1186 (gt-regclass.h): Rename to gt-reginfo.h.
1187
1188 * rtl.h (dump_global_regs, retry_global_alloc,
bf9b2cc9 1189 build_insn_chain, dump_local_alloc, update_equiv_regs): Remove.
2af2dbdc
VM
1190
1191 * Makefile.in (RA_H): Remove.
1192 (OBJS-common): Remove global.o, local-alloc.o, and ra-conflict.o.
1193 Rename regclass.o to reginfo.o.
1194 (regclass.o): Rename to reginfo.o. Rename gt-regclass.h to
1195 gt-reginfo.h.
1196 (global.o, local-alloc.o, ra-conflict.o): Remove entries.
1197 (GTFILES): Rename regclass.c to reginfo.c.
1198
1199 * passes.c (init_optimization_passes): Remove pass_local_alloc and
bf9b2cc9 1200 pass_global_alloc. Rename pass_regclass_init to pass_reginfo_init.
2af2dbdc
VM
1201
1202 * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
1203 count_spilled_pseudo, find_reg, alter_reg, delete_output_reload):
1204 Remove flag_ira.
6b67572e 1205 (finish_spills): Ditto. Remove code for !flag_ira.
2af2dbdc 1206
c95b2534 12072009-01-29 Kenneth Zadeck <zadeck@naturalbridge.com>
00b251a0
KZ
1208
1209 PR middle-end/35854
1210 * doc/invoke.texi (rtl debug options): Complete rewrite.
1211 * auto-inc-dec.c (pass_inc_dec): Rename pass from "auto-inc-dec"
1212 to auto_inc_dec".
1213 * mode-switching.c (pass_mode_switching): Rename pass from
1214 "mode-sw" to "mode_sw".
1215 * except.c (pass_convert_to_eh_ranges): Rename pass from
1216 "eh-ranges" to "eh_ranges".
1217 * lower-subreg.c (pass_lower_subreg): Renamed pass from "subreg"
1218 to "subreg1".
1219
1220
72a54528
AM
12212009-01-29 Andrey Belevantsev <abel@ispras.ru>
1222 Alexander Monakov <amonakov@ispras.ru>
1223
1224 PR middle-end/38857
1225 * sel-sched.c (count_occurrences_1): Check that *cur_rtx is a hard
1226 register.
1227 (move_exprs_to_boundary): Change return type and pass through
1228 should_move from move_op. Relax assert. Update usage ...
1229 (schedule_expr_on_boundary): ... here. Use should_move instead of
1230 cant_move.
1231 (move_op_orig_expr_found): Indicate that insn was disconnected from
1232 stream.
1233 (code_motion_process_successors): Do not call after_merge_succs
1234 callback if original expression was not found when traversing any of
1235 the branches.
1236 (code_motion_path_driver): Change return type. Update prototype.
1237 (move_op): Update comment. Add a new parameter (should_move). Update
1238 prototype. Set *should_move based on indication provided by
1239 move_op_orig_expr_found.
1240
001b9eb6
PH
12412009-01-28 Pat Haugen <pthaugen@us.ibm.com>
1242
1243 * doc/invoke.texi (avoid-indexed-addresses): Document new option.
1244 * config/rs6000/rs6000-protos.h (avoiding_indexed_address_p): Declare.
1245 * config/rs6000/rs6000.opt (avoid-indexed-addresses): New option.
1246 * config/rs6000/rs6000.c (rs6000_override_options): Default
1247 avoid-indexed-addresses on for Power6, off for everything else.
1248 (avoiding_indexed_address_p): New function.
1249 (rs6000_legitimize_address): Use it.
1250 (rs6000_legitimate_address): Likewise.
1251 * config/rs6000/rs6000.md (movXX_updateX): Likewise
1252
59dc4898
KH
12532009-01-28 Kazu Hirata <kazu@codesourcery.com>
1254
1255 PR tree-optimization/38997
1256 * tree-loop-distribution.c (generate_memset_zero): Use
1257 POINTER_PLUS_EXPR for a pointer addition.
1258
07da44ab
AK
12592009-01-28 Andreas Krebbel <krebbel1@de.ibm.com>
1260
1261 * config/s390/s390.md (bswap<mode>2): New pattern added.
1262
cdc15d23
WG
12632009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
1264
1265 * config/s390/s390.md (*tls_load_31): Added type attribute.
1266
d46f24b6
WG
12672009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
1268
1269 * config/s390/s390.md: Fix a few comments.
1270
729e750f
WG
12712009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
1272
1273 * config/s390/s390.md (*tmsi_reg): Fixed z10prop attribute.
1274 (*tm<mode>_full): Fixed z10prop attribute.
1275 (*tst<mode>_extimm): Fixed z10prop attribute.
1276 (*tst<mode>_cconly_extimm): Fixed z10prop attribute.
1277 (*tstqiCCT_cconly): Fixed z10prop attribute.
1278 (*cmpsi_ccu_zerohi_rlsi): Fixed z10prop attribute.
1279 (*movsi_larl): Fixed z10prop attribute.
1280 (*movsi_zarch): Fixed z10prop attribute.
1281 (*movsi_eas): Fixed z10prop attribute.
1282 (*movhi): Fixed z10prop attribute.
1283 (*movqi): Fixed z10prop attribute.
1284 (*movstrictqi): Fixed z10prop attribute.
1285 (*mov<mode>): Fixed z10prop attribute.
1286 (*movcc): Fixed z10prop attribute.
1287 (*sethighpartdi_64): Fixed z10prop attribute.
1288 (*zero_extendhi<mode>2_z10): Fixed z10prop attribute.
1289 (*negdi2_sign_cc): Fixed z10prop attribute.
1290 (*negdi2_sign): Fixed z10prop attribute.
1291 (*absdi2_sign_cc): Fixed z10prop attribute.
1292 (*absdi2_sign): Fixed z10prop attribute.
1293 (*negabsdi2_sign_cc): Fixed z10prop attribute.
1294 (*negabsdi2_sign): Fixed z10prop attribute.
1295 (*cmp_and_trap_signed_int<mode>): Fixed z10prop attribute.
1296 (*cmp_and_trap_unsigned_int<mode>): Fixed z10prop attribute.
1297 (doloop_si64): Fixed z10prop attribute.
1298 (doloop_si31): Fixed z10prop attribute.
1299 (doloop_long): Fixed z10prop attribute.
1300 (indirect_jump): Fixed z10prop attribute.
1301 (nop): Fixed z10prop attribute.
1302 (main_base_64): Fixed z10prop attribute.
1303 (reload_base_64): Fixed z10prop attribute.
1304
c7789bfb
JJ
13052009-01-28 Jakub Jelinek <jakub@redhat.com>
1306
1307 PR rtl-optimization/38740
6b67572e
UB
1308 * reorg.c (gate_handle_delay_slots): Avoid dbr scheduling
1309 if !optimize.
c7789bfb
JJ
1310 * config/mips/mips.c (mips_reorg): Likewise.
1311
de081cfd
RG
13122009-01-28 Richard Guenther <rguenther@suse.de>
1313
1314 PR tree-optimization/38926
1315 * tree-ssa-pre.c (add_to_value): Assert we add only expressions
1316 with the correct value id to a value.
1317 (do_regular_insertion): Use the value number of edoubleprime
1318 for the value number of the expr.
1319
1320 Revert
1321 2008-08-21 Richard Guenther <rguenther@suse.de>
bf9b2cc9 1322
d748c406
UB
1323 * tree-ssa-pre.c (insert_into_preds_of_block): Before inserting
1324 a PHI ask VN if it is already available.
1325 * tree-ssa-sccvn.h (vn_phi_lookup): Declare.
1326 * tree-ssa-sccvn.c (vn_phi_lookup): Export.
de081cfd 1327
a9d386a1
JJ
13282009-01-28 Jakub Jelinek <jakub@redhat.com>
1329
1330 PR middle-end/38934
1331 * tree-vrp.c (extract_range_from_assert): For LE_EXPR and LT_EXPR
1332 set to varying whenever max has TREE_OVERFLOW set, similarly
1333 for GE_EXPR and GT_EXPR and TREE_OVERFLOW min.
1334
97a170cd
RG
13352009-01-28 Richard Guenther <rguenther@suse.de>
1336
1337 PR middle-end/38908
1338 * tree-ssa.c (warn_uninitialized_var): Do not warn for seemingly
1339 uninitialized aggregate uses in call arguments.
1340
89ebafc6
PB
13412009-01-28 Paolo Bonzini <bonzini@gnu.org>
1342
1343 PR tree-optimization/38984
1344 * tree-ssa-structalias.c (get_constraints_for_1): Do not use
1345 the nothing_id variable if -fno-delete-null-pointer-checks.
1346
bef3c57b
UB
13472009-01-28 Uros Bizjak <ubizjak@gmail.com>
1348
1349 PR target/38988
1350 * config/i386/i386.md (set_rip_rex64): Wrap operand 1 in label_ref.
1351 (set_got_offset_rex64): Ditto.
1352
0c6390fa
L
13532009-01-27 H.J. Lu <hongjiu.lu@intel.com>
1354
1355 PR target/38941
1356 * doc/extend.texi: Improve local variable with asm reg.
1357
bee6fa6d
AN
13582009-01-27 Adam Nemet <anemet@caviumnetworks.com>
1359
1360 * c.opt (Wpacked-bitfield-compat): Change init value to -1.
1361 * c-opts.c (c_common_post_options): If -W*packed-bitfield-compat
1362 was not supplied then set warn_packed_bitfield_compat to the
1363 default value of 1.
1364 * stor-layout.c (place_field): Check warn_packed_bitfield_compat
1365 against 1.
1366
b5c3dfbb
RG
13672009-01-27 Richard Guenther <rguenther@suse.de>
1368
1369 PR tree-optimization/38503
1370 * cfgexpand.c (expand_gimple_basic_block): Ignore
1371 GIMPLE_CHANGE_DYNAMIC_TYPE during expansion.
1372 * tree-ssa-structalias.c (set_uids_in_ptset): Do not prune
1373 variables that cannot have TBAA applied.
1374 (compute_points_to_sets): Do not remove GIMPLE_CHANGE_DYNAMIC_TYPE
1375 statements.
1376
d748c406 13772009-01-27 Uros Bizjak <ubizjak@gmail.com>
576de5cb
UB
1378
1379 PR middle-end/38969
1380 * calls.c (initialize_argument_information): Do not wrap complex
1381 arguments in SAVE_EXPR.
1382
9112bb38
AT
13832009-01-26 Andreas Tobler <a.tobler@schweiz.org>
1384
1385 * config/t-vxworks (LIBGCC2_INCLUDES): Fix typo.
5efb79fc 1386 (INSTALL_LIBGCC): Revert typo commit.
9112bb38 1387
4757704f
RG
13882009-01-26 Richard Guenther <rguenther@suse.de>
1389
1390 PR tree-optimization/38745
1391 * tree-ssa-alias.c (update_alias_info_1): Exclude RESULT_DECL
1392 from special handling.
1393
e3e6cff4
RG
13942009-01-26 Richard Guenther <rguenther@suse.de>
1395
1396 PR tree-optimization/38745
1397 * tree-ssa.c (execute_update_addresses_taken): Do not include
1398 variables that cannot possibly be a register in not_reg_needs.
1399 Do not clear TREE_ADDRESSABLE on vars that may not become
1400 registers.
1401 * tree-ssa.c (update_alias_info_1): Include those in the set
1402 of addressable vars.
1403
dc874b53
RG
14042009-01-26 Richard Guenther <rguenther@suse.de>
1405
1406 PR middle-end/38851
1407 * Makefile.in (tree-ssa-dse.o): Add langhooks.h.
1408 * tree-ssa-dse.c: Include langhooks.h
1409 (execute_simple_dse): Remove stores with zero size.
1410
849421a3
JJ
14112009-01-24 Jakub Jelinek <jakub@redhat.com>
1412
1413 PR c/38957
1414 * c-typeck.c (c_finish_return): Handle POINTER_PLUS_EXPR the same way
1415 as PLUS_EXPR.
1416
82f70421
JB
14172009-01-24 Julian Brown <julian@codesourcery.com>
1418
1419 * config/arm/t-linux-eabi (LIB2FUNCS_STATIC_EXTRA): Add
1420 config/arm/linux-atomic.c.
1421 * config/arm/linux-atomic.c: New.
1422
863412d6
EB
14232009-01-24 Eric Botcazou <ebotcazou@adacore.com>
1424
1425 * config/sparc/linux.h (DBX_REGISTER_NUMBER): Delete.
1426 * config/sparc/linux64.h (DBX_REGISTER_NUMBER): Likewise.
1427 * config/sparc/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
1428
8c684300
L
14292009-01-24 H.J. Lu <hongjiu.lu@intel.com>
1430
1431 PR c/38938
93f1527a 1432 * c-opts.c (c_common_handle_option): Update warn_pointer_sign
8c684300
L
1433 properly.
1434
b840fb02
SP
14352009-01-24 Sebastian Pop <sebastian.pop@amd.com>
1436
1437 PR tree-optimization/38953
1438 * graphite.c (graphite_verify): Add a call to verify_loop_closed_ssa.
1439 (scop_adjust_phis_for_liveouts): Initialize false_i to zero.
1440 (gloog): Split the exit of the scop when the scop exit is a loop exit.
1441 (graphite_transform_loops): Only call cleanup_tree_cfg if gloog
1442 changed the CFG.
1443
ecee559f
PB
14442009-01-24 Paul Brook <paul@codesourcery.com>
1445
1446 * config/arm/neon.md (neon_type): Move to arm.md.
1447 (neon_mov<VSTRUCT>): Add neon_type attribute.
1448 * config/arm/arm.md (neon_type): Move to here.
1449 (conds): Add "unconditioal" and use as default for NEON insns.
1450
61ad0914
BE
14512009-01-24 Ben Elliston <bje@au.ibm.com>
1452
1453 * bitmap.h (BITMAP_FREE): Eliminate `implicit conversion from
1454 void *' warning from -Wc++-compat.
1455 * Makefile.in (dominance.o-warn): Remove.
1456
38432148 14572009-01-23 Paolo Bonzini <bonzini@gnu.org>
9bacafeb
PB
1458
1459 PR tree-optimization/38932
1460 * fold-const.c (fold_unary_ignore_overflow): New.
1461 * tree.h (fold_unary_ignore_overflow): Declare.
1462 * tree-ssa-ccp.c (ccp_fold): Use fold_unary_ignore_overflow.
1463 * tree-ssa-sccvn.c (visit_reference_op_load,
1464 simplify_unary_expression): Likewise.
1465
2cd36c22
AN
14662009-01-22 Adam Nemet <anemet@caviumnetworks.com>
1467
1468 * c-decl.c (finish_struct): Move code to set DECL_PACKED after
1469 DECL_BIT_FIELD is alreay known. Also inherit packed for bitfields
1470 regardless of their type.
1471 * c-common.c (handle_packed_attribute): Don't ignore packed on
1472 bitfields.
1473 * c.opt (Wpacked-bitfield-compat): New warning option.
1474 * stor-layout.c (place_field): Warn if offset of a field changed.
1475 * doc/extend.texi (packed): Mention the ABI change.
1476 * doc/invoke.texi (-Wpacked-bitfield-compat): Document.
1477 (Warning Options): Add it to the list.
1478
e4e624ab
L
14792009-01-22 H.J. Lu <hongjiu.lu@intel.com>
1480
1481 * c-opts.c (c_common_post_options): Fix a typo in comments.
1482
d0ea0759
SE
14832009-01-22 Steve Ellcey <sje@cup.hp.com>
1484
1485 PR middle-end/38615
1486 * gimplify.c (gimplify_init_constructor): Fix promotion of const
1487 variables to static.
1488 * doc/invoke.texi (-fmerge-all-constants): Update description.
1489
87673f84
UB
14902009-01-22 Uros Bizjak <ubizjak@gmail.com>
1491
1492 PR target/38931
1493 * config/i386/i386.md (*movsi_1): Use type "mmx" for alternative 2.
1494 (*movdi_1_rex64): Use type "mmx" for alternative 5.
1495
96339268
RE
14962009-01-22 Richard Earnshaw <rearnsha@arm.com>
1497
1498 * arm.h (DATA_ALIGNMENT): Align structures, unions and arrays to
1499 a word boundary.
1500 (LOCAL_ALIGNMENT): Similarly.
1501
442dc742 15022009-01-22 Mark Shinwell <shinwell@codesourcery.com>
87673f84 1503 Joseph Myers <joseph@codesourcery.com>
442dc742
MS
1504
1505 * config/arm/arm.c (all_architectures): Add iWMMXt2 entry.
1506 * config/arm/arm-cores.def: New ARM_CORE entry for iWMMXt2.
1507 * config/arm/arm-tune.md: Regenerate.
1508 * doc/invoke.texi (ARM Options): Document -mcpu=iwmmxt2 and
1509 -march=iwmmxt2.
1510
9b34732e
MS
15112009-01-22 Mark Shinwell <shinwell@codesourcery.com>
1512
1513 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Bump EABI
1514 version number to five.
1515
03c2a308
DS
15162009-01-22 Dodji Seketeli <dodji@redhat.com>
1517
1518 PR c++/38930
1519 * c-decl.c: (clone_underlying_type): Revert PR c++/26693 changes.
1520 * c-common.c (set_underlying_type): Likewise.
1521 (is_typedef_decl ): Likewise
1522 * tree.h: Likewise
1523 (set_underlying_type): Likewise.
1524 (is_typedef_type): Likewise.
1525
1240d76e
VM
15262009-01-21 Vladimir Makarov <vmakarov@redhat.com>
1527
1528 PR middle-end/38587
1529 * ira-color.c (coalesce_spill_slots): Don't coalesce allocnos
1530 crossing setjmps.
1531
b8a1087d
DK
15322009-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
1533
1534 PR bootstrap/37660
1535 * config/i386/cygwin.h (SHARED_LIBGCC_SPEC): New helper macro.
1536 (LIBGCC_SPEC): Don't define.
1537 (REAL_LIBGCC_SPEC): Define instead, using SHARED_LIBGCC_SPEC.
1538
435da628
UB
15392009-01-21 Uros Bizjak <ubizjak@gmail.com>
1540
1541 PR rtl-optimization/38879
1542 * alias.c (base_alias_check): Unaligned access via AND address can
1543 alias all surrounding object types except those with sizes equal
1544 or wider than the size of unaligned access.
1545
d597b3ce
DS
15462009-01-21 Dodji Seketeli <dodji@redhat.com>
1547
1548 PR c++/26693
435da628 1549 * c-decl.c: (clone_underlying_type): Move this ...
d597b3ce 1550 * c-common.c (set_underlying_type): ... here.
435da628 1551 Also, make sure the function properly sets TYPE_STUB_DECL() on
d597b3ce
DS
1552 the newly created typedef variant type.
1553 (is_typedef_decl ): New entry point.
1554 * tree.h: Added a new member member_types_needing_access_check to
1555 struct tree_decl_non_common.
1556 (set_underlying_type): New entry point.
1557 (is_typedef_type): Likewise.
1558
71a6fe66
BM
15592009-01-21 Bingfeng Mei <bmei@broadcom.com>
1560
1561 * alias.c (walk_mems_1, walk_mems_2, insn_alias_sets_conflict_p):
1562 Check whether two instructions have memory references that
1563 belong to conflicting alias sets. walk_mems_1 and walk_mems_2
1564 are helper functions for traversing.
1565 * alias.h (insn_alias_sets_confilict_p): New prototypes.
1566 * ddg.c (add_inter_loop_mem_dep): Call insn_alias_sets_conflict_p
1567 not to draw dependency edge for instructions with non-conflicting
1568 alias sets.
1569
5a248274
JM
15702009-01-20 Joseph Myers <joseph@codesourcery.com>
1571
1572 PR other/38758
6b67572e
UB
1573 * longlong.h: Update copyright years. Use soft-fp license notice.
1574 Sync __clz_tab declaration with glibc.
5a248274 1575
4b84f3de
SE
15762009-01-20 Steve Ellcey <sje@cup.hp.com>
1577
1578 PR target/30687
1579 * doc/extend.texi (syscall_linkage): New.
1580 (version_id): Modify.
1581
37348bf1 15822009-01-20 Andrew Pinski <andrew_pinski@playstation.sony.com>
435da628 1583 Richard Guenther <rguenther@suse.de>
37348bf1
AP
1584
1585 PR tree-optimization/38747
1586 PR tree-optimization/38748
1587 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Disable the VCE
1588 conversion if the base address is an indirect reference and the
1589 aliasing sets could cause issues.
1590
d0a58904
SP
15912009-01-20 Sebastian Pop <sebastian.pop@amd.com>
1592
1593 * common.opt (fgraphite, fgraphite-identity): Add comment for
1594 explaining why these options are not documented.
1595
71e7afb2
SP
15962009-01-20 Sebastian Pop <sebastian.pop@amd.com>
1597
1598 * graphite.c (stmt_simple_for_scop_p): Also handle cases when
1599 gimple_call_lhs is NULL.
1600
38432148 16012009-01-20 Paolo Bonzini <bonzini@gnu.org>
09efeca1
PB
1602
1603 PR target/38868
1604 * emit-rtl.c (adjust_address_1): Make sure memref is never
1605 overwritten.
1606
cbb8dee3
BE
16072009-01-20 Ben Elliston <bje@au.ibm.com>
1608
1609 * libgcov.c (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
435da628 1610 const qualifier from arg parameter. Remove unnecessary cast to char *.
cbb8dee3
BE
1611 * gcov-io.h (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
1612 const qualifier from arg 2.
1613
72c66596
IS
16142009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
1615
435da628 1616 * config/darwin.h: Add static-libgfortran to LINK_SPEC.
72c66596 1617
f68211cd
VM
16182009-01-19 Vladimir Makarov <vmakarov@redhat.com>
1619
1620 PR c/38869
1621 * rtl.h (reinit_regs): New prototype.
1622 * regclass.c: Include ira.h.
1623 (reinit_regs): New.
1624 * Makefile.in (regclass.o): Add ira.h.
1625 * config/i386/i386.c (ix86_maybe_switch_abi): Use reinit_regs.
1626
6e4f1168
L
16272009-01-18 H.J. Lu <hongjiu.lu@intel.com>
1628
1629 PR target/38736
1630 * c-common.c (handle_aligned_attribute): Use
1631 ATTRIBUTE_ALIGNED_VALUE instead of BIGGEST_ALIGNMENT for
1632 default alignment value.
1633
1634 * c-cppbuiltin.c (c_cpp_builtins): Define __BIGGEST_ALIGNMENT__.
1635
1636 * defaults.h (ATTRIBUTE_ALIGNED_VALUE): New.
1637 * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Likewise.
1638
1639 * doc/extend.texi: Update __attribute__ ((aligned)). Document
1640 __BIGGEST_ALIGNMENT__.
1641
1642 * doc/tm.texi: Document ATTRIBUTE_ALIGNED_VALUE.
1643
890065bf
RG
16442009-01-18 Richard Guenther <rguenther@suse.de>
1645
1646 PR tree-optimization/38819
1647 * tree-flow.h (operation_could_trap_helper_p): Declare.
1648 * tree-eh.c (operation_could_trap_helper_p): Export.
1649 * tree-ssa-sccvn.h (vn_nary_may_trap): Declare.
1650 * tree-ssa-sccvn.c (vn_nary_may_trap): New function.
1651 * tree-ssa-pre.c (insert_into_preds_of_block): Check if we
1652 are about to insert a possibly trapping instruction and fail
1653 in this case.
1654
a729d731
AS
16552009-01-18 Andreas Schwab <schwab@suse.de>
1656
1657 * doc/install.texi (Configuration): Remove obsolete paragraph
1658 about use of --with-gnu-ld with --with-gnu-as.
1659
a640c13b
KH
16602009-01-18 Kazu Hirata <kazu@codesourcery.com>
1661
1662 * doc/extend.texi, doc/gimple.texi, doc/invoke.texi,
1663 doc/md.texi, doc/sourcebuild.texi, doc/tm.texi: Fix typos.
1664 Follow spelling conventions.
1665
dba2cc0c
BE
16662009-01-18 Ben Elliston <bje@au.ibm.com>
1667
1668 * bitmap.c (bitmap_obstack_alloc_stat): Adjust cast to eliminate
1669 C++ warning about implicit conversion from void * to struct
1670 bitmap_head_def *.
1671 (bitmap_obstack_free): Likewise for bitmap_element *.
bc127c63 1672 * Makefile.in (bitmap.o-warn): Remove.
dba2cc0c 1673
2207a498
DK
16742009-01-17 Dave Korn <dave.korn.cygwin@gmail.com>
1675
1676 * Makefile.in (BACKENDLIBS): Reorder to match dependencies.
1677
8137e465
SP
16782009-01-17 Sebastian Pop <sebastian.pop@amd.com>
1679 Tobias Grosser <tobi.grosser@amd.com>
1680
1681 * graphite.c (graphite_trans_scop_block): Do not block single
1682 nested loops.
1683
5be1c58c
AO
16842009-01-16 Alexandre Oliva <aoliva@redhat.com>
1685
1686 * ebitmap.h (ebitmap_iter_init): Initialize all fields.
1687 * ipa-struct-reorg.c (gen_struct_type): Replace known-true
1688 test with assertion.
1689
786ce82d
RG
16902009-01-16 Richard Guenther <rguenther@suse.de>
1691
1692 PR tree-optimization/38835
1693 PR middle-end/36227
1694 * fold-const.c (fold_binary): Remove PTR + INT -> (INT)(PTR p+ INT)
1695 and INT + PTR -> (INT)(PTR p+ INT) folding.
1696 * tree-ssa-address.c (create_mem_ref): Properly use POINTER_PLUS_EXPR.
1697
c1cb09ad
AN
16982009-01-16 Adam Nemet <anemet@caviumnetworks.com>
1699
1700 PR target/38554
1701 * expmed.c (expand_shift): With SHIFT_COUNT_TRUNCATED, don't lift
1702 the subreg from a lowpart subreg if it is also casting the value.
1703
bcab4e19
SP
17042009-01-16 Sebastian Pop <sebastian.pop@amd.com>
1705 Tobias Grosser <tobi.grosser@amd.com>
1706
1707 * graphite.c (compare_prefix_loops): New.
1708 (build_scop_canonical_schedules): Rewritten.
1709 (graphite_transform_loops): Move build_scop_canonical_schedules
1710 after build_scop_iteration_domain.
1711
0b040072
SP
17122009-01-16 Sebastian Pop <sebastian.pop@amd.com>
1713 Tobias Grosser <tobi.grosser@amd.com>
1714
1715 * graphite.c (add_conditions_to_domain): Add the loops to
1716 the dimension of the iteration domain. Do copy the domain
1717 only when it exists.
1718 (build_scop_conditions_1): Do not call add_conditions_to_domain.
1719 (add_conditions_to_constraints): New.
1720 (can_generate_code_stmt, can_generate_code): Removed.
1721 (gloog): Do not call can_generate_code.
1722 (graphite_transform_loops): Call add_conditions_to_constraints
1723 after building the iteration domain.
1724
56c6a499
JJ
17252009-01-16 Jakub Jelinek <jakub@redhat.com>
1726
1727 PR tree-optimization/38789
1728 * tree-ssa-threadedge.c
1729 (record_temporary_equivalences_from_stmts_at_dest): Ignore calls to
1730 __builtin_constant_p.
1731
c95b2534 17322009-01-16 Kenneth Zadeck <zadeck@naturalbridge.com>
cd3f1729
KZ
1733
1734 * dce.c (delete_unmarked_insns): Reversed the order that insns are
1735 examined before deleting them.
1736
c433cb14
RE
17372009-01-16 Richard Earnshaw <rearnsha@arm.com>
1738
1739 * function.c (aggregate_value_p): Correctly extract the function
1740 type from CALL_EXPR_FN lookup.
1741
c95b2534 17422009-01-16 Hariharan Sandanagobalane <hariharan@picochip.com>
27d62fa4
HS
1743
1744 * config/picochip/picochip.c (picochip_override_options): Revert
1745 CFI asm flag disable commited previously.
1746
c77bb78f
SP
17472009-01-15 Sebastian Pop <sebastian.pop@amd.com>
1748 Tobias Grosser <tobi.grosser@amd.com>
1749 Jan Sjodin <jan.sjodin@amd.com>
1750
1751 * graphite.c (scan_tree_for_params): On substractions negate
1752 all the coefficients of the term.
1753 (clast_to_gcc_expression_red): New. Handle reduction expressions
1754 of more than two operands.
1755 (clast_to_gcc_expression): Call clast_to_gcc_expression_red.
1756 (get_vdef_before_scop): Handle also the case of default definitions.
1757
574af2d6
RS
17582009-01-15 Richard Sandiford <rdsandiford@googlemail.com>
1759
1760 * caller-save.c (add_used_regs_1, add_used_regs): New functions.
1761 (insert_one_insn): Use them instead of REG_DEAD and REG_INC notes.
1762 Also use them when walking CALL_INSN_FUNCTION_USAGE.
1763
e939805b
L
17642009-01-15 H.J. Lu <hongjiu.lu@intel.com>
1765 Joey Ye <joey.ye@intel.com>
1766
1767 PR middle-end/37843
1768 * cfgexpand.c (expand_stack_alignment): Don't update stack
1769 boundary nor check incoming stack boundary here.
1770 (gimple_expand_cfg): Update stack boundary and check incoming
1771 stack boundary here.
1772
c95b2534 17732009-01-15 Kenneth Zadeck <zadeck@naturalbridge.com>
750900db 1774
435da628 1775 * dce.c (find_call_stack_args, delete_unmarked_insns): Fixed comments.
750900db 1776
0196c95e
JJ
17772009-01-14 Jakub Jelinek <jakub@redhat.com>
1778
1779 PR rtl-optimization/38245
1780 * calls.c (expand_call): Add stack arguments to
1781 CALL_INSN_FUNCTION_USAGE even for pure calls (when
1782 ACCUMULATE_OUTGOING_ARGS) and even for args partially passed
1783 in regs and partially in memory or BLKmode arguments.
1784 (emit_library_call_value_1): Add stack arguments to
1785 CALL_INSN_FUNCTION_USAGE even for pure calls (when
1786 ACCUMULATE_OUTGOING_ARGS).
1787 * dce.c: Include tm_p.h.
1788 (find_call_stack_args): New function.
1789 (deletable_insn_p): Call it for CALL_P insns. Add ARG_STORES
1790 argument.
1791 (mark_insn): Call find_call_stack_args for CALL_Ps.
1792 (prescan_insns_for_dce): Walk insns backwards in bb rather than
1793 forwards. Allocate and free arg_stores bitmap if needed, pass it
1794 down to deletable_insn_p, don't mark stores set in arg_stores
1795 bitmap, clear the bitmap at the beginning of each bb.
1796 * Makefile.in (dce.o): Depend on $(TM_P_H).
1797
6df6bcfa
MM
17982009-01-14 Michael Meissner <gnu@the-meissners.org>
1799
1800 PR target/22599
435da628
UB
1801 * config/i386/i386.c (print_operand): Add tests for 'D', 'C', 'F', 'f'
1802 to make sure the insn is a conditional test (bug 22599). Reformat a
1803 few long lines.
6df6bcfa 1804
765ec70c
SP
18052009-01-14 Sebastian Pop <sebastian.pop@amd.com>
1806
1807 PR middle-end/38431
1808 * graphite.c (get_vdef_before_scop, scop_adjust_vphi): New.
1809 (scop_adjust_phis_for_liveouts): Call scop_adjust_vphi.
1810 (gloog): Do not call cleanup_tree_cfg.
1811 (graphite_transform_loops): Call cleanup_tree_cfg after all
1812 scops have been code generated.
1813
7de2b688
BS
18142009-01-14 Basile Starynkevitch <basile@starynkevitch.net>
1815 * doc/gty.texi (Invoking the garbage collector): Added new node
1816 and section documenting ggc_collect.
1817
10bd6c5c
RG
18182009-01-14 Richard Guenther <rguenther@suse.de>
1819
1820 PR tree-optimization/38826
1821 PR middle-end/38477
1822 * tree-ssa-structalias.c (emit_alias_warning): Emit the pointer
1823 initialization notes only if we actually emitted a warning.
1824 (intra_create_variable_infos): Add constraints for a result decl
1825 that is passed by hidden reference.
1826 (build_pred_graph): Mark all related variables non-direct on
1827 address-taking.
1828
9c7c70ee
NC
18292009-01-14 Nick Clifton <nickc@redhat.com>
1830
1831 * ira-conflicts.c: Include addresses.h for the definition of
1832 base_reg_class.
435da628
UB
1833 (ira_build_conflicts): Use base_reg_class instead of BASE_REG_CLASS.
1834 * Makefile.in: Add a dependency of ira-conflicts.o on addresses.h.
9c7c70ee 1835
cf0c2a60
VM
18362009-01-13 Vladimir Makarov <vmakarov@redhat.com>
1837
1838 PR target/38811
1839 * Makefile.in (ira-lives.o): Add except.h.
1840
1841 * ira-lives.c: Include except.h.
1842 (process_bb_node_lives): Process can_throw_internal.
1843
d3302fd3
JJ
18442009-01-13 Jakub Jelinek <jakub@redhat.com>
1845
1846 PR rtl-optimization/38774
1847 * combine.c (simplify_set): When undoing cc_use change, don't do
1848 PUT_CODE on the newly created comparison, but instead put back the
1849 old comparison.
1850
7ab23fd0
JM
18512009-01-13 Joseph Myers <joseph@codesourcery.com>
1852
1853 * doc/invoke.texi (ARM Options): Update lists of -mcpu and -march
1854 values. Remove duplicate arm8 entry.
1855
f9344488
SP
18562009-01-13 Sebastian Pop <sebastian.pop@amd.com>
1857
1858 PR tree-optimization/38786
1859 * graphite.c (expand_scalar_variables_ssa_name): New, outlined from
1860 the SSA_NAME case of expand_scalar_variables_expr.
1861 Set the type of an expression to the type of its assign statement.
1862 (expand_scalar_variables_expr): Also gather the scalar computation
1863 used to index the memory access. Do not pass loop_p.
1864 Fix comment. Stop recursion on tcc_constant or tcc_declaration.
1865 (expand_scalar_variables_stmt): Pass to expand_scalar_variables_expr
bef3c57b
UB
1866 the gimple_stmt_iterator where it inserts new code.
1867 Do not pass loop_p.
f9344488
SP
1868 (copy_bb_and_scalar_dependences): Do not pass loop_p.
1869 (translate_clast): Update call to copy_bb_and_scalar_dependences.
1870
2d8bb84d
SP
18712009-01-13 Sebastian Pop <sebastian.pop@amd.com>
1872
1873 * graphite.h (debug_value): Removed.
1874 * graphite.c (debug_value): Removed.
1875
ff128632
RE
18762009-01-13 Richard Earnshaw <rearnsha@arm.com>
1877
435da628
UB
1878 * config/arm/arm.c (output_move_double): Don't synthesize thumb-2
1879 ldrd/strd with two 32-bit instructions.
ff128632 1880
d5a0a47b
RE
18812009-01-13 Richard Earnshaw <rearnsha@arm.com>
1882
435da628
UB
1883 * config/arm/arm.c (struct processors): Pass for speed down into
1884 cost helper functions.
d5a0a47b
RE
1885 (const_ok_for_op): Handle COMPARE and inequality nodes.
1886 (arm_rtx_costs_1): Rewrite.
1887 (arm_size_rtx_costs): Update prototype.
1888 (arm_rtx_costs): Pass speed down to helper functions.
1889 (arm_slowmul_rtx_costs): Rework cost calculations.
1890 (arm_fastmul_rtx_costs, arm_xscale_rtx_costs): Likewise.
1891 (arm_9e_rtx_costs): Likewise.
1892
26d5bf5b
UB
18932009-01-13 Uros Bizjak <ubizjak@gmail.com>
1894
1895 * config/alpha/alpha.c (alpha_legitimate_address_p): Explicit
435da628 1896 relocations of local symbols wider than UNITS_PER_WORD are not valid.
26d5bf5b
UB
1897 (alpha_legitimize_address): Do not split local symbols wider than
1898 UNITS_PER_WORD into HIGH/LO_SUM parts.
1899
5d14e3d5
DS
19002009-01-13 Danny Smith <dannysmith@users.sourceforge.net>
1901
1902 PR bootstrap/38580
1903 * gcc.c (process_command): Replace call to execvp with calls
1904 to pex_one and exit.
1905
33faafca
AS
19062009-01-03 Anatoly Sokolov <aesok@post.ru>
1907
1908 PR target/29141
1909 * config/avr/t-avr (LIB1ASMFUNCS): Add _tablejump_elpm.
1910 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Add
1911 variant for devices with 3-byte PC.
1912 (__tablejump_elpm__) : New.
1913
634b5df5
JJ
19142009-01-12 Jakub Jelinek <jakub@redhat.com>
1915
1916 PR c/32041
1917 * c-parser.c (c_parser_postfix_expression): Allow `->' in
1918 offsetof member-designator, handle it as `[0].'.
1919
2842bb86
JDA
19202009-01-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1921
1922 * pa.c (pa_asm_output_mi_thunk): Use pc-relative branch to thunk
1923 function when not using named sections on targets with named sections
1924 if branch distance is less than 262132.
1925
76ee70f6
RE
19262009-01-12 Richard Earnshaw <rearnsha@arm.com>
1927
1928 * combine.c (combine_instructions): Recompute
1929 optimize_this_for_speed_p for each BB in the main combine loop.
1930
f56e675d
TB
19312009-01-12 Tomas Bily <tbily@suse.cz>
1932
1933 PR middlend/38385
26d5bf5b
UB
1934 * tree-loop-distribution.c (prop_phis): New function.
1935 (generate_builtin): Call prop_phis.
1936 * testsuite/gcc.dg/tree-ssa/pr38385.c: New file.
f56e675d 1937
c2152239
JJ
19382009-01-12 Jakub Jelinek <jakub@redhat.com>
1939
1940 PR tree-optimization/38807
1941 * tree-ssa-reassoc.c (remove_visited_stmt_chain): Don't look at
1942 gimple_visited_p unless stmt is GIMPLE_ASSIGN.
1943
0e510b3e
AN
19442009-01-11 Adam Nemet <anemet@caviumnetworks.com>
1945
1946 * expmed.c (store_bit_field_1): Properly truncate the paradoxical
1947 subreg of op0 to the original op0.
1948
c95b2534 19492009-01-11 Laurent GUERBY <laurent@guerby.net>
10270471
LG
1950
1951 * doc/sourcebuild.texi (Source Tree): Move up intl and fixinc.
1952
53a7ff9a
MS
19532009-01-11 Markus Schoepflin <markus.schoepflin@comsoft.de>
1954
1955 PR debug/7055
1956 * gcc/mips-tfile.c (parse_def): Fix parsing of def strings
1957 starting with digits.
1958
b3a796bc
JJ
19592009-01-10 Jakub Jelinek <jakub@redhat.com>
1960
1961 PR target/38695
1962 * config/arm/arm.c (arm_is_long_call_p): Don't call
1963 arm_function_in_section_p if decl isn't a FUNCTION_DECL.
1964
b21b850e
SB
19652009-01-09 Steven Bosscher <steven@gcc.gnu.org>
1966
1967 * regrename.c (regrename_optimize): Fix dumping.
1968 (find_oldest_value_reg): Preserve REG_POINTER.
1969 (copy_hardreg_forward_1): Likewise.
1970
e0e10d3a
DN
19712009-01-09 Diego Novillo <dnovillo@google.com>
1972
bf9b2cc9 1973 * gimple.h (struct gimple_statement_base) <uid>: Document
e0e10d3a
DN
1974 the restrictions on its use.
1975 (gimple_uid): Tidy.
1976 (gimple_set_uid): Tidy.
1977
c9da2ae8
JJ
19782009-01-09 Jakub Jelinek <jakub@redhat.com>
1979
1980 * config/i386/i386.c (ix86_expand_movmem, ix86_expand_setmem): Add
1981 zero guard even if align_bytes != 0 and count is smaller than
1982 size_needed.
1983
38432148 19842009-01-09 Vladimir Makarov <vmakarov@redhat.com>
a174c19c
VM
1985
1986 PR rtl-optimization/38495
26d5bf5b 1987 * ira-emit.c (print_move_list, ira_debug_move_list): New functions.
a174c19c
VM
1988 (add_range_and_copies_from_move_list): Print all added ranges.
1989 Add ranges to memory optimized destination.
1990
260fda3d
JJ
19912009-01-09 Jakub Jelinek <jakub@redhat.com>
1992
6f6278ad
JJ
1993 PR target/38686
1994 PR target/38708
1995 * config/i386/i386.c (override_options): Reject
1996 -mstringop-strategy=rep_8byte with -m32.
1997 (ix86_expand_movmem): For size_needed == 1 set epilogue_size_needed
1998 to 1. Do count comparison against epilogue_size_needed at compile
1999 time even when count_exp was constant forced into register. For
2000 size_needed don't jump to epilogue, instead just avoid aligning
2001 and invoke the body algorithm. If need_zero_guard, add zero guard
2002 even if count is non-zero, but smaller than size_needed + number of
2003 bytes that could be stored for alignment.
2004 (ix86_expand_setmem): For size_needed == 1 set epilogue_size_needed
2005 to 1. If need_zero_guard, add zero guard even if count is non-zero,
2006 but smaller than size_needed + number of bytes that could be stored
2007 for alignment. Compare size_needed with epilogue_size_needed instead
2008 of desired_align - align, don't adjust size_needed, pass
2009 epilogue_size_needed to the epilogue expanders.
2010
260fda3d 2011 PR c/35742
26d5bf5b 2012 * c-pretty-print.c (pp_c_expression): Handle GOTO_EXPR like BIND_EXPR.
260fda3d 2013
67b846fa
JDA
20142009-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2015
2016 * pa.c (last_address): Change to unsigned.
2017 (update_total_code_bytes): Change argument to unsigned. Don't
2018 check if insn addresses are set.
2019 (pa_output_function_epilogue): Set last_address to UINT_MAX if insn
2020 addresses are not set.
2021 (pa_asm_output_mi_thunk): Handle wrap when updating last_address.
2022
91c82473
NC
20232009-01-09 Nick Clifton <nickc@redhat.com>
2024
2025 * config/sh/symbian.c: Replace uses of DECL_INLINE with
2026 DECL_DECLARED_INLINE_P.
2027
4017e262
JJ
20282009-01-09 Jakub Jelinek <jakub@redhat.com>
2029
0a49e5c2
JJ
2030 PR middle-end/38347
2031 * dojump.c (do_jump_by_parts_zero_rtx): Use mode instead of
2032 GET_MODE (op0) in operand_subword_force calls.
2033
4017e262
JJ
2034 PR middle-end/38771
2035 * fold-const.c (fold_unary): For COMPOUND_EXPR and COND_EXPR,
2036 fold_convert arg0 operands to TREE_TYPE (op0) first.
2037
7cd06356
VM
20382009-01-08 Vladimir Makarov <vmakarov@redhat.com>
2039
2040 * params.def (ira-max-conflict-table-size): Decrease default value
2041 to 1000.
2042
96867bbd
JJ
20432009-01-08 Jakub Jelinek <jakub@redhat.com>
2044
2045 PR tree-optimization/37031
2046 * lambda-code.c (lambda_collect_parameters): Call pointer_set_destroy
2047 on parameter_set.
2048 (build_access_matrix): Reserve correct size for AM_MATRIX vector,
2049 allocate it using gc instead of heap, use VEC_quick_push instead of
2050 VEC_safe_push.
2051 * graphite.c (build_access_matrix): Allocate AM_MATRIX vector using gc
2052 instead of heap, use VEC_quick_push instead of VEC_safe_push.
2053 * tree-data-ref.h (struct access_matrix): Change matrix to gc
2054 allocated vector from heap allocated.
2055 * lambda.h: Add DEF_VEC_ALLOC_P for gc allocated lambda_vector.
2056 * tree-loop-linear.c (linear_transform_loops): Allocate nest
2057 vector only after perfect_loop_nest_depth call.
2058
68f61c3d
SP
20592009-01-08 Sebastian Pop <sebastian.pop@amd.com>
2060 Jan Sjodin <jan.sjodin@amd.com>
2061
2062 PR tree-optimization/38559
2063 * graphite.c (debug_value, copy_constraint,
2064 swap_constraint_variables, scale_constraint_variable, ): New.
2065 (get_lower_bound, get_upper_bound): Removed.
2066 (graphite_trans_bb_strip_mine): Clean up this code that works
2067 only for constant number of iterations. Fully copy upper and
2068 lower bound constraints, not only the constant part of them.
2069 * graphite.h (debug_value): Declared.
2070
82567e33
IR
20712009-01-08 Ira Rosen <irar@il.ibm.com>
2072
2073 PR tree-optimization/37194
2074 * tree-vect-transform.c (vect_estimate_min_profitable_iters):
2075 Don't add the cost of cost model guard in prologue to scalar
2076 outside cost in case of known number of iterations.
2077
7da13f1d
NF
20782009-01-07 Nathan Froyd <froydnj@codesourcery.com>
2079 Alan Modra <amodra@bigpond.net.au>
2080
2081 * config/rs6000/rs6000.c (rs6000_legitimize_address): Check for
2082 non-word-aligned REG+CONST addressing.
2083
c0f64575
UB
20842009-01-07 Uros Bizjak <ubizjak@gmail.com>
2085
2086 PR target/38706
2087 * config/alpha/alpha.c (alpha_end_function): For TARGET_ABI_OSF, call
2088 free_after_compilation when outputting a thunk.
2089 (alpha_output_mi_thunk_osf): Assert that we are processing a thunk.
2090 Do not call free_after_compilation here.
2091
301b6a4e
UB
20922009-01-07 Uros Bizjak <ubizjak@gmail.com>
2093
2094 * config/i386/i386.c (ix86_target_string): Use ARRAY_SIZE.
301b6a4e
UB
2095 (ix86_valid_target_attribute_inner_p): Ditto.
2096
6a114766
JS
20972009-01-07 Jan Sjodin <jan.sjodin@amd.com>
2098
2099 PR tree-optimization/38492
2100 PR tree-optimization/38498
2101 * tree-check.c (operator_is_linear, scev_is_linear_expression): New.
2102 * tree-chrec.h (scev_is_linear_expression): Declared.
2103 * graphite.c (graphite_cannot_represent_loop_niter): New.
2104 (scopdet_basic_block_info): Call graphite_cannot_represent_loop_niter.
2105 (graphite_loop_normal_form): Use gcc_assert.
2106 (scan_tree_for_params): Use CASE_CONVERT.
2107 (phi_node_is_iv, bb_contains_non_iv_scalar_phi_nodes): New.
2108 (build_scop_conditions_1): Call bb_contains_non_iv_scalar_phi_nodes.
2109 Use gcc_assert. Discard scops that contain unhandled cases.
2110 (build_scop_conditions): Return a boolean status for unhandled cases.
2111 (strip_mine_profitable_p): Print the loop number, not its depth.
2112 (is_interchange_valid): Pass the depth of the loop nest, don't
2113 recompute it wrongly.
2114 (graphite_trans_bb_block): Same.
2115 (graphite_trans_bb_block): Print tentative of loop blocking.
2116 (graphite_trans_scop_block): Do not print that the loop has been
2117 blocked.
2118 (graphite_transform_loops): Do not handle scops that contain condition
2119 scalar phi nodes.
2120
65b82caa
L
21212009-01-07 H.J. Lu <hongjiu.lu@intel.com>
2122
2123 AVX Programming Reference (December, 2008)
2124 * config/i386/avxintrin.h (_mm256_stream_si256): New.
2125 (_mm256_stream_pd): Likewise.
2126 (_mm256_stream_ps): Likewise.
2127
2128 * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVNTDQ256,
2129 IX86_BUILTIN_MOVNTPD256 and IX86_BUILTIN_MOVNTPS256.
2130 (ix86_special_builtin_type): Add VOID_FTYPE_PV4DI_V4DI.
2131 (bdesc_special_args): Add __builtin_ia32_movntdq256,
2132 __builtin_ia32_movntpd256 and __builtin_ia32_movntps256.
2133 (ix86_init_mmx_sse_builtins): Handle VOID_FTYPE_PV4DI_V4DI.
2134 (ix86_expand_special_args_builtin): Likewise.
2135
2136 * config/i386/sse.md (AVXMODEDI): New.
2137 (avx_movnt<mode>): Likewise.
2138 (avx_movnt<mode>): Likewise.
2139 (<sse>_movnt<mode>): Remove AVX support.
2140 (sse2_movntv2di): Likewise.
2141
cef158f9
RG
21422009-01-07 Richard Guenther <rguenther@suse.de>
2143
2144 PR middle-end/38751
2145 * fold-const.c (extract_muldiv): Remove obsolete comment.
2146 (fold_plusminus_mult_expr): Undo MINUS_EXPR
2147 to PLUS_EXPR canonicalization for the canonicalization.
2148
246cb5be
GP
21492009-01-07 Gerald Pfeifer <gerald@pfeifer.com>
2150
2151 * doc/install.texi (alpha*-dec-osf*): Remove note on 32-bit
2152 hosted cross-compilers generating less efficient code.
2153
84b9b872
RS
21542009-01-06 Richard Sandiford <rdsandiford@googlemail.com>
2155
2156 * function.h (rtl_data): Add a dbr_scheduled_p field.
2157 * reorg.c (dbr_schedule): Set it.
2158 (gate_handle_delay_slots): Check it.
2159 * config/mips/mips.c (mips_base_delayed_branch): Delete.
2160 (mips_reorg): Check flag_delayed_branch instead of
2161 mips_base_delayed_branch.
2162 (mips_override_options): Don't set mips_base_delayed_branch
2163 or flag_delayed_branch.
2164
ace984c8
RS
21652009-01-06 Richard Sandiford <rdsandiford@googlemail.com>
2166
2167 PR rtl-optimization/38426.
2168 * ira.c (ira): Set current_function_is_leaf earlier.
2169
7ad7809b
JJ
21702009-01-06 Jakub Jelinek <jakub@redhat.com>
2171
2172 PR rtl-optimization/38722
2173 * combine.c (try_combine): Don't modify PATTERN (i3) and notes
2174 too early, only set a flag and modify after last possible
2175 undo_all point.
2176
c52ec948
JJ
21772009-01-06 Janis Johnson <janis187@us.ibm.com>
2178
2179 PR c/34252
2180 * ginclude/float.h: Rename DECnn_DEN to DECnn_SUBNORMAL_MIN.
2181 * real.c (decimal_single_format): Correct values of emin and emax.
2182 (decimal_double_format): Ditto.
2183 (decimal_quad_format): Ditto.
2184 * c-cppbuiltin.c (builtin_define_decimal_float_constants): Adjust
2185 computation of DECnn_MIN and DECnn_MAX for corrected values of
2186 emin and emax. Define __DECnn_SUBNORMAL_MIN__ instead of
2187 __DECnn_MIN__, and adjust its computation for the corrected value
2188 of emin.
2189
300240e1
JH
21902009-01-06 Jan Hubicka <jh@suse.cz>
2191
2192 PR target/38744
435da628 2193 * config/i386/i386.c (ix86_expand_call): Use ARRAY_SIZE.
300240e1 2194
271c069e
GP
21952009-01-06 Gerald Pfeifer <gerald@pfeifer.com>
2196
2197 * doc/contrib.texi (Contributors): Slightly adjust the end note.
2198 Add Robert Clark to the list of testers.
2199
64e4c301 22002009-01-06 Jan Hubicka <jh@suse.cz>
c95b2534 2201 Kai Tietz <kai.tietz@onevision.com>
64e4c301 2202
435da628
UB
2203 * config/i386/i386.md (*msabi_syvabi): Add SSE regs clobbers.
2204 * config/i386/i386.c (ix86_expand_call): Add clobbers.
64e4c301 2205
7650b83e 22062009-01-06 Jan Hubicka <jh@suse.cz>
c95b2534 2207 Kai Tietz <kai.tietz@onevision.com>
7650b83e 2208
435da628
UB
2209 * config/i386/i386.h (CONDITIONAL_CALL_USAGE): SSE regs are not used
2210 for w64 ABI.
2211 * config/i386/i386.c (struct ix86_frame): Add padding0 and nsseregs.
7650b83e
JH
2212 (ix86_nsaved_regs): Count only general purpose regs.
2213 (ix86_nsaved_sseregs): New.
2214 (ix86_compute_frame_layout): Update nsseregs; set preferred alignment
2215 to 16 for w64; compute padding and size of sse reg save area.
301b6a4e
UB
2216 (ix86_emit_save_regs, ix86_emit_save_regs_using_mov): Save only
2217 general purpose regs.
7650b83e
JH
2218 (ix86_emit_save_sse_regs_using_mov): New.
2219 (ix86_expand_prologue): Save SSE regs if needed.
2220 (ix86_emit_restore_regs_using_mov): Use only general purpose regs.
2221 (ix86_emit_restore_sse_regs_using_mov): New.
2222 (ix86_expand_epilogue): Save SSE regs if needed.
2223
9aa5c1b2 22242009-01-06 Jan Hubicka <jh@suse.cz>
c95b2534 2225 Kai Tietz <kai.tietz@onevision.com>
9aa5c1b2 2226
435da628
UB
2227 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Enable for MSABI
2228 * config/i386/i386.c (init_cumulative_args): Disallow calls of MSABI
2229 functions when accumulate outgoing args is off.
9aa5c1b2 2230
f7556aae
L
22312009-01-06 H.J. Lu <hongjiu.lu@intel.com>
2232
2233 PR bootstrap/38742
2234 * ira-color.c (ira_reuse_stack_slot): Check ENABLE_IRA_CHECKING
2235 before using pseudos_have_intersected_live_ranges_p.
2236
2237 * ira-int.h (ira_assert): Always define.
2238
e47b7d04
L
22392009-01-06 H.J. Lu <hongjiu.lu@intel.com>
2240
2241 AVX Programming Reference (December, 2008)
2242 * config/i386/avxintrin.h (_mm_permute2_pd): Removed.
2243 (_mm256_permute2_pd): Likewise.
2244 (_mm_permute2_ps): Likewise.
2245 (_mm256_permute2_ps): Likewise.
2246 * config/i386/i386.md (UNSPEC_VPERMIL2): Likewise.
2247 * config/i386/sse.md (avx_vpermil2<mode>3): Likewise.
2248
2249 * config/i386/i386.c (ix86_builtins): Remove
2250 IX86_BUILTIN_VPERMIL2PD, IX86_BUILTIN_VPERMIL2PS,
2251 IX86_BUILTIN_VPERMIL2PD256 and IX86_BUILTIN_VPERMIL2PS256.
2252 (ix86_builtin_type): Remove V8SF_FTYPE_V8SF_V8SF_V8SI_INT,
2253 V4DF_FTYPE_V4DF_V4DF_V4DI_INT, V4SF_FTYPE_V4SF_V4SF_V4SI_INT
2254 and V2DF_FTYPE_V2DF_V2DF_V2DI_INT.
2255 (bdesc_args): Remove __builtin_ia32_vpermil2pd,
2256 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256 and
2257 __builtin_ia32_vpermil2ps256.
2258 (ix86_init_mmx_sse_builtins): Updated.
2259 (ix86_expand_args_builtin): Likewise.
2260
44b86471
JDA
22612009-01-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2262
e47b7d04
L
2263 * pa.c (output_call): Relocate non-jump insns in the delay slot of
2264 long absolute calls when generating PA 2.0 code.
44b86471 2265
311aab06
VM
22662009-01-05 Vladimir Makarov <vmakarov@redhat.com>
2267
2268 PR rtl-optimization/38583
2269 * params.h (IRA_MAX_CONFLICT_TABLE_SIZE): New macro.
2270
2271 * params.def (ira-max-conflict-table-size): New.
2272
2273 * doc/invoke.texi (ira-max-conflict-table-size): Decribe.
2274
2275 * ira.h (ira_conflicts_p): New external definition.
2276
2277 * ira-conflicts.c (build_conflict_bit_table): Do not build too big
2278 table. Report this. Return result of building.
2279 (ira_build_conflicts): Use ira_conflicts_p. Check result of
2280 building conflict table.
2281
301b6a4e 2282 * ira-color.c (fast_allocation): Use num instead of ira_allocnos_num.
311aab06
VM
2283 (ira_color): Use ira_conflicts_p.
2284
2285 * global.c: Include ira.h.
2286 (pseudo_for_reload_consideration_p, build_insn_chain): Use
2287 ira_conflicts_p.
2288
2289 * Makefile.in (global.o): Add ira.h.
2290
2291 * ira-build.c (mark_all_loops_for_removal,
2292 propagate_some_info_from_allocno): New.
2293 (remove_unnecessary_allocnos): Call
2294 propagate_some_info_from_allocno.
2295 (remove_low_level_allocnos): New.
2296 (remove_unnecessary_regions): Add parameter. Call
2297 mark_all_loops_for_removal and remove_low_level_allocnos. Pass
2298 parameter to remove_unnecessary_regions.
2299 (ira_build): Remove all regions but root if the conflict table was
2300 not built. Update conflict hard regs for allocnos crossing calls.
2301
2302 * ira.c (ira_conflicts_p): New global.
2303 (ira): Define and use ira_conflicts_p.
2304
2305 * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
2306 count_spilled_pseudo, find_reg, alter_reg, finish_spills,
301b6a4e 2307 emit_input_reload_insns, delete_output_reload): Use ira_conflicts_p.
311aab06 2308
5641785f
BE
23092009-01-06 Ben Elliston <bje@au.ibm.com>
2310
2311 * gengtype-lex.l (YY_NO_INPUT): Define.
2312
e4e5261f
AP
23132009-01-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
2314
2315 PR c/34911
5641785f
BE
2316 * c-common.c (handle_vector_size_attribute): Also reject
2317 BOOLEAN_TYPE types.
e4e5261f 2318
7b10257f
SP
23192009-01-05 Sebastian Pop <sebastian.pop@amd.com>
2320
2321 PR tree-optimization/38492
2322 * graphite.c (rename_map_elt, debug_rename_elt,
301b6a4e
UB
2323 debug_rename_map_1, debug_rename_map, new_rename_map_elt,
2324 rename_map_elt_info, eq_rename_map_elts,
2325 get_new_name_from_old_name, bb_in_sese_p): Moved around.
7b10257f
SP
2326 (sese_find_uses_to_rename_use): Renamed sese_build_livein_liveouts_use.
2327 (sese_find_uses_to_rename_bb): Renamed sese_build_livein_liveouts_bb.
2328 (sese_build_livein_liveouts): New.
2329 (new_sese, free_sese): New.
2330 (new_scop): Call new_sese.
2331 (free_scop): Call free_sese.
2332 (rename_variables_from_edge, rename_phis_end_scop): Removed.
2333 (register_old_new_names): Renamed register_old_and_new_names.
2334 (register_scop_liveout_renames, add_loop_exit_phis,
2335 insert_loop_close_phis, struct igp,
2336 default_liveout_before_guard, add_guard_exit_phis,
2337 insert_guard_phis, copy_renames): New.
2338 (translate_clast): Call insert_loop_close_phis and insert_guard_phis.
2339 (sese_add_exit_phis_edge): Renamed scop_add_exit_phis_edge.
2340 (rewrite_into_sese_closed_ssa): Renamed scop_insert_phis_for_liveouts.
2341 (scop_adjust_phis_for_liveouts): New.
2342 (gloog): Call scop_adjust_phis_for_liveouts.
2343
2344 * graphite.h (struct sese): Documented. Added fields liveout,
301b6a4e 2345 num_ver and livein.
7b10257f
SP
2346 (SESE_LIVEOUT, SESE_LIVEIN, SESE_LIVEIN_VER, SESE_NUM_VER): New.
2347 (new_sese, free_sese, sese_build_livein_liveouts): Declared.
2348 (struct scop): Added field liveout_renames.
2349 (SCOP_LIVEOUT_RENAMES): New.
2350
9761fcc7
HJ
23512009-01-05 Harsha Jagasia <harsha.jagasia@amd.com>
2352
2353 PR tree-optimization/38510
2354 * graphite.c (recompute_all_dominators): Call mark_irreducible_loops.
2355 (translate_clast): Call recompute_all_dominators before
2356 graphite_verify.
2357 (gloog): Call recompute_all_dominators before graphite_verify.
2358
23592009-01-05 Harsha Jagasia <harsha.jagasia@amd.com>
c95b2534 2360 Jan Sjodin <jan.sjodin@amd.com>
9761fcc7
HJ
2361
2362 PR tree-optimization/38500
2363 * graphite.c (create_sese_edges): Call fix_loop_structure after
2364 splitting blocks.
2365
c95b2534 23662009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>
48a01864
JS
2367
2368 * config.gcc: Add m32r*-*-rtems*.
2369 * config/m32r/rtems.h: New file.
2370
fc0cd180
BE
23712009-01-05 Ben Elliston <bje@au.ibm.com>
2372
2373 * Makefile.in (.po.gmo): Use mkinstalldirs, not test -d || mkdir.
2374 (.po.pox): Likewise.
2375 (po/gcc.pot): Likewise.
2376
3106d8e5
DM
23772009-01-04 David S. Miller <davem@davemloft.net>
2378
2379 * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED_RTX): Delete.
2380 (STARTING_FRAME_OFFSET): Always set to zero.
2381
0009b473
RS
23822009-01-04 Richard Sandiford <rdsandiford@googlemail.com>
2383
2384 * tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Add commentary.
2385 * tree-cfg.c (verify_gimple_assign_binary): Allow shifts of
2386 fixed-point types, and vectors of the same.
2387
4f24c6d6
RS
23882009-01-04 Richard Sandiford <rdsandiford@googlemail.com>
2389
2390 * config/mips/sync.md (*mb_barrier): Rename to...
2391 (*memory_barrier): ...this.
2392
1df48f5c
JW
23932009-01-04 Jonathan Wakely <jwakely.gcc@gmail.com>
2394
2395 * doc/extend.texi (Function Attributes): Move @cindex after @item
eefe5da0 2396 for 'artificial' and 'flatten'. Fix grammar for 'externally_visible'
1df48f5c
JW
2397 and put in alphabetical order. Fix 'target' name and put in order.
2398 * doc/invoke.texi (-Wstrict-null-sentinel, -fipa-matrix-reorg): Fix
2399 typos.
2400
1a8c13b3
UB
24012009-01-04 Uros Bizjak <ubizjak@gmail.com>
2402
2403 * config/s390/s390.md (UNSPEC_MB): Rename from UNSPECV_MB.
2404 (memory_barrier): Expand as unspec instead of unspec_volatile.
2405 Remove mem:BLK from insn operands. Use Pmode scratch register.
2406 (*memory_barrier): Define as unspec instead of unspec_volatile.
2407 Use (match_dup 0) as input operand.
2408
2409 * config/sparc/sparc.md (UNSPEC_MEMBAR): Rename from UNSPECV_MEMBAR.
2410 * config/sparc/sync.md (memory_barrier): Expand as unspec instead of
2411 unspec_volatile. Remove mem:BLK from insn operands. Use Pmode
2412 scratch register. Remove operand 1.
2413 (*stbar): Define as unspec instead of unspec_volatile.
2414 Use (match_dup 0) as input operand, remove (const_int 8).
2415 (*membar): Define as unspec instead of unspec_volatile.
2416 Use (match_dup 0) as input operand, remove input operand 2.
2417
2418 * config/xtensa/xtensa.md (UNSPEC_MEMW): Rename from UNSPECV_MEMW.
2419 (memory_barrier): Expand as unspec instead of unspec_volatile.
2420 Remove mem:BLK from insn operands. Use Pmode scratch register.
2421 (*memory_barrier): Define as unspec instead of unspec_volatile.
2422 Use (match_dup 0) as input operand.
2423
2424 * config/ia64/sync.md (memory_barrier): Redefine as expander pattern.
2425 Remove mem:BLK from insn operands. Use Pmode scratch register.
2426 Set volatile flag on operand 0.
2427 (*memory_barrier): New insn pattern.
2428
2429 * config/rs6000/sync.md (memory_barrier): Remove mem:BLK from
2430 insn operands.
2431 (*memory_barrier): Use (match_dup 0) as input operand.
2432
2433 * config/mips/sync.md (memory_barrier): Redefine as expander pattern.
2434 Remove mem:BLK from insn operands. Use Pmode scratch register.
2435 Set volatile flag on operand 0.
301b6a4e 2436 (*mb_internal): New insn pattern.
1a8c13b3
UB
2437
2438 * config/alpha/sync.md (*memory_barrier): Rename from *mb_internal.
2439
fb0703f7
SB
24402009-01-04 Steven Bosscher <steven@gcc.gnu.org>
2441
2442 PR middle-end/38586
2443 * function.c (struct temp_slot): Move to the section of the file
2444 that deals with temp slots. Remove field 'address'.
2445 (temp_slot_address_table): New hash table of address -> temp slot.
2446 (struct temp_slot_address_entry): New struct, items for the table.
2447 (temp_slot_address_compute_hash, temp_slot_address_hash,
2448 temp_slot_address_eq, insert_temp_slot_address): Support functions
2449 for the new table.
2450 (find_temp_slot_from_address): Rewrite to use the new hash table.
2451 (remove_unused_temp_slot_addresses): Remove addresses of temp
2452 slots that have been made available.
2453 (remove_unused_temp_slot_addresses_1): Call-back for htab_traverse,
2454 worker function for remove_unused_temp_slot_addresses.
2455 (assign_stack_temp_for_type): Don't clear the temp slot address list.
2456 Add the temp slot address to the address -> temp slot map.
2457 (update_temp_slot_address): Update via insert_temp_slot_address.
2458 (free_temp_slots): Call remove_unused_temp_slot_addresses.
2459 (pop_temp_slots): Likewise.
2460 (init_temp_slots): Allocate the address -> temp slot map, or empty
2461 the map if it is already allocated.
2462 (prepare_function_start): Initialize temp slot processing.
2463
b5a430f3
SB
24642009-01-04 Steven Bosscher <steven@gcc.gnu.org>
2465
2466 PR middle-end/38584
2467 * cfgexpand.c (estimate_stack_frame_size): Simplify the estimate:
2468 Calculate the size of all stack vars assuming no packing of stack
2469 vars will happen, replacing a quadratic algorithm with a linear one.
2470
5d560619
JJ
24712009-01-03 Jakub Jelinek <jakub@redhat.com>
2472
2473 PR target/38707
2474 * expmed.c (store_bit_field_1): Don't modify op0 if movstrict insn
2475 can't be used.
2476
953a7caa
DN
24772009-01-03 Diego Novillo <dnovillo@google.com>
2478
2479 * doc/contrib.texi: Update contributions.
2480
5f26a230
JJ
24812009-01-03 Jakub Jelinek <jakub@redhat.com>
2482
493aa551
JJ
2483 PR c++/38705
2484 * builtins.c (fold_builtin_memory_op): Give up if either operand
2485 is volatile. Set srctype or desttype to non-qualified version
2486 of the other type.
2487
5f26a230
JJ
2488 PR c/38700
2489 * builtins.c (fold_builtin_expect): Only check DECL_WEAK for VAR_DECLs
2490 and FUNCTION_DECLs.
2491
c95b2534 24922009-01-02 Kenneth Zadeck <zadeck@naturalbridge.com>
fafe34f9
KZ
2493
2494 PR rtl-optimization/35805
2495 * df-problems.c (df_lr_finalize): Add recursive call to resolve lr
2496 problem if fast dce is able to remove any instructions.
2497 * dce.c (dce_process_block): Fix dump message.
2498
0b355794
MM
24992009-01-02 Mark Mitchell <mark@codesourcery.com>
2500
2501 PR 33649
2502 * tree-ssa-pre.c (compute_antic): Correct loop bounds.
2503
0cf0d02b
JJ
25042009-01-02 Jakub Jelinek <jakub@redhat.com>
2505
2506 PR middle-end/38690
2507 * tree-flow.h (op_code_prio, op_prio): New prototypes.
2508 * tree-pretty-print.c (op_code_prio): New function.
2509 (op_prio): No longer static. Use op_code_prio.
2510 * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs):
2511 Use op_prio and op_code_prio to determine if () should be
2512 printed around operand(s) or not.
2513
2514 * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs,
2515 dump_gimple_call, dump_gimple_switch, dump_gimple_cond,
2516 dump_gimple_label, dump_gimple_try, dump_symbols, dump_gimple_phi,
2517 dump_gimple_mem_ops, dump_bb_header, dump_bb_end, pp_cfg_jump): Use
2518 pp_character instead of pp_string for single letter printing.
2519
e3606f3b
RS
25202009-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2521
2522 * doc/extend.texi: Fix '#pragma GCC option' typo.
2523
c95b2534 25242009-01-02 Richard Guenther <rguenther@suse.de>
00f39bd5 2525
a5f061dc
RG
2526 * doc/install.texi (--enable-checking): Mention different
2527 default for stage1.
2528 (--enable-stage1-checking): Document.
00f39bd5 2529
26de0bcb
AP
25302009-01-01 Andrew Pinski <pinskia@gmail.com>
2531
2532 PR middle-end/30142
2533 * tree-cfg.c (verify_expr): Add INDIRECT_REF case. Change MODIFY_EXPR
2534 case to be an error.
2535
7a7d8fab
BE
25362009-01-02 Ben Elliston <bje@au.ibm.com>
2537
2538 * config/fp-bit.h (pack_d): Constify argument.
2539 * config/fp-bit.c (makenan): Constify return type. Remove casts.
2540 (isnan): Constify argument.
2541 (isinf): Likewise.
2542 (iszero): Likewise.
2543 (pack_d): Likewise.
2544 (_fpadd_parts): Constify return type.
2545 (_fpmul_parts): Likewise.
2546 (_fpdiv_parts): Likewise.
2547
b295aee2
JJ
25482009-01-01 Jakub Jelinek <jakub@redhat.com>
2549
2550 PR c/36489
2551 * c-typeck.c (add_pending_init): Add IMPLICIT argument. Only
2552 warn about overwriting initializer with side-effects or
2553 -Woverride-init if !IMPLICIT.
2554 (output_init_element): Likewise. Pass IMPLICIT down to
2555 add_pending_init.
2556 (process_init_element): Add IMPLICIT argument. Pass it down
2557 to output_init_element.
2558 (push_init_element, pop_init_level, set_designator): Adjust
2559 process_init_element callers.
2560 (set_nonincremental_init, set_nonincremental_init_from_string):
2561 Adjust add_pending_init callers.
2562 (output_pending_init_elements): Adjust output_init_element callers.
2563 * c-tree.h (process_init_element): Adjust prototype.
2564 * c-parser.c (c_parser_initelt, c_parser_initval): Adjust
2565 process_init_element callers.
This page took 0.633781 seconds and 5 git commands to generate.