]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
rs6000.c (rs6000_handle_option): Remove unused isel var.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
b7826465
AT
12011-03-31 Andreas Tobler <andreast@fgznet.ch>
2
3 * config/rs6000/rs6000.c (rs6000_handle_option): Remove unused isel
4 var.
5
1290e54c
NF
62011-03-30 Nathan Froyd <froydnj@codesourcery.com>
7
8 * tree.h (CASE_CHAIN): Define.
9 * tree-cfg.c (edge_to_cases_cleanup, get_cases_for_edge): Use it.
10 (gimple_redirect_edge_and_branch): Likewise.
11
bddc98e1
VM
122011-03-30 Vladimir Makarov <vmakarov@redhat.com>
13
14 PR middle-end/48367
15 * ira-costs.c (find_costs_and_classes): Fix a typo in i_mem_cost
16 calculation.
17
c865e437
JL
182011-03-30 Jeff Law <law@redhat.com>
19
b3750213 20 * PR bootstrap/48371
c865e437
JL
21 * reload1.c (reload): Fix botch in last change.
22
23 * reload.h (struct reload): Fix typo introduced in last change.
24
2cdf9574
JM
252011-03-30 Joseph Myers <joseph@codesourcery.com>
26
27 * config/arm/arm.opt (mhard-float, msoft-float): Mark
28 Undocumented. Remove help text.
29 * doc/invoke.texi (ARM Options): Don't document -msoft-float and
30 -mhard-float.
31
666a21a2
JM
322011-03-30 Joseph Myers <joseph@codesourcery.com>
33
34 * doc/options.texi (NegativeAlias): Document.
35 (Alias): Mention NegativeAlias.
36 * opt-functions.awk: Handle NegativeAlias.
37 * optc-gen.awk: Disallow NegativeAlias with multiple Alias
38 arguments.
39 * opts-common.c (decode_cmdline_option): Handle CL_NEGATIVE_ALIAS.
40 * opts.h (CL_NEGATIVE_ALIAS): Define.
41 * config/rs6000/rs6000.c (rs6000_parse_yes_no_option): Remove.
42 (rs6000_handle_option): Don't handle OPT_mvrsave_, OPT_misel_ and
43 OPT_mspe_.
44 * config/rs6000/rs6000.opt (mvrsave=, misel=, mspe=): Replace with
45 Alias entries.
46 * config/rs6000/t-spe (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
47 mno-spe and mno-isel instead of mspe=no and -misel=no.
48
0fa4e351
MW
492011-03-29 Mark Wielaard <mjw@redhat.com>
50
51 * common.opt (fdebug-types-section): New flag.
52 * doc/invoke.texi: Document new -fno-debug-types-section flag.
53 * dwarf2out.c (use_debug_types): New define.
54 (struct die_struct): Mark die_id with GTY desc use_debug_types.
55 (print_die): Guard output of type unit signatures using
56 use_debug_types.
57 (build_abbrev_table): Replace assert of dwarf_version >= 4
58 with assert on use_debug_types.
59 (size_of_die): Likewise.
60 (unmark_dies): Likewise.
61 (value_format): Decide AT_ref_external form on use_debug_types.
62 (output_die): Replace dwarf_version version check guard with
63 use_debug_types where appropriate.
64 (modified_type_die): Likewise.
65 (gen_reference_type_die): Likewise.
66 (dwarf2out_start_source_file): Likewise.
67 (dwarf2out_end_source_file): Likewise.
68 (prune_unused_types_walk_attribs): Likewise.
69 (dwarf2out_finish): Likewise.
70
4648deb4
VM
712011-03-30 Vladimir Makarov <vmakarov@redhat.com>
72
73 * ira-color.c (ira_assign_hard_reg): Use only one variable 'mode'.
74
4f431835
RS
752011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
76
77 PR rtl-optimization/48332
78 * optabs.c (expand_binop_directly): Set xmodeN to the target-mandated
79 mode of input operand N and modeN to its actual mode.
80
f2034d06
JL
812011-03-30 Jeff Law <law@redhat.com>
82
83 * reload.h (reg_equiv_constant): Move into new structure reg_equivs,
84 define accessor macro.
85 (reg_equiv_invariant, reg_equiv_memory_loc): Likewise.
86 (reg_equiv_address, reg_equiv_mem, reg_equiv_alt_mem_list): Likewise.
87 (reg_equiv_init): Likewise.
88 (reg_equivs_size): New variable.
89 (reg_equiv_init_size): Remove.
90 (allocate_initial_values): Move prototype to here from....
91 * integrate.h (allocate_initial_values): Remove prototype.
92 * integrate.c: Include reload.h.
93 (allocate_initial_values): Corresponding changes.
94 * ira.c (find_reg_equiv_invariant_cost): Corresponding changes.
95 (fix_reg_equiv_init, no_equiv): Corresponding changes.
96 (update_equiv_regs): Corresponding changes.
97 (ira): Corresponding changes.
98 * reload.c (push_reg_equiv_alt_mem): Corresponding changes.
99 (push_secondary_reload): Corresponding changes.
100 (push_reload, find_reloads, find_reloads_toplev): Corresponding changes.
101 (make_memloc, find_reloads_address): Corresponding changes.
102 (subst_reg_equivs, subst_indexed_address): Corresponding changes.
103 (find_reloads_address_1): Corresponding changes.
104 (find_reloads_subreg_address, subst_reloads): Corresponding changes.
105 (refers_to_regno_for_reload_p): Corresponding changes.
106 (reg_overlap_mentioned_for_reload_p): Corresponding changes.
107 (refers_to_mem_for_reload_p, find_equiv_reg): Corresponding changes.
108 * reload1.c: Include ggc.h.
109 (grow_reg_equivs): New function.
110 (replace_pseudos_in, reload): Corresponding changes.
111 (calculate_needs_all_insns, alter_regs): Corresponding changes.
112 (eliminate_regs_1, elimination_effects): Corresponding changes.
113 (emit_input_reload_insns, emit_output_reload_insns): Likewise.
114 (delete_output_reload): Likewise.
115 * caller-save.c (mark_referenced_regs): Corresponding changes.
116 * alpha/alpha.c (resolve_reload_operand): Corresponding changes.
117 * frv/predicates.md (frv_load_operand): Corresponding changes.
118 * microblaze/microblaze.c (double_memory_operand): Corresponding
119 changes.
120 * avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Corresponding changes.
121 * xtensa/xtensa.c (fixup_subreg_mem): Corresponding changes.
122 * mn10300/mn10300.c (mn10300_secondary_reload): Corresponding
123 changes.
124 * m68k/m68k.c (emit_move_sequence): Corresponding changes.
125 * arm/arm.c (arm_reload_in_hi, arm_reload_out_hi): Corresponding
126 changes.
127 * pa/pa.c (emit_move_sequence): Corresponding changes.
128 * vax/vax.c (nonindexed_address_p): Corresponding changes.
129
159b81b0
RS
1302011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
131
132 PR target/47551
133 * config/arm/arm.c (coproc_secondary_reload_class): Handle
134 structure modes. Don't check neon_vector_mem_operand for
135 vector or structure modes.
136
a6217191
RS
1372011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
138 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
139
140 PR target/43590
141 * config/arm/neon.md (neon_vld3qa<mode>, neon_vld4qa<mode>): Remove
142 operand 1 and reshuffle the operands to match.
143 (neon_vld3<mode>, neon_vld4<mode>): Update accordingly.
144
bd837408
CS
1452011-03-30 Christian Schüler <cschueler@gmx.de>
146
6955d771 147 PR driver/48208
bd837408 148 * config/c.opt (F): Added 'Driver' to -F option.
6955d771 149 PR driver/48260
bd837408
CS
150 * config/darwin-driver.c (darwin_driver_init): Add '-arch' to
151 handler function.
152 * config/darwin.opt: Added '-arch' option.
153
e9c0470a
NC
1542011-03-30 Nick Clifton <nickc@redhat.com>
155
156 * config/rx/rx.md: Add peepholes and patterns to combine
157 extending loads and simple arithmetic instructions.
158 * config/rx/rx.h (ADJUST_INSN_LENGTH): Define.
159 * config/rx/rx-protos.h (rx_adjust_insn_length): Prototype.
160 * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI
161 modes to use pre-decrement and post-increment addressing.
162 (rx_is_restricted_memory_address): Add range checking of REG+INT
163 addresses.
164 (rx_print_operand): Add support for %Q.
165 Fix handling of %Q.
166 (rx_memory_move_cost): Adjust cost of stores.
167 (rx_adjust_insn_length): New function.
168
8a87e7ab
JJ
1692011-03-30 Jakub Jelinek <jakub@redhat.com>
170
171 PR c/48305
172 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
173 arg10/arg11 in (X ^ Y) == (Z ^ W) are always fold converted to
174 matching arg00/arg01 types.
175
12486e03
EB
1762011-03-30 Eric Botcazou <ebotcazou@adacore.com>
177
178 * cfglayout.c (insn_locators_alloc): Initialize curr_location and
179 last_location to UNKNOWN_LOCATION.
180
0b99eef6
L
1812011-03-30 H.J. Lu <hongjiu.lu@intel.com>
182
183 PR target/48349
184 * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
185 FLOAT_SSE_REGS.
186
023592aa
JM
1872011-03-30 Joseph Myers <joseph@codesourcery.com>
188 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
189
190 PR bootstrap/48337
191 * config/sparc/sparc.opt (sparc_cpu_and_features): Add
192 Init(PROCESSOR_V7).
193 (sparc_cpu): Likewise.
194 * config/sparc/sparc.c (sparc_option_override): Replace 0 by
195 PROCESSOR_V7.
196
ad3b266b
VM
1972011-03-29 Vladimir Makarov <vmakarov@redhat.com>
198
199 PR target/48336
200 PR middle-end/48342
201 PR rtl-optimization/48345
202 * ira-color.c (setup_conflict_profitable_regs): Exclude prohibited
203 hard regs for given mode from profitable regs when doing secondary
204 allocation.
205
633c9126
JL
2062011-03-29 Jeff Law <law@redhat.com>
207
208 PR bootstrap/48327
209 * tree-ssa-threadupdate.c (struct redirection_data): Remove
210 do_not_duplicate field.
211 (lookup_redirection_data): Corresponding changes.
212 (create_duplicates): Always create a template block.
213 (redirect_edges): Remove code which reused the original block
214 when it was going to become unreachable code.
215 (thread_block): Don't set do_not_duplicate field.
216
eb50f63a
JM
2172011-03-29 Joseph Myers <joseph@codesourcery.com>
218
219 * lto-opts.c (register_user_option_p, lto_register_user_option):
220 Make type argument unsigned.
221 * lto-streamer.h (lto_register_user_option): Make type argument
222 unsigned.
223 * opth-gen.awk: Make CL_* macros unsigned.
224 * opts-common.c (find_opt): Make lang_mask argument unsigned.
225 * opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
226 CL_TARGET, CL_COMMON, CL_SEPARATE_NARGS_MASK, CL_SEPARATE_ALIAS,
227 CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE, CL_DISABLED,
228 CL_REPORT, CL_JOINED, CL_SEPARATE, CL_REJECT_NEGATIVE,
229 CL_MISSING_OK, CL_UINTEGER, CL_UNDOCUMENTED): Make unsigned.
230 (find_opt): Make lang_mask argument unsigned.
231
76763a6d
VM
2322011-03-29 Vladimir Makarov <vmakarov@redhat.com>
233
234 PR rtl-optimization/48331
235 PR rtl-optimization/48334
236 * ira-color.c (color_allocnos): Call setup_profitable_hard_regs
237 for any used algorithm.
238
5c82436e
VM
2392011-03-29 Vladimir Makarov <vmakarov@redhat.com>
240
241 * ira-conflicts.c (build_object_conflicts): Add unused attribute
242 to parent_max.
243
7a81008b
UB
2442011-03-29 Uros Bizjak <ubizjak@gmail.com>
245
246 * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
247 (alpha_option_override): Don't set alpha_sr_alias_set.
248 (emit_frame_store_1): Use gen_frame_mem rather than calling
249 set_mem_alias_set.
250 (alpha_expand_epilogue): Ditto.
251
86c8d1f6
IR
2522011-03-29 Ira Rosen <ira.rosen@linaro.org>
253
254 PR tree-optimization/48290
255 * tree-vect-loop.c (vect_analyze_loop_operations): In outer loop
256 vectorization, check that relevant phis in the basic block after
257 the inner loop are really inner loop's exit phis.
258
0d12220f
RS
2592011-03-29 Richard Sandiford <richard.sandiford@linaro.org>
260
e8cf17e7 261 PR debug/48190
0d12220f
RS
262 * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
263 (cached_dw_loc_list_def): New structure.
264 (cached_dw_loc_list): New typedef.
265 (cached_dw_loc_list_table): New variable.
266 (cached_dw_loc_list_table_hash): New function.
267 (cached_dw_loc_list_table_eq): Likewise.
268 (add_location_or_const_value_attribute): Take a bool cache_p.
269 Cache the list when the parameter is true.
270 (gen_formal_parameter_die): Update caller.
271 (gen_variable_die): Likewise.
272 (dwarf2out_finish): Likewise.
273 (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
274 while generating debug info for the decl.
275 (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
276 (dwarf2out_init): Initialize cached_dw_loc_list_table.
277 (resolve_addr): Cache the result of resolving a chain of
278 location lists.
279
1756cb66
VM
2802011-03-28 Vladimir Makarov <vmakarov@redhat.com>
281
282 * ira-color.c (update_left_conflict_sizes_p): Don't assume that
283 conflict object hard regset nodes have intersecting hard reg sets.
7a81008b 284
1756cb66
VM
285 * regmove.c (regmove_optimize): Move ira_set_pseudo_classes call
286 after regstat_init_n_sets_and_refs.
287
288 * ira.c: Add more comments at the top.
289 (setup_stack_reg_pressure_class, setup_pressure_classes):
290 Add comments how we compute the register pressure classes.
291 (setup_allocno_and_important_classes): Add more comments.
292 (setup_class_translate_array, reorder_important_classes)
293 (setup_reg_class_relations): Add comments.
294
295 * ira-emit.c: Add 2011 to the Copyright line. Add comments at the
296 start of the file.
297
298 * ira-color.c: Add 2011 to the Copyright line.
299 (assign_hard_reg): Add more comments.
300 (improve_allocation): Ditto.
301
302 * ira-costs.c: Add 2011 to the Copyright line.
303 (setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more
304 comments.
305 (setup_regno_cost_classes_by_mode): Ditto.
306
307 Initial patches from ira-improv branch:
308
309 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
310
311 * ira-build.c: (ira_create_object): Remove initialization of
312 OBJECT_PROFITABLE_HARD_REGS. Initialize OBJECT_ADD_DATA.
313 (ira_create_allocno): Remove initialization of
314 ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P,
315 ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P,
316 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
317 ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO,
318 ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO.
319 Initialize ALLOCNO_ADD_DATA.
320 (copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA
321 and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and
322 ALLOCNO_REG.
323 (ira_flattening): Ditto. Use ALLOCNO_EMIT_DATA instead of
324 ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P.
325
326 * ira.c (ira_reallocate): Remove.
327 (setup_pressure_classes): Call
328 ira_init_register_move_cost_if_necessary. Use
329 ira_register_move_cost instead of ira_get_register_move_cost.
330 (setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA.
331 (ira): Call ira_initiate_emit_data and ira_finish_emit_data.
332
333 * ira-color.c: Use ALLOCNO_COLOR_DATA instead of
334 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
335 ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO,
336 ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA
337 instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE,
338 OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM.
339 Fix formatting.
7a81008b 340 (object_hard_regs_t, object_hard_regs_node_t): Move from ira-int.h.
1756cb66
VM
341 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
342 (struct allocno_color_data): New.
343 (allocno_color_data_t): New typedef.
344 (allocno_color_data): New definition.
345 (ALLOCNO_COLOR_DATA): New macro.
346 (struct object_color_data): New.
347 (object_color_data_t): New typedef.
348 (object_color_data): New definition.
349 (OBJECT_COLOR_DATA): New macro.
350 (update_copy_costs, calculate_allocno_spill_cost): Call
351 ira_init_register_move_cost_if_necessary. Use
352 ira_register_move_cost instead of ira_get_register_move_cost.
353 (move_spill_restore, update_curr_costs): Ditto.
354 (allocno_spill_priority): Make it inline.
7a81008b 355 (color_pass): Allocate and free allocno_color_dat and object_color_data.
1756cb66
VM
356 (struct coalesce_data, coalesce_data_t): New.
357 (allocno_coalesce_data): New definition.
358 (ALLOCNO_COALESCE_DATA): New macro.
359 (merge_allocnos, coalesced_allocno_conflict_p): Use
360 ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO,
361 ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP.
362 (coalesce_allocnos): Ditto.
363 (setup_coalesced_allocno_costs_and_nums): Ditto.
364 (collect_spilled_coalesced_allocnos): Ditto.
365 (slot_coalesced_allocno_live_ranges_intersect_p): Ditto.
366 (setup_slot_coalesced_allocno_live_ranges): Ditto.
367 (coalesce_spill_slots): Ditto.
368 (ira_sort_regnos_for_alter_reg): Ditto. Allocate, initialize and
369 free allocno_coalesce_data.
370
371 * ira-conflicts.c: Fix formatting.
372 (process_regs_for_copy): Call
373 ira_init_register_move_cost_if_necessary. Use
374 ira_register_move_cost instead of ira_get_register_move_cost.
375 (build_object_conflicts): Optimize.
376
377 * ira-costs.c (record_reg_classes): Optimize. Call
378 ira_init_register_move_cost_if_necessary. Use
379 ira_register_move_cost, ira_may_move_in_cost, and
380 ira_may_move_out_cost instead of ira_get_register_move_cost and
381 ira_get_may_move_cost.
382 (record_address_regs): Ditto.
383 (scan_one_insn): Optimize.
384 (find_costs_and_classes): Optimize.
385 (process_bb_node_for_hard_reg_moves): Call
386 ira_init_register_move_cost_if_necessary. Use
387 ira_register_move_cost instead of ira_get_register_move_cost.
388
389 * ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of
390 ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST,
391 ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P.
392 (ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New
393 definitions.
394 (ira_initiate_emit_data, ira_finish_emit_data)
395 (create_new_allocno): New functions.
7a81008b 396 (modify_move_list): Call create_new_alloc instead of ira_create_allocno.
1756cb66
VM
397 (emit_move_list): Call ira_init_register_move_cost_if_necessary.
398 Use ira_register_move_cost instead of ira_get_register_move_cost.
399
400 * ira-int.h: Fix some comments.
7a81008b
UB
401 (object_hard_regs_t, object_hard_regs_node_t): Move to ira-color.c.
402 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
1756cb66
VM
403 (struct ira_object): Remove profitable_hard_regs, hard_regs_node,
404 hard_regs_subnodes_start, hard_regs_subnodes_num. Add new member
405 add_data.
406 (struct ira_allocno): Make mode and aclass a bitfield. Move other
407 bitfield after mode. Make hard_regno a short int. Make
408 hard_regno short. Remove first_coalesced_allocno and
409 next_coalesced_allocno. Move mem_optimized_dest_p,
410 somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest
411 into struct ira_emit_data. Remove in_graph_p, may_be_spilled_p,
412 available_regs_num, next_bucket_allocno, prev_bucket_allocno,
413 temp, colorable_p. Add new member add_data.
414 (ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove.
415 (ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove.
416 (ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove.
417 (ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove.
418 (ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove.
419 (ALLOCNO_ADD_DATA): New macro.
420 (ira_emit_data_t): New typedef.
421 (struct ira_emit_data): New. Move mem_optimized_dest_p,
422 somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest
423 from struct ira_allocno.
424 (ALLOCNO_EMIT_DATA): New macro.
425 (ira_allocno_emit_data, allocno_emit_reg): New.
426 (ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove.
7a81008b 427 (OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM): Remove.
1756cb66
VM
428 (OBJECT_ADD_DATA): New macro.
429 (ira_reallocate): Remove.
430 (ira_initiate_emit_data, ira_finish_emit_data): New.
431 (ira_get_register_move_cost, ira_get_may_move_cost): Remove.
432 (ira_init_register_move_cost_if_necessary): New.
433 (ira_object_conflict_iter_next): Merge into
434 ira_object_conflict_iter_cond.
7a81008b 435 (FOR_EACH_OBJECT_CONFLICT): Don't use ira_object_conflict_iter_next.
1756cb66
VM
436
437 * ira-live.c: (process_single_reg_class_operands): Call
438 ira_init_register_move_cost_if_necessary. Use
439 ira_register_move_cost instead of ira_get_register_move_cost.
440
441 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
442
443 * ira-int.h (struct target_ira_int): Remove x_cost_classes.
444
445 * ira-costs.c: Fix formatting.
446 (cost_classes, cost_classes_num): Remove.
447 (struct cost_classes, cost_classes_t, const_cost_classes_t): New.
448 (regno_cost_classes, cost_classes_hash, cost_classes_eq): New.
449 (cost_classes_del, cost_classes_htab): New.
450 (cost_classes_aclass_cache, cost_classes_mode_cache): New.
451 (initiate_regno_cost_classes, setup_cost_classes): New.
452 (setup_regno_cost_classes_by_aclass): New.
7a81008b 453 (setup_regno_cost_classes_by_mode, finish_regno_cost_classes): New.
1756cb66
VM
454 (record_reg_classes): Use regno_cost_classes instead of
455 cost_classes. Move checking opposite operand up.
456 (record_address_regs): Use regno_cost_classes
457 instead of cost_classes.
458 (scan_one_insn): Ditto. Use always general register.
459 (print_allocno_costs): Use regno_cost_classes instead of
460 cost_classes.
461 (print_pseudo_costs): Ditto. Use Reg_N_REFS.
462 (find_costs_and_classes): Set up cost classes for each registers.
463 Use also their mode for this. Use regno_cost_classes instead of
464 cost_classes.
465 (setup_allocno_class_and_costs): Use regno_cost_classes instead of
466 cost_classes.
467 (free_ira_costs, ira_init_costs): Don't use cost_classes.
468 (ira_costs, ira_set_pseudo_classes): Call
469 initiate_regno_cost_classes and finish_regno_cost_classes.
470
471 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
472
473 * target-def.h (TARGET_IRA_COVER_CLASSES): Remove.
474
475 * target.def (ira_cover_classes): Remove.
476
7a81008b 477 * doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and IRA_COVER_CLASSES.
1756cb66
VM
478
479 * doc/tm.texi.in: Ditto.
480
481 * ira-conflicts.c: Remove mentioning cover classes from the file.
482 Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use
7a81008b 483 ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST. Fix formatting.
1756cb66
VM
484
485 * targhooks.c (default_ira_cover_classes): Remove.
486
487 * targhooks.h (default_ira_cover_classes): Ditto.
488
489 * haifa-sched.c: Remove mentioning cover classes from the file.
490 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
491 ira_pressure_classes and ira_pressure_classes_num instead of
492 ira_reg_class_cover_size and ira_reg_class_cover. Use
493 sched_regno_pressure_class instead of sched_regno_cover_class.
494 (mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use
495 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
496
497 * ira-int.h: Add 2010 to Copyright. Remove mentioning cover
498 classes from the file.
499 (object_hard_regs_t, object_hard_regs_node_t): New typedefs.
500 (struct object_hard_regs, struct object_hard_regs_node): New.
501 (struct ira_object): New members profitable_hard_regs,
502 hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num.
503 (struct ira_allocno): Rename cover_class to aclass. Rename
504 cover_class_cost and updated_cover_class_cost to class_cost and
505 updated_class_cost. Remove splay_removed_p and
506 left_conflict_size. Add new members colorable_p.
507 (ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove.
508 (ALLOCNO_COLORABLE_P): New macro.
509 (ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS.
510 (ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST):
511 Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST.
512 (OBJECT_...): Rename parameter C to O.
513 (OBJECT_PROFITABLE_HARD_REGS): New macro.
514 (OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START)
515 (OBJECT_HARD_REGS_SUBNODES_NUM): New macros.
516 (struct target_ira_int): New members x_ira_max_memory_move_cost,
517 x_ira_max_register_move_cost, x_ira_max_may_move_in_cost,
518 x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p,
519 x_ira_reg_pressure_class_p, x_ira_important_class_nums,
520 x_ira_reg_class_superunion. Rename x_prohibited_class_mode_reg to
521 x_ira_prohibited_class_mode_reg. Rename x_ira_reg_class_union to
522 x_ira_reg_class_subunion.
523 (ira_max_memory_move_cost, ira_max_register_move_cost)
524 (ira_max_may_move_in_cost, ira_max_may_move_out_cost)
525 (ira_reg_allocno_class_p, ira_reg_pressure_class_p)
526 (ira_important_class_nums, ira_reg_class_superunion): New macros.
7a81008b 527 (prohibited_class_mode_regs): Rename to ira_prohibited_class_mode_regs.
1756cb66
VM
528 (ira_reg_class_union): Rename to ira_reg_class_subunion.
529 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
530 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
531 (ira_tune_allocno_costs_and_cover_classes): Rename to
532 ira_tune_allocno_costs.
533 (ira_debug_hard_regs_forest): New.
534 (ira_object_conflict_iter_init, ira_object_conflict_iter_cond)
535 (ira_object_conflict_iter_next): Fix comments.
7a81008b 536 (ira_hard_reg_set_intersection_p, hard_reg_set_size): New functions.
1756cb66
VM
537 (ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename
538 cover_class to aclass.
539 (ira_allocate_and_accumulate_costs): Ditto.
540 (ira_allocate_and_set_or_copy_costs): Ditto.
541
542 * opts.c (decode_options): Remove ira_cover_class check.
543
544 * ira-color.c: Remove mentioning cover classes from the file. Use
545 ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST
546 instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and
547 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
548 (splay-tree.h): Remove include.
549 (allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move
550 before copy_freq_compare_func.
551 (allocnos_for_spilling, removed_splay_allocno_vec): Remove.
552 (object_hard_regs_vec, object_hard_regs_htab, node_check_tick):
553 New definitions.
554 (hard_regs_roots, hard_regs_node_vec): Ditto.
555 (object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto.
556 (insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto.
557 (finish_object_hard_regs, object_hard_regs_compare): Ditto.
558 (create_new_object_hard_regs_node): Ditto.
559 (add_new_object_hard_regs_node_to_forest): Ditto.
7a81008b 560 (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): Ditto.
1756cb66
VM
561 (setup_object_hard_regs_nodes_parent, first_common_ancestor_node):
562 Ditto.
563 (print_hard_reg_set, print_hard_regs_subforest): Ditto.
564 (print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto.
565 (remove_unused_object_hard_regs_nodes): Ditto.
566 (enumerate_object_hard_regs_nodes): Ditto.
567 (object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto.
568 (object_hard_regs_subnode_t): Ditto.
569 (struct object_hard_regs_subnode): Ditto.
570 (object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto.
571 (setup_object_hard_regs_subnode_index): Ditto.
572 (get_object_hard_regs_subnodes_num): Ditto.
573 (form_object_hard_regs_nodes_forest): Ditto.
574 (finish_object_hard_regs_nodes_tree): Ditto.
575 (finish_object_hard_regs_nodes_forest): Ditto.
576 (allocnos_have_intersected_live_ranges_p): Rename to
7a81008b 577 allocnos_conflict_by_live_ranges_p. Move before copy_freq_compare_func.
1756cb66
VM
578 (pseudos_have_intersected_live_ranges_p): Rename to
579 conflict_by_live_ranges_p. Move before copy_freq_compare_func.
580 (setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto.
581 (empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto.
582 (update_copy_costs): Remove assert. Skip cost update if the hard
583 reg does not belong the class.
584 (assign_hard_reg): Process only profitable hard regs.
585 (uncolorable_allocnos_num): Make it scalar.
586 (allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
587 and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE
588 and ira_reg_class_max_nregs.
589 (bucket_allocno_compare_func): Check frequency first.
590 (sort_bucket): Add compare function as a parameter.
591 (add_allocno_to_ordered_bucket): Assume no coalesced allocnos.
592 (uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove.
593 (push_allocno_to_stack): Rewrite for checking new allocno
594 colorability.
7a81008b 595 (remove_allocno_from_bucket_and_push): Print cost too. Remove assert.
1756cb66
VM
596 (push_only_colorable): Pass new parameter to sort_bucket.
597 (push_allocno_to_spill): Remove.
598 (allocno_spill_priority_compare): Make it inline and rewrite.
599 (splay_tree_allocate, splay_tree_free): Remove.
600 (allocno_spill_sort_compare): New function.
601 (push_allocnos_to_stack): Sort allocnos for spilling once. Don't
602 build and use splay tree. Choose first allocno in uncolorable
603 allocno bucket to spill. Remove setting spill cost.
604 (all_conflicting_hard_regs): Remove.
605 (setup_allocno_available_regs_num): Check only profitable hard
606 regs. Print info about hard regs nodes.
607 (setup_allocno_left_conflicts_size): Remove.
608 (put_allocno_into_bucket): Don't call
7a81008b 609 setup_allocno_left_conflicts_size. Use setup_left_conflict_sizes_p.
1756cb66
VM
610 (improve_allocation): New.
611 (color_allocnos): Call setup_profitable_hard_regs,
612 form_object_hard_regs_nodes_forest, improve_allocation,
613 finish_object_hard_regs_nodes_forest. Setup spill cost.
614 (print_loop_title): Use pressure classes.
615 (color_allocnso): Ditto.
616 (do_coloring): Remove allocation and freeing splay_tree_node_pool
617 and allocnos_for_spilling.
618 (ira_sort_regnos_for_alter_reg): Don't setup members
619 {first,next}_coalesced_allocno.
620 (color): Remove allocating and freeing removed_splay_allocno_vec.
621 (fast_allocation): Use ira_prohibited_class_mode_regs instead of
622 prohibited_class_mode_regs.
623
624 * ira-lives.c: Remove mentioning cover classes from the file. Fix
625 formatting.
626 (update_allocno_pressure_excess_length): Use pressure classes.
627 (inc_register_pressure, dec_register_pressure): Check for pressure
628 class.
629 (mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use
630 pressure class. Use ira_reg_class_nregs instead of
631 ira_reg_class_max_nregs.
632 (mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto.
633 (mark_hard_reg_live, mark_hard_reg_dead): Use pressure class.
634 (single_reg_class): Use ira_reg_class_nregs instead of
635 ira_reg_class_max_nregs.
636 (process_bb_node_lives): Use pressure classes.
637
638 * ira-emit.c: Remove mentioning cover classes from the file. Use
639 ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting.
640 (change_loop): Use pressure classes.
641 (modify_move_list): Call ira_set_allocno_class instead of
642 ira_set_allocno_cover_class.
643
644 * ira-build.c: Remove mentioning cover classes from the file. Use
645 ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of
646 ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST. Use
647 ALLOCNO_UPDATED_CLASS_COST instead of
648 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
649 (ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS.
650 (ira_create_allocno): Remove initialization of
651 ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE. Initialize
652 ALLOCNO_COLORABLE_P.
653 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
654 Update conflict regs for the objects.
655 (create_cap_allocno): Remove assert. Don't propagate
656 ALLOCNO_AVAILABLE_REGS_NUM.
657 (ira_free_allocno_costs): New function.
658 (finish_allocno): Change a part of code into call of
659 ira_free_allocno_costs.
660 (low_pressure_loop_node_p): Use pressure classes.
661 (object_range_compare_func): Don't compare classes.
662 (setup_min_max_conflict_allocno_ids): Ditto.
663
664 * loop-invariant.c: Remove mentioning cover classes from the file.
665 Use ira_pressure_classes and ira_pressure_classes_num instead of
666 ira_reg_class_cover_size and ira_reg_class_cover. Fix formatting.
7a81008b
UB
667 (get_cover_class_and_nregs): Rename to get_cover_pressure_and_nregs.
668 Use ira_reg_class_max_nregs instead of ira_reg_class_nregs.
669 Use reg_allocno_class instead of reg_cover_class.
1756cb66
VM
670 (get_inv_cost): Use instead ira_stack_reg_pressure_class of
671 STACK_REG_COVER_CLASS.
672 (get_regno_cover_class): Rename to get_regno_pressure_class.
673 (move_loop_invariants): Initialize and finalize regstat.
674
675 * ira.c: Remove mentioning cover classes from the file. Add
676 comments about coloring without cover classes. Use ALLOCNO_CLASS
677 instead of ALLOCNO_COVER_CLASS. Fix formatting.
678 (alloc_reg_class_subclasses, setup_reg_subclasses): Move it before
679 setup_class_subset_and_memory_move_costs.
680 (setup_stack_reg_pressure_class, setup_pressure_classes): New.
681 (setup_cover_and_important_classes): Rename to
682 setup_allocno_and_important_classes.
683 (setup_class_translate_array): New.
684 (setup_class_translate): Call it for allocno and pressure classes.
685 (cover_class_order): Rename to allocno_class_order.
686 (comp_reg_classes_func): Use ira_allocno_class_translate instead
687 of ira_class_translate.
688 (reorder_important_classes): Set up ira_important_class_nums.
689 (setup_reg_class_relations): Set up ira_reg_class_superunion.
690 (print_class_cover): Rename to print_classes. Add parameter.
691 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
692 Print pressure classes too.
693 (find_reg_class_closure): Rename to find_reg_classes. Don't call
694 setup_reg_subclasses.
7a81008b 695 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
696 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
697 (setup_prohibited_class_mode_regs): Use
7a81008b 698 ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs.
1756cb66
VM
699 (clarify_prohibited_class_mode_regs): New function.
700 (ira_init_register_move_cost): Set up ira_max_register_move_cost,
701 ira_max_may_move_in_cost, and ira_max_may_move_out_cost.
702 (ira_init_once): Initialize them.
703 (free_register_move_costs): Process them.
704 (ira_init): Move calls of find_reg_classes and
705 setup_hard_regno_aclass after setup_prohibited_class_mode_regs.
706 Call clarify_prohibited_class_mode_regs.
707 (ira_no_alloc_reg): Remove.
708 (too_high_register_pressure_p): Use pressure classes.
709
710 * sched-deps.c: Remove mentioning cover classes from the file.
711 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
712 ira_pressure_classes and ira_pressure_classes_num instead of
713 ira_reg_class_cover_size and ira_reg_class_cover.
714 (mark_insn_hard_regno_birth, mark_hard_regno_death): Use
715 sched_regno_pressure_class instead of sched_regno_cover_class.
716 (mark_insn_pseudo_birth, mark_pseudo_death): Ditto. Use
717 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
718
719 * ira.h: Add 2010 to Copyright.
720 (ira_no_alloc_reg): Remove external.
721 (struct target_ira): Rename x_ira_hard_regno_cover_class,
722 x_ira_reg_class_cover_size, x_ira_reg_class_cover, and
723 x_ira_class_translate to x_ira_hard_regno_allocno_class,
724 x_ira_allocno_classes_num, x_ira_allocno_classes, and
725 x_ira_allocno_class_translate. Add x_ira_pressure_classes_num,
726 x_ira_pressure_classes, x_ira_pressure_class_translate, and
727 x_ira_stack_reg_pressure_class. Rename x_ira_reg_class_nregs to
728 x_ira_reg_class_max_nregs. Add x_ira_reg_class_min_nregs and
729 x_ira_no_alloc_regs.
7a81008b 730 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
731 (ira_reg_class_cover_size, ira_reg_class_cover): Rename to
732 ira_allocno_classes_num and ira_allocno_classes.
733 (ira_class_translate): Rename to ira_allocno_class_translate.
734 (ira_pressure_classes_num, ira_pressure_classes): New definitions.
735 (ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto.
736 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
737 (ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New
738 (ira_no_alloc_regs): New.
739
740 * ira-costs.c: Add 2010 to Copyright. Remove mentioning cover
741 classes from the file. Use ALLOCNO_CLASS instead of
742 ALLOCNO_COVER_CLASS. Use ALLOCNO_CLASS_COST instead of
743 ALLOCNO_COVER_CLASS_COST.
744 (regno_cover_class): Rename to regno_aclass.
745 (record_reg_classes): Use ira_reg_class_subunion instead of
746 ira_reg_class_union.
747 (record_address_regs): Check overflow.
748 (scan_one_insn): Ditto.
7a81008b 749 (print_allocno_costs): Print total mem cost fore regional allocation.
1756cb66
VM
750 (print_pseudo_costs): Use REG_N_REFS.
751 (find_costs_and_classes): Use classes intersected with them on the
752 1st pass. Check overflow. Use ira_reg_class_subunion instead of
753 ira_reg_class_union. Use ira_allocno_class_translate and
754 regno_aclass instead of ira_class_translate and regno_cover_class.
755 Modify code for finding regno_aclass. Setup preferred classes for
756 the next pass.
757 (setup_allocno_cover_class_and_costs): Rename to
758 setup_allocno_class_and_costs. Use regno_aclass instead of
759 regno_cover_class. Use ira_set_allocno_class instead of
760 ira_set_allocno_cover_class.
761 (init_costs, finish_costs): Use regno_aclass instead of
762 regno_cover_class.
763 (ira_costs): Use setup_allocno_class_and_costs instead of
764 setup_allocno_cover_class_and_costs.
765 (ira_tune_allocno_costs_and_cover_classes): Rename to
766 ira_tune_allocno_costs. Check overflow. Skip conflict hard regs
767 by processing objects. Use ira_reg_class_max_nregs instead of
768 ira_reg_class_nregs.
769
770 * rtl.h (reg_cover_class): Rename to reg_allocno_class.
771
772 * sched-int.h: Remove mentioning cover classes from the file.
773 (sched_regno_cover_class): Rename to sched_regno_pressure_class.
774
775 * reginfo.c: Add 2010 to Copyright. Remove mentioning cover
776 classes from the file.
777 (struct reg_pref): Rename coverclass into allocnoclass.
778 (reg_cover_class): Rename to reg_allocno_class.
779
7a81008b 780 * Makefile.in (ira-color.o): Remove SPLAY_TREE_H from dependencies.
1756cb66
VM
781
782 * config/alpha/alpha.h (IRA_COVER_CLASSES): Remove.
783
784 * config/arm/arm.h (IRA_COVER_CLASSES): Ditto.
785
786 * config/avr/avr.h (IRA_COVER_CLASSES): Ditto.
787
788 * config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto.
789
790 * config/cris/cris.h (IRA_COVER_CLASSES): Ditto.
791
792 * config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto.
793
794 * config/frv/frv.h (IRA_COVER_CLASSES): Ditto.
795
796 * config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto.
797
798 * config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto.
799
800 * config/i386/i386.c (TARGET_IRA_COVER_CLASSES)
801 (i386_ira_cover_classes): Ditto.
802
803 * config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.
804
805 * config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto.
806
807 * config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto.
808
809 * config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto.
810
811 * config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto.
812
813 * config/mep/mep.h (IRA_COVER_CLASSES): Ditto.
814
815 * config/mips/mips.c (TARGET_IRA_COVER_CLASSES)
816 (mips_ira_cover_classes): Ditto.
817
818 * config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto.
819
820 * config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto.
821
822 * config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto.
823
824 * config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto.
825
826 * config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto.
827
828 * config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX)
829 (IRA_COVER_CLASSES_VSX): Ditto.
830
831 * config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES)
832 (rs6000_ira_cover_classes): Ditto.
833
834 * config/rx/rx.h (IRA_COVER_CLASSES): Ditto.
835
836 * config/s390/s390.h (IRA_COVER_CLASSES): Ditto.
837
838 * config/score/score.h (IRA_COVER_CLASSES): Ditto.
839
840 * config/sh/sh.h (IRA_COVER_CLASSES): Ditto.
841
842 * config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto.
843
844 * config/spu/spu.h (IRA_COVER_CLASSES): Ditto.
845
846 * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto.
847
848 * config/v850/v850.h (IRA_COVER_CLASSES): Ditto.
849
850 * config/vax/vax.h (IRA_COVER_CLASSES): Ditto.
851
852 * config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto.
853
2b80199f
JJ
8542011-03-29 Jakub Jelinek <jakub@redhat.com>
855
71dae1fe
JJ
856 PR debug/48253
857 * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
858 dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
859 dw_fde_unlikely_section_end_label, cold_in_std_section,
860 dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
861 Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
862 fields.
863 (output_fde): Use dw_fde_second_{begin,end} if second is
864 true, otherwise dw_fde_{begin,end}.
865 (output_call_frame_info): Test dw_fde_second_begin != NULL
866 instead of dw_fde_switched_sections.
867 (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
868 fields, initialize new fields. Initialize in_std_section
869 unconditionally from the first partition.
870 (dwarf2out_end_epilogue): Don't override dw_fde_end when
871 dw_fde_second_begin is non-NULL.
872 (dwarf2out_switch_text_section): Stop initializing removed
873 dw_fde_struct fields, initialize new fields, initialize
874 also dw_fde_end here. Set dw_fde_switch_cfi even when
875 dwarf2out_do_cfi_asm (). Call var_location_switch_text_section.
876 (struct var_loc_list_def): Add last_before_switch field.
877 (arange_table, arange_table_allocated, arange_table_in_use,
878 ARANGE_TABLE_INCREMENT, add_arange): Removed.
879 (size_of_aranges): Count !in_std_section and !second_in_std_section
880 hunks in fdes, instead of looking at arange_table_in_use.
881 (output_aranges): Add aranges_length argument, don't call
882 size_of_aranges here. Instead of using aranges_table*
883 emit ranges for fdes when !in_std_section resp.
884 !second_in_std_section.
885 (dw_loc_list): Break ranges crossing section switch.
886 (convert_cfa_to_fb_loc_list): Likewise. If switched sections,
7a81008b 887 use dw_fde_second_end instead of dw_fde_end as end of last range.
71dae1fe
JJ
888 (gen_subprogram_die): Don't call add_arange. Use
889 dw_fde_{begin,end} for first partition and if switched
890 section dw_fde_second_{begin,end} for the second.
891 (var_location_switch_text_section_1,
892 var_location_switch_text_section): New functions.
893 (dwarf2out_begin_function): Initialize cold_text_section even
894 when function_section () isn't text_section.
895 (prune_unused_types): Don't walk arange_table.
896 (dwarf2out_finish): Don't needlessly test
897 flag_reorder_blocks_and_partition when testing cold_text_section_used.
898 If info_section_emitted, call size_of_aranges and if it indicates
899 non-empty .debug_aranges, call output_aranges with the computed
900 size. Stop using removed dw_fde_struct fields, use
901 dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
902 for second.
903
2b80199f
JJ
904 PR debug/48203
905 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Only
906 create ENTRY_VALUE if incoming or address of incoming's MEM
907 is a hard REG.
908 * dwarf2out.c (mem_loc_descriptor): Don't emit
909 DW_OP_GNU_entry_value of DW_OP_fbreg.
910 * var-tracking.c (vt_add_function_parameter): Ensure cselib_lookup
911 on ENTRY_VALUE is able to find the canonical parameter VALUE.
912 * cselib.c (rtx_equal_for_cselib_1) <case ENTRY_VALUE>: Use
913 rtx_equal_p instead of rtx_equal_for_cselib_1 to compare
914 ENTRY_VALUE_EXPs.
915 (cselib_hash_rtx) <case ENTRY_VALUE>: If ENTRY_VALUE_EXP
916 is a REG_P or MEM_P with REG_P address, compute hash directly
917 instead of calling cselib_hash_rtx on ENTRY_VALUE_EXP.
918 (preserve_only_constants): Don't clear VALUES forwaring
919 ENTRY_VALUE to some other VALUE.
920
8a445129
RS
9212011-03-28 Richard Sandiford <richard.sandiford@linaro.org>
922
923 * builtins.c (expand_builtin_memset_args): Use gen_int_mode
924 instead of GEN_INT.
925
c82fee88
EB
9262011-03-28 Eric Botcazou <ebotcazou@adacore.com>
927
928 * cfgexpand.c (expand_gimple_cond): Always set the source location and
929 block before expanding the statement.
930 (expand_gimple_stmt_1): Likewise. Set them here...
931 (expand_gimple_stmt): ...and not here. Tidy.
932 * cfglayout.c (curr_insn_locator): Return 0 if the current location is
933 unknown.
934
e45425ec
SB
9352011-03-28 Steven Bosscher <steven@gcc.gnu.org>
936
937 * Makefile.in: New rule for cprop.o.
938 * gcse.c: Move constant/copy propagation to cprop.c.
939 (compute_local_properties): Only handle expression tables.
940 (hash_scan_set, compute_hash_table_work, alloc_hash_table,): Likewise.
941 (one_pre_gcse_pass, one_code_hoisting_pass): Likewise.
942 (hash_set, insert_set_in_table, gcse_constant_p, lookup_set,
943 next_set, reset_opr_set_tables, oprs_not_set_p, mark_call, mark_set,
7a81008b 944 mark_clobber, mark_oprs_set, alloc_cprop_mem, free_cprop_mem,
e45425ec
SB
945 compute_cprop_data, find_used_regs, try_replace_reg,
946 find_avail_set, cprop_jump, constprop_register, cprop_insn,
947 local_cprop_find_used_regs, do_local_cprop, local_cprop_pass,
948 fis_get_condition, implicit_set_cond_p, find_implicit_sets,
949 find_bypass_set, reg_killed_on_edge, bypass_block,
950 bypass_conditional_jumps, one_cprop_pass, gate_rtl_cprop,
951 execute_rtl_cprop, pass_rtl_cprop): Move to...
952 * cprop.c: ...here. New file, constant/copy propagation for RTL
953 moved from gcse.c to here with minor cleanups in duplicated code.
954
c09d5426
L
9552011-03-28 H.J. Lu <hongjiu.lu@intel.com>
956
957 * config/i386/i386.c (flag_opts): Fix a typo in
958 -mavx256-split-unaligned-store.
959
9eaa7740
AS
9602011-03-28 Anatoly Sokolov <aesok@post.ru>
961
962 * config/h8300/h8300.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
963 LIBCALL_VALUE): Remove macros.
964 * config/h8300/h8300.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
965 TARGET_FUNCTION_VALUE_REGNO_P): Define.
966 (h8300_function_value, h8300_libcall_value,
967 h8300_function_value_regno_p): New functions.
968
dcec2be2
AS
9692011-03-28 Anatoly Sokolov <aesok@post.ru>
970
971 * config/h8300/h8300.h (ASM_OUTPUT_BSS): Remove macro.
972
520af9ec
JL
9732011-03-28 Jeff Law <law@redhat.com>
974
975 * tree-ssa-threadupdate.c (redirect_edges): Call
976 create_edge_and_update_destination_phis as needed.
977 (create_edge_and_update_destination_phis): Accept new BB argument.
978 All callers updated.
979 (thread_block): Do not update the profile when threading around
980 intermediate blocks.
981 (thread_single_edge): Likewise.
982 (determine_bb_domination_status): If BB is not a successor of the
983 loop header, return NONDOMINATING.
984 (register_jump_thread): Note when we register a jump thread around
985 an intermediate block.
986 * tree-ssa-threadedge.c (thread_around_empty_block): New function.
987 (thread_across_edge): Use it.
988
7450b54f
TG
9892011-03-28 Tristan Gingold <gingold@adacore.com>
990
991 * config/ia64/ia64.c (ia64_promote_function_mode): Fix promotion
992 when for_return is 2.
993
649beb33
JL
9942011-03-28 Jeff Law <law@redhat.com>
995
996 * var-tracking.c (canonicalize_values_mark): Delete unused
997 lhs assignment.
998 (canonicalize_values_star, set_variable_part): Likewise.
999 (clobber_variable_part, delete_variable_part): Likewise.
1000
d5b8da97
SB
10012011-03-28 Steven Bosscher <steven@gcc.gnu.org>
1002
1003 * gcse.c (free_gcse_mem): Free reg_set_bitmap.
1004
322dd859
MJ
10052011-03-28 Martin Jambor <mjambor@suse.cz>
1006
1007 * tree-inline.c (expand_call_inline): Do not check that destination
1008 node is analyzed.
1009 (optimize_inline_calls): Assert that destination node is analyzed.
1010 * cgraph.c (cgraph_add_new_function): Call cgraph_analyze_function, do
1011 not call tree_lowering_passes.
1012 * cgraph.h (cgraph_analyze_function): Declare.
1013 * cgraphunit.c (cgraph_analyze_function): Make public.
1014
aa53e58b
JM
10152011-03-28 Joseph Myers <joseph@codesourcery.com>
1016
1017 * config/sparc/sparc-opts.h: New.
1018 * config/sparc/sparc.c (sparc_handle_option, sparc_select,
1019 sparc_cpu, fpu_option_set, TARGET_HANDLE_OPTION): Remove.
1020 (sparc_option_override): Store processor_type enumeration rather
1021 than string in cpu_default. Remove name and enumeration from
1022 cpu_table. Directly default -mcpu then default -mtune from -mcpu
1023 without using sparc_select. Use target_flags_explicit instead of
1024 fpu_option_set.
1025 * config/sparc/sparc.h (enum processor_type): Move to
1026 sparc-opts.h.
1027 (sparc_cpu, struct sparc_cpu_select, sparc_select): Remove.
1028 * config/sparc/sparc.opt (config/sparc/sparc-opts.h): New
1029 HeaderInclude entry.
1030 (mcpu=, mtune=): Use Var and Enum.
1031 (sparc_processor_type): New Enum and EnumValue entries.
1032
dd350eba
RO
10332011-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1034 Iain Sandoe <iains@gcc.gnu.org>
1035
1036 PR target/48245
1037 * config/darwin.h (LINK_COMMAND_SPEC_A): Use LINK_PLUGIN_SPEC.
1038
1b29f05e
EB
10392011-03-28 Eric Botcazou <ebotcazou@adacore.com>
1040
1041 * tree-vectorizer.h (vect_create_data_ref_ptr): Adjust prototype.
1042 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add GSI parameter.
1043 Insert new statements at it in lieu of STMT.
1044 (vect_setup_realignment): Adjust call to vect_create_data_ref_ptr.
1045 * tree-vect-stmts.c (vectorizable_store): Likewise.
1046 (vectorizable_load): Likewise.
1047
506e6808
UB
10482011-03-28 Uros Bizjak <ubizjak@gmail.com>
1049
1050 * config/alpha/alpha.md (addtf3): Change mode of operands to TFmode.
1051 (divtf3): Ditto.
1052 (multf3): Ditto.
1053 (subtf3): Ditto.
1054
2e939ee9
L
10552011-03-27 H.J. Lu <hongjiu.lu@intel.com>
1056
1057 * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
1058 unaligned 256bit load/store.
1059 (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
1060 (*avx_movdqu<avxmodesuffix>): Likewise.
1061
5e85ab88
JDA
10622011-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1063
1064 PR target/48288
1065 * config/pa/predicates.md (reg_or_ior_operand): New predicate.
1066 * config/pa/pa.md (iordi3): Use new predicate in expander.
1067 (iorsi3): Likewise.
1068
47be3d6d
AS
10692011-03-27 Anatoly Sokolov <aesok@post.ru>
1070
506e6808 1071 * config/mips/mips.h (LIBCALL_VALUE, FUNCTION_VALUE,
47be3d6d 1072 FUNCTION_VALUE_REGNO_P): Remove macros.
506e6808
UB
1073 * config/mips/mips-protos.h (mips_function_value): Remove.
1074 * config/mips/mips.c (mips_function_value): Rename to...
47be3d6d
AS
1075 (mips_function_value_1): ... this. Make static. Handle receiving
1076 the function type in 'fn_decl_or_type' argument.
1077 (mips_function_value, mips_libcall_value,
1078 mips_function_value_regno_p): New function.
1079 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
1080 TARGET_FUNCTION_VALUE_REGNO_P): Define.
1081
d253656a
L
10822011-03-27 H.J. Lu <hongjiu.lu@intel.com>
1083
1084 * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
1085 and -mavx256-split-unaligned-store.
1086 (ix86_option_override_internal): Split 32-byte AVX unaligned
1087 load/store by default.
1088 (ix86_avx256_split_vector_move_misalign): New.
1089 (ix86_expand_vector_move_misalign): Use it.
1090
1091 * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
1092 -mavx256-split-unaligned-store.
1093
1094 * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
1095 256bit load/store. Generate unaligned store on misaligned memory
1096 operand.
1097 (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
1098 256bit load/store.
1099 (*avx_movdqu<avxmodesuffix>): Likewise.
1100
1101 * doc/invoke.texi: Document -mavx256-split-unaligned-load and
1102 -mavx256-split-unaligned-store.
1103
1ea9206a
RS
11042011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
1105
1106 PR target/38598
1107 * config/mips/mips.md (extendsidi2): Add an "l" alternative.
1108 Update commentary.
1109
b99ce2a8
RS
11102011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
1111
1112 * config/mips/mips.c (mips_prepare_builtin_arg): Replace icode and
1113 opno arguments with an expand_operand. Use create_input_operand.
1114 (mips_prepare_builtin_target): Delete.
1115 (mips_expand_builtin_insn, mips_expand_builtin_compare_1): New
1116 functions.
1117 (mips_expand_builtin_direct): Use create_output_operand and
1118 mips_expand_builtin_insn. Update call to mips_prepare_builtin_arg.
1119 (mips_expand_builtin_movtf): Likewise. Use mips_expand_fp_comparison.
1120 (mips_expand_builtin_compare): Use mips_expand_fp_comparison.
1121
69d52339
IR
11222011-03-27 Ira Rosen <ira.rosen@linaro.org>
1123
1124 * config/arm/arm.c (arm_autovectorize_vector_sizes): New
1125 function.
1126 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
1127
ba5e9aca
EB
11282011-03-26 Eric Botcazou <ebotcazou@adacore.com>
1129
1130 * basic-block.h (fixup_abnormal_edges): Adjust prototype.
1131 * reload1.c (reload): Adjust call to fixup_abnormal_edges. Rediscover
1132 basic blocks and call commit_edge_insertions directly.
1133 (fixup_abnormal_edges): Move from here to...
1134 * cfgrtl.c (fixup_abnormal_edges): ...here. Only insert instructions
1135 on the edges and return whether some have actually been inserted.
1136 * reg-stack.c (convert_regs): Fix up abnormal edges before inserting
1137 compensation code.
1138
5d369d58
AB
11392011-03-26 Andrey Belevantsev <abel@ispras.ru>
1140
1141 PR rtl-optimization/48144
1142 * sel-sched-ir.c (merge_history_vect): Factor out from ...
1143 (merge_expr_data): ... here.
1144 (av_set_intersect): Rename to av_set_code_motion_filter.
1145 Update all callers. Call merge_history_vect when an expression
1146 is found in both sets.
1147 * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
1148
f082c000
AM
11492011-03-26 Alan Modra <amodra@gmail.com>
1150
1151 * config/rs6000/predicates.md (word_offset_memref_op): Handle
1152 cmodel medium addresses.
1153 * config/rs6000/rs6000.c (rs6000_secondary_reload): Handle misaligned
1154 64-bit gpr loads and stores.
1155 (rs6000_secondary_reload_ppc64): New function.
1156 * config/rs6000/rs6000-protos.h: Declare it.
1157 * config/rs6000/rs6000.md (reload_di_store, reload_di_load): New.
1158
8ac5e12e
AM
11592011-03-26 Alan Modra <amodra@gmail.com>
1160
1161 PR target/47487
1162 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support
1163 GNU Go in traceback table.
1164
c2654ded
RH
11652011-03-25 Richard Henderson <rth@redhat.com>
1166
1167 * expr.c (emit_block_move_via_movmem): Only use 6 operand variant
1168 if there are exactly 6 operands.
1169 (set_storage_via_setmem): Similarly.
1170
ba78087b
KT
11712011-03-25 Kai Tietz <ktietz@redhat.com>
1172
1173 * collect2.c (write_c_file_stat): Handle backslash
1174 as right-hand directory separator.
1175 (resolve_lib_name): Use IS_DIR_SEPARATOR instead of
1176 checking just for slash.
1177 * coverage.c (coverage_init): Use IS_ABSOLUTE_PATH
1178 instead of checking for trailing slash.
1179 * gcc.c (record_temp_file): Use filename_cmp instead
1180 of strcmp.
1181 (do_spec_1): Likewise.
1182 (replace_outfile_spec_function): Likewise.
1183 (is_directory): Use filename_ncmp instead of strncmp.
1184 (print_multilib_info): Likewise.
1185 * gcov.c (find_source): Use filename_cmp instead
1186 instead of strcmp.
1187 (make_gcov_file_name): Fix order of slash/backslash
1188 checks.
1189 * incpath.c (DIRS_EQ): Use filename_cmp instead of strcmp.
1190 (add_standard_paths): Likewise.
1191 * mips-tfile.c (saber_stop): Handle backslash.
1192 * prefix.c (update_path): Use filename_ncmp instead of
1193 strncmp.
1194 * profile.c (output_location): Use filename_cmp instead
1195 of strcmp.
1196 * read-md.c (handle_toplevel_file): Handle backslash.
1197 * tlink.c (frob_extension): Likewise.
1198 * tree-cfg.c (same_line_p): Use filename_cmp instead of
1199 strcmp.
1200 * tree-dump.c (dequeue_and_dump): Handle backslash.
1201 * tree.c (get_file_function_name): Likewise.
1202 * gengtype.c (read_input_list): Likewise.
1203 (get_file_realbasename): Likewise.
1204 (get_output_file_with_visibility): Use filename_cmp
1205 instead of strcmp.
1206
75f6ec9a
RS
12072011-03-25 Richard Sandiford <richard.sandiford@linaro.org>
1208
1209 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS
1210 case to VFPv1.
1211
6c4e2997
NF
12122011-03-25 Nathan Froyd <froydnj@codesourcery.com>
1213
1214 * fold-const.c (expr_location_or): New function.
1215 (fold_truth_not_expr): Call it.
1216
0edf1bb2
JL
12172011-03-25 Jeff Law <law@redhat.com>
1218
1219 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add missing
1220 va_end.
1221 * c-family/c-common.c (def_fn_type): Likewise.
1222 * ada/gcc-interface/utils.c (def_fn_type): Likewise.
1223 * emit-rtl.c (gen_rtvec): Likewise.
1224 * lto/lto-lang.c (def_fn_type): Likewise.
1225
fdc2de95
RG
12262011-03-25 Richard Guenther <rguenther@suse.de>
1227
1228 * tree-ssa-copy.c (stmt_may_generate_copy): Copies from constants
1229 also generate copies.
1230 (fini_copy_prop): Handle constant values properly.
1231
21385db0
JJ
12322011-03-25 Jakub Jelinek <jakub@redhat.com>
1233
1234 * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Compare
1235 mode size instead of bitsize with DWARF2_ADDR_SIZE.
1236 (hash_loc_operands, compare_loc_operands): Handle
1237 DW_OP_GNU_entry_value.
1238
6510e8bb
KT
12392011-03-25 Kai Tietz <ktietz@redhat.com>
1240
1241 * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Adjust comment.
1242 (STACK_BOUNDARY): Check for bit-ness in case of MS_ABI.
1243 * config/i386/i386.c (ix86_conditional_register_usage): Adjust
1244 comment and use macro TARGET_64BIT_MS_ABI instead.
1245 (ix86_keep_aggregate_return_pointer): Optimize for 64-bit case
1246 and change default behavior for 32-bit MS_ABI.
1247 (ix86_reg_parm_stack_space): Check additionally for bit-ness.
1248 (ix86_function_type_abi): Allow check for ms_abi/sysv_abi for
1249 32-bit, too.
1250 (ix86_cfun_abi): Likewise.
1251 (ix86_maybe_switch_abi): Adjust comment.
1252 (init_cumulative_args): Check for bit-ness in MS_ABI case.
1253 (ix86_gimplify_va_arg): Check just for not TARGET_64BIT_MS_ABI
1254 instead of checking for SYSV_ABI.
1255 (ix86_nsaved_sseregs): Likewise.
1256 (ix86_compute_frame_layout): Set only for 64-bit MS_ABI alignment
1257 to 16 bytes.
1258 (ix86_expand_call): Use TARGET_64BIT_MS_ABI macro.
1259 * config/i386.h (TARGET_32BIT_MS_ABI): New macro.
1260 (ACCUMULATE_OUTGOING_ARGS): Check explicit for 64-bit MS_ABI.
1261 (OUTGOING_REG_PARM_STACK_SPACE): Likewise.
1262 * config/mingw32.h (DEFAULT_ABI): Change default always to MS_ABI.
1263
34019e28
RG
12642011-03-25 Richard Guenther <rguenther@suse.de>
1265
1266 * tree-flow.h (verify_stmts): Rename to verify_gimple_in_cfg.
1267 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
1268 (verify_gimple): Remove.
1269 * tree-cfg.c (verify_gimple_call): Merge verification
1270 from verify_stmts.
1271 (verify_gimple_phi): Merge verification from verify_stmts.
1272 (verify_gimple_label): New function.
1273 (verify_types_in_gimple_seq_2): Rename to verify_gimple_in_seq_2.
1274 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
1275 (verify_stmt): Merge into verify_gimple_in_cfg and callees.
1276 (verify_stmts): Rename to verify_gimple_in_cfg.
1277 (verify_gimple_in_cfg): New function.
1278 * passes.c (execute_function_todo): Call verify_gimple_in_cfg.
1279 * tree-ssa.c (verify_ssa): Likewise.
1280 * gimplify.c (gimplify_body): Call verify_gimple_in_seq.
1281
605896f5
RG
12822011-03-25 Richard Guenther <rguenther@suse.de>
1283
1284 * passes.c (init_optimization_passes): Add FRE pass after
1285 early SRA.
1286
7baa7c13
BS
12872011-03-25 Bernd Schmidt <bernds@codesourcery.com>
1288 Andrew Stubbs <ams@codesourcery.com>
1289
1290 * config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
1291 for Cortex-A8.
1292 (arm_movdi_vfp_cortexa8): New pattern.
1293 * config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
1294 iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
1295 instructions when tuning for Cortex-A8. Set attribute "arch".
1296 * config/arm/arm.md: Move include arm-tune.md up a bit.
1297 (define_attr "arch"): Add "onlya8" and "nota8" values.
1298 (define_attr "arch_enabled"): Handle "onlya8" and "nota8".
1299
45dbce1b
NF
13002011-03-25 Nathan Froyd <froydnj@codesourcery.com>
1301
4ff08abf 1302 PR bootstrap/48282
45dbce1b
NF
1303 Revert:
1304 2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
1305
1306 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
1307 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
1308 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
1309 * passes.c (init_optimization_passes): Move
1310 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
1311
ac9a30ae
KT
13122011-03-25 Kai Tietz <ktietz@redhat.com>
1313
1314 * c-typeck.c (comptypes_internal): Replace target
1315 hook call of comp_type_attributes by version in tree.c file.
1316 * gimple.c (gimple_types_compatible_p_1): Likewise.
1317 * tree-ssa.c (useless_type_conversion_p): Likewise.
1318 * tree.c (build_type_attribute_qual_variant): Likewise.
1319 (attribute_value_equal): New static helper function.
1320 (comp_type_attributes): New function.
1321 (merge_attributes): Use attribute_value_equal for comparison.
1322 (attribute_list_contained): Likewise.
1323 * tree.h (comp_type_attributes): New prototype.
1324
afdac116
RG
13252011-03-25 Richard Guenther <rguenther@suse.de>
1326
1327 * tree-cfg.c (verify_gimple_assign_unary): Drop special casing
1328 of complex types at -O0.
1329 (verify_gimple_assign_binary): Likewise.
1330 (verify_gimple_assign_ternary): Likewise.
1331
ec6165f8
MW
13322011-03-24 Mark Wielaard <mjw@redhat.com>
1333
1334 * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8.
1335 (value_format): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
1336
2a5ac39a
MW
13372011-03-24 Mark Wielaard <mjw@redhat.com>
1338
1339 PR debug/48041
1340 * dwarf2out.c (output_abbrev_section): Only write table when
1341 abbrev_die_table_in_use > 1.
1342
e533b2a4
RH
13432011-02-24 Richard Henderson <rth@redhat.com>
1344
1345 * config/alpha/alpha.c (alpha_expand_unaligned_load): Use extql.
1346 (alpha_expand_unaligned_store): Use mskwl, mskll, mskql.
1347 (alpha_expand_unaligned_load_words): Use extql.
1348 (alpha_expand_unaligned_store_words): Use insqh, mskqh, mskql.
1349 (emit_insxl): Handle all modes for consistency.
1350
0b2a7367
RH
13512011-02-24 Richard Henderson <rth@redhat.com>
1352
1353 * config/alpha/alpha.c (get_aligned_mem): Don't test WORDS_BIG_ENDIAN.
1354 (alpha_expand_unaligned_load): Likewise.
1355 (alpha_expand_unaligned_store): Likewise.
1356 (alpha_expand_unaligned_load_words): Likewise.
1357 (alpha_expand_unaligned_store_words): Likewise.
1358 (emit_insxl, alpha_split_compare_and_swap_12): Likewise.
1359 (alpha_split_lock_test_and_set_12): Likewise.
1360 (print_operand, alpha_fold_builtin_extxx): Likewise.
1361 (alpha_fold_builtin_insxx, alpha_fold_builtin_mskxx): Likewise.
1362 * config/alpha/alpha.md (bswapsi2, insv, extv, extzv): Likewise.
1363 (builtin_extwh, builtin_extlh, builtin_extql): Likewise.
1364 (unaligned_extendqidi_be, unaligned_extendhidi_be, extxl_be): Remove.
1365 (*extxl_1_be, *extql_2_be, extqh_be, extlh_be, extwh_be): Remove.
1366 (insbl_be, inswl_be, insll_be, insql_be, mskxl_be): Remove.
1367 (unaligned_loadqi_be, unaligned_loadhi_be): Remove.
1368 (unaligned_storeqi_be, unaligned_storehi_be): Remove.
1369 (extbl): Rename from builtin_extbl; don't test WORDS_BIG_ENDIAN.
1370 (extwl, extll, extql): Similarly.
1371 (inswh, inslh, insqh): Similarly.
1372 (mskbl, mskwl, mskll, mskql): Similarly.
1373 (mskwh, msklh, mskqh): Similarly.
1374
315b2bef
RH
13752011-02-24 Richard Henderson <rth@redhat.com>
1376
1377 * config/alpha/alpha.md (attribute isa): Add er, ner.
1378 (attribute enabled): Handle them.
1379 (*movdi): Merge *movdi_{er_nofix,nofix,er_fix,fix}.
1380
67102517
RH
13812011-02-24 Richard Henderson <rth@redhat.com>
1382
1383 * config/alpha/alpha.md (attribute isa): Add vms.
1384 (attribute enabled): Handle it.
1385 (*movsf): Merge *movsf_{nofix,fix,nofp}.
1386 (*movdf): Merge *movdf_{nofix,fix,nofp}.
1387 (*movtf): Rename from *movtf_internal for consistency.
1388 (*movsi): Merge with *movsi_nt_vms.
1389 (*movhi): Merge *movhi_nobwx, *movhi_bwx.
1390 (*movqi): Merge *movqi_nobwx, *movqi_bwx.
1391 (*mov<VEC>): Merge *mov<VEC>_fix, *mov<VEC>_nofix.
1392 * config/alpha/constraint.md ("f"): Use NO_REGS when fpu is disabled.
1393
6aba5cb4
RH
13942011-02-24 Richard Henderson <rth@redhat.com>
1395
1396 * config/alpha/alpha.md (extendqihi2): Implement for BWX only.
1397 (extendqisi2, extendhisi2): Likewise.
1398 (extendqidi2): Simplify BWX/non-BWX expansions.
1399 (extendhidi2): Similarly.
1400
bdfb351b
RH
14012011-02-24 Richard Henderson <rth@redhat.com>
1402
1403 * config/alpha/alpha.md (attribute isa): New.
1404 (attribute enabled): New.
1405 (zero_extendqihi2): Merge from *zero_extendqihi2_{bwx,nobwx}.
1406 (zero_extendqisi2, zero_extendqidi2): Similarly.
1407 (zero_extendhisi2, zero_extendhidi2): Similarly.
1408 * config/alpha/predicates.md (reg_or_bwx_memory_operand): New.
1409
6abe71eb
RH
14102011-02-24 Richard Henderson <rth@redhat.com>
1411
1412 * config/alpha/predicates.md (input_operand): Revert last change;
1413 update comment to mention 32-bit VMS rather than Windows.
1414
7114321e
NF
14152011-03-24 Nathan Froyd <froydnj@codesourcery.com>
1416
1417 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
1418 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
1419 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
1420 * passes.c (init_optimization_passes): Move
1421 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
1422
c8679567
EB
14232011-03-24 Eric Botcazou <ebotcazou@adacore.com>
1424
1425 * dojump.c (do_jump_by_parts_greater_rtx): Optimize in specific cases.
1426
27173058
UB
14272011-03-24 Uros Bizjak <ubizjak@gmail.com>
1428
1429 * config/i386/i386.md (ix86_print_operand): Output DFmode const_double
1430 correctly.
1431
6f0c9f06
JJ
14322011-03-24 Jakub Jelinek <jakub@redhat.com>
1433
1434 PR debug/48204
1435 * simplify-rtx.c (simplify_const_unary_operation): Call
1436 real_convert when changing mode class with FLOAT_EXTEND.
1437
662666e5
NC
14382011-03-24 Nick Clifton <nickc@redhat.com>
1439
1440 * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER): Define.
1441 (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
1442 * config/rx/rx.c (rx_option_override): Set align_jumps,
1443 align_loops and align_labels if not set by the user.
1444 (rx_align_for_label): New function.
1445 (rx_max_skip_for_label): New function.
1446 (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
1447 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
1448 (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
1449 (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
1450 * config/rx/rx-protos.h (rx_align_for_label): Add prototype.
1451
2b99b2b8
RS
14522011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
1453
1454 PR rtl-optimization/48263
1455 * optabs.c (expand_binop_directly): Reinstate convert_modes code
1456 and original commutative_p handling. Use maybe_gen_insn.
1457
ccecd6ea
AK
14582011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1459
1460 * reload.c (find_reloads_subreg_address): Add address_reloaded
1461 parameter and return true there if the full address has been
1462 reloaded.
1463 (find_reloads_toplev): Pass address_reloaded flag.
1464 (find_reloads_address_1): Don't use address_reloaded parameter.
1465
67295642
JL
14662011-03-24 Jeff Law <law@redhat.com>
1467
1468 * tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
1469 unused variable "ann".
1470 (remove_unused_locals): Likewise.
1471
1472 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
1473 statement.
1474
1475 * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
1476 after it is freed.
1477
212aa74f
AK
14782011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1479
1480 * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
1481 for invalid symbolic addresses.
1482 (s390_secondary_reload): Don't use s390_check_symref_alignment for
1483 larl operands.
1484
fe784e0d
EB
14852011-03-24 Eric Botcazou <ebotcazou@adacore.com>
1486
1487 * fold-const.c (fold_ternary_loc): Preserve the location (if any) of
1488 the argument in calls to fold_truth_not_expr.
1489
63ee8641
NF
14902011-03-24 Nathan Froyd <froydnj@codesourcery.com>
1491
1492 * tree.c (record_node_allocation_statistics): New function.
1493 (make_node_stat, copy_node_stat, build_string): Call it.
1494 (make_tree_binfo_stat, make_tree_vec_stat, tree_cons_stat): Likewise.
1495 (build1_stat, build_omp_clause): Likewise.
1496
61be2a1c
RS
14972011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
1498
1499 * builtins.c (expand_movstr): Fix endp == 1 adjustment after
1500 last commit.
1501
a881aaa7
RG
15022011-03-24 Richard Guenther <rguenther@suse.de>
1503
1504 PR tree-optimization/48271
1505 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup
1506 blocks that still exist.
1507
dbaa912c
RG
15082011-03-24 Richard Guenther <rguenther@suse.de>
1509
1510 PR tree-optimization/48270
1511 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do
1512 not free datarefs before ddrs.
1513
1d60cc55
EB
15142011-03-24 Eric Botcazou <ebotcazou@adacore.com>
1515
1516 * tree-sra.c (build_ref_for_offset): Strip useless type conversions
1517 from the address built for a reference with variable offset.
1518
c78dd519
UB
15192011-03-24 Uros Bizjak <ubizjak@gmail.com>
1520
1521 PR target/48237
1522 * config/i386/i386.md (*movdf_internal_rex64): Do not split
1523 alternatives that can be handled with movq or movabsq insn.
1524 (*movdf_internal): Disable for !TARGET_64BIT.
1525 (*movdf_internal_nointeger): Ditto.
1526 * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
1527
b25b9e8f
NF
15282011-03-24 Nathan Froyd <froydnj@codesourcery.com>
1529
1530 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
1531 (FUNCTION_ARG_ADVANCE): Likewise.
1532 * tm.texi.in: Change references to them to hook references.
1533 * tm.texi: Regenerate.
c78dd519 1534 * targhooks.c (default_function_arg): Eliminate check for target macro.
b25b9e8f
NF
1535 (default_function_incoming_arg): Likewise.
1536 (default_function_arg_advance): Likewise.
c78dd519 1537 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
b25b9e8f
NF
1538 (function_arg_advance): Likewise.
1539 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
1540
190b2187
RG
15412011-03-24 Richard Guenther <rguenther@suse.de>
1542
1543 PR middle-end/48269
1544 * tree-object-size.c (addr_object_size): Do not double-account
1545 for MEM_REF offsets.
1546
a183b5c7
DN
15472011-03-24 Diego Novillo <dnovillo@google.com>
1548
1549 * lto-opts.c (input_data_block): Move to lto-streamer-in.c.
c78dd519 1550 * lto-streamer-in.c (input_string_internal): Add clarifying comments.
a183b5c7
DN
1551 (lto_input_data_block): Move from lto-opts.c. Make extern.
1552 Update all users.
1553 (lto_input_string): Rename from input_string. Make extern.
1554 Update all users.
1555 * lto-streamer-out.c (lto_output_string_with_length): Rename from
1556 output_string_with_length.
1557 Output 0 to indicate a non-NULL string. Update all callers to
1558 not emit 0.
1559 (lto_output_string): Rename from output_string. Make extern.
1560 Update all users.
1561 (lto_output_decl_state_streams): Make extern.
1562 (lto_output_decl_state_refs): Make extern.
1563 * lto-streamer.h (lto_input_string): Declare.
1564 (lto_input_data_block): Declare.
1565 (lto_output_string): Declare.
1566 (lto_output_string_with_length): Declare.
1567 (lto_output_decl_state_streams): Declare.
1568 (lto_output_decl_state_refs): Declare.
1569
cfef45c8
RG
15702011-03-24 Richard Guenther <rguenther@suse.de>
1571
1572 PR tree-optimization/46562
1573 * tree.c (build_invariant_address): New function.
1574 * tree.h (build_invariant_address): Declare.
1575 * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around
1576 a renamed function moved ...
1577 * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here.
1578 Take valueization callback parameter.
1579 * tree-flow.h (gimple_fold_stmt_to_constant): Declare.
1580 * gimple-fold.h: New file.
1581 * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1.
1582 (ccp_fold, fold_const_aggregate_ref,
1583 fold_ctor_reference, fold_nonarray_ctor_reference,
1584 fold_array_ctor_reference, fold_string_cst_ctor_reference,
1585 get_base_constructor): Move ...
1586 * gimple-fold.c: ... here.
1587 (gimple_fold_stmt_to_constant_1): New function
1588 split out from ccp_fold. Take a valueization callback parameter.
1589 Valueize all operands.
1590 (gimple_fold_stmt_to_constant): New wrapper function.
1591 (fold_const_aggregate_ref_1): New function split out from
1592 fold_const_aggregate_ref. Take a valueization callback parameter.
1593 (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1.
1594 * tree-ssa-sccvn.c (simplify_binary_expression): Simplify
1595 invariant POINTER_PLUS_EXPRs to invariant form.
1596 (vn_valueize): New function.
1597 (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant.
1598 * tree-vrp.c (vrp_valueize): New function.
1599 (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant
1600 to fold statements to constants.
1601 * tree-ssa-pre.c (eliminate): Properly guard propagation of
1602 function declarations.
1603 * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o,
1604 tree-ssa-ccp.o): Add gimple-fold.h dependencies.
1605
5e0a7e40
RS
16062011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
1607
1608 * config/h8300/predicates.md (jump_address_operand): Fix register
1609 mode check.
1610
bfe068c3
IR
16112011-03-24 Ira Rosen <ira.rosen@linaro.org>
1612
1613 * doc/invoke.texi (max-stores-to-sink): Document.
1614 * params.h (MAX_STORES_TO_SINK): Define.
1615 * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
1616 if either vectorization or if-conversion is disabled.
1617 * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
1618 tree-vect-data-refs.c vect_equal_offsets.
1619 (dr_equal_offsets_p): New function.
1620 (find_data_references_in_bb): Remove static.
1621 * tree-data-ref.h (find_data_references_in_bb): Declare.
1622 (dr_equal_offsets_p): Likewise.
1623 * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
1624 (vect_drs_dependent_in_basic_block): Update calls to
1625 vect_equal_offsets.
1626 (vect_check_interleaving): Likewise.
1627 * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
1628 (cond_if_else_store_replacement): Rename to...
1629 (cond_if_else_store_replacement_1): ... this. Change arguments and
1630 documentation.
1631 (cond_if_else_store_replacement): New function.
1632 * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
1633 * params.def (PARAM_MAX_STORES_TO_SINK): Define.
1634
4908b0bf
CLT
16352011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
1636
1637 PR target/46934
1638 * config/arm/arm.md (casesi): Use the gen_int_mode() function
1639 to subtract lower bound instead of GEN_INT().
1640
2be478a2
JW
16412011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
1642
1643 PR other/48179
1644 PR other/48221
1645 PR other/48234
1646 * doc/extend.texi (Alignment): Move section to match order in TOC.
1647 * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
1648 (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
1649
0c617be4
JL
16502011-03-23 Jeff Law <law@redhat.com>
1651
1652 * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
1653 before removing the edge.
1654
1655 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
1656 it may have been freed by redirect_branch_edge or
1657 redirect_edge_succ_nodup.
1658
58da96fe
RG
16592011-03-23 Richard Guenther <rguenther@suse.de>
1660
c78dd519 1661 * tree-stdarg.c (va_list_counter_bump): Handle bumps via MEM_REF.
58da96fe
RG
1662 (check_va_list_escapes): Likewise.
1663 (check_all_va_list_escapes): Likewise.
1664
b8beb4d1
RG
16652011-03-23 Richard Guenther <rguenther@suse.de>
1666
1667 * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
1668 (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
1669 (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
1670 (alias.o): Likewise.
1671 (ipa-type-escape.o): Remove.
1672 (ipa-struct-reorg.o): Likewise.
1673 (GTFILES): Remove ipa-struct-reorg.c.
1674 * alias.c: Do not include ipa-type-escape.h.
1675 * tree-ssa-alias.c: Likewise.
1676 * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
1677 * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
1678 * passes.c (init_optimization_passes): Remove ipa-struct-reorg
1679 and ipa-type-escape passes.
1680 * tree-pass.h (pass_ipa_type_escape): Remove.
1681 (pass_ipa_struct_reorg): Likewise.
1682 * ipa-struct-reorg.h: Remove.
1683 * ipa-struct-reorg.c: Likewise.
1684 * ipa-type-escape.h: Likewise.
1685 * ipa-type-escape.c: Likewise.
1686 * doc/invoke.texi (-fipa-struct-reorg): Remove.
1687 (--param struct-reorg-cold-struct-ratio): Likewise.
1688 * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
1689 * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
1690 * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
1691
f137aa63
AK
16922011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1693
1694 * config/s390/2084.md: Enable all insn reservations also for z9_ec
1695 cpu attribute value.
1696 * config/s390/s390-opts.h (enum s390_arch_option): Remove.
1697 (enum processor_type): Add PROCESSOR_2094_Z9_EC.
1698 * config/s390/s390.c (processor_flags_table): New constant array.
1699 (s390_handle_arch_option): Remove.
1700 (s390_handle_option): Remove s390_handle_arch_option invocations
1701 and OPT_mwarn_framesize_ handling.
1702 (s390_option_override): Remove s390_handle_arch_option invocation.
1703 (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
1704 warnings.
1705 * config/s390/s390.md (cpu attribute): Add z9_ec value.
1706 * config/s390/s390.opt (s390_tune, s390_arch)
1707 (march=): Replace s390_arch_option enum and values with
1708 processor_type. Set variable name to s390_arch. Set
1709 initialization value.
1710 (mtune=): Replace s390_arch_option with processor_type. Set
1711 variable name to s390_tune. Set initialization value.
1712
bf90208f
JB
17132011-03-23 Julian Brown <julian@codesourcery.com>
1714
1715 * expr.c (expand_expr_real_1): Only use BLKmode for volatile
1716 accesses which are not naturally aligned.
1717
3460fdf3
RS
17182011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
1719
1720 PR target/47553
1721 * config/arm/predicates.md (neon_lane_number): Accept 0..15.
1722
a5c7d693
RS
17232011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
1724
1725 * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
1726 parameter from "int" to "enum insn_code".
1727 (expand_operand_type): New enum.
1728 (expand_operand): New structure.
1729 (create_expand_operand): New function.
1730 (create_fixed_operand, create_output_operand): Likewise
1731 (create_input_operand, create_convert_operand_to): Likewise.
1732 (create_convert_operand_from, create_address_operand): Likewise.
1733 (create_integer_operand): Likewise.
1734 (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
1735 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
1736 (expand_insn, expand_jump_insn): Likewise.
1737 * builtins.c (expand_builtin_prefetch): Use the new interfaces.
1738 (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
1739 (expand_movstr, expand_builtin___clear_cache): Likewise.
1740 (expand_builtin_lock_release): Likewise.
1741 * explow.c (allocate_dynamic_stack_space): Likewise.
1742 (probe_stack_range): Likewise. Allow check_stack to FAIL,
1743 and use the default handling in that case.
1744 * expmed.c (check_predicate_volatile_ok): Delete.
1745 (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
1746 (emit_cstore): Likewise.
1747 * expr.c (emit_block_move_via_movmem): Likewise.
1748 (set_storage_via_setmem, expand_assignment): Likewise.
1749 (emit_storent_insn, try_casesi): Likewise.
1750 (emit_single_push_insn): Likewise. Allow the expansion to fail.
1751 * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
1752 (expand_vec_shift_expr, expand_binop_directly): Likewise.
1753 (expand_twoval_unop, expand_twoval_binop): Likewise.
1754 (expand_unop_direct, emit_indirect_jump): Likewise.
1755 (emit_conditional_move, vector_compare_rtx): Likewise.
1756 (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
1757 (expand_sync_operation, expand_sync_fetch_operation): Likewise.
1758 (expand_sync_lock_test_and_set): Likewise.
1759 (maybe_emit_unop_insn): Likewise. Change icode to an insn_code.
1760 (emit_unop_insn): Likewise.
1761 (expand_copysign_absneg): Change icode to an insn_code.
1762 (create_convert_operand_from_type): New function.
1763 (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
1764 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
1765 (expand_insn, expand_jump_insn): Likewise.
1766 * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
1767 than const_int_operand for operand 2.
1768
78fadbab
AK
17692011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1770
1771 * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
1772 if possible.
1773
5f02387d
NF
17742011-03-22 Nathan Froyd <froydnj@codesourcery.com>
1775
1776 * emit-rtl.c (emit_pattern_before_noloc): New function.
1777 (emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
1778 (emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
1779 (emit_pattern_after_noloc): New function.
1780 (emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
1781 (emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
1782
fdf3e18a
NF
17832011-03-22 Nathan Froyd <froydnj@codesourcery.com>
1784
1785 * libgcc2.c (__lshrdi3, __ashldi3, __ashrdi3): Use W_TYPE_SIZE.
1786 (__ffsDI2): Likewise.
1787
42d085c1
RH
17882011-03-22 Richard Henderson <rth@redhat.com>
1789
1790 * config/alpha/alpha.c (direct_return): Use TARGET_ABI_OSF instead
1791 of !TARGET_ABI_OPEN_VMS.
1792 (alpha_trampoline_init, alpha_start_function): Likewise.
1793 (alpha_expand_epilogue, alpha_file_start): Likewise.
1794 * config/alpha/alpha.md (divsi3, modsi3): Likewise.
1795 (udivsi3, umodsi3, divdi3, moddi3, udivdi3, umoddi3): Likewise.
1796 (*divmodsi_internal_er, *divmodsi_internal_er_1): Likewise.
1797 (*divmodsi_internal, *divmoddi_internal_er): Likewise.
1798 (*divmoddi_internal_er_1, *divmoddi_internal): Likewise.
1799
cabbe12a
JM
18002011-03-22 Joseph Myers <joseph@codesourcery.com>
1801
1802 * config/s390/s390-opts.h: New.
1803 * config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
1804 s390_arch_flags, s390_warn_framesize, s390_stack_size,
1805 s390_stack_guard): Remove.
1806 (s390_handle_arch_option): Return void. Take enum
1807 s390_arch_option value instead of string and searching array.
1808 (s390_handle_option): Don't assert that global structures are in
1809 use. Access variables via opts pointer. Use error_at. Don't use
1810 sscanf for -mstack-guard= or -mstack-size=. Update call to
1811 s390_handle_arch_option.
1812 (s390_option_override): Update call to s390_handle_arch_option.
1813 (s390_emit_prologue): Use %d format for s390_stack_size in
1814 diagnostic. Use %wd for HOST_WIDE_INT.
1815 * config/s390/s390.h (enum processor_type): Move to s390-opts.h.
1816 (s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
1817 * config/s390/s390.opt (config/s390/s390-opts.h): New
1818 HeaderInclude entry.
1819 (s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
1820 s390_arch_flags, s390_warn_framesize): New Variable entries.
1821 (s390_arch_option): New Enum and EnumValue entries.
1822 (march=): Use Enum instead of Var.
1823 (mstack-guard=, mstack-size=): Use UInteger and Var.
1824 (mtune=): Use Enum.
1825
05b12036
JM
18262011-03-22 Joseph Myers <joseph@codesourcery.com>
1827
1828 * config/score/score.c (score_handle_option): Don't assert that
1829 global structures are in use. Access target_flags via opts
1830 pointer. Use value of -march= option to determine target_flags
1831 settings.
1832 * config/score/score.opt (march=): Use Enum.
1833 (score_arch): New Enum and EnumValue entries.
1834
dd51e35a
JM
18352011-03-22 Joseph Myers <joseph@codesourcery.com>
1836
1837 * config/mep/mep.c (option_mtiny_specified): Remove.
1838 (mep_option_override): Move register handling for -mivc2 from
1839 mep_handle_option. Use global_options_set.x_mep_tiny_cutoff
1840 instead of option_mtiny_specified.
1841 (mep_handle_option): Access target_flags via opts pointer. Don't
1842 assert that global structures are in use. Defer part of -mivc2
1843 handling and move it to mep_option_override.
1844 * config/mep/mep.opt (IVC2): New Mask entry.
1845 (mivc2): Use Var and Defer instead of Mask.
1846
4a8d3d91
JM
18472011-03-22 Joseph Myers <joseph@codesourcery.com>
1848
1849 * config/v850/v850-opts.h: New.
1850 * config/v850/v850.c (small_memory): Replace with
1851 small_memory_physical_max array. Make that array static const.
1852 (v850_handle_memory_option): Take integer value of argument. Take
1853 gcc_options pointer, option text and location. Return void.
1854 Update for changes to small memory structures.
1855 (v850_handle_option): Access target_flags via opts pointer. Don't
1856 assert that global structures are in use. Update calls to
1857 v850_handle_memory_option.
c78dd519
UB
1858 (v850_encode_data_area): Update references to small memory settings.
1859 * config/v850/v850.h (struct small_memory_info, small_memory): Remove.
4a8d3d91
JM
1860 (enum small_memory_type): Move to v850-opts.h.
1861 * config/v850/v850.opt (config/v850/v850-opts.h): New
1862 HeaderInclude entry.
1863 (small_memory_max): New Variable entry.
1864 (msda): Replace by pair of options msda= and msda-. Use UInteger.
1865 (mtda, mzda): Likewise.
1866
117fdbfa
JM
18672011-03-22 Joseph Myers <joseph@codesourcery.com>
1868
1869 * config/sh/sh.c (sh_handle_option): Access target_flags via opts
1870 pointer. Don't assert that global structures are in use.
1871
d715091c
JM
18722011-03-22 Joseph Myers <joseph@codesourcery.com>
1873
1874 * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
1875 via opts pointer. Don't assert that global structures are in use.
1876
1bb721dc
JM
18772011-03-22 Joseph Myers <joseph@codesourcery.com>
1878
1879 * config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
1880 (munix=93): Use Var.
1881 * config/pa/pa-hpux1010.opt (munix=95): Use Var.
1882 * config/pa/pa-hpux1111.opt (munix=98): Use Var.
1883 * config/pa/pa-opts.h: New.
1884 * config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
1885 (pa_handle_option): Don't assert that global structures are in
1886 use. Access target_flags via opts pointer. Don't handle
1887 OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
1888 OPT_munix_98 here.
1889 (pa_option_override): Handle deferred OPT_mfixed_range_.
1890
cd8d8754
JM
18912011-03-22 Joseph Myers <joseph@codesourcery.com>
1892
1893 * config/mn10300/mn10300-opts.h: New.
1894 * config/mn10300/mn10300.c (mn10300_processor,
1895 mn10300_tune_string): Remove.
1896 (mn10300_handle_option): Don't assert that global structures are
1897 in use. Access mn10300_processor via opts pointer. Don't handle
1898 OPT_mtune_ here.
1899 * config/mn10300/mn10300.h (enum processor_type): Move to
1900 mn10300-opts.h.
1901 (mn10300_processor): Remove.
1902 * config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
1903 HeaderInclude entry.
1904 (mn10300_processor): New Variable entry.
1905 (mtune=): Use Var.
1906
24e6e6b1
JM
19072011-03-22 Joseph Myers <joseph@codesourcery.com>
1908
1909 * config/microblaze/microblaze.c: Don't include opts.h.
1910 (microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
1911 * config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
1912 (mno-clearbss): Use Var and Warn.
1913
8a784afb
JM
19142011-03-22 Joseph Myers <joseph@codesourcery.com>
1915
1916 * config/m32r/m32r-opts.h: New.
1917 * config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
1918 (m32r_handle_option): Don't assert that global structures are in
1919 use. Access target_flags and m32r_cache_flush_func via opts
1920 pointer. Don't handle OPT_mmodel_, OPT_msdata_ or
1921 OPT_mno_flush_trap here.
1922 * config/m32r/m32r.h (Code Models, Small Data Area): Replace by
1923 include of m32r-opts.h.
1924 * config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
1925 HeaderInclude entry.
1926 (m32r_model_selected, m32r_sdata_selected): New Variable entries.
1927 (mmodel=): Use Enum and Var.
1928 (m32r_model): New Enum and EnumValue entries.
1929 (mno-flush-trap): Use Var.
1930 (msdata=): Use Enum and Var.
1931 (m32r_sdata): New Enum and EnumValue entries.
1932
bbfc9a8c
JM
19332011-03-22 Joseph Myers <joseph@codesourcery.com>
1934
1935 * config/m32c/m32c.c: Don't include opts.h.
1936 (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
1937 m32c_handle_option): Remove.
1938 (m32c_option_override): Check global_options_set.x_target_memregs
1939 instead of target_memregs_set.
1940 * config/m32c/m32c.h (target_memregs): Remove.
1941 * config/m32c/m32c.opt (memregs=): Use UInteger with integer
1942 variable.
1943
e24b8335
JM
19442011-03-22 Joseph Myers <joseph@codesourcery.com>
1945
1946 * config/iq2000/iq2000-opts.h: New.
1947 * config/iq2000/iq2000.c: Don't include opts.h.
1948 (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 1949 * config/iq2000/iq2000.h (enum processor_type, iq2000_tune): Remove.
e24b8335
JM
1950 * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
1951 HeaderInclude entry.
1952 (iq2000_tune): New Variable entry.
1953 (march=): Add comment. Use Enum.
1954 (iq2000_arch): New Enum and EnumValue entries.
1955 (mcpu=): Use Enum and Var.
1956 (iq2000_tune): New Enum and EnumValue entries.
1957
e6cc0c98
JM
19582011-03-22 Joseph Myers <joseph@codesourcery.com>
1959
1960 * config/ia64/ia64-opts.h: New.
1961 * config/ia64/ia64.c (ia64_tune): Remove.
1962 (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
1963 here. Use error_at.
1964 (ia64_option_override): Handle deferred OPT_mfixed_range_.
1965 * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
1966 * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
1967 HeaderInclude entry.
1968 (ia64_tune): New Variable entry.
1969 (mfixed-range=): Use Defer and Var.
1970 (mtune=): Use Enum and Var.
1971 (ia64_tune): New Enum and EnumValue entries.
1972
db25893c
JM
19732011-03-22 Joseph Myers <joseph@codesourcery.com>
1974
1975 * config/frv/frv-opts.h: New.
1976 * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
1977 frv-opts.h.
1978 (frv_cpu_type): Remove.
1979 * config/frv/frv.c: Don't include opts.h.
1980 (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 1981 * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry.
db25893c
JM
1982 (frv_cpu_type): New Variable entry.
1983 (frv_cpu): New Enum and EnumValue entries.
1984
6c223f5d
JM
19852011-03-22 Joseph Myers <joseph@codesourcery.com>
1986
1987 * config/cris/cris.c (cris_handle_option): Access target_flags via
1988 opts pointer. Don't assert that global structures are in use.
1989 Don't call CRIS_SUBTARGET_HANDLE_OPTION.
1990 * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
1991
bbd399cf
JM
19922011-03-22 Joseph Myers <joseph@codesourcery.com>
1993
1994 * config/bfin/bfin-opts.h: New.
1995 * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
1996 bfin_si_revision, bfin_workarounds): Remove.
1997 (bfin_cpus): Make static const.
1998 (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
1999 not bfin_lib_id_given.
2000 (bfin_handle_option): Don't set bfin_lib_id_given. Access
2001 bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
c78dd519 2002 pointer. Use error_at. Don't assert that global structures are in use.
bbd399cf
JM
2003 * config/bfin/bfin.h: Include bfin-opts.h.
2004 (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
2005 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
2006 * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
2007 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
2008 entries.
2009
5e1b4d5a
JM
20102011-03-22 Joseph Myers <joseph@codesourcery.com>
2011
2012 * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
2013 * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
2014 or -msoft-float here.
2015 * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
2016 -msoft-float and -mhard-float.
c78dd519 2017 (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and -msoft-float.
5e1b4d5a
JM
2018 * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
2019 msoft-float.
2020 * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
2021 -msoft-float.
2022 (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
2023 * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
2024 not mhard-float.
2025 (LIBGCC_SPEC): Don't handle -msoft-float.
2026 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
2027 -mhard-float.
2028 * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
2029 msoft-float.
2030 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
2031 -mfloat-abi=*, not -msoft-float and -mhard-float.
2032 * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
2033 -msoft-float.
2034 * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
2035 Use mfloat-abi=hard and mfloat-abi=soft in comments, not
2036 mhard-float and msoft-float.
2037 * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
2038 mfloat-abi=soft in comments, not mhard-float and msoft-float.
2039 * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
2040 mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
2041 mhard-float.
2042 * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
2043 mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
2044 msoft-float.
2045 * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
2046 not mhard-float.
2047 * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
2048 not msoft-float.
2049
800d1de1
RH
20502011-03-22 Richard Henderson <rth@redhat.com>
2051
2052 * config/alpha/alpha.c (alpha_expand_prologue): Don't test
2053 TARGET_ABI_WINDOWS_NT.
2054 (alpha_output_function_end_prologue): Likewise.
2055 * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
2056 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
2057 * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
2058 (trap, *movsi_nt_vms): Likewise.
2059 (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
2060 (*tablejump_osf_nt_internal): Remove.
2061 * config/alpha/predicates.md (input_operand): Only test Pmode.
2062
c59ddd2b
JM
20632011-03-22 Joseph Myers <joseph@codesourcery.com>
2064
2065 * config/alpha/alpha.c (alpha_handle_option): Access target_flags
2066 via opts pointer. Use error_at. Don't assert that global
2067 structures are in use.
2068
1333f97f
JM
20692011-03-22 Joseph Myers <joseph@codesourcery.com>
2070
2071 * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
2072 (ix86_handle_option): Access ix86_isa_flags and
2073 ix86_isa_flags_explicit via opts pointer. Don't assert that
2074 global structures are in use.
2075 (ix86_function_specific_save, ix86_function_specific_restore):
2076 Update ix86_isa_flags_explicit field name.
c78dd519 2077 * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable entry.
1333f97f
JM
2078 (ix86_isa_flags_explicit): Rename TargetSave entry to
2079 x_ix86_isa_flags_explicit.
2080
75db85d8
RH
20812011-03-22 Richard Henderson <rth@redhat.com>
2082
2083 * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
2084 (alpha_option_override, direct_return): Likewise.
2085 (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
2086 (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
2087 (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
2088 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
2089 (alpha_expand_epilogue, alpha_end_function): Likewise.
2090 (alpha_init_libfuncs): Likewise.
2091 (struct machine_function): Remove unicosmk members.
2092 (print_operand) ['t']: Remove.
2093 (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
2094 unicosmk_output_module_name, unicosmk_output_common,
2095 current_section_align, unicosmk_output_text_section_asm_op,
2096 unicosmk_output_data_section_asm_op, unicosmk_init_sections,
2097 unicosmk_section_type_flags, unicosmk_unique_section,
2098 unicosmk_asm_named_section, unicosmk_insert_attributes,
2099 unicosmk_output_align, unicosmk_defer_case_vector,
2100 unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
2101 SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
2102 unicosmk_output_ssib, unicosmk_add_call_info_word,
2103 unicosmk_extern_head, unicosmk_output_default_externs,
2104 unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
2105 unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
2106 unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
2107 * config/alpha/alpha-protos.h: Update.
2108 * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
2109 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
2110 (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
2111 (mulsi3): Don't test TARGET_ABI_UNICOSMK.
2112 (*mulsi_se, mulvsi3): Likewise.
2113 (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
2114 (*divmodsi_internal, call, call_value, realign): Likewise.
2115 (moddi3, umoddi3): Likewise; remove duplicate expander.
2116 (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
2117 (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
2118 (*movdi_nofix): Remove r/U alternative.
2119 (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
2120 * config/alpha/constraints.md ("U"): Remove.
2121 * config/alpha/predicates.md (call_operand"): Don't test
2122 TARGET_ABI_UNICOSMK.
2123
96e45421
JM
21242011-03-22 Joseph Myers <joseph@codesourcery.com>
2125
2126 * target.def (handle_option): Take gcc_options and
2127 cl_decoded_option pointers and location_t.
2128 * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
2129 * doc/tm.texi: Regenerate.
2130 * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
2131 * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
2132 * lto-opts.c (lto_reissue_options): Generate option structure for
2133 targetm.handle_option call.
2134 * opts.c (target_handle_option): Update call to
2135 targetm.handle_option. Remove assertions about values now passed
2136 down to hook.
2137 * targhooks.c (default_target_handle_option): New.
2138 * targhooks.h (default_target_handle_option): Declare.
2139 * config/alpha/alpha.c: Include opts.h.
2140 (alpha_handle_option): Update to new hook interface.
2141 * config/arm/arm.c: Include opts.h.
2142 (arm_handle_option): Update to new hook interface.
2143 * config/arm/t-arm (arm.o): Update dependencies.
2144 * config/bfin/bfin.c: Include opts.h.
2145 (bfin_handle_option): Update to new hook interface.
2146 * config/cris/cris.c: Include opts.h.
2147 (cris_handle_option): Update to new hook interface.
2148 * config/frv/frv.c: Include opts.h.
2149 (frv_handle_option): Update to new hook interface.
2150 * config/i386/i386.c: Include opts.h.
2151 (ix86_handle_option): Update to new hook interface.
2152 (ix86_valid_target_attribute_inner_p): Generate option structure
2153 for call to ix86_handle_option.
2154 * config/i386/t-i386 (i386.o): Update dependencies.
2155 * config/ia64/ia64.c: Include opts.h.
2156 (ia64_handle_option): Update to new hook interface.
2157 * config/ia64/t-ia64 (ia64.o): Update dependencies.
2158 * config/iq2000/iq2000.c: Include opts.h.
2159 (iq2000_handle_option): Update to new hook interface.
2160 * config/m32c/m32c.c: Include opts.h.
2161 (m32c_handle_option): Update to new hook interface.
2162 * config/m32r/m32r.c: Include opts.h.
2163 (m32r_handle_option): Update to new hook interface.
2164 * config/m68k/m68k.c: Include opts.h.
2165 (m68k_handle_option): Update to new hook interface.
2166 * config/mep/mep.c: Include opts.h.
2167 (mep_handle_option): Update to new hook interface.
2168 * config/microblaze/microblaze.c: Include opts.h.
2169 (microblaze_handle_option): Update to new hook interface.
2170 * config/mips/mips.c: Include opts.h.
2171 (mips_handle_option): Update to new hook interface.
2172 * config/mn10300/mn10300.c: Include opts.h.
2173 (mn10300_handle_option): Update to new hook interface.
2174 * config/pa/pa.c: Include opts.h.
2175 (pa_handle_option): Update to new hook interface.
2176 * config/pdp11/pdp11.c: Include opts.h.
2177 (pdp11_handle_option): Update to new hook interface.
2178 * config/rs6000/rs6000.c: Include opts.h.
2179 (rs6000_handle_option): Update to new hook interface.
2180 * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
2181 * config/rx/rx.c: Include opts.h.
2182 (rx_handle_option): Update to new hook interface.
2183 * config/s390/s390.c: Include opts.h.
2184 (s390_handle_option): Update to new hook interface.
2185 * config/score/score.c: Include opts.h.
2186 (score_handle_option): Update to new hook interface.
2187 * config/sh/sh.c: Include opts.h.
2188 (sh_handle_option): Update to new hook interface.
2189 * config/sparc/sparc.c: Include opts.h.
2190 (sparc_handle_option): Update to new hook interface.
2191 * config/v850/v850.c: Include opts.h.
2192 (v850_handle_option): Update to new hook interface.
2193
66017846
JM
21942011-03-22 Joseph Myers <joseph@codesourcery.com>
2195
2196 * gcc.c (driver_unknown_option_callback): Only permit and save
2197 unknown -Wno- options.
2198 (driver_wrong_lang_callback): Save options directly instead of via
2199 driver_unknown_option_callback.
2200
e8b97ccd
EB
22012011-03-22 Eric Botcazou <ebotcazou@adacore.com>
2202
2203 * combine.c (simplify_set): Try harder to find the best CC mode when
2204 simplifying a nested COMPARE on the RHS.
2205
ebb9f8b0
JM
22062011-03-22 Joseph Myers <joseph@codesourcery.com>
2207
2208 * config/alpha/gnu.h: Remove.
2209 * config/arc: Remove directory.
2210 * config/arm/netbsd.h: Remove.
2211 * config/arm/t-pe: Remove.
2212 * config/crx: Remove directory.
2213 * config/i386/netbsd.h: Remove.
2214 * config/m68hc11: Remove directory.
2215 * config/m68k/uclinux-oldabi.h: Remove.
2216 * config/mcore/mcore-pe.h: Remove.
2217 * config/mcore/t-mcore-pe: Remove.
2218 * config/netbsd-aout.h: Remove.
2219 * config/rs6000/gnu.h: Remove.
2220 * config/sh/sh-symbian.h: Remove.
2221 * config/sh/symbian-base.c: Remove.
2222 * config/sh/symbian-c.c: Remove.
2223 * config/sh/symbian-cxx.c: Remove.
2224 * config/sh/symbian-post.h: Remove.
2225 * config/sh/symbian-pre.h: Remove.
2226 * config/sh/t-symbian: Remove.
2227 * config/svr3.h: Remove.
2228 * config/vax/netbsd.h: Remove.
2229 * config.build: Don't handle i[34567]86-*-pe.
2230 * config.gcc: Remove handling of deprecations for most deprecated
2231 targets.
2232 (m68k-*-uclinuxoldabi*): Add to second deprecated list.
2233 (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
2234 i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
2235 m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
2236 powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
2237 sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
2238 Remove cases.
2239 * config.host: Don't handle i[34567]86-*-pe.
2240 * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
2241 (ASM_SPEC32): Don't handle -mcall-gnu.
2242 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
2243 -mcall-gnu.
2244 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
2245 STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
2246 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
2247 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
2248 (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
2249 * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
2250 conditional on SYMBIAN.
2251 * configure.ac: Don't handle powerpc*-*-gnu*.
2252 * configure: Regenerate.
2253 * doc/extend.texi (interrupt attribute): Don't mention CRX.
2254 * doc/install-old.texi (m6811, m6812): Don't mention.
2255 * doc/install.texi (arc-*-elf*): Don't document multilib option.
2256 (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
2257 (m68k-uclinuxoldabi): Don't mention.
2258 * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
2259 Remove.
2260 (-mcall-gnu): Remove.
2261 * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
2262 families): Remove constraint documentation.
2263
999a7d80
MS
22642011-03-22 Marius Strobl <marius@FreeBSD.org>
2265
2266 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
2267 (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
2268 (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
2269
980a0ff4
GJL
22702011-03-21 Georg-Johann Lay <avr@gjlay.de>
2271
2272 * config/avr/avr-protos.h (expand_epilogue): Change prototype
2273 * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
2274 * config/avr/avr.c (init_cumulative_args)
2275 (avr_function_arg_advance): Use it.
2276 * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
2277 sibcall epilogues.
2278 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
2279 (avr_function_ok_for_sibcall): ...this new function.
2280 (avr_lookup_function_attribute1): New static Function.
2281 (avr_naked_function_p, interrupt_function_p)
2282 (signal_function_p, avr_OS_task_function_p)
2283 (avr_OS_main_function_p): Use it.
2284 * config/avr/avr.md ("sibcall", "sibcall_value")
2285 ("sibcall_epilogue"): New expander.
2286 ("*call_insn", "*call_value_insn"): New insn.
2287 ("call_insn", "call_value_insn"): Remove
2288 ("call", "call_value", "epilogue"): Change expander to handle
2289 sibling calls.
2290
49168734
NC
22912011-03-21 Nick Clifton <nickc@redhat.com>
2292
2293 * doc/invoke.texi (Overall Options): Move closing brace to end of
2294 options list.
2295 (Optimization Options): Add missing @gol.
2296 (Directory Options): Likewise.
2297 (i386 and x86-64 Options): Likewise.
2298 (RS6000 and PowerPC Options): Likewise.
2299 (i386 and x86-64 Windows Options): Likewise.
2300 (V850 Options): Add text missing from descriptions.
2301
bdfe906f
RH
23022011-03-22 Richard Henderson <rth@redhat.com>
2303
2304 * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
2305 (avr_incoming_return_addr_rtx): New.
2306 (emit_push_byte): New.
2307 (expand_prologue): Use it. Remove incorrect dwarf annotation for
2308 SREG, RAMPZ, zero register. Push frame pointer by bytes. Add dwarf
2309 annotation for __prologue_saves__. Fixup dwarf annotation for CFA.
2310 (emit_pop_byte): New.
2311 (expand_epilogue): Use it. Pop frame pointer by bytes.
2312 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
2313 (INCOMING_RETURN_ADDR_RTX): New.
2314 (INCOMING_FRAME_SP_OFFSET): New.
2315 (ARG_POINTER_CFA_OFFSET): New.
2316 * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
2317 (*pushhi, *pushsi, *pushsf, popqi): Likewise.
2318 (pophi): Remove.
2319
d090a5aa
RH
2320 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
2321
fdf3e18a
NF
23222011-03-22 Nathan Froyd <froydnj@codesourcery.com>
2323
2324 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
2325 (FUNCTION_ARG_ADVANCE): Likewise.
2326 * tm.texi.in: Change references to them to hook references.
2327 * tm.texi: Regenerate.
2328 * targhooks.c (default_function_arg): Eliminate check for target
2329 macro.
2330 (default_function_incoming_arg): Likewise.
2331 (default_function_arg_advance): Likewise.
c78dd519 2332 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
fdf3e18a
NF
2333 (function_arg_advance): Likewise.
2334 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
2335
009d3fcf
NF
23362011-03-22 Nathan Froyd <froydnj@codesourcery.com>
2337
2338 * tree.c (build_call_1): New function.
2339 (build_call_valist, build_call_array_loc, build_call_vec): Call it.
2340
7bec30e1
RG
23412011-03-22 Richard Guenther <rguenther@suse.de>
2342
2343 PR tree-optimization/48228
2344 * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
2345 for single-arg PHIs.
2346
0b7e851b
AB
23472011-03-22 Andrey Belevantsev <abel@ispras.ru>
2348
2349 PR rtl-optimization/48143
2350 * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
2351 (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
2352 sse2_cvtps2pd): Likewise.
2353
d89afca5
AK
23542011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2355
2356 * recog.c (canonicalize_change_group): Use validate_unshare_change.
2357
f471fe72
RG
23582011-03-22 Richard Guenther <rguenther@suse.de>
2359
2360 * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
2361 a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
2362 * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
2363 and REALIGN_LOAD_EXPR.
2364 (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
2365 DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
2366 * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
2367 DOT_PROD_EXPR case ...
2368 (expand_expr_real_2): ... here.
2369 * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
2370 and REALIGN_LOAD_EXPR.
2371 * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
2372 * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
2373 (vect_create_epilog_for_reduction): Likewise.
2374 (vectorizable_reduction): Likewise.
2375 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
2376 * tree-vect-stmts.c (vectorizable_load): Likewise.
2377
f2f81d57
EB
23782011-03-22 Eric Botcazou <ebotcazou@adacore.com>
2379
2380 * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
2381
ab081dd6
AK
23822011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2383
2384 * config/s390/s390.c (s390_delegitimize_address): Fix offset
2385 handling for PLTOFF/GOTOFF.
2386
6fd5332b
NC
23872011-03-22 Nick Clifton <nickc@redhat.com>
2388
2389 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
2390 trailing backslash from the end of the macro definition.
2391
01841ac0
AK
23922011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2393
2394 * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
2395 and PLT unspecs.
2396
2ef6ce06
RS
23972011-03-21 Richard Sandiford <richard.sandiford@linaro.org>
2398
2399 * expr.h (prepare_operand): Move to...
2400 * optabs.h (prepare_operand): ...here and change the insn code
2401 parameter from "int" to "enum insn_code".
2402 (insn_operand_matches): Declare.
2403 * expr.c (init_expr_target): Use insn_operand_matches.
2404 (compress_float_constant): Likewise.
2405 * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
2406 * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
2407 (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
c78dd519
UB
2408 (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn):
2409 Likewise.
2ef6ce06
RS
2410 (gen_cond_trap): Likewise.
2411 (prepare_operand): Likewise. Change icode to an insn_code.
2412 (insn_operand_matches): New function.
2413 * reload.c (find_reloads_address_1): Use insn_operand_matches.
2414 * reload1.c (gen_reload): Likewise.
2415 * targhooks.c (default_secondary_reload): Likewise.
2416
9e43ad68
UB
24172011-03-21 Uros Bizjak <ubizjak@gmail.com>
2418
9a96da32
UB
2419 * config/alpha/alpha.md (unspec): New define_c_enum.
2420 (unspecv): Ditto.
2421
24222011-03-21 Uros Bizjak <ubizjak@gmail.com>
2423
2424 PR debug/48214
9e43ad68
UB
2425 * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
2426 between a call and its CALL_ARG_LOCATION note.
2427
31408f60
EB
24282011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2429
2430 * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
2431
24322011-03-21 Jakub Jelinek <jakub@redhat.com>
126e6609
JJ
2433
2434 PR c/42544
2435 PR c/48197
2436 * c-common.c (shorten_compare): If primopN is first sign-extended
2437 to opN and then zero-extended to result type, set primopN to opN.
2438
9dfd55f5
DJ
24392011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
2440
2441 * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
2442 for barrier handlers.
2443
f3c33d9d
MM
24442011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
2445
2446 * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
2447 UNSPEC constants to be in the unspec enumeration, and redefine
2448 all UNSPECV constants to be in the unspecv enumeration, so that
2449 dumps print which unspec/unspec_volatile this is.
2450 * config/rs6000/vector.md (UNSPEC_*): Ditto.
2451 * config/rs6000/paired.md (UNSPEC_*): Ditto.
2452 * config/rs6000/vsx.md (UNSPEC_*): Ditto.
2453 * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
2454 * config/rs6000/dfp.md (UNSPEC_*): Ditto.
2455
2456 * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
2457 UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
2458 UNSPECV_LWSYNC, since these are used as unspec_volatile.
2459 * config/rs6000/sync.md (isync, lwsync): Ditto.
2460
ac43f774
RG
24612011-03-21 Richard Guenther <rguenther@suse.de>
2462
2463 * params.def (lto-min-partition): Fix typo.
2464
411cdbd8
RG
24652011-03-21 Richard Guenther <rguenther@suse.de>
2466
2467 PR c/47939
2468 * c-decl.c (grokdeclarator): Drop to the main variant only
2469 for array types. Drop flag_gen_aux_info check.
2470
1cd9e416
RG
24712011-03-21 Richard Guenther <rguenther@suse.de>
2472
2473 PR translation/47911
2474 * params.def (lto-partitions): Fix typo.
2475 (lto-min-partition): Fix wording.
2476
ada5ad67
AT
24772011-03-21 Andreas Tobler <andreast@fgznet.ch>
2478
2479 * config/rs6000/t-freebsd: Remove duplication from file.
2480
f9613c9a
RG
24812011-03-21 Richard Guenther <rguenther@suse.de>
2482
2483 PR middle-end/47661
2484 * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
2485
9bfbc1eb
RG
24862011-03-21 Richard Guenther <rguenther@suse.de>
2487
2488 PR lto/48210
2489 * params.def (lto-partitions): Require at least 1 partition.
2490
a2268084
RO
24912011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2492
2493 * gthr-solaris.h: Remove.
2494 * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
2495 * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
2496 (LIB_SPEC): Likewise.
2497 * config/sol2.opt (threads): Remove.
9e43ad68 2498 * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
a2268084
RO
2499 (sparc*-*-solaris2*): Likewise.
2500 * configure.ac (enable_threads): Enable solaris support.
2501 * configure: Regenerate.
9e43ad68 2502 * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
a2268084
RO
2503 * doc/install.texi (Configuration, --enable-threads=lib): Remove
2504 solaris.
2505
c43d9a1b
RO
25062011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2507
2508 * config.gcc: Obsolete *-*-solaris2.8*.
2509 * doc/install.texi (Specific, *-*-solaris2*): Document it.
2510
084239f4
RO
25112011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2512
2513 PR bootstrap/48135
2514 * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
2515 reference. Solaris 8 perl works.
2516
64cadbe7
RO
25172011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2518
2519 PR bootstrap/48135
2520 * doc/install.texi (Prerequisites): Move jar etc. up.
2521 Explain support library version requirements.
2522
eb975109
RO
25232011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2524
2525 PR bootstrap/48135
2526 * doc/install.texi (Prerequisites): Move Perl to build
2527 requirements. Always necessary on Solaris 2 with Sun ld.
2528
8a509ffd
RO
25292011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2530
2531 * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
2532 binutils 2.21.
2533 (Specific, i?86-*-solaris2.[89]): Likewise.
2534 (Specific, i?86-*-solaris2.10): Likewise.
2535 (Specific, mips-sgi-irix6): Likewise.
2536 (Specific, *-*-solaris2*): Remove Sun Studio download URL.
2537 Update for binutils 2.21.
2538
8fbc58a1
RO
25392011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2540
2541 * configure.ac (gcc_cv_lto_plugin): Fix typo.
2542 Allow -fuse-linker-plugin for non-default plugin linker.
2543 * configure: Regenerate.
2544
7e84ad0b
NP
25452011-03-21 Nicola Pero <nicola.pero@meta-innovation.com>
2546
2547 PR bootstrap/48167
2548 * gengtype.c (files_rules): Added rule for cp/parser.h.
2549
2f36e14b
JJ
25502011-03-21 Jakub Jelinek <jakub@redhat.com>
2551
2552 PR target/48213
2553 * config/s390/s390.c (s390_delegitimize_address): Don't call
2554 lowpart_subreg if orig_x has BLKmode.
2555
62d784f7
KT
25562011-03-21 Kai Tietz <ktietz@redhat.com>
2557
2558 PR target/12171
9e43ad68
UB
2559 * doc/plugins.texi: Adjust documentation for plugin register_callback.
2560 * tree.h (attribute_spec): Add new member affects_type_identity.
2561 * attribs.c (empty_attribute_table): Adjust attribute_spec
2562 initializers.
62d784f7
KT
2563 * config/alpha/alpha.c: Likewise.
2564 * config/arc/arc.c: Likewise.
2565 * config/arm/arm.c: Likewise.
2566 * config/avr/avr.c: Likewise.
2567 * config/bfin/bfin.c: Likewise.
2568 * config/crx/crx.c: Likewise.
2569 * config/darwin.h: Likewise.
2570 * config/h8300/h8300.c: Likewise.
2571 * config/i386/cygming.h: Likewise.
2572 * config/i386/i386.c: Likewise.
2573 * config/ia64/ia64.c: Likewise.
2574 * config/m32c/m32c.c: Likewise.
2575 * config/m32r/m32r.c: Likewise.
2576 * config/m68hc11/m68hc11.c: Likewise.
2577 * config/m68k/m68k.c: Likewise.
2578 * config/mcore/mcore.c: Likewise.
2579 * config/mep/mep.c: Likewise.
2580 * config/microblaze/microblaze.c: Likewise.
2581 * config/mips/mips.c: Likewise.
2582 * config/rs6000/rs6000.c: Likewise.
2583 * config/rx/rx.c: Likewise.
2584 * config/sh/sh.c: Likewise.
2585 * config/sol2.h: Likewise.
2586 * config/sparc/sparc.c: Likewise.
2587 * config/spu/spu.c: Likewise.
2588 * config/stormy16/stormy16.c: Likewise.
2589 * config/v850/v850.c: Likewise.
2590
54833ec0
CLT
25912011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
2592
2593 * simplify-rtx.c (simplify_binary_operation_1): Handle
2594 (xor (and A B) C) case when B and C are both constants.
2595
14a41392
MX
25962011-03-21 Mingjie Xing <mingjie.xing@gmail.com>
2597
2598 * tree-dfa.c (add_referenced_var): Fix typo in comment.
2599
806c3492
EB
26002011-03-20 Eric Botcazou <ebotcazou@adacore.com>
2601
2602 PR bootstrap/48168
2603 * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
2604
65e0a0f3
JJ
26052011-03-20 Jakub Jelinek <jakub@redhat.com>
2606
2607 PR rtl-optimization/48156
2608 * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
2609 assume df and df_lr are not NULL.
2610
b6a75dda
RR
26112011-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
2612
2613 PR debug/48023
2614 * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
2615 between a call and its CALL_ARG_LOCATION note.
2616
5969b52d
KK
26172011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
2618
2619 PR debug/48178
2620 * config/sh/sh.c (find_barrier): Don't emit a constant pool
2621 between a call and its corresponding CALL_ARG_LOCATION note.
2622
f773c2bd
AS
26232011-03-19 Anatoly Sokolov <aesok@post.ru>
2624
2625 * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
2626 instead of loop. Use HARD_REGISTER_NUM_P predicate.
2627 * haifa-sched.c (setup_ref_regs): Ditto.
2628 * caller-save.c (add_used_regs_1): Ditto.
2629 * dse.c (look_for_hardregs): Ditto.
2630 * df-problems.c (df_simulate_one_insn_forwards): Ditto.
2631 * sched-rgn.c (check_live_1): Ditto.
2632
8bf872f9
JM
26332011-03-18 Joseph Myers <joseph@codesourcery.com>
2634
2635 * c-decl.c (diagnose_mismatched_decls): Give an error for
2636 redefining a typedef with variably modified type.
2637
ff8e2159
JM
26382011-03-18 Joseph Myers <joseph@codesourcery.com>
2639
2640 * c-decl.c (grokfield): Don't allow typedefs for structures or
2641 unions with no tag by default.
2642 * doc/extend.texi (Unnamed Fields): Update.
2643
16cc4440
UB
26442011-03-18 Uros Bizjak <ubizjak@gmail.com>
2645
2646 * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
2647 Rewrite using indirect functions.
2648 (lwp_slwpcb): Ditto.
2649 * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
2650 (avx_vinsertf128<mode>): Ditto.
2651
e101e12e
AK
26522011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2653
2654 * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
2655 unspecs.
2656
4627c7fb
AK
26572011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2658
2659 * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
9e43ad68 2660 splitting between a call and its corresponding CALL_ARG_LOCATION note.
4627c7fb 2661
2d36b47f
MK
26622011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
2663
2664 PR rtl-optimization/48170
2665 * gcse.c (hoist_code): Remove bogus asserts.
2666
2a3d7659
JL
26672011-03-18 Georg-Johann Lay <avr@gjlay.de>
2668
2669 * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
2670 computation for prologue/epilogue.
2671
34c3ef05
RO
26722011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2673
2674 * Makefile.in (check-consistency): Remove.
2675
81f2b976
JJ
26762011-03-18 Jakub Jelinek <jakub@redhat.com>
2677
2678 PR debug/48176
2679 * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
2680 arange_table_in_use is 0, but either text_section_used or
2681 cold_text_section_used is true. Don't call it if
2682 !info_section_emitted.
2683
68fd7765
AS
26842011-03-18 Anatoly Sokolov <aesok@post.ru>
2685
2686 * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
2687 FUNCTION_VALUE_REGNO_P): Remove.
2688 * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
2689 Remove.
2690 * config/avr/avr.c (avr_ret_register): Make static inline.
2691 (avr_function_value_regno_p): New function.
2692 (avr_libcall_value): Make static. Add 'func' argument.
2693 (avr_function_value): Make static. Rename 'func' argument to
2694 'fn_decl_or_type', forward it to avr_libcall_value. Call
2695 avr_ret_register function instead of RET_REGISTER macro.
2696 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
2697
b4ef8aac
JM
26982011-03-18 Jason Merrill <jason@redhat.com>
2699
2700 PR c++/23372
2701 * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
2702
09a52fc3
RG
27032011-03-18 Richard Guenther <rguenther@suse.de>
2704
2705 * doc/install.texi (--enable-gold): Remove.
2706 (--with-plugin-ld): Document.
2707 * doc/invoke.texi (-fuse-linker-plugin): Clarify.
2708
2a3d7659 27092011-03-18 Andrew Pinski <pinskia@gmail.com>
3bf162a0
AP
2710
2711 PR middle-end/47790
2712 * expr.c (optimize_bitfield_assignment_op): Revamp to work
2713 again after expansion changes.
2714
2abbb0fe
CLT
27152011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
2716
2717 * combine.c (try_combine): Do simplification only call of
2718 subst() on i2 even when i1 is present. Update comments.
2719
2efd0aa6
KK
27202011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
2721
2722 * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
2723 and UNSPEC_PCREL_SYMOFF.
2724
30a49b23
AK
27252011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2726
2727 * config/s390/s390.md: Use define_c_enum for the unspec constant
2728 definitions.
2729
419e1853
JJ
27302011-03-18 Richard Henderson <rth@redhat.com>
2731 Jakub Jelinek <jakub@redhat.com>
2732
2733 PR bootstrap/48161
2734 * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
2735 instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
2736
37875856
L
27372011-03-17 H.J. Lu <hongjiu.lu@intel.com>
2738
2739 PR middle-end/47725
2740 * combine.c (cant_combine_insn_p): Don't check zero/sign
2741 extended hard registers.
2742
76069764
L
27432011-03-17 H.J. Lu <hongjiu.lu@intel.com>
2744
2745 PR middle-end/47725
2746 * combine.c (cant_combine_insn_p): Check zero/sign extended
2747 hard registers.
2748
24da2019
AS
27492011-03-17 Anatoly Sokolov <aesok@post.ru>
2750
2751 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
2752 * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
2753 * config/v850/v850.c (v850_output_addr_const_extra): Make static.
2754 Change return type to bool.
2755 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
2756
a82ff31f
JJ
27572011-03-17 Jakub Jelinek <jakub@redhat.com>
2758
8b29c87a
JJ
2759 PR debug/48163
2760 * var-tracking.c (prepare_call_arguments): If CALL target
2761 is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
2762 pc instead of looking it up using cselib_lookup and use
2763 Pmode for it if x has VOIDmode.
2764 * dwarf2out.c (gen_subprogram_die): If also both first and
2765 second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
2766
a82ff31f
JJ
2767 PR debug/48163
2768 * function.c (assign_parms): For data.passed_pointer parms
2769 use MEM of data.entry_parm instead of data.entry_parm itself
2770 as DECL_INCOMING_RTL.
2771 * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
2772 also when passed and declared mode is the same, DECL_RTL
2773 is a MEM with pseudo as address and DECL_INCOMING_RTL is
2774 a MEM too.
2775
82ce305c
JL
27762011-03-16 Jeff Law <law@redhat.com>
2777
2778 PR rtl-optimization/37273
2779 * ira-costs.c (scan_one_insn): Detect constants living in memory and
2780 handle them like argument loads from stack slots. Do not double
2781 count memory for memory constants and argument loads from stack slots.
2782
fe58e02b
L
27832011-03-17 H.J. Lu <hongjiu.lu@intel.com>
2784
2785 PR debug/48160
2786 * var-tracking.c (prepare_call_arguments): Check SUBREG.
2787
6fc4dbc7
L
27882011-03-17 H.J. Lu <hongjiu.lu@intel.com>
2789
2790 PR target/48171
2791 * config/i386/i386.opt: Add Save to -mavx and -mfma.
2792
db3ed0b3
JJ
27932011-03-17 Jakub Jelinek <jakub@redhat.com>
2794
8054a389
JJ
2795 PR bootstrap/48153
2796 * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
2797 if dwarf_strict.
2798 (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
2799 Clear call_arg_locations and call_arg_loc_last always.
2800
db3ed0b3
JJ
2801 PR middle-end/48152
2802 * var-tracking.c (prepare_call_arguments): If argument needs to be
2803 passed by reference, adjust argtype and mode.
2804
1bce4ff3
RG
28052011-03-17 Richard Guenther <rguenther@suse.de>
2806
2807 PR middle-end/48134
2808 * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
2809 a value make sure to fold the statement.
2810
7c71147d
CLT
28112011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
2812
2813 PR target/43872
2814 * config/arm/arm.c (arm_get_frame_offsets): Adjust early
2815 return condition with !cfun->calls_alloca.
2816
0e1ee172
RG
28172011-03-17 Richard Guenther <rguenther@suse.de>
2818
2819 PR bootstrap/48148
2820 * lto-cgraph.c (input_overwrite_node): Clear the abstract
2821 origin for decls in other ltrans units.
2822 (input_varpool_node): Likewise.
2823
f8bce518
RG
28242011-03-17 Richard Guenther <rguenther@suse.de>
2825
2826 PR middle-end/48165
2827 * tree-object-size.c (compute_object_offset): Properly return
2828 the offset operand of MEM_REFs as sizetype.
2829
1b6fa860
JJ
28302011-03-17 Jakub Jelinek <jakub@redhat.com>
2831
dabd47e7
JJ
2832 PR rtl-optimization/48141
2833 * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
2834 * dse.c: Include params.h.
2835 (active_local_stores_len): New variable.
2836 (add_wild_read, dse_step1): Clear it when setting active_local_stores
2837 to NULL.
2838 (record_store, check_mem_read_rtx): Decrease it when removing
2839 from the chain.
2840 (scan_insn): Likewise. Increase it when adding to chain, if it
2841 reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
2842 set active_local_stores to NULL before the addition.
2843 * Makefile.in (dse.o): Depend on $(PARAMS_H).
2844
1b6fa860
JJ
2845 PR rtl-optimization/48141
2846 * dse.c (record_store): If no positions are needed in an insn
2847 that cannot be deleted, at least unchain it from active_local_stores.
2848
7b5cb7d6
DS
28492011-03-16 Dodji Seketeli <dodji@redhat.com>
2850
2851 PR debug/47510
2852 * dwarf2out.c (strip_naming_typedef): Factorize out of ...
2853 (lookup_type_die_strip_naming_typedef): ... here.
2854 (get_context_die): Use it.
2855 (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
2856 the anonymous struct named by the naming typedef.
2857
585e9d9d
L
28582011-03-16 H.J. Lu <hongjiu.lu@intel.com>
2859
2860 PR target/48154
2861 * config/i386/i386.c (ix86_builtin_vectorized_function): Check
2862 TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
2863
6261ab0e
JL
28642011-03-16 Jeff Law <law@redhat.com>
2865
2866 * tree-vrp.c (identify_jump_threads): Slightly simplify type
16cc4440 2867 check for operands of conditional. Allow type to be a pointer.
6261ab0e 2868
0b0081ec
RG
28692011-03-16 Richard Guenther <rguenther@suse.de>
2870
2871 PR tree-optimization/48149
2872 * fold-const.c (fold_binary_loc): Fold
2873 COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
2874
64a3d647
RG
28752011-03-16 Richard Guenther <rguenther@suse.de>
2876
2877 PR tree-optimization/26134
2878 * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
2879 complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
2880 (non_rewritable_mem_ref_base): Handle complex type component
2881 accesses, constrain offsets for vector and complex extracts
2882 more properly.
2883
ef13324e
RG
28842011-03-16 Richard Guenther <rguenther@suse.de>
2885
2886 PR tree-optimization/48146
2887 * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
2888 operands avoiding the need for renaming.
2889
f0eddb90
RG
28902011-03-16 Richard Guenther <rguenther@suse.de>
2891
2892 * gimple-fold.c (maybe_fold_reference): Open-code relevant
2893 constant folding. Move MEM_REF canonicalization first.
2894 Rely on fold_const_aggregate_ref for initializer folding.
2895 * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
2896
e42348b8
JJ
28972011-03-16 Jakub Jelinek <jakub@redhat.com>
2898
29f10e71
JJ
2899 PR middle-end/48136
2900 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
2901 arg0/arg1 or their arguments are always fold converted to matching
2902 types.
2903
e42348b8
JJ
2904 * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
2905 to nargs.
2906
55b46574
RO
29072011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2908
2909 PR lto/46944
2910 * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
2911 Handle in-tree gold.
2912 (ld_vers): Extract binutils version for gold.
2913 (gcc_cv_ld_hidden): Handle gold here.
2914 (gcc_cv_lto_plugin): Determine level of linker plugin support.
2915 * configure: Regenerate.
2916 * config.in: Regenerate.
2917 * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
2918 -fuse-linker-plugin otherwise.
2919 (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
2920 (LINK_COMMAND_SPEC): Use it.
2921 (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
2922
2b1c5433
JJ
29232011-03-16 Jakub Jelinek <jakub@redhat.com>
2924
c2969d8e
JJ
2925 * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
2926 * calls.c: Remove debug.h include.
2927 (emit_call_1): Don't call virtual_call_token debug hook.
2928 * dwarf2out.c (debug_dcall_section, debug_vcall_section,
2929 dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
2930 vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
2931 size_of_dcall_table, output_dcall_table, size_of_vcall_table,
2932 output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
2933 vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
2934 dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
2935 dwarf2out_virtual_call): Remove.
2936 (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
2937 copy_call_info and virtual_call hooks.
2938 (dwarf2out_init): Don't initialize vcall_insn_table,
2939 debug_dcall_section and debug_vcall_section.
2940 (prune_unused_types): Don't mark nodes from dcall_table.
2941 (dwarf2out_finish): Don't output dcall or vcall tables.
2942 * final.c (final_scan_insn): Don't call direct_call or
2943 virtual_call debug hooks.
2944 * debug.h (struct gcc_debug_hooks): Remove direct_call,
2945 virtual_call_token, copy_call_info and virtual_call hooks.
2946 (debug_nothing_uid): Remove prototype.
2947 * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
2948 copy_call_info and virtual_call hooks.
2949 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
2950 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
2951 * debug.c (do_nothing_debug_hooks): Likewise.
2952 (debug_nothing_uid): Remove.
2953 * doc/invoke.texi (-fenable-icf-debug): Remove.
2954 * common.opt (-fenable-icf-debug): Likewise.
2955
325f5379
JJ
2956 * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
2957 * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
2958 call's MEM. Handle functions returning aggregate through a hidden
2959 first pointer. For virtual calls add clobbered pc to call arguments
2960 chain.
2961 * dwarf2out.c (gen_subprogram_die): Emit
2962 DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
2963 can't be emitted.
2964
a58a8e4b
JJ
2965 PR debug/45882
2966 * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
2967 * rtl.h (ENTRY_VALUE_EXP): Define.
2968 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
2969 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
2970 * print-rtl.c (print_rtx): Likewise.
2971 * gengtype.c (adjust_field_rtx_def): Likewise.
2972 * var-tracking.c (vt_add_function_parameter): Adjust
2973 gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
2974 * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
2975 * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
2976 partition is a default definition of a PARM_DECL, use ENTRY_VALUE
2977 of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
2978
2b1c5433
JJ
2979 * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
2980 Call var_location debug hook even on CALL_INSNs.
2981 (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
2982 * rtl.def (ENTRY_VALUE): New.
2983 * dwarf2out.c: Include cfglayout.h.
2984 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
2985 output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
2986 (struct call_arg_loc_node): New type.
2987 (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
2988 tail_call_site_count): New variables.
2989 (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
2990 DW_TAG_GNU_call_site_parameter.
2991 (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
2992 DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
2993 DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
2994 DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
2995 and DW_AT_GNU_all_source_call_sites.
2996 (mem_loc_descriptor): Handle ENTRY_VALUE.
2997 (add_src_coords_attributes): Don't add enything if
2998 DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
2999 (dwarf2out_abstract_function): Save and clear call_arg_location,
3000 call_site_count and tail_call_site_count around dwarf2out_decl call.
3001 (gen_call_site_die): New function.
3002 (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
3003 (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
3004 (dwarf2out_function_decl): Clear call_arg_locations,
3005 call_arg_loc_last, set call_site_count and tail_call_site_count
3006 to -1 and free block_map.
3007 (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
3008 CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
3009 followed by any real instructions.
3010 (dwarf2out_begin_function): Set call_site_count and
3011 tail_call_site_count to 0.
3012 (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
3013 is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
3014 attempt to force a DIE for it and worst case remove the attribute.
3015 (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
3016 check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
3017 the decl itself.
3018 * var-tracking.c: Include tm_p.h.
3019 (vt_stack_adjustments): For calls call note_register_arguments.
3020 (argument_reg_set): New variable.
3021 (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
3022 ensure the VALUE is resolved.
3023 (call_arguments): New variable.
3024 (prepare_call_arguments): New function.
3025 (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
3026 (struct expand_loc_callback_data): Add ignore_cur_loc field.
3027 (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
3028 always use the best expression.
3029 (vt_expand_loc): Add ignore_cur_loc argument.
3030 (vt_expand_loc_dummy): Clear ignore_cur_loc field.
3031 (emit_note_insn_var_location): Adjust vt_expand_loc callers.
3032 (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
3033 note for all calls.
3034 (vt_add_function_parameter): Use cselib_lookup_from_insn.
3035 If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
3036 argument. Don't call cselib_preserve_only_values and
3037 cselib_reset_table.
3038 (note_register_arguments): New function.
3039 (vt_initialize): Compute argument_reg_set. Call
3040 vt_add_function_parameters before processing basic blocks instead of
3041 afterwards. For calls call prepare_call_arguments before calling
3042 cselib_process_insn.
3043 * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
3044 * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
3045 (var-tracking.o): Depend on $(TM_P_H).
3046 * cfglayout.h (insn_scope): New prototype.
3047 * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
3048 * cfglayout.c (insn_scope): No longer static.
3049 * insn-notes.def (CALL_ARG_LOCATION): New.
3050 * calls.c (expand_call, emit_library_call_value_1): Put USEs for
3051 MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
3052 * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
3053 nothing for DECL_EXTERNAL BLOCK_VARS.
3054
9ef13bd0
AM
30552011-03-16 Alan Modra <amodra@gmail.com>
3056
3057 PR target/45844
3058 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
3059 create invalid offset address for vsx splat insn.
3060 * config/rs6000/predicates.md (splat_input_operand): New.
3061 * config/rs6000/vsx.md (vsx_splat_*): Use it.
3062
56b67510
XDL
30632011-03-15 Xinliang David Li <davidxl@google.com>
3064
3065 PR c/47837
3066 * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
3067 (normalize_preds): New function.
3068 (is_use_properly_guarded): Normalize def predicates.
3069
80fffdef
RR
30702011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
3071
732f37c6 3072 PR target/46788
80fffdef
RR
3073 * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
3074 in the output template.
3075
930672ad
RG
30762011-03-15 Richard Guenther <rguenther@suse.de>
3077
3078 PR middle-end/47650
3079 * tree-pretty-print.c (dump_function_declaration): Properly
3080 dump unprototyped and varargs function types.
3081
c7ee7b45
RG
30822011-03-15 Richard Guenther <rguenther@suse.de>
3083
3084 PR tree-optimization/13954
3085 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
3086 and friends.
3087
b2ad5e37
RG
30882011-03-15 Richard Guenther <rguenther@suse.de>
3089
3090 PR tree-optimization/48037
3091 * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
3092 selects into BIT_FIELD_REFs.
3093 (non_rewritable_mem_ref_base): Check if a MEM_REF is a
3094 vector select.
3095
7ee93d4e
JJ
30962011-03-15 Jakub Jelinek <jakub@redhat.com>
3097
3098 PR tree-optimization/48129
3099 * builtins.c (fold_builtin_snprintf): Convert to type of
3100 built_in_decls[BUILT_IN_SNPRINTF] retval instead of
3101 implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
3102
e106efc7
RG
31032011-03-15 Richard Guenther <rguenther@suse.de>
3104
3105 PR tree-optimization/41490
3106 * tree-ssa-dce.c (propagate_necessity): Handle returns without
3107 value but with VUSE.
3108 * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
3109 return statements.
3110 * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
3111 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
3112 * tree-tailcall.c (find_tail_calls): Ignore returns.
3113
17dea42f
RG
31142011-03-15 Richard Guenther <rguenther@suse.de>
3115
3116 PR middle-end/48031
3117 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
3118 or variable-indexed array accesses when in gimple form.
3119
01c77a60
RG
31202011-03-15 Richard Guenther <rguenther@suse.de>
3121
16cc4440 3122 * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
01c77a60 3123
77b0791e
AM
31242011-03-15 Alan Modra <amodra@gmail.com>
3125
3126 PR target/48032
3127 * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
3128 presume symbol_refs without a symbol_ref_decl are suitably
3129 aligned, nor other trees we may see here. Handle anchor symbols.
3130 (legitimate_constant_pool_address_p): Comment. Add mode param.
3131 Check cmodel=medium addresses. Adjust all calls.
3132 (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
3133 creating cmodel=medium optimized access to locals.
3134 * config/rs6000/constraints.md (R): Pass QImode to
3135 legitimate_constant_pool_address_p.
3136 * config/rs6000/predicates.md (input_operand): Pass mode to
3137 legitimate_constant_pool_address_p.
3138 * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
3139 Update prototype.
3140
35f61ba4
MM
31412011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
3142
3143 PR target/48053
3144 * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
3145 64-bit constants being loaded into registers other than GPRs such
3146 as loading 0 into a VSX register.
3147
07332e6d
RO
31482011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3149
16cc4440 3150 * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
07332e6d 3151
de888d90
JJ
31522011-03-14 Jakub Jelinek <jakub@redhat.com>
3153
ba3ceb2d
JJ
3154 PR middle-end/47917
3155 * builtins.c (fold_builtin_snprintf): New function.
3156 (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
3157 (fold_builtin_4): Likewise.
3158
2e64f8b8
JJ
3159 PR middle-end/38878
3160 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
3161 STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
3162 and C - X == X also strip nops from +/-/p+ operand.
3163 When optimizing -X == C, fold C to arg0's type.
3164
de888d90
JJ
3165 PR debug/47946
3166 * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
3167 emit it as add_AT_int instead of add_AT_unsigned.
3168
31692011-03-14 Tom Tromey <tromey@redhat.com>
f4e749b4
TT
3170
3171 * unwind-dw2.c: Include sys/sdt.h if it exists.
3172 (_Unwind_DebugHook): Use STAP_PROBE2.
3173 * config.in, configure: Rebuild.
3174 * configure.ac: Check for sys/sdt.h.
3175
d34abfd2
UB
31762011-03-14 Uros Bizjak <ubizjak@gmail.com>
3177
3178 * config/i386/i386.md (ROUND_FLOOR): New constant.
3179 (ROUND_CEIL): Ditto.
3180 (ROUND_TRUNC): Ditto.
3181 (ROUND_MXCSR): Ditto.
3182 (ROUND_NO_EXC): Ditto.
3183 (rint<mode>2): Use new defines instead of numerical constants.
3184 (floor<mode>2): Ditto.
3185 (ceil<mode>2): Ditto.
3186 (btrunc<mode>2): Ditto.
3187 * config/i386/i386-builtin-types.def: Define ROUND function type
3188 aliases.
3189 * config/i386/i386.c (enum ix86_builtins): Add
3190 IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
3191 (struct builtin_description): Add
3192 __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
3193 (ix86_expand_sse_round): New static function.
3194 (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
3195 function types.
3196 (ix86_builtin_vectorized_function): Handle
3197 BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
3198
87f9e23d
TT
31992011-03-14 Tom Tromey <tromey@redhat.com>
3200
3201 * c-parser.c (c_parser_asm_string_literal): Clear
3202 warn_overlength_strings.
3203
b3ab9ea2
TT
32042011-03-14 Tom Tromey <tromey@redhat.com>
3205
3206 * c-parser.c (disable_extension_diagnostics): Save
3207 warn_overlength_strings.
3208 (restore_extension_diagnostics): Restore warn_overlength_strings.
3209
6bd73dd8
JJ
32102011-03-14 Jakub Jelinek <jakub@redhat.com>
3211
3212 * BASE-VER: Change to 4.7.0.
3213
7f4d6e1b
RG
32142011-03-14 Richard Guenther <rguenther@suse.de>
3215
3216 PR middle-end/48098
3217 * tree.c (build_vector_from_val): Adjust assert to requirements
3218 and reality.
3219
c6104ef1
JJ
32202011-03-14 Jakub Jelinek <jakub@redhat.com>
3221
3222 PR bootstrap/48102
d34abfd2 3223 * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
c6104ef1 3224
dfa95e19
AT
32252011-03-14 Andreas Tobler <andreast@fgznet.ch>
3226
3227 * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
3228 terms of target_flags_explicit. Adjust copyright year.
3229
3230 * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
3231 * config/rs6000/t-freebsd: New file. Add override for
3232 LIB2FUNCS_EXTRA.
3233
bb322018
CD
32342011-03-13 Chris Demetriou <cgd@google.com>
3235
3236 * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
3237 (-fno-diagnostics-show-option): this, to reflect current default.
3238 (-Werror=): Update text about -fno-diagnostics-show-option.
3239
12b1c80b
PB
32402011-03-12 Peter Bergner <bergner@vnet.ibm.com>
3241
3242 PR target/48053
3243 * config/rs6000/predicates.md (easy_vector_constant_add_self,
3244 easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
3245 * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
3246 mode is not V2DImode or V2DFmode.
3247 (vspltis_constant): Do not handle V2DImode and V2DFmode.
3248 (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
3249 * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
3250 registers to 0.
3251 (movdi_internal64): Likewise.
3252
57d598f7
SP
32532011-03-12 Sebastian Pop <sebastian.pop@amd.com>
3254
3255 PR tree-optimization/47127
3256 * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
3257 parameter.
3258 (set_cloog_options): Same.
3259 (scop_to_clast): Same.
3260 (print_clast_stmt): Do not call cloog_state_malloc and
3261 cloog_state_free.
3262 (print_generated_program): Same.
3263 (gloog): Same.
3264 * graphite-clast-to-gimple.h (cloog_state): Declared.
3265 (scop_to_clast): Adjust declaration.
3266 * graphite.c (cloog_state): Defined here.
3267 (graphite_initialize): Call cloog_state_malloc.
3268 (graphite_finalize): Call cloog_state_free.
3269
f231b5ff
JM
32702011-03-11 Jason Merrill <jason@redhat.com>
3271
3272 * attribs.c (lookup_attribute_spec): Take const_tree.
3273 * tree.h: Adjust.
3274
6a4e2bd5
JM
32752011-03-11 Joseph Myers <joseph@codesourcery.com>
3276
3277 * config/sparc/sparc.c (sparc_option_override): Use
3278 PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
3279
a758fd67
RG
32802011-03-11 Richard Guenther <rguenther@suse.de>
3281
3282 PR tree-optimization/48067
3283 * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
3284 multiplication result will be only used once on the target
3285 stmt.
3286
03dfda54
RG
32872011-03-11 Richard Guenther <rguenther@suse.de>
3288
3289 * doc/invoke.texi (max-inline-insns-single): Adjust default value.
3290
5f11a50a
RG
32912011-03-11 Richard Guenther <rguenther@suse.de>
3292
3293 PR lto/48073
3294 * tree.c (find_decls_types_r): Do not walk types only reachable
3295 from IDENTIFIER_NODEs.
3296
4074f163
JJ
32972011-03-11 Jakub Jelinek <jakub@redhat.com>
3298
3299 PR middle-end/48044
3300 * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
3301 all vnode->force_output nodes as needed.
3302
30f7cdcd
JM
33032011-03-11 Jason Merrill <jason@redhat.com>
3304
3305 PR c++/48069
3306 * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
3307 COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
3308
62ecfeb8
MJ
33092011-03-11 Martin Jambor <mjambor@suse.cz>
3310
3311 * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
3312 cgraph_node.
3313
e89e03ab
JJ
33142011-03-11 Jakub Jelinek <jakub@redhat.com>
3315
3316 PR tree-optimization/48063
3317 * ipa-inline.c (cgraph_decide_inlining): Don't try to
3318 inline functions called once if !tree_can_inline_p (node->callers).
3319
efbe978b 33202011-03-11 Chen Liqin <liqin.gcc@gmail.com>
9d6193a7 3321
efbe978b
EB
3322 * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
3323 extra_objs.
9d6193a7
CL
3324 * config/score/score3.c: Delete.
3325 * config/score/score3.h: Delete.
3326 * config/score/mul-div.S: Delete.
3327 * config/score/sfp-machine.h: Add new file.
3328 * config/score/constraints.md: Add new file.
3329 * config/score/t-score-softfp: Add new file.
efbe978b 3330 * config/score/t-score-elf: Remove score3.o, do not generate multilib.
9d6193a7
CL
3331 * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
3332 (score7_extra_constraint): Delete.
efbe978b 3333 (score7_option_override): Remove unused code.
9d6193a7
CL
3334 * config/score/score.c: Remove score3 and score5 define and code.
3335 * config/score/score.h: Remove score3 and score5 define and code.
efbe978b 3336 * config/score/score.md: Remove score3 template and unusual insn.
9d6193a7
CL
3337 * config/score/score.opt: Remove score3 and score5 options.
3338
5de27cca
JDA
33392011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3340
3341 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
3342 when _HPUX_SOURCE is defined.
3343 (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
3344
18d92053
JM
33452011-03-10 Jason Merrill <jason@redhat.com>
3346
3347 PR c++/48029
3348 * stor-layout.c (layout_type): Don't set structural equality
3349 on arrays of incomplete type.
3350 * tree.c (type_hash_eq): Handle comparing them properly.
3351
67a2f76d
JJ
33522011-03-10 Jakub Jelinek <jakub@redhat.com>
3353
3354 PR debug/48043
18d92053 3355 * config/s390/s390.c (s390_delegitimize_address): Make sure the
67a2f76d
JJ
3356 result mode matches original rtl mode.
3357
d845b2f9
NC
33582011-03-10 Nick Clifton <nickc@redhat.com>
3359
3360 * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
39242686 3361 (andsi3, andsi3_flags): Fix timings for three operand alternative.
d845b2f9 3362
db7ec035
JJ
33632011-03-09 Jakub Jelinek <jakub@redhat.com>
3364
3365 PR rtl-optimization/47866
3366 * expr.c (store_field): If MEM_SCALAR_P (target), don't use
3367 MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
3368 if target wasn't scalar.
3369 * function.c (assign_stack_temp_for_type): Assert that neither
3370 MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
3371 MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
3372 macro.
3373 * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
3374
5d304e47
AK
33752011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3376
3377 * config/s390/s390-protos.h (s390_label_align): New prototype.
3378 * config/s390/s390.c (s390_label_align): New function.
3379 * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
3380
93b826f0
MM
33812011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
3382
3383 PR target/47755
3384 * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
3385 V2DI/V2DF constants. Only all 0's or all 1's are easy.
3386 (output_vec_const_move): Ditto.
3387
ef78aed6
AS
33882011-03-08 Anatoly Sokolov <aesok@post.ru>
3389
3390 * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
3391 * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
3392 * config/mips/mips.c (mips_preferred_reload_class): Make static.
3393 Change 'rclass' argument and result type to reg_class_t.
3394 (TARGET_PREFERRED_RELOAD_CLASS): Define.
3395
5f892aa0
GJL
33962011-03-08 Georg-Johann Lay <avr@gjlay.de>
3397
9e43ad68
UB
3398 * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
3399 * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
3400 (TARGET_MEMORY_MOVE_COST): Define.
3401 (avr_register_move_cost, avr_memory_move_cost): New Functions.
5f892aa0 3402
32bd2409
JJ
34032011-03-08 Jakub Jelinek <jakub@redhat.com>
3404
530a4800
JJ
3405 PR debug/47881
3406 * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
3407 removed anything.
3408
32bd2409
JJ
3409 PR tree-optimization/48022
3410 * fold-const.c (fold_comparison): Don't call fold_overflow_warning
3411 for EQ/NE_EXPR.
3412
c7148991
JJ
34132011-03-07 Jakub Jelinek <jakub@redhat.com>
3414
3415 PR debug/47991
3416 * var-tracking.c (find_use_val): Return NULL for
3417 cui->sets && cui->store_p BLKmode MEMs.
3418
43070a6e
AS
34192011-03-07 Anatoly Sokolov <aesok@post.ru>
3420
3421 * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
3422 Remove.
3423 * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
3424 xstormy16_print_operand_address): Remove.
3425 * config/stormy16/stormy16.c (xstormy16_print_operand,
3426 xstormy16_print_operand_address): Make static.
3427 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
3428
efbe978b 34292011-03-07 Pat Haugen <pthaugen@us.ibm.com>
79eefb0d
PH
3430
3431 PR target/47862
3432 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
3433 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
3434 before definition.
3435
cec8ac0b
ZD
34362011-03-07 Zdenek Dvorak <ook@ucw.cz>
3437
3438 PR bootstrap/48000
3439 * cfgloopmanip.c (fix_bb_placements): Return immediately
3440 if FROM is BASE_LOOP's header.
3441
59527282
PW
34422011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
3443
3444 * gimplify.c (gimplify_function_tree): Fix building calls
3445 to __builtin_return_address.
3446
617718f7
AM
34472011-03-07 Alan Modra <amodra@gmail.com>
3448
3449 * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
3450 * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
3451 * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
3452 * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
3453 return_mode args.
3454 * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
3455 (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
3456 (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
3457 (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
3458 * config/rs6000/rs6000.c
3459 (rs6000_elf_end_indicate_exec_stack): Rename to..
3460 (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
3461 for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
3462 (rs6000_file_start): ..here.
3463 (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
3464 file scope variables.
3465 (call_ABI_of_interest): New function.
3466 (init_cumulative_args): Set above vars when function return value
3467 is a float, vector, or small struct.
3468 (rs6000_function_arg_advance_1): Likewise for function args.
3469 (rs6000_va_start): Set rs6000_passes_float if variable arg function
3470 references float args.
3471
38528d50
MX
34722011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
3473
3474 * doc/cfg.texi: Remove "See" before @ref.
3475 * doc/invoke.texi: Likewise.
3476
f42cf4f4
JM
34772011-03-05 Jason Merrill <jason@redhat.com>
3478
3479 * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
3480
804a304d
AG
34812011-03-05 Anthony Green <green@moxielogic.com>
3482
3483 * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
3484
634ee309
ZD
34852011-03-05 Zdenek Dvorak <ook@ucw.cz>
3486
3487 PR rtl-optimization/47899
3488 * cfgloopmanip.c (fix_bb_placements): Fix first argument
3489 to flow_loop_nested_p when moving the loop upward.
3490
6fe471c8
RE
34912011-03-05 Richard Earnshaw <rearnsha@arm.com>
3492
3493 PR target/47719
3494 * arm.md (movhi_insn_arch4): Accept any immediate constant.
3495
cc58ceee
JJ
34962011-03-05 Jakub Jelinek <jakub@redhat.com>
3497
3498 PR tree-optimization/47967
3499 * ipa-cp.c (build_const_val): Return NULL instead of creating
3500 VIEW_CONVERT_EXPR for mismatching sizes.
3501 (ipcp_create_replace_map): Return NULL if build_const_val failed.
3502 (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
3503 give up on versioning.
3504
ea868305
AM
35052011-03-05 Alan Modra <amodra@gmail.com>
3506
3507 PR target/47986
3508 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
3509 full cmodel medium/large lo_sum + high addresses.
3510
bc6ce334
AK
35112011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3512
3513 * config/s390/s390.c (s390_decompose_address): Reject non-literal
3514 pool references in UNSPEC_LTREL_OFFSET.
3515
87e7b310
JH
35162011-03-04 Jan Hubicka <jh@suse.cz>
3517
3518 PR lto/47497
3519 * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
3520 (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
d34abfd2
UB
3521 * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
3522 Add node pointers.
87e7b310
JH
3523 * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
3524 cgraph_add_thunk): Add node pointers.
3525 * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
3526 associated to right node.
3527 (input_node): Update use of cgraph_same_body_alias
3528 and cgraph_add_thunk.
3529
d9c64246
CF
35302011-03-04 Changpeng Fang <changpeng.fang@amd.com>
3531
3532 * config/i386/i386.opt (mprefer-avx128): New flag.
d34abfd2
UB
3533 * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
3534 modes when the flag -mprefer-avx128 is on.
d9c64246 3535
08707076
RS
35362011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
3537
3538 * dwarf2out.c (compare_loc_operands): Fix address handling.
3539
52517c81
AM
35402011-03-04 Alan Modra <amodra@gmail.com>
3541
3542 * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
3543
b147c5b9
RG
35442011-03-04 Richard Guenther <rguenther@suse.de>
3545
3546 PR middle-end/47968
3547 * expmed.c (extract_bit_field_1): Prefer vector modes that
3548 vec_extract patterns can handle.
3549
8750672f
RG
35502011-03-04 Richard Guenther <rguenther@suse.de>
3551
3552 PR middle-end/47975
3553 * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
3554
9eac0f2a
RH
35552011-03-04 Richard Henderson <rth@redhat.com>
3556
3557 * explow.c (emit_stack_save): Remove 'after' parameter.
3558 (emit_stack_restore): Likewise.
3559 * expr.h: Update to match.
3560 * builtins.c, calls.c, stmt.c: Likewise.
3561 * config/alpha/alpha.md, config/avr/avr.md: Likewise.
3562 * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
3563 * function.c (expand_function_end): Insert the emit_stack_save
3564 sequence before parm_birth_insn instead of after.
3565
dfee1406
UB
35662011-03-03 Uros Bizjak <ubizjak@gmail.com>
3567
3568 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
3569 (ssse3_pmaddubsw128): Ditto.
3570 (ssse3_pmaddubsw): Ditto.
3571
f1d4c3de
SE
35722011-03-03 Steve Ellcey <sje@cup.hp.com>
3573
3574 * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
3575
71f3a3f5
JJ
35762011-03-03 Jakub Jelinek <jakub@redhat.com>
3577
423ed416
JJ
3578 PR c/47963
3579 * gimplify.c (omp_add_variable): Only call omp_notice_variable
3580 on TYPE_SIZE_UNIT if it is a DECL.
3581
71f3a3f5
JJ
3582 PR debug/47283
3583 * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
3584 first operand is not is_gimple_mem_ref_addr, try to fold it.
3585 If the operand still isn't is_gimple_mem_ref_addr, clear
3586 MEM_EXPR on op0.
3587
4b1a5c0d
RG
35882011-03-03 Richard Guenther <rguenther@suse.de>
3589
3590 PR middle-end/47283
3591 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
3592 match comment.
3593 (refs_may_alias_p_1): For release branches return true if
3594 we are confused by our input.
3595
b46616fd
AK
35962011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3597
3598 * config/s390/s390.c (s390_function_value): Rename to ...
3599 (s390_function_and_libcall_value): ... this.
3600 (s390_function_value): New function.
3601 (s390_libcall_value): New function.
dfee1406 3602 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
b46616fd
AK
3603 * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
3604 target macro definitions.
3605 * config/s390/s390-protos.h (s390_function_value): Remove prototype.
3606
46d8fabb
JM
36072011-03-02 Joseph Myers <joseph@codesourcery.com>
3608
3609 * config/i386/freebsd64.h (CC1_SPEC): Define.
3610 * config/i386/linux64.h (CC1_SPEC): Define.
3611 * config/i386/x86-64.h (CC1_SPEC): Don't define.
3612
6b1ce545
AS
36132011-03-02 Anatoly Sokolov <aesok@post.ru>
3614
3615 * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
3616 Remove.
3617 * config/stormy16/stormy16.c: Include reload.h.
3618 (xstormy16_memory_move_cost): New function.
3619 (TARGET_MEMORY_MOVE_COST): Define.
3620
34161e98
RS
36212011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
3622
3623 PR rtl-optimization/47925
3624 * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
3625 with side effects. Remove the more-specific check for volatile asms.
3626
f60a97cf
AM
36272011-03-02 Alan Modra <amodra@gmail.com>
3628
3629 PR target/47935
3630 * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
3631 toc relative addresses for valid offsets.
3632
f2ca11ca
RG
36332011-03-01 Richard Guenther <rguenther@suse.de>
3634
3635 PR tree-optimization/47890
3636 * tree-vect-loop.c (get_initial_def_for_induction): Set
3637 related stmt properly.
3638
7a00d9ea
RG
36392011-03-01 Richard Guenther <rguenther@suse.de>
3640
3641 PR lto/47924
3642 * lto-streamer.c (lto_record_common_node): Also register
3643 the canonical type.
3644
06c7edcc
RG
36452011-03-01 Richard Guenther <rguenther@suse.de>
3646
3647 PR lto/46911
3648 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
3649 Do not stream DECL_ABSTRACT_ORIGIN.
3650 (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
3651 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
3652 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
3653 Do not stream DECL_ABSTRACT_ORIGIN.
3654 (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
3655 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
3656
998871e9
AS
36572011-02-28 Anatoly Sokolov <aesok@post.ru>
3658
3659 * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
3660 FUNCTION_VALUE_REGNO_P): Remove.
b2e2ea67 3661 * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
998871e9
AS
3662 * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
3663 Add 'outgoing' argument.
3664 (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
3665 function.
3666 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
3667 TARGET_FUNCTION_VALUE_REGNO_P): Define.
3668
94369251
KT
36692011-02-28 Kai Tietz <kai.tietz@onevision.com>
3670
3671 PR debug/28047
3672 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
3673 (lookup_filename): Likewise.
b2e2ea67 3674 * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
94369251 3675
80a832cd
JJ
36762011-02-28 Bernd Schmidt <bernds@codesourcery.com>
3677 Jakub Jelinek <jakub@redhat.com>
3678
3679 PR middle-end/47893
3680 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
3681 (assign_stack_local_1): Change last argument type to int.
3682 * function.c (assign_stack_local_1): Replace reduce_alignment_ok
3683 argument with kind. If bit ASLK_RECORD_PAD is not set in it,
b2e2ea67 3684 don't record padding space into frame_space_list nor use those areas.
80a832cd
JJ
3685 (assign_stack_local): Adjust caller.
3686 (assign_stack_temp_for_type): Call assign_stack_local_1 instead
3687 of assign_stack_local, pass 0 as last argument.
3688 * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
3689 callers.
3690
1b500976
JJ
36912011-02-28 Jakub Jelinek <jakub@redhat.com>
3692
f61c6f34
JJ
3693 PR debug/47283
3694 * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
3695 Use target address_mode and pointer_mode hooks instead of hardcoded
3696 Pmode and ptr_mode. Handle some simple cases of extending if
3697 POINTERS_EXTEND_UNSIGNED < 0.
3698 (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
3699 Call convert_debug_memory_address.
3700 (expand_debug_expr) <case ADDR_EXPR>: Pass as to
3701 convert_debug_memory_address.
3702
1b500976
JJ
3703 PR middle-end/46790
3704 * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
3705 * configure: Regenerated.
3706 * config.in: Regenerated.
3707 * varasm.c (default_function_section): Return NULL
b2e2ea67 3708 if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1b500976 3709
2f2935b6
MJ
37102011-02-28 Martin Jambor <mjambor@suse.cz>
3711
3712 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
3713 the description to match the printed values.
3714
474086eb
RG
37152011-02-28 Richard Guenther <rguenther@suse.de>
3716
3717 * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
3718 of the copied scope tree.
3719
15bf6f3a
RW
37202011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3721
3722 * doc/extend.texi (Function Attributes): Avoid deeply (and
3723 wrongly) nested tables.
3724
f6b439c9
JJ
37252011-02-27 Jakub Jelinek <jakub@redhat.com>
3726
3727 PR middle-end/47903
3728 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
3729 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
3730 r isn't op0 nor op1.
3731
1d8ca2c7
GJL
37322011-02-23 Georg-Johann Lay <avr@gjlay.de>
3733
3734 * config/avr/avr.md: Remove magic comment for emacs.
3735
593fca4b
GJL
37362011-02-23 Georg-Johann Lay <avr@gjlay.de>
3737
3738 PR target/45261
3739 * config/avr/avr.c (avr_option_override): Use error on bad options.
3740 (avr_help): New function.
3741 (TARGET_HELP): Define.
3742
6609216e
GJL
37432011-02-22 Georg-Johann Lay <avr@gjlay.de>
3744
3745 PR target/42240
3746 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
3747 (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
3748
03d458af
GP
37492011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
3750
3751 * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
3752 (ARM Options): Ditto.
3753 (i386 and x86-64 Options): Ditto.
3754 (RX Options): Ditto.
3755 (SPARC Options): Ditto.
3756
1c379b78
TC
37572011-02-26 Tijl Coosemans <tijl@coosemans.org>
3758
3759 * config.gcc (i386-*-freebsd*): Make i486 the default arch on
3760 FreeBSD 6 and later. Generally use cpu generic.
3761
d5ed058c 37622011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
b2e2ea67 3763
d5ed058c
GP
3764 * doc/cpp.texi: Update copyright years.
3765
509d65dd 37662011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
308d39cd 3767
509d65dd 3768 PR target/46898
308d39cd
SB
3769 * config/lm32/lm32.md (ashrsi3): Added needed variable.
3770
509d65dd 37712011-02-25 Jon Beniston <jon@beniston.com>
308d39cd 3772
509d65dd 3773 PR target/46898
308d39cd
SB
3774 * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
3775 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
3776 * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
3777 (lm32_block_move_inline): Add type cast to remove warning.
b2e2ea67 3778 (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
308d39cd
SB
3779 (gen_int_relational): Move declarations to start of function.
3780
822ba6d7
EB
37812011-02-25 Eric Botcazou <ebotcazou@adacore.com>
3782
3783 PR tree-optimization/45470
3784 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
3785 can throw internally only.
3786 * tree-vect-stmts.c (vectorizable_call): Likewise.
3787
ef795fc2
AS
37882011-02-24 Anatoly Sokolov <aesok@post.ru>
3789
3790 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
3791 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
3792 * config/stormy16/stormy16-protos.h
3793 (xstormy16_preferred_reload_class): Remove.
3794 * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
3795 static. Change 'rclass' argument and return type to reg_class_t.
3796 (TARGET_PREFERRED_RELOAD_CLASS,
3797 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
3798
1c3277ee
RG
37992011-02-24 Richard Guenther <rguenther@suse.de>
3800
3801 * lto-streamer-in.c (input_bb): Do not find referenced vars
3802 in debug statements.
3803
67e18edb
JM
38042011-02-23 Jason Merrill <jason@redhat.com>
3805
3806 * common.opt (fabi-version): Document v5 and v6.
3807
b14fad9d
RG
38082011-02-23 Richard Guenther <rguenther@suse.de>
3809
3810 PR tree-optimization/47849
3811 * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
3812
7fcf46f5
JZ
38132011-02-23 Jie Zhang <jie@codesourcery.com>
3814
3815 * opts-common.c (decode_cmdline_option): Print empty string
3816 argument as "" in decoded->orig_option_with_args_text.
3817 * gcc.c (execute): Print empty string argument as ""
3818 in the verbose output.
3819 (do_spec_1): Keep empty string argument.
3820
f85b70fd
NF
38212011-02-23 Nathan Froyd <froydnj@codesourcery.com>
3822
3823 * config.gcc: Declare score-* and crx-* obsolete.
3824
b152a615
JZ
38252011-02-23 Jie Zhang <jie@codesourcery.com>
3826
3827 PR rtl-optimization/47763
3828 * web.c (web_main): Ignore naked clobber when replacing register.
3829
bb6e77bc
AS
38302011-02-22 Anatoly Sokolov <aesok@post.ru>
3831
3832 * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
3833 Remove.
3834
68bf6491
SP
38352011-02-22 Sebastian Pop <sebastian.pop@amd.com>
3836
3837 PR doc/47848
3838 * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
3839
88ee1fc7
MS
38402011-02-22 Mike Stump <mikestump@comcast.net>
3841
3842 * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
3843 assembler.
3844 * configure: Regenerate.
3845
6042d1dd
CLT
38462011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
3847
3848 PR rtl-optimization/46002
3849 * ira-color.c (update_copy_costs): Change class intersection
3850 test to reg_class_contents[] test of 'hard_regno'.
3851
7de97f9e
JM
38522011-02-21 Joseph Myers <joseph@codesourcery.com>
3853
3854 * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
3855 than Driver option.
3856 * config/hpux11.opt (mt): Likewise.
3857 * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
3858 * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
3859 * config/vax/elf.opt (mno-asm-pic): Likewise.
3860 * config/vms/vms.opt (map, mvms-return-codes): Likewise.
3861
d1d46f9f
MS
38622011-02-21 Mike Stump <mikestump@comcast.net>
3863
3864 PR target/47822
3865 * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
3866 tree so we can get save the type.
3867 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
3868 for CFString instead of trying to use past the end of the builtins.
3869 * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
3870 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
3871 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
3872 * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
3873 Rename to darwin_builtin_cfstring.
3874 (darwin_init_cfstring_builtins): Return the built type.
3875
23e0d930
UB
38762011-02-21 Uros Bizjak <ubizjak@gmail.com>
3877
3878 PR target/47840
3879 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
3880 (_mm256_insert_epi64): Use _mm_insert_epi64.
3881
192997cf
AS
38822011-02-21 Anatoly Sokolov <aesok@post.ru>
3883
3884 * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
3885 * config/stormy16/stormy16-protos.h
3886 (xstormy16_mode_dependent_address_p): Remove.
3887 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
3888 Make static. Change return type to bool. Change argument type to
3889 const_rtx. Remove dead code.
3890 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
3891
e292d003
RG
38922011-02-21 Richard Guenther <rguenther@suse.de>
3893
3894 PR lto/47820
3895 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
3896 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
3897 (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
3898 TUs context.
23e0d930 3899 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
e292d003
RG
3900 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
3901
77f846e9
RG
39022011-02-20 Richard Guenther <rguenther@suse.de>
3903
3904 PR lto/47822
3905 * tree.c (free_lang_data_in_decl): Clean builtins from
3906 the TU decl BLOCK_VARS.
23e0d930 3907
b2cddfc8
AO
39082011-02-19 Alexandre Oliva <aoliva@redhat.com>
3909
3910 PR debug/47620
3911 PR debug/47630
3912 * haifa-sched.c (fix_tick_ready): Skip tick computation
3913 for debug insns.
3914
becf4c11
RG
39152011-02-19 Richard Guenther <rguenther@suse.de>
3916
3917 PR lto/47647
3918 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
3919 Remove lazy BLOCK_VARS streaming.
3920 (lto_input_ts_block_tree_pointers): Likewise.
3921 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
3922
27f98305
JM
39232011-02-19 Joseph Myers <joseph@codesourcery.com>
3924
3925 * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
3926
064bf3f4
JM
39272011-02-19 Joseph Myers <joseph@codesourcery.com>
3928
3929 * config/i386/biarch32.h, config/i386/mach.h,
3930 config/rs6000/aix.opt, config/sh/superh64.h: Remove.
3931
9215ddc3
JJ
39322011-02-19 Jakub Jelinek <jakub@redhat.com>
3933
3934 PR target/47800
3935 * config/i386/i386.md (peephole2 for shift and plus): Use
3936 operands[1] original mode in the first insn.
3937
8b021004
MS
39382011-02-18 Mike Stump <mikestump@comcast.net>
3939
65ded153 3940 * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
8b021004 3941
f84ae14c
JH
39422011-02-18 Jan Hubicka <jh@suse.cz>
3943
3944 PR middle-end/47788
65ded153
EB
3945 * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
3946 to zero when the function is not inlinable at all.
f84ae14c 3947
eddabc80
JDA
39482011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3949
3950 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
3951 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
3952 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
3953 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
3954 * config/pa/t-pa64: Likewise.
3955 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3956
ca3da783
JJ
39572011-02-18 Jakub Jelinek <jakub@redhat.com>
3958
3959 PR driver/47787
3960 * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
3961
430aa868
JDA
39622011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3963
3964 PR target/47792
3965 * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
3966
4bf7ff7e
AS
39672011-02-18 Anatoly Sokolov <aesok@post.ru>
3968
3969 * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
3970 RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
3971 LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
3972 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
3973 * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
3974 (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
3975 m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
3976 m32r_load_postinc_p, m32r_store_preinc_predec_p,
3977 m32r_legitimate_address_p): New functions.
3978 * config/m32r/constraints.md (constraint "S"): Don't use
3979 STORE_PREINC_PREDEC_P.
3980 (constraint "U"): Don't use LOAD_POSTINC_P.
3981
7efcf910
CLT
39822011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
3983
3984 PR rtl-optimization/46178
3985 * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
3986 compute ira_hard_regno_cover_class[].
3987
237d6259
RG
39882011-02-18 Richard Guenther <rguenther@suse.de>
3989
3990 PR lto/47798
3991 * lto-streamer.h (lto_global_var_decls): Declare.
3992 * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
3993 statics for global var processing.
3994
12d80acc
RG
39952011-02-18 Richard Guenther <rguenther@suse.de>
3996
3997 PR tree-optimization/47737
3998 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
3999 edge dominance check.
4000
abfea58d
JJ
40012011-02-18 Jakub Jelinek <jakub@redhat.com>
4002
4003 PR debug/47780
4004 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
4005 avoid invalid rtx sharing.
4006
f73c8882
GP
40072011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
4008
4009 * doc/cpp.texi (Obsolete Features): Add background on the
4010 origin of assertions.
4011
d764a8e6
IS
40122011-02-17 Iain Sandoe <iains@gcc.gnu.org>
4013
4014 * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
23e0d930 4015 objc_abi == 2.
d764a8e6
IS
4016 * config/darwin.c (output_objc_section_asm_op): Added support for
4017 ABI v1 and v2.
4018 (is_objc_metadata): New.
4019 (darwin_objc2_section): New.
4020 (darwin_objc1_section): New.
4021 (machopic_select_section): Added support for ABI v1 and v2.
4022 (darwin_emit_objc_zeroed): New.
4023 (darwin_output_aligned_bss): Detect objc metadata and treat it
4024 appropriately.
4025 (darwin_asm_output_aligned_decl_common): Same.
4026 (darwin_asm_output_aligned_decl_local): Same.
4027 * config/darwin-sections.def: Updated for ABI v1 and v2.
4028 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
4029 compiling Objective-C code for the NeXT runtime, default to using
4030 ABI version 0 for 32-bit, and version 2 for 64-bit.
4031
0a8134ca
JM
40322011-02-17 Joseph Myers <joseph@codesourcery.com>
4033
4034 * common.opt (optimize_fast): New Variable.
4035 * opts.c (default_options_optimization): Use opts->x_optimize_fast
4036 instead of local variable ofast.
4037
0a256240
NP
40382011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
4039
4040 * doc/invoke.texi (fobjc-abi-version): Documented.
4041 (fobjc-nilcheck): Documented.
4042 (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
4043 version.
4044
fa381cb2
JM
40452011-02-17 Joseph Myers <joseph@codesourcery.com>
4046
4047 PR driver/47390
4048 * common.opt (export-dynamic): New Driver option.
4049 * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
4050
5437eaa6
JM
40512011-02-17 Joseph Myers <joseph@codesourcery.com>
4052
4053 * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
4054
bb7e6d55
AO
40552011-02-17 Alexandre Oliva <aoliva@redhat.com>
4056 Jan Hubicka <jh@suse.cz>
4057
4058 PR debug/47106
4059 PR debug/47402
4060 * cfgexpand.c (account_used_vars_for_block): Remove.
4061 (estimated_stack_frame_size): Use referenced vars.
4062 * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
4063 that were referenced in the original function. Test src_fn
4064 rather than cfun. Drop redundant get_var_ann.
4065 (setup_one_parameter): Drop redundant get_var_ann.
4066 (declare_return_variable): Likewise.
4067 (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
4068 (copy_arguments_for_versioning): Drop redundant get_var_ann.
4069 * ipa-inline.c (compute_inline_parameters): Do not compute
4070 disregard_inline_limits here.
bb7e6d55
AO
4071 (compute_inlinable_for_current, pass_inlinable): New.
4072 (pass_inline_parameters): Require PROP_referenced_vars.
4073 * cgraphunit.c (cgraph_process_new_functions): Don't run
23e0d930 4074 compute_inline_parameters explicitly unless function is in SSA form.
bb7e6d55
AO
4075 (cgraph_analyze_function): Set .disregard_inline_limits.
4076 * tree-sra.c (convert_callers): Compute inliner parameters
4077 only for functions already in SSA form.
4078
f181a8a7
JM
40792011-02-17 Joseph Myers <joseph@codesourcery.com>
4080
4081 * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
4082 -mlittle-endian-data.
4083
c6869789
JM
40842011-02-17 Joseph Myers <joseph@codesourcery.com>
4085
4086 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
4087 -mno-fpu, not -fpu and -no-fpu.
4088 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
4089 * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
4090
fbf4bfd3
UB
40912011-02-17 Uros Bizjak <ubizjak@gmail.com>
4092
4093 PR target/43653
4094 * config/i386/i386.c (ix86_secondary_reload): Handle SSE
4095 input reload with PLUS RTX.
4096
70be5dc7
JM
40972011-02-16 Joseph Myers <joseph@codesourcery.com>
4098
4099 * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
4100 of InverseVar(MDMX).
4101
30b1646e
JM
41022011-02-16 Joseph Myers <joseph@codesourcery.com>
4103
4104 * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
4105 --m4-340.
4106
ab7b71e9
JM
41072011-02-16 Joseph Myers <joseph@codesourcery.com>
4108
4109 * config/mn10300/mn10300.opt (mno-crt0): New.
4110
466f3f08
JM
41112011-02-16 Joseph Myers <joseph@codesourcery.com>
4112
4113 * config/m68k/uclinux.opt (static-libc): New Driver option.
4114
8226cd7b
JM
41152011-02-16 Joseph Myers <joseph@codesourcery.com>
4116
4117 * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
4118
45cab1d7
JM
41192011-02-16 Joseph Myers <joseph@codesourcery.com>
4120
4121 * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
4122 %{muser-extend-enabled}.
4123
65aab64f
RG
41242011-02-16 Richard Guenther <rguenther@suse.de>
4125
4126 PR tree-optimization/47738
4127 * tree-ssa-loop.c (run_tree_predictive_commoning): Return
4128 the TODO from tree_predictive_commoning.
4129
fc2fa4fb
JL
41302011-02-15 Jeff Law <law@redhat.com>
4131
4132 Revert
4133 2011-01-25 Jeff Law <law@redhat.com>
4134
4135 PR rtl-optimization/37273
4136 * ira-costs.c (scan_one_insn): Detect constants living in memory and
4137 handle them like argument loads from stack slots. Do not double
4138 count memory for memory constants and argument loads from stack slots.
4139
4e380b8e
L
41402011-02-15 H.J. Lu <hongjiu.lu@intel.com>
4141
4142 PR middle-end/47725
4143 * combine.c (cant_combine_insn_p): Revert the last change.
4144
e3a69bb4
MM
41452011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
4146
4147 PR target/47755
4148 * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
4149 mode for vector constants. Remove code that checks for TImode.
4150
de650422
AO
41512011-02-15 Alexandre Oliva <aoliva@redhat.com>
4152
4153 PR debug/47106
4154 PR debug/47402
4155 * cgraph.h (compute_inline_parameters): Return void.
4156 * ipa-inline.c (compute_inline_parameters): Adjust.
4157
30925d94
AO
41582011-02-15 Alexandre Oliva <aoliva@redhat.com>
4159
4160 PR debug/47106
4161 PR debug/47402
4162 * tree-inline.h (estimated_stack_frame_size): Take cgraph node
4163 rather than decl.
4164 * cfgexpand.c (estimated_stack_frame_size): Likewise.
4165 * ipa-inline.c (compute_inline_parameters): Adjust.
4166
1b9a784a
AO
41672011-02-15 Alexandre Oliva <aoliva@redhat.com>
4168
4169 PR debug/47106
4170 PR debug/47402
4171 * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
4172 Adjust all users. Pass FN to...
4173 * tree-flow-inline.h (first_referenced_var): ... this. Add
4174 fn argument.
4175 * ipa-struct-reorg.c: Adjust.
4176 * tree-dfa.c: Adjust.
4177 * tree-into-ssa.c: Adjust.
4178 * tree-sra.c: Adjust.
4179 * tree-ssa-alias.c: Adjust.
4180 * tree-ssa-live.c: Adjust.
4181 * tree-ssa.c: Adjust.
4182 * tree-ssanames.c: Adjust.
4183 * tree-tailcall.c: Adjust.
4184
27c6b086
AO
41852011-02-15 Alexandre Oliva <aoliva@redhat.com>
4186
4187 PR debug/47106
4188 PR debug/47402
4189 * tree-flow.h (referenced_var_lookup): Add fn parameter.
4190 Adjust all callers.
4191 * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
4192 * tree-flow-inline.h: Adjust.
4193 * gimple-pretty-print.c: Adjust.
4194 * tree-into-ssa.c: Adjust.
4195 * tree-ssa.c: Adjust.
4196 * cfgexpand.c: Adjust.
4197
679e8183
NF
41982011-02-15 Nathan Froyd <froydnj@codesourcery.com>
4199
fbf4bfd3
UB
4200 * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
4201 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4202 (EXTRA_CONSTRAINT): Delete.
4203 * config/iq2000/constraints.md: New file.
4204 * config/iq2000/iq2000.md: Include it.
679e8183
NF
4205 (define_insn ""): Delete.
4206 (movsi_internal2, movhi_internal2, movqi_internal2): Delete
4207 unsupported constraint letters from patterns.
4208 (call_value, call_value_internal1): Likewise.
4209 (call_value_multiple_internal1): Likewise.
4210
a45d420a
NC
42112011-02-15 Nick Clifton <nickc@redhat.com>
4212
4213 * config/mn10300/mn10300.c: Include tm-constrs.h.
4214 (struct liw_data): New data structure describing an LIW candidate
4215 instruction.
4216 (extract_bundle): Use struct liw_data. Allow small integer
4217 operands for some instructions.
4218 (check_liw_constraints): Use struct liw_data. Remove swapped
4219 parameter. Add comments describing the checks. Fix bug when
4220 assigning the source of liw1 to the source of liw2.
4221 (liw_candidate): Delete. Code moved into extract_bundle.
4222 (mn10300_bundle_liw): Use struct liw_data. Check constraints
4223 before swapping.
4224 * config/mn10300/predicates.md (liw_operand): New predicate.
4225 Allows registers and small integer constants.
4226 * config/mn10300/constraints.md (O): New constraint. Accetps
4227 integers in the range -8 to +7 inclusive.
4228 * config/mn10300/mn10300.md (movesi_internal): Add an alternative
4229 for moving a small integer into a register. Give this alternative
4230 LIW attributes.
4231 (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
4232 (ashlsi3): Likewise, plus give LIW attributes to the alternatives
4233 using the J,K,L and M constraints,
4234 (liw): Remove SI mode on second operands to allow for HI and QI
4235 mode values.
4236 (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
4237 instruction.
4238
8a73faf1
L
42392011-02-15 H.J. Lu <hongjiu.lu@intel.com>
4240
4241 PR middle-end/47725
4242 * combine.c (cant_combine_insn_p): Check zero/sign extended
4243 hard registers.
4244
48feba28
RG
42452011-02-15 Richard Guenther <rguenther@suse.de>
4246
4247 PR tree-optimization/47743
4248 * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
4249 for a non-type-compatible VN lookup bail out.
4250
ad1c1eeb
NF
42512011-02-15 Nathan Froyd <froydnj@codesourcery.com>
4252
4253 * config/fr30/constraints.md: New file.
4254 * config/fr30/fr30.md: Include it.
4255 * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
4256 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4257 (EXTRA_CONSTRAINT): Delete.
4258
49ac143d
NF
42592011-02-15 Nathan Froyd <froydnj@codesourcery.com>
4260
4261 * config/frv/constraints.md: New file.
4262 * config/frv/predicates.md: Include it.
4263 * config/frv/frv.c (reg_class_from_letter): Delete.
4264 (frv_option_override): Don't initialize it.
4265 * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
4266 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
4267 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
4268 (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
4269 (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
4270 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4271 (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
4272 (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
4273 (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
4274 (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
4275 (REG_CLASS_FROM_CONSTRAINT): Delete.
4276
c95f9494
JJ
42772011-02-15 Jakub Jelinek <jakub@redhat.com>
4278
4279 PR middle-end/47581
4280 * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
4281 if frame size is 0 in a leaf function.
4282
13aed611
RO
42832011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4284
4285 PR pch/14940
4286 * config/alpha/host-osf.c: New file.
4287 * config/alpha/x-osf: New file.
4288 * config.host (alpha*-dec-osf*): Use it.
4289
b09c3081
AS
42902011-02-14 Anatoly Sokolov <aesok@post.ru>
4291
4292 * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
4293 * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
4294 * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
4295 (rx_mode_dependent_address_p): ...this. Make static. Change argument
4296 type to const_rtx.
4297 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
4298
d634083b
NF
42992011-02-14 Nathan Froyd <froydnj@codesourcery.com>
4300
4301 * config/stormy16/constraints.md: New file.
4302 * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
4303 Use satisfies_constraint_Q and satisfies_constraint_R.
4304 * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
4305 Delete.
4306 (xstormy16_legitiamte_address_p): Declare.
4307 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
4308 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4309 (EXTRA_CONSTRAINT): Delete.
fbf4bfd3 4310 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
d634083b
NF
4311 Un-staticize.
4312 (xstormy16_extra_constraint_p): Delete.
4313
c7dd803e
EB
43142011-02-14 Eric Botcazou <ebotcazou@adacore.com>
4315
4316 PR tree-optimization/46494
4317 * loop-unroll.c (split_edge_and_insert): Adjust comment.
4318 * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
4319 (pass_rtl_loop_done): Add TODO_verify_flow.
4320 * fwprop.c (pass_rtl_fwprop): Likewise.
4321 * modulo-sched.c (pass_sms): Likewise.
4322 * tree-ssa-dom.c (pass_dominator): Likewise.
4323 * tree-ssa-loop-ch.c (pass_ch): Likewise.
4324 * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
4325 (pass_tree_loop_done): Likewise.
4326 * tree-ssa-pre.c (execute_pre): Likewise.
4327 * tree-ssa-reassoc.c (pass_reassoc): Likewise.
4328 * tree-ssa-sink.c (pass_sink_code): Likewise.
4329 * tree-vrp.c (pass_vrp): Likewise.
4330
c6150df6
NF
43312011-02-14 Nathan Froyd <froydnj@codesourcery.com>
4332
c7dd803e
EB
4333 * config/v850/constraints.md: New file.
4334 * config/v850/v850.md: Include it.
4335 * config/v850/predicates.md (reg_or_0_operand): Use
4336 satisfies_constraint_G.
4337 (special_symbolref_operand): Use satisfies_constraint_K.
4338 * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
4339 (GO_IF_LEGITIMATE_ADDRESS): Likewise.
4340 (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
4341 (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
4342 (EXTRA_CONSTRAINT): Delete.
4343 (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
4344 (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
4345 (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
c6150df6 4346
30dd1ea3
AS
43472011-02-14 Anatoly Sokolov <aesok@post.ru>
4348
4349 PR target/47696
4350 * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
4351 description.
4352
944f4bb3
NF
43532011-02-14 Nathan Froyd <froydnj@codesourcery.com>
4354
4355 * config/mcore/constraints.md: New file.
4356 * config/mcore/mcore.md: Include it.
4357 * config/mcore/mcore.c (reg_class_from_letter): Delete.
4358 * config/mcore/mcore.h (reg_class_from_letter): Delete.
4359 (REG_CLASS_FROM_LETTER): Delete.
4360 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
4361 insn_const_int_ok_for_constraint.
4362 (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
4363 (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
4364 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4365 (EXTRA_CONSTRAINT): Delete.
4366
ad56a54c
RO
43672011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4368
4369 PR ada/41929
4370 * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
4371 (IS_SIGHANDLER): Define.
4372 (sparc64_is_sighandler): New function, split off from
4373 sparc64_fallback_frame_state.
4374 (sparc_is_sighandler): New function, split off from
4375 sparc_fallback_frame_state.
4376 (sparc64_fallback_frame_state): Merge with ...
4377 (sparc_fallback_frame_state): ... this into ...
4378 (MD_FALLBACK_FRAME_STATE_FOR): ... this.
fbf4bfd3
UB
4379 Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
4380 Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
4381 stack instead of hardcoded offsets.
ad56a54c 4382
fbf4bfd3 43832011-02-14 Andriy Gapon <avg@freebsd.org>
67932abf
AG
4384
4385 PR target/45808
4386 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
4387
029c8f3e
RW
43882011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4389
4390 * configure: Regenerate.
4391
a016dc83
JM
43922011-02-12 Joseph Myers <joseph@codesourcery.com>
4393
4394 PR driver/45731
4395 * gcc.c (asm_options): Correct spec matching --target-help.
4396
8957a0ec
MJ
43972011-02-12 Martin Jambor <mjambor@suse.cz>
4398
4399 * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
4400 to gimple call error.
4401
6ef828bc
MS
44022011-02-12 Mike Stump <mikestump@comcast.net>
4403
4404 * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
4405 comments in backslash regions.
4406
a4015be5
MS
44072011-02-12 Mike Stump <mikestump@comcast.net>
4408 Jakub Jelinek <jakub@redhat.com>
4409 Iain Sandoe <iains@gcc.gnu.org>
4410
4411 PR target/47324
4412 * dwarf2out.c (output_cfa_loc): When required, apply the
4413 DWARF2_FRAME_REG_OUT macro to adjust register numbers.
4414 (output_loc_sequence): Likewise.
4415 (output_loc_operands_raw): Likewise.
4416 (output_loc_sequence_raw): Likewise.
4417 (output_cfa_loc): Likewise.
4418 (output_loc_list): Suppress register number adjustment when
4419 calling output_loc_sequence()
4420 (output_die): Likewise.
4421
5378dda2
AS
44222011-02-12 Anatoly Sokolov <aesok@post.ru>
4423
4424 * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
4425 Remove macros.
4426 * config/xtensa/xtensa.c (xtensa_register_move_cost,
4427 xtensa_memory_move_cost): New functions.
4428 (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
4429
f3d533d3
AO
44302011-02-12 Alexandre Oliva <aoliva@redhat.com>
4431
4432 PR lto/47225
4433 * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
4434 in the current directory.
4435 * configure: Rebuilt.
4436
9d53403c
IS
44372011-02-12 Iain Sandoe <iains@gcc.gnu.org>
4438
4439 * config/darwin.c (darwin_override_options): Add a hunk missed
fbf4bfd3 4440 from the commit of r168571. Trim comment line lengths and
9d53403c
IS
4441 correct indents of the preceding block.
4442
a350a6c8
IS
44432011-02-12 Iain Sandoe <iains@gcc.gnu.org>
4444
4445 * gcc.c (driver_handle_option): Concatenate the argument to -F with
4446 the switch.
4447
bab79a40
JM
44482011-02-11 Joseph Myers <joseph@codesourcery.com>
4449
4450 * common.opt (nostartfiles): New Driver option.
4451
1bbc6693
XDL
44522011-02-11 Xinliang David Li <davidxl@google.com>
4453
4454 PR tree-optimization/47707
4455 * tree-chrec.c (convert_affine_scev): Keep type precision.
4456
1da7d8c0
EB
44572011-02-11 Eric Botcazou <ebotcazou@adacore.com>
4458
4459 PR tree-optimization/47420
4460 * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
4461
44622011-02-11 Pat Haugen <pthaugen@us.ibm.com>
3f82421f
PH
4463
4464 PR rtl-optimization/47614
4465 * rtl.h (check_for_inc_dec): Declare.
4466 * dse.c (check_for_inc_dec): Externalize...
4467 * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
4468 (reload_cse_simplify_operands): Don't simplify opnds with side effects.
4469
4df47bca
JM
44702011-02-11 Joseph Myers <joseph@codesourcery.com>
4471
4472 PR driver/47678
4473 * gcc.c (main): Do not compile inputs if there were errors in
4474 option handling.
4475 * opts-common.c (read_cmdline_option): Check for wrong language
4476 after other error checks.
4477
61502ca8
NF
44782011-02-11 Nathan Froyd <froydnj@codesourcery.com>
4479
4480 * cgraph.c: Fix comment typos.
4481 * cgraph.h: Likewise.
4482 * cgraphunit.c: Likewise.
4483 * ipa-cp.c: Likewise.
4484 * ipa-inline.c: Likewise.
4485 * ipa-prop.c: Likewise.
4486 * ipa-pure-const.c: Likewise.
4487 * ipa-ref.c: Likewise.
4488 * ipa-reference.c: Likewise.
4489
b63f974e
JJ
44902011-02-11 Jakub Jelinek <jakub@redhat.com>
4491
d50c5e0c
JJ
4492 PR debug/47684
4493 * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
b63f974e 4494
6dd2a13c
RO
44952011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4496
4497 PR testsuite/47400
4498 * doc/sourcebuild.texi (Require Support): Document
4499 dg-require-ascii-locale.
4500
4a087ccf
MX
45012011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
4502
4503 * doc/lto.texi (Write summary): Fix missing parentheses.
4504
a4403164
DD
45052011-02-10 DJ Delorie <dj@redhat.com>
4506
4507 * config/m32c/m32c.c (m32c_option_override): Disable
4508 -fcombine-stack-adjustments until flag value tracking and compare
4509 optimization can be rewritten.
4510
4fac45bd
PB
45112011-02-10 Peter Bergner <bergner@vnet.ibm.com>
4512
4513 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
4514 PROCESSOR_POWER7.
4515 (PROCESSOR_DEFAULT64): Likewise.
4516
72602cd1
RH
45172011-02-10 Richard Henderson <rth@redhat.com>
4518
4519 * config/rx/predicates.md (rx_zs_comparison_operator): Revert
4520 change from 2011-02-03.
4521 * config/rx/rx.c (flags_from_code): Likewise.
4522 (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
4523 is valid, n/pz otherwise.
4524 (rx_select_cc_mode): Return CCmode if Y is not zero.
4525
ea57f573
RG
45262011-02-10 Richard Guenther <rguenther@suse.de>
4527
ea4c3e65 4528 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
ea57f573 4529
92b1d23b
RG
45302011-02-10 Richard Guenther <rguenther@suse.de>
4531
4532 PR tree-optimization/47677
4533 * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
4534
525a2d06
JJ
45352011-02-10 Jakub Jelinek <jakub@redhat.com>
4536
4537 PR target/47665
4538 * combine.c (make_compound_operation): Only change shifts into
4539 multiplication for SCALAR_INT_MODE_P.
4540
06c969bd
JZ
45412011-02-10 Jie Zhang <jie@codesourcery.com>
4542
4543 PR testsuite/47622
4544 Revert
4545 2011-02-05 Jie Zhang <jie@codesourcery.com>
4546 PR debug/42631
4547 * web.c (entry_register): Don't clobber the number of the
4548 first uninitialized reference in used[].
4549
282ec48e
RG
45502011-02-09 Richard Guenther <rguenther@suse.de>
4551
4552 PR tree-optimization/47664
4553 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
4554 all edges again.
4555
df98c3e8
DE
45562011-02-09 David Edelsohn <dje.gcc@gmail.com>
4557
d0f21cd6
DE
4558 PR target/46481
4559 PR target/47032
df98c3e8
DE
4560 * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
4561 PROCESSOR_POWER7.
4562 (PROCESSOR_DEFAULT64): Same.
4563 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
4564
67b6839f
RO
45652011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4566
4567 * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
4568
4fd73214
MJ
45692011-02-09 Martin Jambor <mjambor@suse.cz>
4570
4571 PR middle-end/45505
4572 * tree-sra.c (struct access): New flags grp_scalar_read and
4573 grp_scalar_write. Changed description of assignment read and write
4574 flags.
4575 (dump_access): Dump new flags, reorder all of them.
4576 (sort_and_splice_var_accesses): Set the new flag accordingly, use them
4577 to detect multiple scalar reads.
4578 (analyze_access_subtree): Use the new scalar read write flags instead
4579 of the old flags. Adjusted comments.
4580
91140cd3
DD
45812011-02-08 DJ Delorie <dj@redhat.com>
4582
4583 PR target/47548
4584 * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
4585 patterns.
4586
4254bbfe
JM
45872011-02-08 Joseph Myers <joseph@codesourcery.com>
4588
4589 * config/m68k/uclinux.opt: New.
4590 * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
4591
f1fda84e
JM
45922011-02-08 Joseph Myers <joseph@codesourcery.com>
4593
4594 * config/cris/elf.opt (sim): New Driver option.
4595
4933ae74
JM
45962011-02-08 Joseph Myers <joseph@codesourcery.com>
4597
4598 * config/xtensa/elf.opt: New.
4599 * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
4600
4ad70280
JM
46012011-02-08 Joseph Myers <joseph@codesourcery.com>
4602
4603 * config/vax/elf.opt: New.
4604 * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
4605
20893707
JM
46062011-02-08 Joseph Myers <joseph@codesourcery.com>
4607
4608 * config/rs6000/aix64.opt (posix, pthread): New Driver options.
4609
b8e7038e
JM
46102011-02-08 Joseph Myers <joseph@codesourcery.com>
4611
4612 * config/gnu-user.opt: New.
4613 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
4614 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
4615 *-*-uclinux*): Use gnu-user.opt.
4616
e1c5225a
TS
46172011-02-08 Thomas Schwinge <thomas@schwinge.name>
4618
4619 * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
4620 * config/i386/gnu.h (CPP_SPEC): Likewise.
4621
5e46b0c6
ILT
46222011-02-08 Ian Lance Taylor <iant@google.com>
4623
4624 * common.opt (fcx-limited-range): Add SetByCombined flag.
4625 (ffinite-math-only, fmath-errno, frounding-math): Likewise.
4626 (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
4627 (fassociative-math, freciprocal-math): Likewise.
4628 (funsafe-math-optimizations): Likewise.
4629 * opth-gen.awk: Handle SetByCombined.
4630 * optc-gen.awk: Likewise.
ea4c3e65 4631 * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
5e46b0c6
ILT
4632 (set_unsafe_math_optimizations_flags): Likewise.
4633 * doc/options.texi (Option properties): Document SetByCombined.
4634
32243d46
JM
46352011-02-08 Joseph Myers <joseph@codesourcery.com>
4636
4637 * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
4638 i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
4639 m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
4640 m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
4641 sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
4642
479c1fb3
SP
46432011-02-08 Sebastian Pop <sebastian.pop@amd.com>
4644
4645 PR tree-optimization/46834
4646 PR tree-optimization/46994
4647 PR tree-optimization/46995
4648 * graphite-sese-to-poly.c (used_outside_reduction): New.
4649 (detect_commutative_reduction): Call used_outside_reduction.
4650 (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
4651 translate_scalar_reduction_to_array only when at least one
4652 loop-phi/close-phi tuple has been detected.
4653
3865a06f
RG
46542011-02-08 Richard Guenther <rguenther@suse.de>
4655
4656 PR middle-end/47639
4657 * tree-vect-generic.c (expand_vector_operations_1): Update
4658 stmts here ...
4659 (expand_vector_operations): ... not here. Cleanup EH info
4660 and the CFG if required.
4661
62902f3f
RG
46622011-02-08 Richard Guenther <rguenther@suse.de>
4663
4664 PR tree-optimization/47641
4665 * tree-ssa.c (execute_update_addresses_taken): For asm outputs
4666 require type compatibility.
4667
0efb9d64
AK
46682011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4669
4670 * gimple-low.c (lower_function_body): Don't remove the location of
4671 the return statement here.
4672 (lower_gimple_return): Do it here instead but only if the return
4673 statement is actually used twice.
4674
034b8ae4
RG
46752011-02-08 Richard Guenther <rguenther@suse.de>
4676
4677 PR tree-optimization/47632
4678 * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
4679 unused up_to_stmt parameter, return whether cfg-cleanup is
4680 necessary, remove EH info properly.
4681 (forward_propagate_into_gimple_cond): Adjust caller.
4682 (forward_propagate_into_cond): Likewise.
4683 (forward_propagate_comparison): Likewise.
4684 (tree_ssa_forward_propagate_single_use_vars): Make
4685 forward_propagate_comparison case similar to the two others.
4686
298362c8
NC
46872011-02-08 Nick Clifton <nickc@redhat.com>
4688
4689 * config/mn10300/mn10300.opt (mliw): New command line option.
4690 * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
4691 (liw_bundling): New automaton.
4692 (liw): New attribute.
4693 (liw_op): New attribute.
4694 (liw_op1, liw_op2, liw_both, liw_either): New reservations.
4695 (movsi_internal): Add LIW attributes.
4696 (andsi3): Likewise.
4697 (iorsi3): Likewise.
4698 (xorsi3): Likewise.
4699 (addsi3): Separate register and immediate alternatives.
4700 Add LIW attributes.
4701 (subsi3): Likewise.
4702 (cmpsi): Likewise.
4703 (aslsi3): Likewise.
4704 (lshrsi3): Likewise.
4705 (ashrsi3): Likewise.
4706 (liw): New pattern.
4707 * config/mn10300/mn10300.c (liw_op_names): New
4708 (mn10300_print_operand): Handle 'W' operand descriptor.
4709 (extract_bundle): New function.
4710 (check_liw_constraints): New function.
4711 (liw_candidate): New function.
4712 (mn10300_bundle_liw): New function.
4713 (mn10300_reorg): New function.
4714 (TARGET_MACHINE_DEPENDENT_REORG): Define.
4715 (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
4716 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
4717 __LIW__ or __NO_LIW__.
4718 * doc/invoke.texi: Describe the -mliw command line option.
4719
90488014
JDA
47202011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4721
4722 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
4723 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
4724 pthread_mutex_unlock): Remove.
4725 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
4726 * config/pa/t-pa64: Likewise.
4727 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
4728 shared libc if not linking against libpthread.
4729 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
4730
689ff841
IS
47312011-02-07 Iain Sandoe <iains@gcc.gnu.org>
4732
4733 PR target/47558
4734 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
4735 on 10.6 and later to ensure that we always use the unwinder from
4736 the system. Only add -no_compact_unwind when tarteting darwin
4737 10.6 or later.
4738
821014aa
SE
47392011-02-07 Steve Ellcey <sje@cup.hp.com>
4740
4741 PR target/46997
4742 * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
4743 (vec_interleave_lowv2sf): Ditto.
4744 (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
4745 (vec_extract_oddv2sf): Ditto.
4746
41cf94fb
MS
47472011-02-07 Mike Stump <mikestump@comcast.net>
4748
62dea57d 4749 PR target/42333
41cf94fb
MS
4750 Add __ieee_divdc3 entry point.
4751 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
4752 entry point.
4753 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
4754 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
4755 * config/darwin.c (darwin_rename_builtins): Add.
4756 * config/darwin-protos.h (darwin_rename_builtins): Add.
4757
ee09a3dd
MM
47582011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
4759
4760 PR target/47636
4761 * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
4762 for the condition.
4763
83296cd0
MS
47642011-02-07 Mike Stump <mikestump@comcast.net>
4765
ea4c3e65 4766 * config/darwin.opt (mmacosx-version-min): Update default OS version.
83296cd0 4767
0f4e946f
DC
47682011-02-07 Denis Chertykov <chertykov@gmail.com>
4769
4770 PR target/47534
4771 * config/avr/libgcc.S (exit): Move .endfunc
4772
1ec87690
RG
47732011-02-07 Richard Guenther <rguenther@suse.de>
4774
4775 PR tree-optimization/47615
4776 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
4777 * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
4778 (run_scc_vn): Initialize it.
4779 (visit_reference_op_load): Use it.
4780 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
4781
b46ae6da
UW
47822011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4783
4784 * config/spu/spu.c (spu_init_libfuncs): Install SImode and
4785 DImode trapping arithmetic libfuncs.
4786
c0aae19c
RG
47872011-02-07 Richard Guenther <rguenther@suse.de>
4788
4789 PR tree-optimization/47621
4790 * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
4791 two duplicates ...
4792 (execute_update_addresses_taken): ... here. Make it more
4793 conservative in what we accept.
4794
295d926b
JM
47952011-02-06 Joseph Myers <joseph@codesourcery.com>
4796
4797 * config/sparc/freebsd.h (ASM_SPEC): Define.
4798 * config/sparc/vxworks.h (ASM_SPEC): Define.
4799
bdeb2471
JM
48002011-02-06 Joseph Myers <joseph@codesourcery.com>
4801
4802 * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
4803
d5d3781a
SB
48042011-02-06 Steven Bosscher <steven@gcc.gnu.org>
4805
4806 * doc/invoke.texi: Remove reference to compiler internals from
4807 user documentation.
4808
4809 * reg-notes.def: Remove REG_VALUE_PROFILE.
4810 * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
4811
c42c09fc
JJ
48122011-02-05 Jakub Jelinek <jakub@redhat.com>
4813
4814 PR middle-end/47610
4815 * varasm.c (default_section_type_flags): If decl is NULL,
38be4072 4816 and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
c42c09fc 4817
beea2755
JZ
48182011-02-05 Jie Zhang <jie@codesourcery.com>
4819
4820 PR debug/42631
4821 * web.c (entry_register): Don't clobber the number of the
4822 first uninitialized reference in used[].
4823
a130584a
SP
48242011-02-04 Sebastian Pop <sebastian.pop@amd.com>
4825
4826 PR tree-optimization/46194
4827 * tree-data-ref.c (analyze_miv_subscript): Remove comment.
4828 (build_classic_dist_vector_1): Do not represent classic distance
4829 vectors when the access functions are variating in different loops.
4830
962101ac
JM
48312011-02-04 Joseph Myers <joseph@codesourcery.com>
4832
4833 * config/mips/iris6.opt: New.
4834 * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
4835
55eaaa5b
RH
48362011-02-04 Richard Henderson <rth@redhat.com>
4837 Steve Ellcey <sje@cup.hp.com>
4838
4839 PR target/46997
4840 * config/ia64/predicates.md (mux1_brcst_element): New.
4841 * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
4842 * config/ia64/ia64.c (ia64_unpack_assemble): New.
4843 (ia64_unpack_sign): New.
4844 (ia64_expand_unpack): Rewrite using new routines.
4845 (ia64_expand_widen_sum): Ditto.
4846 (ia64_expand_dot_prod_v8qi): Ditto.
4847 * config/ia64/vect.md (mulv8qi3): Rewrite to use new
4848 routines, add endian check.
4849 (pmpy2_even): Rename from pmpy2_r, add endian check.
4850 (pmpy2_odd): Rename from pmpy2_l, add endian check.
4851 (vec_widen_smult_lo_v4hi): Rewrite using new routines.
4852 (vec_widen_smult_hi_v4hi): Ditto.
4853 (vec_widen_umult_lo_v4hi): Ditto.
4854 (vec_widen_umult_hi_v4hi): Ditto.
4855 (mulv2si3): Change endian checks.
4856 (sdot_prodv4hi): Rewrite with new calls.
4857 (udot_prodv4hi): New.
4858 (vec_pack_ssat_v4hi): Add endian check.
4859 (vec_pack_usat_v4hi): Ditto.
4860 (vec_pack_ssat_v2si): Ditto.
4861 (max1_even): Rename from max1_r, add endian check.
4862 (max1_odd): Rename from max1_l, add endian check.
4863 (*mux1_rev): Format change.
4864 (*mux1_mix): Ditto.
4865 (*mux1_shuf): Ditto.
4866 (*mux1_alt): Ditto.
4867 (*mux1_brcst_v8qi): Use new predicate.
4868 (vec_extract_evenv8qi): Remove endian check.
4869 (vec_extract_oddv8qi): Ditto.
4870 (vec_interleave_lowv4hi): Format change.
4871 (vec_interleave_highv4hi): Ditto.
4872 (mix2_even): Rename from mix2_r, add endian check.
4873 (mix2_odd): Rename from mux2_l, add endian check.
4874 (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
4875 (vec_extract_evenodd_helper): Format change.
4876 (vec_extract_evenv4hi): Remove endian check.
4877 (vec_extract_oddv4hi): Remove endian check.
4878 (vec_interleave_lowv2si): Format change.
4879 (vec_interleave_highv2si): Format change.
4880 (vec_initv2si): Remove endian check.
4881 (vecinit_v2si): Add endian check.
4882 (reduc_splus_v2sf): Add endian check.
4883 (reduc_smax_v2sf): Ditto.
4884 (reduc_smin_v2sf): Ditto.
4885 (vec_initv2sf): Remove endian check.
4886 (fpack): Add endian check.
4887 (fswap): Add endian check.
4888 (vec_interleave_highv2sf): Add endian check.
4889 (vec_interleave_lowv2sf): Add endian check.
4890 (fmix_lr): Add endian check.
4891 (vec_setv2sf): Format change.
4892 (*vec_extractv2sf_0_be): Use shift to extract operand.
4893 (*vec_extractv2sf_1_be): New.
4894 (vec_pack_trunc_v4hi): Add endian check.
4895 (vec_pack_trunc_v2si): Format change.
4896
dcde5957
JJ
48972011-02-04 Jakub Jelinek <jakub@redhat.com>
4898
4899 PR inline-asm/23200
4900 * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
38be4072 4901 do bb, locus and block comparison and disallow loads if it is not set.
dcde5957
JJ
4902 (stmt_is_replaceable_p): New function.
4903 (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
4904 callers.
4905 * expr.c (expand_expr_real_1) <case SSA_NAME>: If
4906 get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
4907 SSA_NAME_DEF_STMT.
4908 * tree-flow.h (stmt_is_replaceable_p): New prototype.
4909
a64a8e5a
JM
49102011-02-04 Joseph Myers <joseph@codesourcery.com>
4911
4912 * config/rs6000/xilinx.opt: New.
4913 * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
4914
4da2ed2f
JM
49152011-02-04 Joseph Myers <joseph@codesourcery.com>
4916
4917 * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
4918
a6e508f9
AS
49192011-02-03 Anatoly Sokolov <aesok@post.ru>
4920
4921 * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
4922 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
4923 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
4924 secondary_reload_info, xtensa_secondary_reload): Remove.
4925 * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
4926 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
4927 (xtensa_preferred_reload_class): Make static. Change return and
4928 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
4929 Use CONST_DOUBLE_P predicate.
4930 (xtensa_preferred_output_reload_class): New function.
4931 (xtensa_secondary_reload): Make static.
4932
82dc0de3
JM
49332011-02-03 Joseph Myers <joseph@codesourcery.com>
4934
4935 * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
4936 Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
4937 Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
4938
7fece979
JJ
49392011-02-03 Jakub Jelinek <jakub@redhat.com>
4940
4941 PR middle-end/31490
4942 * output.h (SECTION_RELRO): Define.
4943 (SECTION_MACH_DEP): Adjust.
4944 (get_variable_section): New prototype.
4945 * varpool.c (varpool_finalize_named_section_flags): New function.
4946 (varpool_assemble_pending_decls): Call it.
4947 * cgraph.h (varpool_finalize_named_section_flags): New prototype.
4948 * cgraphunit.c (cgraph_output_in_order): Call
4949 varpool_finalize_named_section_flags.
4950 * varasm.c (get_section): Allow section flags conflicts between
4951 relro and read-only sections if the section hasn't been declared yet.
4952 Set SECTION_OVERRIDE after diagnosing section type conflict.
4953 (get_variable_section): No longer static.
4954 (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
4955 readonly sections that need relocations.
4956 (decl_readonly_section_1): New function.
4957 (decl_readonly_section): Use it.
4958
4959 Revert:
509d65dd 4960 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
7fece979
JJ
4961 Steve Ellcey <sje@cup.hp.com>
4962
4963 PR middle-end/31490
4964 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
4965 if section attribute used.
4966
d18d5478
JJ
49672011-02-03 Jakub Jelinek <jakub@redhat.com>
4968
4969 * config/darwin.h (SECTION_NO_ANCHOR): Remove.
4970 * config/darwin.c (SECTION_NO_ANCHOR): Define.
4971 (darwin_init_sections): Remove assertion.
4972
6479ed4b
NC
49732011-02-03 Nick Clifton <nickc@redhat.com>
4974
4975 * config/rx/predicates.md (rx_zs_comparison_operator): Remove
4976 lt and ge.
38be4072 4977 * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
6479ed4b
NC
4978 * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
4979 instead of "n" and "pz".
4980 (flags_from_code): LT and GE tests need CC_FLAG_O as well as
4981 CC_FLAG_S.
4982
89843f5d
JJ
49832011-02-03 Jakub Jelinek <jakub@redhat.com>
4984
65450d64
JJ
4985 PR target/47312
4986 * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
4987 fma, expand FMA_EXPR as fma{,f,l} call.
4988
7d58701c
JJ
4989 PR lto/47274
4990 * lto-streamer-out.c (write_symbol): When writing kind and visibility,
4991 copy them into a unsigned char variable and pass address of it to
4992 lto_output_data_stream.
4993
89843f5d
JJ
4994 PR target/47564
4995 * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
4996 around backend_init_target and lang_dependent_init_target calls.
4997 * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
4998 (verify_cgraph_node): Don't call set_cfun here. Use
4999 cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
5000 Set error_found for incorrectly represented calls to thunks.
5001
4deef538
AO
50022011-02-03 Alexandre Oliva <aoliva@redhat.com>
5003
5004 PR debug/43092
5005 PR rtl-optimization/43494
5006 * rtl.h (for_each_inc_dec_fn): New type.
5007 (for_each_inc_dec): Declare.
5008 * rtlanal.c (struct for_each_inc_dec_ops): New type.
5009 (for_each_inc_dec_find_inc_dec): New fn.
5010 (for_each_inc_dec_find_mem): New fn.
5011 (for_each_inc_dec): New fn.
5012 * dse.c (struct insn_size): Remove.
5013 (replace_inc_dec, replace_inc_dec_mem): Remove.
5014 (emit_inc_dec_insn_before): New fn.
5015 (check_for_inc_dec): Use it, along with for_each_inc_dec.
5016 (canon_address): Pass mem modes to cselib_lookup.
5017 * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
5018 (cselib_lookup_from_insn): Likewise.
5019 (cselib_subst_to_values): Likewise.
5020 * cselib.c (find_slot_memmode): New var.
5021 (cselib_find_slot): New fn. Use it instead of
5022 htab_find_slot_with_hash everywhere.
5023 (entry_and_rtx_equal_p): Use find_slot_memmode.
5024 (autoinc_split): New fn.
5025 (rtx_equal_for_cselib_p): Rename and implement in terms of...
5026 (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
5027 Deal with autoinc. Special-case recursion into MEMs.
5028 (cselib_hash_rtx): Likewise.
5029 (cselib_lookup_mem): Infer pmode from address mode. Distinguish
5030 address and MEM modes.
5031 (cselib_subst_to_values): Add memmode, pass it on.
5032 Deal with autoinc.
5033 (cselib_lookup): Add memmode argument, pass it on.
5034 (cselib_lookup_from_insn): Add memmode.
5035 (cselib_invalidate_rtx): Discard obsolete push_operand handling.
5036 (struct cselib_record_autoinc_data): New.
5037 (cselib_record_autoinc_cb): New fn.
5038 (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
5039 mode to cselib_lookup. Reset autoinced REGs here instead of...
5040 (cselib_process_insn): ... here.
5041 * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
5042 to cselib_lookup.
5043 (add_uses): Likewise, also to cselib_subst_to_values.
5044 (add_stores): Likewise.
5045 * sched-deps.c (add_insn_mem_dependence): Pass mode to
5046 cselib_subst_to_values.
5047 (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
5048 * gcse.c (do_local_cprop): Adjusted.
5049 * postreload.c (reload_cse_simplify_set): Adjusted.
5050 (reload_cse_simplify_operands): Adjusted.
5051 * sel-sched-dump (debug_mem_addr_value): Pass mode.
5052
1551d44a
AO
50532011-02-03 Alexandre Oliva <aoliva@redhat.com>
5054
5055 PR tree-optimization/45122
5056 * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
5057 unsafe assumptions when there's more than one loop exit.
5058
c9485473
MM
50592011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
5060
5061 PR target/47272
5062 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
5063 Document using vector double with the load/store builtins, and
5064 that the load/store builtins always use Altivec instructions.
5065
5066 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
5067 to use altivec memory instructions, even on VSX.
5068 (vector_altivec_store_<mode>): Ditto.
5069
5070 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
5071 function.
5072
5073 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
5074 V2DF, V2DI support to load/store overloaded builtins.
5075
5076 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
5077 altivec load/store builtins for V2DF/V2DI types.
5078
5079 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
5080 set avoid indexed addresses on power6 if -maltivec.
5081 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
5082 vector_altivec_load/vector_altivec_store builtins.
5083 (altivec_expand_st_builtin): Ditto.
5084 (altivec_expand_builtin): Add VSX memory builtins.
5085 (rs6000_init_builtins): Add V2DI types to internal types.
5086 (altivec_init_builtins): Add support for V2DF/V2DI altivec
5087 load/store builtins.
5088 (rs6000_address_for_altivec): Insure memory address is appropriate
5089 for Altivec.
5090
5091 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
5092 vec_vsx_ld and vec_vsx_st.
5093 (vsx_store_<mode>): Ditto.
5094
5095 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
5096 variables to hold long long types for VSX vector memory builtins.
5097 (RS6000_BTI_unsigned_long_long): Ditto.
5098 (long_long_integer_type_internal_node): Ditti.
5099 (long_long_unsigned_type_internal_node): Ditti.
5100
5101 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
5102 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
5103 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
5104
5105 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
5106 short cuts.
5107 (vec_vsx_st): Ditto.
5108
b24d1acf
JM
51092011-02-02 Joseph Myers <joseph@codesourcery.com>
5110
5111 * config/pa/pa-hpux10.opt: New.
5112 * config/hpux11.opt (pthread): New Driver option.
5113 * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
5114 * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
5115
aa18dd0f
JM
51162011-02-02 Joseph Myers <joseph@codesourcery.com>
5117
5118 * config/ia64/vms.opt: New.
5119 * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
5120
28fc3eee
MM
51212011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
5122
5123 PR target/47580
5124 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
5125 gpc_reg_operand instead of vsx_register_operand to match rs6000.md
5126 generator functions.
5127 (vsx_floatuns<VSi><mode>2): Ditto.
5128 (vsx_fix_trunc<mode><VSi>2): Ditto.
5129 (vsx_fixuns_trunc<mode><VSi>2): Ditto.
5130
b5838b1f
JM
51312011-02-02 Joseph Myers <joseph@codesourcery.com>
5132
5133 * config/i386/djgpp.opt (posix): New Driver option.
5134
0db8fa89
GP
51352011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
5136
5137 * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
5138 Move to the unsupported targets list.
5139
9cd4f22a
PB
51402011-02-02 Peter Bergner <bergner@vnet.ibm.com>
5141
5142 PR rtl-optimization/47525
5143 * df-scan.c: Update copyright years.
5144 (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
5145 and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
5146
9ed8059c
RO
51472011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5148
5149 * config/i386/sysv4.h (TARGET_VERSION): Remove.
5150 (SUBTARGET_RETURN_IN_MEMORY): Remove.
5151 (ASM_OUTPUT_ASCII): Remove.
5152 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
5153
2a737389
JL
51542011-02-02 Jeff Law <law@redhat.com>
5155
5156 PR middle-end/47543
5157 * reload.c (find_reloads_address): Handle reg+d address where both
5158 components are invalid by reloading the entire address.
5159
9dac82c4
SP
51602011-02-02 Sebastian Pop <sebastian.pop@amd.com>
5161 Richard Guenther <rguenther@suse.de>
5162
5163 PR tree-optimization/40979
5164 PR bootstrap/47044
5165 * passes.c (init_optimization_passes): After LIM call copy_prop
5166 and DCE to clean up.
5167 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
5168
14dd9aab
SP
51692011-02-02 Sebastian Pop <sebastian.pop@amd.com>
5170
5171 PR tree-optimization/47576
5172 PR tree-optimization/47555
5173 * doc/invoke.texi (scev-max-expr-complexity): Documented.
5174 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
5175 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
5176 * tree-scalar-evolution.c (follow_ssa_edge): Use
5177 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
5178
5cbf5c20
RG
51792011-02-02 Richard Guenther <rguenther@suse.de>
5180
5181 PR tree-optimization/47566
5182 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
5183
83d70792
AO
51842011-02-02 Alexandre Oliva <aoliva@redhat.com>
5185
e829c321
AO
5186 PR debug/47106
5187 PR debug/47402
5188 * tree-inline.c (declare_return_variable): Remove unused caller
5189 variable.
5190
83d70792
AO
5191 PR debug/47106
5192 PR debug/47402
5193 * tree-flow-inline.h (clear_is_used, is_used_p): New.
5194 * cfgexpand.c (account_used_vars_for_block): Use them.
5195 * tree-nrv.c (tree_nrv): Likewise.
5196 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
5197 (dump_scope_block): Likewise.
5198 (remove_unused_locals): Likewise.
5199
aaa2ac93
AO
5200 PR debug/47106
5201 PR debug/47402
5202 * tree-inline.c (declare_return_variable): Add result decl to
5203 local decls only once.
5204 * gimple-low.c (record_vars_into): Mark newly-created variables
5205 as referenced.
5206
a59d15cf
AO
52072011-02-02 Alexandre Oliva <aoliva@redhat.com>
5208
5209 PR debug/47498
5210 PR debug/47501
5211 PR debug/45136
5212 PR debug/45130
5213 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
5214 debug insns.
5215 (no_real_insns_p, schedule_block, set_priorities): Drop special
5216 treatment of boundary debug insns.
38be4072 5217 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
a59d15cf
AO
5218 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
5219 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
5220 (BOUNDARY_DEBUG_INSN_P): Likewise.
5221 (SCHEDULE_DEBUG_INSN_P): Likewise.
5222 * sched-rgn.c (init_ready_list): Drop special treatment of
5223 boundary debug insns.
5224 * final.c (rest_of_clean_state): Clear notes' BB.
5225
6fc2f091
JM
52262011-02-01 Joseph Myers <joseph@codesourcery.com>
5227
5228 * config/openbsd.opt (assert=): New Driver option.
5229
fc523387
JM
52302011-02-01 Joseph Myers <joseph@codesourcery.com>
5231
5232 * config/i386/nto.opt: New.
5233 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
5234
6d9821e5
JM
52352011-02-01 Joseph Myers <joseph@codesourcery.com>
5236
5237 * config/i386/netware.opt: New.
5238 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
5239
cef932d4
JM
52402011-02-01 Joseph Myers <joseph@codesourcery.com>
5241
5242 * config/interix.opt (posix): New Driver option.
5243
22843acd
DD
52442011-02-01 DJ Delorie <dj@redhat.com>
5245
56490b74
DD
5246 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
5247
22843acd
DD
5248 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
5249 class for A0/A1.
5250
199c8f2f
SP
52512011-02-01 Sebastian Pop <sebastian.pop@amd.com>
5252
5253 PR tree-optimization/47561
5254 * toplev.c (process_options): Print the Graphite flags. Add
5255 flag_loop_flatten to the list of options requiring Graphite.
5256
926bcf22
JM
52572011-02-01 Joseph Myers <joseph@codesourcery.com>
5258
5259 * config/i386/cygming.opt (posix): New Driver option.
5260
59793c51
JM
52612011-02-01 Joseph Myers <joseph@codesourcery.com>
5262
5263 * config/arm/vxworks.opt: New.
5264 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
5265
183c38a4
JM
52662011-02-01 Joseph Myers <joseph@codesourcery.com>
5267
5268 * config/alpha/elf.opt: New.
5269 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
5270 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
5271
9939e416
RG
52722011-02-01 Richard Guenther <rguenther@suse.de>
5273
5274 PR tree-optimization/47559
5275 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
5276 store-motion on references that can throw.
5277
4a3c9687
BS
52782011-02-01 Bernd Schmidt <bernds@codesourcery.com>
5279
5280 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
5281 * tree-pass.h (TDF_CSELIB): New macro.
5282 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
5283 cselib_lookup): Check for it rather than for TDF_DETAILS.
5284
dd3b31fb
L
52852011-02-01 H.J. Lu <hongjiu.lu@intel.com>
5286
5287 PR driver/47547
5288 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
5289 is HOST_BIT_BUCKET.
5290
5291 * opts.c (finish_options): Don't add x_aux_base_name if it is
5292 HOST_BIT_BUCKET.
5293
34c1de79
RG
52942011-02-01 Richard Guenther <rguenther@suse.de>
5295
5296 PR tree-optimization/47555
5297 Revert
5298 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
5299
5300 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
5301
dd2804d2
SB
53022011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
5303
5304 PR gcc/46692
5305 * config/lm32/t-lm32: Add multilib for all CPU options.
5306
3fd3b156
RG
53072011-02-01 Richard Guenther <rguenther@suse.de>
5308
5309 PR tree-optimization/47541
5310 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
5311 sure to have a field at offset zero.
5312
f16072b6
JM
53132011-01-31 Joseph Myers <joseph@codesourcery.com>
5314
5315 * config/arc/arc.opt (EB, EL): New Driver options.
5316
6456cf2e
JM
53172011-01-31 Joseph Myers <joseph@codesourcery.com>
5318
5319 * config/alpha/osf5.opt: New.
5320 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
5321
cdde6ab4
JM
53222011-01-31 Joseph Myers <joseph@codesourcery.com>
5323
5324 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
5325
7633415c
SP
53262011-01-31 Sebastian Pop <sebastian.pop@amd.com>
5327
5328 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
5329 -floop-interchange.
5330 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
5331 is an alias of -floop-interchange and that it requires the
5332 Graphite infrastructure.
5333 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
5334 flag_loop_interchange based on the value of flag_tree_loop_linear.
5335
0425d6f5
JJ
53362011-01-31 Jakub Jelinek <jakub@redhat.com>
5337 Richard Guenther <rguenther@suse.de>
5338
5339 PR tree-optimization/47538
5340 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
5341 type instead of r1type, except for comparisons. For right
5342 shifts and comparisons punt if there are mismatches in
5343 sizetype vs. non-sizetype types.
5344
500b16c3
RO
53452011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5346
5347 * doc/sourcebuild.texi (Effective-Target Keywords): Document
5348 avx_runtime.
5349
e279edb0
RO
53502011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5351
5352 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
5353 version number.
5354 * configure: Regenerate.
5355
c6092243
RO
53562011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5357
5358 * configure.ac (gcc_cv_ld_static_option): Define.
5359 (gcc_cv_ld_dynamic_option): Define.
5360 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
5361 instead.
5362 (HAVE_LD_STATIC_DYNAMIC): Update message.
5363 (LD_STATIC_OPTION): Define.
5364 (LD_DYNAMIC_OPTION): Define.
5365 * configure: Regenerate.
5366 * config.in: Regenerate.
5367 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
5368 HAVE_LD_STATIC_DYNAMIC]: Use them.
5369
d7862be3
NC
53702011-01-31 Nick Clifton <nickc@redhat.com>
5371
5372 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
5373 registers inside interrupt handlers if the handler is not a leaf
5374 function.
5375
ba4ec0e0
NC
53762011-01-31 Nick Clifton <nickc@redhat.com>
5377
5378 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
5379 reg_renumber returning an INVALID_REGNUM.
5380
29a63921
AO
53812011-01-31 Alexandre Oliva <aoliva@redhat.com>
5382
5383 PR libgcj/44341
5384 * doc/install.texi: Document host options discarded when cross
5385 configuring target libraries.
5386
ef591d3f
AO
53872011-01-31 Alexandre Oliva <aoliva@redhat.com>
5388
5389 Reverted:
5390 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
5391 PR debug/45136
5392 PR debug/45130
5393 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
5394 debug insns.
5395 (no_real_insns_p, schedule_block, set_priorities): Drop special
5396 treatment of boundary debug insns.
38be4072 5397 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
ef591d3f
AO
5398 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
5399 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
5400 (BOUNDARY_DEBUG_INSN_P): Likewise.
5401 (SCHEDULE_DEBUG_INSN_P): Likewise.
5402 * sched-rgn.c (init_ready_list): Drop special treatment of
5403 boundary debug insns.
5404 * final.c (rest_of_clean-state): Clear notes' BB.
5405
61052244
AM
54062011-01-31 Alan Modra <amodra@gmail.com>
5407
5408 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
5409 toc relative expressions as we do in print_operand_address.
5410
c4c8962b
KH
54112011-01-30 Kazu Hirata <kazu@codesourcery.com>
5412
5413 * doc/extend.texi: Follow spelling conventions.
5414 * doc/invoke.texi: Fix a typo.
5415
e543b94c
JM
54162011-01-30 Joseph Myers <joseph@codesourcery.com>
5417
5418 * config/hpux11.opt: New.
5419 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
5420 ia64*-*-hpux*): Use hpux11.opt.
5421
509d65dd 54222011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
a70e0551
JY
5423
5424 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
5425 to tmake_file.
5426
7be03a0e
GP
54272011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
5428
5429 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
5430 support sites.
5431
419d1d37
GP
54322011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
5433
b596ed64
GP
5434 * doc/install.texi (Binaries): Remove outdated reference for
5435 Motorola 68HC11/68HC12 downloads.
5436
54372011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
61052244 5438
419d1d37
GP
5439 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
5440 Drepper's paper.
5441
4406d0e9
JW
54422011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
5443
5444 PR bootstrap/47147
5445 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
5446 used by NetBSD.
5447
38be4072 54482011-01-28 Ahmad Sharif <asharif@google.com>
e0b77418
AS
5449
5450 * value-prof.c (check_counter): Corrected error message.
5451
0cd98787
JZ
54522011-01-29 Jie Zhang <jie@codesourcery.com>
5453
5454 * config/arm/arm.c (arm_legitimize_reload_address): New.
5455 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
5456 arm_legitimize_reload_address.
38be4072 5457 * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
0cd98787 5458
9b798ac5
ILT
54592011-01-28 Ian Lance Taylor <iant@google.com>
5460
5461 * godump.c (go_define): Ignore macros whose definitions include
5462 two adjacent operands.
5463
591e29d9
JJ
54642011-01-28 Jakub Jelinek <jakub@redhat.com>
5465
5466 PR target/42894
5467 * varasm.c (force_const_mem): Store copy of x in desc->constant
5468 instead of x itself.
5469 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
5470 itself into REG_EQUAL note.
5471
62dcc44a
JM
54722011-01-28 Joseph Myers <joseph@codesourcery.com>
5473
5474 * config/freebsd.opt (posix, rdynamic): New Driver options.
5475
c9f58b9a
RO
54762011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5477
5478 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
5479 -Bstatic/-Bdynamic.
5480 * configure: Regenerate.
5481
5f02b9db
JM
54822011-01-27 Joseph Myers <joseph@codesourcery.com>
5483
5484 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
5485 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
5486
5df97412
AS
54872011-01-27 Anatoly Sokolov <aesok@post.ru>
5488
5489 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
5490 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
5491 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
5492 (s390_preferred_reload_class): Make static. Change return and
5493 'rclass' argument type to reg_class_t.
5494
779d4b91
JH
54952011-01-27 Jan Hubicka <jh@suse.cz>
5496
5497 PR middle-end/46949
5498 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
5499 (process_function_and_variable_attributes): Check defined weakrefs.
5500
e80b21ed
MJ
55012011-01-27 Martin Jambor <mjambor@suse.cz>
5502
5503 PR tree-optimization/47228
5504 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
5505 build_ref_for_offset.
5506
6dcc4f31
UW
55072011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5508
5509 * config/spu/spu-elf.h (ASM_SPEC): Remove.
5510
509d65dd 55112011-01-26 Mikael Pettersson <mikpe@it.uu.se>
3b8ff89f
MP
5512
5513 PR rtl-optimization/46856
5514 * postreload.c (reload_combine_recognize_const_pattern): Do not
5515 separate cc0 setter and user on cc0 targets.
5516
04af8788
NP
55172011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
5518
5519 PR c/43082
5520 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
5521 passed a VOID_TYPE expression, immediately emit an error and
5522 return error_mark_node.
5523
f7a60085
JL
55242011-01-26 Jeff Law <law@redhat.com>
5525
5526 PR rtl-optimization/47464
5527 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
5528 rather than may_trap_p as needed.
5529
5c2917ec
DD
55302011-01-26 DJ Delorie <dj@redhat.com>
5531
5532 PR rtl-optimization/46878
5533 * combine.c (insn_a_feeds_b): Check for the implicit cc0
5534 setter/user dependency as well.
5535
bef16e87
EB
55362011-01-26 Eric Botcazou <ebotcazou@adacore.com>
5537
5538 PR rtl-optimization/44469
5539 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
5540 after removing trivially dead basic blocks.
5541
c75d884b
JM
55422011-01-26 Joseph Myers <joseph@codesourcery.com>
5543
5544 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
5545 * config/frv/frv.h (LINK_SPEC): Likewise.
5546 * config/i386/netware.h (LINK_SPEC): Likewise.
5547 * config/m68k/linux.h (ASM_SPEC): Likewise.
5548 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
5549 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
5550 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
5551 * config/sparc/linux.h (ASM_SPEC): Likewise.
5552 * config/sparc/linux64.h (ASM_SPEC): Likewise.
5553 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
5554
d3153553
JM
55552011-01-26 Joseph Myers <joseph@codesourcery.com>
5556
5557 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
5558 * config/frv/frv.h (ASM_SPEC): Likewise.
5559 * config/m68k/linux.h (ASM_SPEC): Likewise.
5560 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
5561 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
5562 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
5563 * config/sparc/linux.h (ASM_SPEC): Likewise.
5564 * config/sparc/linux64.h (ASM_SPEC): Likewise.
5565 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
5566
b89b1e9d
JM
55672011-01-26 Joseph Myers <joseph@codesourcery.com>
5568
5569 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
5570 * config/frv/frv.h (LINK_SPEC): Likewise.
5571 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
5572
12eb1a9c
JM
55732011-01-26 Joseph Myers <joseph@codesourcery.com>
5574
5575 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
5576 * config/frv/frv.h (ASM_SPEC): Likewise.
5577 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
5578 * config/m68k/linux.h (ASM_SPEC): Likewise.
5579 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
5580 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
5581 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
5582 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
5583 * config/sparc/linux.h (ASM_SPEC): Likewise.
5584 * config/sparc/linux64.h (ASM_SPEC): Likewise.
5585 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
5586 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
5587
e435f098
SE
55882011-01-26 Steve Ellcey <sje@cup.hp.com>
5589
5590 PR target/46997
5591 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
5592 (*mux2): Ditto.
5593 (vec_extract_evenodd_help): Ditto.
5594 (vec_extract_evenv4hi): Ditto.
5595 (vec_extract_oddv4hi): Ditto.
5596 (vec_interleave_lowv2si): Ditto.
5597 (vec_interleave_highv2si): Ditto.
5598 (vec_extract_evenv2si): Ditto.
5599 (vec_extract_oddv2si: Ditto.
5600 (vec_pack_trunc_v2si): Ditto.
5601
34f0eee0
JH
56022011-01-22 Jan Hubicka <jh@suse.cz>
5603
5604 PR target/47237
5605 * cgraph.h (cgraph_local_info): New field can_change_signature.
5606 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
5607 signature can change.
5608 (ipcp_estimate_growth): Call sequence simplify only if calle signature
5609 can change.
5610 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
5611 (cgraph_function_versioning): We can not change signature of functions
5612 that don't allow that.
5613 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
5614 (lto_input_node): Likewise.
38be4072
UB
5615 * ipa-inline.c (compute_inline_parameters): Compute
5616 local.can_change_signature.
34f0eee0 5617 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
38be4072
UB
5618 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
5619 functions that can not change signature.
34f0eee0 5620 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
38be4072
UB
5621 init_cumulative_args): Do not use local calling conventions
5622 for functions that can not change signature.
34f0eee0 5623
980ca891
JH
56242011-01-22 Jan Hubicka <jh@suse.cz>
5625
5626 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
5627
768e3c60
RG
56282011-01-26 Richard Guenther <rguenther@suse.de>
5629
5630 PR tree-optimization/47190
61052244
AM
5631 * cgraphunit.c (process_common_attributes): New function.
5632 (process_function_and_variable_attributes): Use it.
768e3c60 5633
21d6a1c7
RG
56342011-01-26 Richard Guenther <rguenther@suse.de>
5635
5636 PR lto/47423
5637 * cgraphbuild.c (record_eh_tables): Record reference to personality
5638 function.
5639
48bb58b1
AO
56402011-01-26 Alexandre Oliva <aoliva@redhat.com>
5641
5642 PR debug/45454
5643 * sel-sched.c (moveup_expr): Don't let debug insns prevent
5644 non-debug insns from moving up.
5645
58c741a6
DK
56462011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
5647
5648 PR target/40125
5649 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
5650 t-dlldir{,-x} fragment for build and add it to tmake_file.
5651 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
5652 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
5653 * config/i386/t-dlldir: New file.
5654 (SHLIB_DLLDIR): Define.
5655 * config/i386/t-dlldir-x: New file.
5656 (SHLIB_DLLDIR): Define.
5657 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
5658 (SHLIB_INSTALL): Use it.
5659
bff99262
CLT
56602011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
5661
5662 PR target/47246
5663 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
5664 lower bound of the allowed Thumb-2 coprocessor load/store
5665 index range to -256. Add explaining comment.
5666
82c03907
ILT
56672011-01-25 Ian Lance Taylor <iant@google.com>
5668
5669 * godump.c (go_define): Improve lexing of macro expansion to only
5670 accept expressions which match Go spec.
5671
47ea1edf
DK
56722011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
5673
d4dba752 5674 PR c++/43601
47ea1edf
DK
5675 * tree.c (handle_dll_attribute): Handle it.
5676 * doc/extend.texi (@item dllexport): Mention it.
5677 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
5678
744f0946
ILT
56792011-01-25 Ian Lance Taylor <iant@google.com>
5680
5681 PR tree-optimization/26854
5682 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
5683 (decl_jump_unsafe): Move higher in file, with no other change.
5684 (bind): Set has_jump_unsafe_decl if appropriate.
5685 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
5686 (check_earlier_gotos): Likewise.
5687 (c_check_switch_jump_warnings): Likewise.
5688
5734f2b3
JW
56892011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
5690
5691 * doc/invoke.texi (Warning Options): Add missing hyphen.
5692 (-fprofile-dir): Minor grammatical fixes.
5693 (-fbranch-probabilities): Likewise.
5694
9bdbdcef
AO
56952011-01-25 Alexandre Oliva <aoliva@redhat.com>
5696
5697 PR debug/45136
5698 PR debug/45130
5699 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
5700 debug insns.
5701 (no_real_insns_p, schedule_block, set_priorities): Drop special
5702 treatment of boundary debug insns.
38be4072 5703 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
9bdbdcef
AO
5704 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
5705 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
5706 (BOUNDARY_DEBUG_INSN_P): Likewise.
5707 (SCHEDULE_DEBUG_INSN_P): Likewise.
5708 * sched-rgn.c (init_ready_list): Drop special treatment of
5709 boundary debug insns.
5710 * final.c (rest_of_clean-state): Clear notes' BB.
5711
b305e3da
SP
57122011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5713
5714 * Makefile.in (LAMBDA_H): Removed.
5715 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
5716 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
5717 lambda-trans.o, and tree-loop-linear.o.
5718 (lto-symtab.o): Remove dependence on LAMBDA_H.
5719 (tree-loop-linear.o): Remove rule.
5720 (lambda-mat.o): Same.
5721 (lambda-trans.o): Same.
5722 (lambda-code.o): Same.
5723 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
5724 (tree-vect-slp.o): Same.
5725 * hwint.h (gcd): Moved here.
5726 (least_common_multiple): Same.
5727 * lambda-code.c: Removed.
5728 * lambda-mat.c: Removed.
5729 * lambda-trans.c: Removed.
5730 * lambda.h: Removed.
5731 * tree-loop-linear.c: Removed.
5732 * lto-symtab.c: Do not include lambda.h.
5733 * omega.c (gcd): Removed.
5734 * passes.c (init_optimization_passes): Remove pass_linear_transform.
5735 * tree-data-ref.c (print_lambda_vector): Moved here.
5736 (lambda_vector_copy): Same.
5737 (lambda_matrix_copy): Same.
5738 (lambda_matrix_id): Same.
5739 (lambda_vector_first_nz): Same.
5740 (lambda_matrix_row_add): Same.
5741 (lambda_matrix_row_exchange): Same.
5742 (lambda_vector_mult_const): Same.
5743 (lambda_vector_negate): Same.
5744 (lambda_matrix_row_negate): Same.
5745 (lambda_vector_equal): Same.
5746 (lambda_matrix_right_hermite): Same.
5747 * tree-data-ref.h: Do not include lambda.h.
5748 (lambda_vector): Moved here.
5749 (lambda_matrix): Same.
5750 (dependence_level): Same.
5751 (lambda_transform_legal_p): Removed declaration.
5752 (lambda_collect_parameters): Same.
5753 (lambda_compute_access_matrices): Same.
5754 (lambda_vector_gcd): Same.
5755 (lambda_vector_new): Same.
5756 (lambda_vector_clear): Same.
5757 (lambda_vector_lexico_pos): Same.
5758 (lambda_vector_zerop): Same.
5759 (lambda_matrix_new): Same.
5760 * tree-flow.h (least_common_multiple): Removed declaration.
5761 * tree-parloops.c (lambda_trans_matrix): Moved here.
5762 (LTM_MATRIX): Same.
5763 (LTM_ROWSIZE): Same.
5764 (LTM_COLSIZE): Same.
5765 (LTM_DENOMINATOR): Same.
5766 (lambda_trans_matrix_new): Same.
5767 (lambda_matrix_vector_mult): Same.
5768 (lambda_transform_legal_p): Same.
5769 * tree-pass.h (pass_linear_transform): Removed declaration.
5770 * tree-ssa-loop.c (tree_linear_transform): Removed.
5771 (gate_tree_linear_transform): Removed.
5772 (pass_linear_transform): Removed.
5773 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
5774 flag_loop_interchange.
5775
6bdfdb96
JJ
57762011-01-25 Jakub Jelinek <jakub@redhat.com>
5777
5778 PR tree-optimization/47265
5779 PR tree-optimization/47443
5780 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
5781 if name still has some uses.
5782
e4cba915
MJ
57832011-01-25 Martin Jambor <mjambor@suse.cz>
5784
5785 PR tree-optimization/47382
5786 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
5787 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
5788
509d65dd 57892011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
f822b8ea
JS
5790
5791 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
5792 sjlj_except_unwind_info.
5793
194313e2
RG
57942011-01-25 Richard Guenther <rguenther@suse.de>
5795
5796 PR tree-optimization/47426
5797 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
5798 visible functions results escape.
5799
147a0bcf
JJ
58002011-01-25 Jakub Jelinek <jakub@redhat.com>
5801
5802 PR target/45701
5803 * config/arm/arm.c (any_sibcall_uses_r3): New function.
5804 (arm_get_frame_offsets): Use it.
5805
db963b52
SP
58062011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5807 Jakub Jelinek <jakub@redhat.com>
5808
5809 PR tree-optimization/47271
5810 * tree-if-conv.c (bb_postdominates_preds): New.
5811 (if_convertible_bb_p): Call bb_postdominates_preds.
5812 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
5813 (predicate_scalar_phi): Call bb_postdominates_preds.
5814
bcddd3b9
NC
58152011-01-25 Nick Clifton <nickc@redhat.com>
5816
5817 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
5818 * config/rx/rx.c (rx_function_value): Likewise.
5819 (rx_promote_function_mode): Likewise.
5820 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
5821 in order to make it legitimate.
38be4072
UB
5822 * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
5823 make sure that the first operand is the same as the result register.
bcddd3b9
NC
5824 (addsi3_unspec): Delete.
5825 (subdi3): Do not accept immediate operands.
5826 (subdi3_internal): Likewise.
5827
7e6cb022
JL
58282011-01-25 Jeff Law <law@redhat.com>
5829
5830 PR rtl-optimization/37273
5831 * ira-costs.c (scan_one_insn): Detect constants living in memory and
5832 handle them like argument loads from stack slots. Do not double
5833 count memory for memory constants and argument loads from stack slots.
5834
9ffa621e
JJ
58352011-01-25 Jakub Jelinek <jakub@redhat.com>
5836
5837 PR tree-optimization/47427
5838 PR tree-optimization/47428
5839 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
5840 coalesce if the new root var would be TREE_READONLY.
5841
5bd6e652
RG
58422011-01-25 Richard Guenther <rguenther@suse.de>
5843
5844 PR middle-end/47414
5845 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
5846 correct type for TBAA.
5847
7c48ea69
SP
58482011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5849
5850 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
5851 (close_phi_written_to_memory): Call for_each_index with
5852 dr_indices_valid_in_loop.
5853
38013f25
SP
58542011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5855
5856 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
5857 when it is initialized.
5858
5c640e29
SP
58592011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5860
5861 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
5862 call to graphite_find_data_references_in_stmt.
5863 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
5864 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
5865 call to graphite_find_data_references_in_stmt.
5866 (analyze_drs_in_stmts): Same.
5867 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
5868 in which the scalar analysis of indices is performed.
5869 (create_data_ref): Same. Update call to dr_analyze_indices.
5870 (find_data_references_in_stmt): Update call to create_data_ref.
5871 (graphite_find_data_references_in_stmt): Same.
5872 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
5873 declaration.
5874 (create_data_ref): Same.
5875 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
5876 call to create_data_ref.
5877
ac53c069
SP
58782011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5879
5880 * graphite-sese-to-poly.c (build_poly_scop): Move
38be4072 5881 rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
ac53c069 5882
3d17df15
SP
58832011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5884
5885 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
5886 VAR_DECL, PARM_DECL, and RESULT_DECL.
5887
c513da01
SP
58882011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5889
5890 * graphite-dependences.c (reduction_dr_1): Allow several reductions
5891 in a reduction PBB.
5892 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
5893 that have already been marked as PBB_IS_REDUCTION.
5894
3a292d59
SP
58952011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5896
5897 * graphite-scop-detection.c (same_close_phi_node): New.
5898 (remove_duplicate_close_phi): New.
5899 (make_close_phi_nodes_unique): New.
5900 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
5901
ba858447
SP
59022011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5903
5904 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
5905 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
5906 of both data references to be the same.
5907
8d865c56
SP
59082011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5909
38be4072
UB
5910 * graphite-dependences.c (build_lexicographical_constraint): Remove
5911 the gdim parameter.
5912 (build_lexicographical_constraint): Adjust call to
5913 ppl_powerset_is_empty.
8d865c56
SP
5914 (dependence_polyhedron): Same.
5915 (graphite_legal_transform_dr): Same.
5916 (graphite_carried_dependence_level_k): Same.
38be4072
UB
5917 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
5918 parameter.
8d865c56
SP
5919 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
5920
50034a36
SP
59212011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5922
5923 * graphite-sese-to-poly.c
5924 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
5925 (close_phi_written_to_memory): New.
5926 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
5927 and unshare_expr.
5928
0deada9e
SP
59292011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5930
5931 * doc/install.texi: Update the expected version number of PPL to 0.11.
5932 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
5933 #if PPL_VERSION_MINOR < 11.
5934
d7d3d6af
SP
59352011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5936
5937 * graphite-dependences.c: Include graphite-cloog-util.h.
5938 (new_poly_ddr): Inlined into dependence_polyhedron.
5939 (free_poly_ddr): Moved close by new_poly_ddr.
5940 (dependence_polyhedron_1): Renamed dependence_polyhedron.
5941 Early return NULL when ppl_powerset_is_empty returns true.
5942 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
5943 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
5944 (graphite_legal_transform_dr): Call new_poly_ddr.
5945 (graphite_carried_dependence_level_k): Same.
5946 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
5947 (dot_transformed_deps_stmt_1): Removed.
5948 (dot_deps_stmt_1): Call dot_deps_stmt_2.
5949 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
5950 (dot_deps_1): Call dot_deps_2.
5951 * Makefile.in (graphite-dependences.o): Add missing dependence on
5952 graphite-cloog-util.h.
5953
28c5db57
SP
59542011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5955
5956 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
5957 (build_lexicographical_constraint): Same.
5958 (dependence_polyhedron_1): Same.
5959 (graphite_legal_transform_dr): Same.
5960 (graphite_carried_dependence_level_k): Same.
5961 * graphite-ppl.c (ppl_powerset_is_empty): New.
5962 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
5963 * tree-data-ref.c (dump_data_reference): Print the basic block index.
5964
5168d98f
SP
59652011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5966
5967 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
5968 the "a followed by b" relation and document it.
5969
4a40293a
SP
59702011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5971
5972 * graphite-dependences.c (build_lexicographical_constraint): Stop the
5973 iteration when the bag of constraints is empty.
5974
271fb6fa
SP
59752011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5976
5977 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
5978
92d23680
SP
59792011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5980
5981 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
5982 nest and two loop depths as parameters.
5983 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
5984 lst_perfect_nestify.
5985
2f51deff
SP
59862011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5987
5988 * graphite-dependences.c (print_pddr): Call
5989 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
5990
07f3593c
SP
59912011-01-25 Sebastian Pop <sebastian.pop@amd.com>
5992
5993 * graphite-ppl.c (debug_gmp_value): New.
5994 * graphite-ppl.h (debug_gmp_value): Declared.
5995
3fae6099
TG
59962011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
5997
5998 * doc/install.texi: Document availability of cloog-0.16.
5999
1c3ba85b
SP
60002011-01-25 Vladimir Kargov <kargov@gmail.com>
6001
6002 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
6003 invalid postdominance info.
6004
e8ba94fc
JH
60052011-01-24 Jan Hubicka <jh@suse.cz>
6006
6007 PR c/21659
6008 * doc/extend.texi (weak pragma): Drop claim that it must
6009 appear before definition.
6010 * varasm.c (merge_weak, declare_weak): Only sanity check
6011 that DECL is not output at a time it is declared weak.
6012
2b6e2d13
KZ
60132011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
6014
6015 * machmode.def: Fixed comments.
1c3ba85b 6016
9841210f
KT
60172011-01-24 Kai Tietz <kai.tietz@onevision.com>
6018
6019 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
6020
60212011-01-24 Paul Koning <ni1d@arrl.net>
e046112d
PK
6022
6023 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
1c3ba85b 6024 WORDS_BIG_ENDIAN.
e046112d 6025
a6c5070a
L
60262011-01-24 H.J. Lu <hongjiu.lu@intel.com>
6027
6028 PR target/46519
6029 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
6030 (block_info): Add scanned and prev.
6031 (move_or_delete_vzeroupper_2): Return if the basic block
6032 has been scanned and the upper 128bit state is unchanged
6033 from the last scan.
6034 (move_or_delete_vzeroupper_1): Return true if the exit
6035 state is changed.
6036 (move_or_delete_vzeroupper): Visit basic blocks using the
6037 work-list based algorithm based on vt_find_locations in
6038 var-tracking.c.
6039
6040 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
6041
a40d79d7
NC
60422011-01-24 Nick Clifton <nickc@redhat.com>
6043
6044 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
6045 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
6046 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
6047 then define __v850e1__.
6048 * doc/invoke.texi: Document -mv850es.
6049
440eb8de
RH
60502011-01-24 Richard Henderson <rth@redhat.com>
6051
6052 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
6053 compound unordered comparisons.
6054 * config/rx/rx.c (rx_split_fp_compare): Remove.
6055 * config/rx/rx-protos.h: Update.
6056 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
6057 (cbranchsf4): Don't call rx_split_fp_compare.
6058 (*cbranchsf4): Use rx_split_cbranch.
6059 (*cmpsf): Don't accept "i" constraint.
6060 (*conditional_branch): Only valid after reload.
6061 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
6062
3ff79f99
MM
60632011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
6064
6065 PR target/47385
6066 * config/rs6000/altivec.md (vector constant splitters): Add
6067 support for creating vector single precision constants if -mvsx is
6068 used and we would create the constant using Altivec primitives.
6069
ff3d9d08
BS
60702011-01-23 Bernd Schmidt <bernds@codesourcery.com>
6071 Richard Sandiford <rdsandiford@googlemail.com>
6072
6073 PR rtl-optimization/47166
6074 * reload1.c (emit_reload_insns): Disable the spill_reg_store
6075 mechanism for PRE_MODIFY and POST_MODIFY.
6076 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
6077 reloadreg.
6078
7fcaf152
AS
60792011-01-23 Andreas Schwab <schwab@linux-m68k.org>
6080
8788adb6 6081 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
7fcaf152 6082
d09b58c4
JH
60832011-01-22 Jan Hubicka <jh@suse.cz>
6084
6085 PR lto/47333
6086 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
6087
e8ff8c5a
JH
60882011-01-22 Jan Hubicka <jh@suse.cz>
6089
6090 PR tree-optimization/43884
6091 PR lto/44334
8788adb6 6092 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
e8ff8c5a
JH
6093 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
6094
ccaed3ba
AS
60952011-01-22 Anatoly Sokolov <aesok@post.ru>
6096
6097 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
6098 * config/s390/s390.c (s390_register_move_cost,
6099 s390_memory_move_cost): New.
6100 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
6101
0cecee06
UW
61022011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6103
6104 PR middle-end/47401
6105 * except.c (sjlj_assign_call_site_values): Move setting the
6106 crtl->uses_eh_lsda flag to ...
6107 (sjlj_mark_call_sites): ... here.
6108 (sjlj_emit_function_enter): Support NULL dispatch label.
6109 (sjlj_build_landing_pads): In a function with no landing pads
6110 that still has must-not-throw regions, generate code to register
6111 a personality function with empty LSDA.
6112
e692f276
RH
61132011-01-21 Richard Henderson <rth@redhat.com>
6114
1b7ae0b7
RH
6115 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
6116
3843787f
RH
6117 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
6118
e692f276
RH
6119 * compare-elim.c: New file.
6120 * Makefile.in (OBJS-common): Add it.
6121 (compare-elim.o): New.
6122 * common.opt (fcompare-elim): New.
6123 * opts.c (default_options_table): Add OPT_fcompare_elim.
6124 * tree-pass.h (pass_compare_elim_after_reload): New.
6125 * passes.c (init_optimization_passes): Add it.
6126 * recog.h: Protect against re-inclusion.
6127 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
6128 * doc/invoke.texi (-fcompare-elim): Document it.
6129 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
6130 * doc/tm.texi: Rebuild.
6131
9a7c2050
NC
61322011-01-22 Nick Clifton <nickc@redhat.com>
6133
6134 * config/rx/rx.md (cstoresf4): Pass comparison operator to
6135 rx_split_fp_compare.
6136
15ba5696
NC
61372011-01-22 Nick Clifton <nickc@redhat.com>
6138
6139 * config/rx/rx.md (UNSPEC_CONST): New.
6140 (deallocate_and_return): Wrap the amount popped off the stack in
6141 an UNSPEC_CONST in order to stop it being rejected by
6142 -mmax-constant-size.
6143 (pop_and_return): Add a "(return)" rtx.
6144 (call): Drop the immediate operand.
6145 (call_internal): Likewise.
6146 (call_value): Likewise.
6147 (call_value_internal): Likewise.
6148 (sibcall_internal): Likewise.
6149 (sibcall_value_internal): Likewise.
6150 (sibcall): Likewise. Generate an explicit call using
6151 sibcall_internal.
6152 (sibcall_value): Likewise.
6153 (mov<>): FAIL if a constant operand is not legitimate.
6154 (addsi3_unpsec): New pattern.
9a7c2050 6155
38be4072 6156 * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
15ba5696
NC
6157 (ok_for_max_constant): New function.
6158 (gen_safe_add): New function.
6159 (rx_expand_prologue): Use gen_safe_add.
6160 (rx_expand_epilogue): Likewise.
6161 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
6162 UNSPEC CONSTs.
6163
caaf13d3
JL
61642011-01-21 Jeff Law <law@redhat.com>
6165
6166 PR tree-optimization/47053
6167 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
6168 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
6169 statements are deleted.
6170 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
6171 is nonempty, then purge dead edges and cleanup the CFG.
6172
12c30f2f
AO
61732011-01-21 Alexandre Oliva <aoliva@redhat.com>
6174
6175 PR debug/47402
6176 Temporarily revert:
6177 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
6178 PR debug/47106
6179 * tree-dfa.c (create_var_ann): Mark variable as used.
6180
7360d2ac
JJ
61812011-01-21 Jakub Jelinek <jakub@redhat.com>
6182
aaa52a96
JJ
6183 PR middle-end/45566
6184 * except.c (convert_to_eh_region_ranges): Emit queued no-region
6185 notes from other section in hot/cold partitioning even if
6186 last_action is -3. Increment call_site_base.
6187
7360d2ac
JJ
6188 PR rtl-optimization/47366
6189 * fwprop.c (forward_propagate_into): Return bool. If
6190 any changes are made, -fnon-call-exceptions is used and
6191 REG_EH_REGION note is present, call purge_dead_edges
6192 and return true if it purged anything.
6193 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
6194 any EH edges were purged.
6195
e90b336f
JL
61962011-01-21 Jeff Law <law@redhat.com>
6197
6198 PR rtl-optimization/41619
6199 * caller-save.c (setup_save_areas): Break out code to determine
6200 which hard regs are live across calls by examining the reload chains
6201 so that it is always used.
6202 Eliminate code which checked REG_N_CALLS_CROSSED.
6203
3ffe07e1
JJ
62042011-01-21 Jakub Jelinek <jakub@redhat.com>
6205
6206 PR tree-optimization/47355
6207 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
6208 NOP has non-debug uses beyond PHIs in new_bb.
6209
1c7d0b34
AO
62102011-01-21 Alexandre Oliva <aoliva@redhat.com>
6211
6212 PR debug/47106
6213 * cfgexpand.c (account_used_vars_for_block): Only account vars
6214 that are annotated as used.
6215 (estimated_stack_frame_size): Don't set TREE_USED.
6216 * tree-dfa.c (create_var_ann): Mark variable as used.
6217
f99cc488
RG
62182011-01-21 Richard Guenther <rguenther@suse.de>
6219
6220 PR middle-end/47395
6221 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
6222
3bc27de7
RG
62232011-01-21 Richard Guenther <rguenther@suse.de>
6224
6225 PR tree-optimization/47365
6226 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
6227 (vn_reference_lookup_pieces): Adjust.
6228 (vn_reference_lookup): Likewise.
6229 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
6230 (vn_reference_lookup_3): Only look through kills if in
6231 VN_WALKREWRITE mode.
6232 (vn_reference_lookup_pieces): Adjust.
6233 (vn_reference_lookup): Likewise.
6234 (visit_reference_op_load): Likewise.
6235 (visit_reference_op_store): Likewise.
6236 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
6237 (compute_avail): Likewise.
6238 (eliminate): Likewise.
6239
d8debb1d
JJ
62402011-01-21 Jakub Jelinek <jakub@redhat.com>
6241
6242 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
6243 DECL_IGNORED_P non-reg vars if they are used.
6244
3a2df831
JJ
6245 PR tree-optimization/47391
6246 * varpool.c (const_value_known_p): Return false if
6247 decl is volatile.
6248
1dd584a2
KT
62492011-01-21 Kai Tietz <kai.tietz@onevision.com>
6250
6251 PR bootstrap/47215
6252 * config/i386/i386.c (ix86_local_alignment): Handle
6253 case for va_list_type_node is nil.
6254 (ix86_canonical_va_list_type): Likewise.
6255
7f9f095e
AM
62562011-01-21 Alan Modra <amodra@gmail.com>
6257
6258 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
6259 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
6260
837b01f6
RR
62612011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6262
6263 * config/arm/arm.md (define_attr type): Rename f_load
6264 and f_store to f_fpa_load and f_fpa_store. Update.
6265 (write_conflict): Deal with rename fallout.
6266 (*push_fp_multi): Likewise.
6267 * config/arm/fpa.md (f_load): Use f_fpa_load.
6268 (f_store): Use f_fpa_store.
6269 (*movsf_fpa): Likewise.
6270 (*movdf_fpa): Likewise.
6271 (*movxf_fpa): Likewise.
6272 (*thumb2_movsf_fpa): Likewise.
6273 (*thumb2_movdf_fpa): Likewise.
6274 (*thumb2_movxf_fpa): Likewise.
6275 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
6276 f_loadd and f_stored.
6277 (*thumb2_movdi_vfp): Likewise.
6278 (*thumb2_movsf_vfp): Fix attribute to f_loads.
6279 (*thumb2_movsi_vfp): Likewise.
6280 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
6281 Use f_loads instead of f_load.
6282 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
6283
a1a79768
AS
62842011-01-20 Anatoly Sokolov <aesok@post.ru>
6285
6286 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
6287 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
6288 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
6289 (xtensa_mode_dependent_address_p): New function.
6290 (constantpool_address_p): Make static. Change return type to bool.
6291 Change argument type to const_rtx. Use CONST_INT_P predicate.
6292
427f6cec
AO
62932011-01-20 Alexandre Oliva <aoliva@redhat.com>
6294
6295 PR debug/46583
6296 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
6297
583ac69c
JJ
62982011-01-20 Jakub Jelinek <jakub@redhat.com>
6299
6300 PR debug/47283
6301 * cfgexpand.c (expand_debug_expr): Instead of generating
6302 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
6303 etc. handling.
6304
93e452ed
RG
63052011-01-20 Richard Guenther <rguenther@suse.de>
6306
6307 PR middle-end/47370
6308 * tree-inline.c (remap_gimple_op_r): Recurse manually for
6309 the pointer operand of MEM_REFs.
6310
28fc44f3
JJ
63112011-01-20 Jakub Jelinek <jakub@redhat.com>
6312
6313 PR tree-optimization/46130
6314 * ipa-split.c (consider_split): If return_bb contains non-virtual
6315 PHIs other than for retval or if split_function would not adjust it,
6316 refuse to split.
6317
ddd268f2
RG
63182011-01-20 Richard Guenther <rguenther@suse.de>
6319
6320 PR tree-optimization/47167
6321 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
6322 Revert previous change, only avoid enumeral type changes.
6323
882020aa
MS
63242011-01-19 Mike Stump <mikestump@comcast.net>
6325
6326 * doc/tm.texi.in (BRANCH_COST): Englishify.
6327 * doc/tm.texi (BRANCH_COST): Likewise.
6328
7edb6247
DS
63292011-01-19 Dodji Seketeli <dodji@redhat.com>
6330
6331 PR c++/47291
6332 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
61052244
AM
6333 (gen_scheduled_generic_parms_dies): New functions.
6334 (gen_struct_or_union_type_die): Schedule template parameters DIEs
6335 generation for the end of CU compilation.
6336 (dwarf2out_finish): Generate template parameters DIEs here.
7edb6247 6337
23d5ed5d
AO
63382011-01-19 Alexandre Oliva <aoliva@redhat.com>
6339
6340 PR debug/46240
6341 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
6342 debug bind stmt on merge edges.
6343
37d6a488
AO
63442011-01-19 Alexandre Oliva <aoliva@redhat.com>
6345
6346 PR debug/47079
6347 PR debug/46724
6348 * function.c (instantiate_expr): Instantiate incoming rtl of
6349 implicit arguments, and recurse on VALUE_EXPRs.
6350 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
6351 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
6352
689f2c82
AO
63532011-01-19 Alexandre Oliva <aoliva@redhat.com>
6354
6355 * c-parser.c (c_parser_for_statement): Initialize
6356 collection_expression.
6357
03029de4
JM
63582011-01-19 Joseph Myers <joseph@codesourcery.com>
6359
6360 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
6361
3e03217e
JM
63622011-01-19 Joseph Myers <joseph@codesourcery.com>
6363
6364 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
6365 (LINK_SHLIB_SPEC): Don't use %(link_path).
6366 (SUBTARGET_EXTRA_SPECS): Remove link_path.
6367
5bbe9b3f
JM
63682011-01-19 Joseph Myers <joseph@codesourcery.com>
6369
6370 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
6371 (NO_SHARED_LIB_SUPPORT): Remove.
6372 (LINK_SHLIB_SPEC): Remove one conditional definition.
6373
368e0b39
JM
63742011-01-19 Joseph Myers <joseph@codesourcery.com>
6375
6376 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
6377 %{call_shared}.
6378 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
6379 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
6380 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
6381 %{call_shared} and conditionals on these options not being passed.
6382 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
6383 %{call_shared}.
6384
ed7656f6
JJ
63852011-01-19 Jakub Jelinek <jakub@redhat.com>
6386
68457901
JJ
6387 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
6388 simplify.
6389
ed7656f6
JJ
6390 * ipa-split.c: Spelling fixes.
6391
e0d1958f
RH
63922011-01-19 Richard Henderson <rth@redhat.com>
6393
6394 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
6395 (*mulsi3): Likewise.
6396
27098b6b
RH
6397 * longlong.h [__mn10300__] (count_leading_zeros): New.
6398 [__mn10300__] (umul_ppmm, smul_ppmm): New.
6399 [__mn10300__] (add_ssaaaa, subddmmss): New.
6400 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
6401 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
6402
d6be7c36
UW
64032011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6404
6405 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
6406
b1efde2a
RH
64072011-01-19 Richard Henderson <rth@redhat.com>
6408
44217823
RH
6409 * config/mn10300/mn10300.md (addsi3_flags): New.
6410 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
6411 (subsi3_flags, subc_internal, subdi3): New.
6412 (subdi3_internal, *subdi3_degenerate): New.
6413 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
6414
37a185d7
RH
6415 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
6416 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
6417 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
6418 * config/mn10300/mn10300-protos.h: Update.
6419 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
6420 (return_ret): Likewise. Rename from return_internal_regs.
6421 (return_internal): Remove.
6422
040c5757
RH
6423 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
6424 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
6425 (mn10300_legitimate_constant_p): Likewise.
6426 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
6427 (mn10300_frame_size): New.
6428 (mn10300_expand_prologue): Use it.
6429 (mn10300_expand_epilogue): Likewise.
6430 (mn10300_initial_offset): Likewise.
6431 * config/mn10300/mn10300-protos.h: Update.
6432 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
6433 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
6434 (prologue, epilogue, return_internal): Tidy output code.
6435 (mn10300_store_multiple_operation, return): Likewise.
6436 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
6437 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
6438 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
6439 (load_pic, am33_load_pic): New.
6440 (mn10300_load_pic0, mn10300_load_pic1): New.
6441
bad41521
RH
6442 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
6443 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
6444 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
6445 (cc_flags_for_mode, cc_flags_for_code): New.
6446 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
6447 overflow flag is not valid. Validate that the flags we need
6448 for the comparison are valid.
6449 (mn10300_output_cmp): Remove.
6450 (mn10300_output_add): New.
6451 (mn10300_select_cc_mode): Use cc_flags_for_code.
6452 (mn10300_split_cbranch): New.
6453 (mn10300_match_ccmode): New.
6454 (mn10300_split_and_operand_count): New.
6455 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
6456 to the function.
6457 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
6458 (addsi3): ... here. Use mn10300_output_add.
6459 (*addsi3_flags): New.
6460 (*am33_subsi3, *mn10300_subsi3): Merge...
6461 (subsi3): ... here. Use attribute isa.
6462 (*subsi3_flags): New.
6463 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
6464 when possible.
6465 (*am33_andsi3, *mn10300_andsi3): Merge...
6466 (andsi3): ... here.
6467 (*andsi3_flags): New.
6468 (andsi3 splitters): New.
6469 (*am33_iorsi3, *mn10300_iorsi3): Merge...
6470 (iorsi3): ... here.
6471 (*iorsi3_flags): New.
6472 (*am33_xorsi3, *mn10300_xorsi3): Merge...
6473 (xorsi3): ... here.
6474 (*xorsi3_flags): New.
6475 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
6476 (one_cmplsi2): ... here.
6477 (*one_cmplsi2_flags): New.
6478 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
6479 instead of "dax" in constraints. Use mn10300_split_cbranch.
6480 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
6481 use matching constraints to eliminate a self-comparison.
6482 (*integer_conditional_branch): Rename from integer_conditional_branch.
6483 Use int_mode_flags to match CC_REG.
6484 (*cbranchsi4_btst, *btstsi): New.
6485 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
6486 mn10300_split_cbranch.
6487 (*am33_cmpsf): Rename from am33_cmpsf.
6488 (*float_conditional_branch): Rename from float_conditional_branch.
6489 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
6490 (zero_extendqisi2): ... here.
6491 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
6492 (zero_extendhisi2): ... here.
6493 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
6494 (extendqisi2): ... here.
6495 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
6496 (extendhisi2): ... here.
6497 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
6498 (ashlsi3): ... here.
6499 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
6500 (lshrsi3): ... here.
6501 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
6502 (ashrsi3): ... here.
6503 (consecutive add peephole): Remove.
6504 * config/mn10300/predicates.md (label_ref_operand): New.
6505 (int_mode_flags): New.
6506 (CCZN_comparison_operator): New.
6507
9efb4993
RH
6508 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
6509 (throughput_42_latency_43): New reservation.
6510 (mulsidi3, umulsidi3): New expanders.
6511 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
6512 the MDR register to allocation; separately allocate the low and
6513 high parts of the DImode result.
6514 (umulsidi3_internal): Similarly.
6515 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
6516 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
6517 (udivsi3, umodsi3): Remove.
6518 (udivmodsi4, divmodsi4): New expanders.
6519 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
6520 (*divmodsi4): Simiarly.
6521 (ext_internal): New.
6522
c25a21f5
RH
6523 * config/mn10300/constraints.md ("z"): New constraint.
6524 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
6525 (FIXED_REGISTERS): Don't fix MDR.
6526 (CALL_USED_REGSITERS): Reformat nicely.
6527 (REG_ALLOC_ORDER): Add MDR.
6528 (enum regclass): Add MDR_REGS.
6529 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
6530 (IRA_COVER_CLASSES): Add MDR_REGS.
6531 (REGNO_REG_CLASS): Handle MDR_REG.
6532 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
6533 (mn10300_register_move_cost): Likewise.
6534 * config/mn10300/mn10300.md (MDR_REG): New.
6535 (*movsi_internal): Handle moves to/from MDR_REGS.
6536
36846b26
RH
6537 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
6538 POST_MODIFY.
6539 (mn10300_secondary_reload): Tidy combination reload classes.
6540 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
6541 addresses for AM33. Allow symbolic offsets for reg+imm.
6542 (mn10300_regno_in_class_p): New.
6543 (mn10300_legitimize_reload_address): New.
6544 * config/mn10300/mn10300.h (enum reg_class): Remove
6545 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
6546 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
6547 SP_OR_GENERAL_REGS.
6548 (REG_CLASS_NAMES): Update to match.
6549 (REG_CLASS_CONTENTS): Likewise.
6550 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
6551 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
6552 (REGNO_IN_RANGE_P): Remove.
6553 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
6554 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
6555 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
6556 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
6557 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
6558 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
6559 (REGNO_GENERAL_P): New.
6560 (HAVE_POST_MODIFY_DISP): New.
6561 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
6562 (LEGITIMIZE_RELOAD_ADDRESS): New.
6563 * config/mn10300/mn10300-protos.h: Update.
6564
8b119bb6
RH
6565 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
6566 DATA_REGS for AM33 stack-pointer destination.
6567 (mn10300_preferred_output_reload_class): Likewise.
6568 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
6569 into a form appropriate for ...
6570 (TARGET_SECONDARY_RELOAD): New.
6571 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
6572 * config/mn10300/mn10300-protos.h: Update.
6573 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
6574 reload_insi; use the "A" constraint for the scratch; handle AM33
6575 moves of sp to non-address registers.
6576
b1efde2a
RH
6577 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
6578 (*movqi_internal): ... here.
6579 (*am33_movhi, *mn10300_movhi): Merge into...
6580 (*movhi_internal): ... here.
6581 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
6582 as the source/destination of moves from/to SP.
6583 (movsf): Only allow for AM33-2.
1c3ba85b 6584 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
b1efde2a
RH
6585 any integer constant constraint. Only allow for AM33-2. Tidy
6586 all of the alternative outputs.
6587 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
6588 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
6589 for MN103.
6590 (udivsi3, umodsi3): New patterns for MN103 only.
6591
b899fd78
JR
65922011-01-19 Joern Rennecke <amylaar@spamcop.net>
6593
6594 * doc/tm.texi.in: Spell out that a lack of register class unions
6595 can lead to ICEs.
6596 * doc/tm.texi: Regenerate.
6597
afaaa67d
JJ
65982011-01-19 Jakub Jelinek <jakub@redhat.com>
6599
2e0642cd
JJ
6600 PR rtl-optimization/47337
6601 * dce.c (check_argument_store): New function.
6602 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
6603
afaaa67d
JJ
6604 PR tree-optimization/47290
6605 * tree-eh.c (infinite_empty_loop_p): New function.
6606 (cleanup_empty_eh): Use it.
6607
d2cd871f
SE
66082011-01-18 Steve Ellcey <sje@cup.hp.com>
6609
6610 PR target/46997
6611 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
6612 (a64_expand_widen_sum): Ditto.
6613 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
6614 (vec_extract_evenodd_help): Ditto.
6615 (vec_extract_evenv4hi): Ditto.
6616 (vec_extract_oddv4hi): Ditto.
6617 (vec_extract_evenv2si): Ditto.
6618 (vec_extract_oddv2si): Ditto.
6619 (vec_extract_evenv2sf): Ditto.
6620 (vec_extract_oddv2sf): Ditto.
6621 (vec_pack_trunc_v4hi: Ditto.
6622 (vec_pack_trunc_v2si): Ditto.
6623 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
6624 (vec_interleave_highv8qi): Ditto.
6625 (mix1_r): Ditto.
6626 (vec_extract_oddv8qi): Ditto.
6627 (vec_interleave_lowv4hi): Ditto.
6628 (vec_interleave_highv4hi): Ditto.
6629 (vec_interleave_lowv2si): Ditto.
6630 (vec_interleave_highv2si): Ditto.
6631
41a1208a
JDA
66322011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6633
6634 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
6635 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
6636 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
6637 (pa_c_mode_for_suffix): New.
6638 (TARGET_EXPAND_BUILTIN): Define.
6639 (TARGET_C_MODE_FOR_SUFFIX): Define.
6640 (pa_builtins): Define.
6641 (pa_init_builtins): Register __float128 type and init new support
6642 builtins.
6643 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
6644 * config/pa/quadlib.c (_U_Qfcopysign): New.
6645
1ecad98e
EB
66462011-01-18 Eric Botcazou <ebotcazou@adacore.com>
6647
6648 PR middle-end/46894
6649 * explow.c (allocate_dynamic_stack_space): Do not assume more than
6650 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
6651 are defined.
6652
d4f2460a
UW
66532011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6654
6655 PR tree-optimization/47179
6656 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
6657 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
6658
4994da65
RG
66592011-01-18 Richard Guenther <rguenther@suse.de>
6660
6661 PR rtl-optimization/47216
6662 * emit-rtl.c: Include tree-flow.h.
6663 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
6664 of replicating it with different semantics.
6665 * Makefile.in (emit-rtl.o): Adjust.
6666
1eb458d1
RR
66672011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6668
38be4072 6669 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
61052244 6670 (cortex_a9_dp): Handle neon types correctly.
1eb458d1 6671
e7ef91dc
JJ
66722011-01-18 Jakub Jelinek <jakub@redhat.com>
6673
6674 PR rtl-optimization/47299
6675 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
38be4072 6676 subtarget. Use normal multiplication if both operands are constants.
e7ef91dc
JJ
6677 * expmed.c (expand_widening_mult): Don't try to optimize constant
6678 multiplication if op0 has VOIDmode. Convert op1 constant to mode
6679 before using it.
6680
535b7874
RW
66812011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6682
6683 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
6684 spacing after 'e.g.', typos, comma, hyphenation.
6685
27bf36f3
RH
66862011-01-17 Richard Henderson <rth@redhat.com>
6687
8a5b5449
RH
6688 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
6689 (rx_restricted_mem_operand): New.
6690 (rx_shift_operand): Use register_operand.
6691 (rx_source_operand, rx_compare_operand): Likewise.
6692 * config/rx/rx.md (addsi3_flags): New expander.
6693 (adddi3): Rewrite as expander.
6694 (adc_internal, *adc_flags, adddi3_internal): New patterns.
6695 (subsi3_flags): New expander.
6696 (subdi3): Rewrite as expander.
6697 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
6698
784f69be
RH
6699 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
6700 (rx_init_builtins): Remove sat builtin.
6701 (rx_expand_builtin): Likewise.
6702 * config/rx/rx.md (ssaddsi3): New.
6703 (*sat): Rename from sat. Represent the CC_REG input.
6704
f033541c
RH
6705 * config/rx/predicates.md (rshift_operator): New.
6706 * config/rx/rx.c (rx_expand_insv): Remove.
6707 * config/rx/rx-protos.h: Update.
6708 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
6709 operand to the canonical position.
6710 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
6711 (*bitclr, *bitclr_in_memory): Similarly.
6712 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
6713 (insv): Retain the zero_extract in the expansion.
6714
34fee389
RH
6715 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
6716 (bswaphi2, bitinvert, revw): Likewise.
6717
265c835f
RH
6718 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
6719 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
6720 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
6721 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
6722 (bitset, bitset_in_memory): Likewise.
6723 (bitinvert, bitinvert_in_memory): Likewise.
6724 (bitclr, bitclr_in_memory): Likewise.
6725 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
6726 (rx_strend, rx_cmpstrn): Likewise.
6727 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
6728 (bitop peep2 patterns): Remove.
6729
b4d83be3
RH
6730 * config/rx/rx.c (rx_match_ccmode): New.
6731 * config/rx/rx-protos.h: Update.
6732 * config/rx/rx.md (abssi2): Clobber, don't set flags.
6733 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
6734 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
6735 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
6736 (fix_truncsfsi2, floatsisf2): Likewise.
6737 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
6738 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
6739 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
6740 (*subsi3_flags, *xorsi3_flags): New.
6741
d0acb939
RH
6742 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
6743
c06fc3d9
RH
6744 * config/rx/rx.c (rx_print_operand): Remove workaround for
6745 unsplit comparison operations.
6746
2882702b
RH
6747 * config/rx/rx.md (movsicc): Split after reload.
6748 (*movsicc): Merge *movsieq and *movsine via match_operator.
6749 (*stcc): New pattern.
6750
6f7310f2
RH
6751 * config/rx/rx.c (rx_float_compare_mode): Remove.
6752 * config/rx/rx.h (rx_float_compare_mode): Remove.
6753 * config/rx/rx.md (cstoresi4): Split after reload.
6754 (*sccc): New pattern.
6755
e963cb1a
RH
6756 * config/rx/predicates.md (label_ref_operand): New.
6757 (rx_z_comparison_operator): New.
6758 (rx_zs_comparison_operator): New.
6759 (rx_fp_comparison_operator): New.
6760 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
6761 Validate that the flags are set properly for the comparison.
6762 (rx_gen_cond_branch_template): Remove.
6763 (rx_cc_modes_compatible): Remove.
6764 (mode_from_flags): New.
6765 (flags_from_code): Rename from flags_needed_for_conditional.
6766 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
6767 (rx_select_cc_mode): Likewise.
6768 (rx_split_fp_compare): New.
6769 (rx_split_cbranch): New.
6770 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
6771 (*cbranchsi4): Use match_operator and rx_split_cbranch.
6772 (*cbranchsf4): Similarly.
6773 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
6774 match_operator and rx_split_cbranch.
6775 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
6776 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
6777 (*cmpsi): Rename from cmpsi.
6778 (*tstsi): Rename from tstsi.
6779 (*cmpsf): Rename from cmpsf; use CC_Fmode.
6780 (*conditional_branch): Rename from conditional_branch.
6781 (*reveresed_conditional_branch): Remove.
6782 (b<code>): Remove expander.
6783 * config/rx/rx-protos.h: Update.
6784
af530bb4
RH
6785 * config/rx/rx.c (rx_compare_redundant): Remove.
6786 * config/rx/rx.md (cmpsi): Don't use it.
6787 * config/rx/rx-protos.h: Update.
6788
27bf36f3
RH
6789 * config/rx/rx-modes.def (CC_F): New mode.
6790 * config/rx/rx.c (rx_select_cc_mode): New.
6791 * config/rx/rx.h (SELECT_CC_MODE): Use it.
6792 * config/rx/rx-protos.h: Update.
6793
d7fde127
RH
67942011-01-17 Richard Henderson <rth@redhat.com>
6795
6796 * except.c (dump_eh_tree): Fix stray ; after for statement.
6797
6ff38230
RG
67982011-01-17 Richard Guenther <rguenther@suse.de>
6799
6800 PR tree-optimization/47313
6801 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
6802 handling before copying the body. Properly deal with
6803 by-reference result in SSA form.
6804
114ce554
ILT
68052011-01-17 Ian Lance Taylor <iant@google.com>
6806
bf5cd92b 6807 PR target/47219
114ce554
ILT
6808 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
6809 (struct_value_alias_set): Don't define.
6810 (sparc_option_override): Don't set sparc_sr_alias_set and
6811 struct_value_alias_set.
6812 (save_or_restore_regs): Use gen_frame_mem rather than calling
6813 set_mem_alias_set.
6814 (sparc_struct_value_rtx): Likewise.
6815
98c6d93c
L
68162011-01-17 H.J. Lu <hongjiu.lu@intel.com>
6817
6818 PR target/47318
7a81008b 6819 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to __m128i.
98c6d93c
L
6820 (_mm_maskstore_pd): Likewise.
6821 (_mm_maskload_ps): Likewise.
6822 (_mm_maskstore_ps): Likewise.
6823 (_mm256_maskload_pd): Change mask to __m256i.
6824 (_mm256_maskstore_pd): Likewise.
6825 (_mm256_maskload_ps): Likewise.
6826 (_mm256_maskstore_ps): Likewise.
6827
6828 * config/i386/i386-builtin-types.def: Updated.
6829 (ix86_expand_special_args_builtin): Likewise.
6830
6831 * config/i386/i386.c (bdesc_special_args): Update
6832 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
6833 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
6834 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
6835 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
6836
6837 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
6838 Use <avxpermvecmode> on mask register.
6839 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
6840
b9361af2 68412011-01-17 Olivier Hainque <hainque@adacore.com>
61052244
AM
6842 Michael Haubenwallner <michael.haubenwallner@salomon.at>
6843 Eric Botcazou <ebotcazou@adacore.com>
b9361af2
OH
6844
6845 PR target/46655
6846 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
6847 if <= USHRT_MAX in 32-bit mode.
6848
b7ae9eb5
RW
68492011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6850
6851 * doc/install.texi (Configuration, Specific): Wrap long
6852 lines in examples. Allow line wrapping in long options
6853 and URLs where beneficial for PDF output.
6854
4377fad9
RS
68552011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
6856
6857 * config/mips/mips.c (mips_classify_symbol): Don't return
6858 SYMBOL_PC_RELATIVE for nonlocal labels.
6859
55959ffa 68602011-01-15 Eric Botcazou <ebotcazou@adacore.com>
be46831f 6861
55959ffa
EB
6862 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
6863
68642011-01-15 Jan Hubicka <jh@suse.cz>
6865
6866 PR tree-optimization/47276
be46831f
JH
6867 * ipa.c (function_and_variable_visibility): Do not try to mark alias
6868 declarations as needed.
6869
05842ff5
MJ
68702011-01-15 Martin Jambor <mjambor@suse.cz>
6871
6872 * common.opt (fdevirtualize): New flag.
6873 * doc/invoke.texi (Option Summary): Document it.
6874 * opts.c (default_options_table): Add devirtualize flag.
6875 * ipa-prop.c (detect_type_change): Return immediately if
6876 devirtualize flag is not set.
6877 (detect_type_change_ssa): Likewise.
6878 (compute_known_type_jump_func): Likewise.
6879 (ipa_analyze_virtual_call_uses): Likewise.
6880
f65cf2b7
MJ
68812011-01-14 Martin Jambor <mjambor@suse.cz>
6882
6883 PR tree-optimization/45934
6884 PR tree-optimization/46302
6885 * ipa-prop.c (type_change_info): New type.
6886 (stmt_may_be_vtbl_ptr_store): New function.
6887 (check_stmt_for_type_change): Likewise.
6888 (detect_type_change): Likewise.
6889 (detect_type_change_ssa): Likewise.
6890 (compute_complex_assign_jump_func): Check for dynamic type change.
6891 (compute_complex_ancestor_jump_func): Likewise.
6892 (compute_known_type_jump_func): Likewise.
6893 (compute_scalar_jump_functions): Likewise.
6894 (ipa_analyze_virtual_call_uses): Likewise.
6895 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
6896
eb5bb0fd
JM
68972011-01-14 Joseph Myers <joseph@codesourcery.com>
6898
6899 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
6900 * config/i386/i386.opt (msse5): New Alias.
6901
f2060fbe
JM
69022011-01-14 Joseph Myers <joseph@codesourcery.com>
6903
6904 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
6905 * config/sparc/linux64.h (CC1_SPEC): Likewise.
6906 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
6907 * config/sparc/sparc.h (CC1_SPEC): Likewise.
6908
3a7b4385
JM
69092011-01-14 Joseph Myers <joseph@codesourcery.com>
6910
6911 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
6912 -mcpu options.
6913 * config/sparc/linux64.h (CC1_SPEC): Likewise.
6914 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
6915 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
6916 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
6917 Likewise.
6918 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
6919
a7b778f8
JM
69202011-01-14 Joseph Myers <joseph@codesourcery.com>
6921
38be4072 6922 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
a7b778f8 6923
a7edae0a
MS
69242011-01-14 Mike Stump <mikestump@comcast.net>
6925
6926 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
6927 * config/fr30/fr30.md: Likweise
6928 (movsi_push): Likewise.
6929 (movsi_pop): Likewise.
6930 (enter_func): Likewise.
6931 * config/moxie/moxie.md (movsi_push): Likewise.
6932 (movsi_pop): Likewise.
6933
cbabf03f
JM
69342011-01-14 Joseph Myers <joseph@codesourcery.com>
6935
6936 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
6937 %{no_archive} %{exact_version}.
6938 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
6939 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
6940 %{no_archive} %{exact_version}.
6941 * config/mips/openbsd.h (LINK_SPEC): Likewise.
6942 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
6943 * config/mips/vxworks.h: Likewise.
6944
438da41a
JM
69452011-01-14 Joseph Myers <joseph@codesourcery.com>
6946
38be4072 6947 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
438da41a 6948
da290a42
JM
69492011-01-14 Joseph Myers <joseph@codesourcery.com>
6950
6951 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
6952 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
6953
8989d00e
JM
69542011-01-14 Joseph Myers <joseph@codesourcery.com>
6955
6956 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
6957 -nodefaultlib.
6958
a3010a69
JM
69592011-01-14 Joseph Myers <joseph@codesourcery.com>
6960
6961 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
6962 for mcpu not cpu.
6963 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
6964 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
6965 not cpu.
6966 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
6967 Don't handle -shlib.
6968
e7f2f537
JM
69692011-01-14 Joseph Myers <joseph@codesourcery.com>
6970
6971 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
6972 (CC1_SPEC): Don't handle -profile.
6973
34830bfd
JM
69742011-01-14 Joseph Myers <joseph@codesourcery.com>
6975
6976 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
6977 * config/mips/mips.h (CC1_SPEC): Likewise.
6978
b2d36e74
JM
69792011-01-14 Joseph Myers <joseph@codesourcery.com>
6980
6981 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
6982 * config/mips/mips.h (CC1_SPEC): Likewise.
6983
dabadc52
JM
69842011-01-14 Joseph Myers <joseph@codesourcery.com>
6985
6986 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
6987 * config/m32r/linux.h (LINK_SPEC): Likewise.
6988 * config/mips/linux.h (LINK_SPEC): Likewise.
6989 * config/mips/linux64.h (LINK_SPEC): Likewise.
6990 * config/sparc/linux.h (LINK_SPEC): Likewise.
6991 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
6992 LINK_SPEC): Likewise.
6993 * config/xtensa/linux.h (LINK_SPEC): Likewise.
6994
43ee6785
JM
69952011-01-14 Joseph Myers <joseph@codesourcery.com>
6996
6997 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
6998 %{version:-v}.
6999 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
7000
45e79dfd
JM
70012011-01-14 Joseph Myers <joseph@codesourcery.com>
7002
7003 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
7004 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
7005
37e9e71d
JM
70062011-01-14 Joseph Myers <joseph@codesourcery.com>
7007
7008 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
7009
bb127cd8
RO
70102011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7011
7012 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
7013 supports -Bstatic/-Bdynamic.
7014 * configure: Regenerate.
7015
89a012ea 70162011-01-14 Jan Hubicka <jh@suse.cz>
509d65dd 7017 Jack Howarth <howarth@bromo.med.uc.edu>
89a012ea
JH
7018
7019 PR target/46037
7020 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
7021 when checking debug_info_level. Test write_symbols instead of
7022 debug_hooks->var_location when setting flag_var_tracking_uninit.
7023
7352c013
RG
70242011-01-14 Richard Guenther <rguenther@suse.de>
7025
7026 PR tree-optimization/47179
7027 * target.def (ref_may_alias_errno): New target hook.
7028 * targhooks.h (default_ref_may_alias_errno): Declare.
7029 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
7030 (default_ref_may_alias_errno): New function.
7031 * target.h (struct ao_ref_s): Declare.
7032 * tree-ssa-alias.c: Include target.h.
7033 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
7034 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
7035 (targhooks.o): Likewise.
7036 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
7037 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
7038
9a6c9288
RG
70392011-01-14 Richard Guenther <rguenther@suse.de>
7040
7041 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
7042
0fdb0d27
RG
70432011-01-14 Richard Guenther <rguenther@suse.de>
7044
7045 PR tree-optimization/47280
7046 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
7047 return CFG changes.
7048 (tree_ssa_forward_propagate_single_use_vars): Deal with
7049 CFG changes from associate_plusminus.
7050
8f66db3b
RG
70512011-01-14 Richard Guenther <rguenther@suse.de>
7052
7053 PR middle-end/47281
7054 Revert
7055 2011-01-11 Richard Guenther <rguenther@suse.de>
7056
280d9630
EB
7057 PR tree-optimization/46076
7058 * tree-ssa.c (useless_type_conversion_p): Conversions from
7059 unprototyped to empty argument list function types are useless.
8f66db3b 7060
6c0c92e6
RG
70612011-01-14 Richard Guenther <rguenther@suse.de>
7062
7063 PR tree-optimization/47286
280d9630 7064 * tree-ssa-structalias.c (new_var_info): Register variables are global.
6c0c92e6 7065
db09f943
MJ
70662011-01-14 Martin Jambor <mjambor@suse.cz>
7067
7068 PR middle-end/46823
7069 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
7070
dde8a3a4
AS
70712011-01-13 Anatoly Sokolov <aesok@post.ru>
7072
7073 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
7074 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
7075 * config/xtensa/xtensa.c (xtensa_libcall_value,
7076 xtensa_function_value_regno_p): New functions.
7077 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
7078
a2b63a20
KT
70792011-01-13 Kai Tietz <kai.tietz@onevision.com>
7080
7081 PR c++/47213
7082 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
7083 PE specific hook.
7084 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
7085 New function prototype.
7086 * config/i386/winnt.c (i386_pe_assemble_visibility):
7087 Warn only if attribute was specified by user.
7088
b41f0b34
MM
70892011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
7090
7091 PR target/47251
7092 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
7093 floating point.
7094 (floatunsdidf2_fcfidu): Ditto.
7095
3f3c098d
AK
70962011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7097
7098 * config/s390/s390.c (print_operand_address): Replace 'error' with
7099 'output_operand_lossage'.
7100 (print_operand): Likewise.
7101
29fa95ed
JL
71022011-01-13 Jeff Law <law@redhat.com>
7103
280d9630 7104 PR rtl-optimization/39077
29fa95ed
JL
7105 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
7106 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
7107 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
7108 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
7109 * gcse.c (prune_insertions_deletions): New function.
7110 (compute_pre_data): Use it.
7111
71d12276
DS
71122011-01-13 Dodji Seketeli <dodji@redhat.com>
7113
7114 PR debug/PR46973
7115 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
7116 static function.
61052244 7117 (prune_unused_types_mark): Use it.
71d12276 7118
9b0f04e7
AB
71192011-01-13 Andrey Belevantsev <abel@ispras.ru>
7120
7121 PR rtl-optimization/45352
1c3ba85b 7122 * sel-sched.c: Update copyright years.
9b0f04e7 7123 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1c3ba85b 7124 in the advancing loop when we have issued issue_rate insns.
9b0f04e7 7125
d6a3e264
RH
71262011-01-12 Richard Henderson <rth@redhat.com>
7127
a49b692a
RH
7128 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
7129 (TARGET_MD_ASM_CLOBBERS): New.
7130
126b1483
RH
7131 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
7132 (TARGET_DELEGITIMIZE_ADDRESS): New.
7133
f3d9d2e0
RH
7134 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
7135 (clzsi2, *bsch): New patterns.
7136
d84760c9
RH
7137 * config/mn10300/mn10300.md (INT): New mode iterator.
7138 (*mov<INT>_clr): New pattern, and peep2 to generate it.
7139
ec815d65
RH
7140 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
7141 flag_split_wide_types.
7142
d6a3e264
RH
7143 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
7144 (mn10300_trampoline_init): Rewrite without a template, an immediate
7145 load and a direct branch.
7146 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
7147
0f8ab434
AS
71482011-01-12 Anatoly Sokolov <aesok@post.ru>
7149
7150 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
7151 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
7152 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
7153 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
7154
d8a24b65
KT
71552011-01-12 Kai Tietz <kai.tietz@onevision.com>
7156
7157 PR debug/47209
7158 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
7159 of type.
7160
56e22cab
JH
71612011-01-12 Jan Hubicka <jh@suse.cz>
7162
7163 PR driver/47244
7164 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
7165 (PLUGIN_COND_CLOSE): New macro.
7166 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
7167
4b18b3c2
RG
71682011-01-12 Richard Guenther <rguenther@suse.de>
7169
7170 PR lto/47259
7171 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
7172 register variables in a MEM_REF.
7173
8e38461c
JM
71742011-01-12 Joseph Myers <joseph@codesourcery.com>
7175
7176 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
7177 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
7178 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
7179 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
7180 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
7181 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
7182 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
7183 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
7184 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
7185 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
7186 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
7187 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
7188 * config/gnu-user.h: New. Copied from linux.h.
7189 (LINUX_TARGET_STARTFILE_SPEC): Rename to
7190 GNU_USER_TARGET_STARTFILE_SPEC.
7191 (LINUX_TARGET_ENDFILE_SPEC): Rename to
7192 GNU_USER_TARGET_ENDFILE_SPEC.
7193 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
7194 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
7195 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
7196 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
7197 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
7198 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
7199 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
7200 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
7201 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
7202 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
7203 * config/arm/linux-eabi.h (CC1_SPEC): Use
7204 GNU_USER_TARGET_CC1_SPEC.
7205 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
7206 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
7207 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
7208 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
7209 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
7210 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
7211 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
7212 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
7213
a570fc16
RG
72142011-01-12 Richard Guenther <rguenther@suse.de>
7215
7216 PR other/46946
7217 * doc/invoke.texi (ffast-math): Document it is turned on
7218 with -Ofast.
7219
b0223c3e
JH
72202011-01-12 Jan Hubicka <jh@suse.cz>
7221
7222 PR tree-optimization/47233
ca1e00b3
EB
7223 * opts.c (common_handle_option): Disable ipa-reference with profile
7224 feedback.
b0223c3e 7225
1c3ba85b 72262011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
d853ee42
NP
7227
7228 * c-parser.c (c_parser_objc_at_property_declaration): Improved
ca1e00b3
EB
7229 error message.
7230
d853ee42
NP
72312011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
7232
7233 * c-parser.c (c_lex_one_token): Updated and reindented some
7234 comments. No changes in code.
7235
4053a5a0
ILT
72362011-01-11 Ian Lance Taylor <iant@google.com>
7237
7238 * godump.c (go_output_var): Don't output the variable if there is
7239 already a type with the same name.
7240
fa3e04d2
ILT
72412011-01-11 Ian Lance Taylor <iant@google.com>
7242
7243 * godump.c (go_format_type): Don't generate float80.
7244
885fe07c
RH
72452011-01-11 Richard Henderson <rth@redhat.com>
7246
72d6e3c5
RH
7247 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
7248 declaration. Rewrite for both speed and size.
7249 (mn10300_address_cost_1): Remove.
7250 (mn10300_register_move_cost): New.
7251 (mn10300_memory_move_cost): New.
7252 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
7253 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
7254 extensions, shifts, BSWAP, CLZ.
7255 (mn10300_wide_const_load_uses_clr): Remove.
7256 (TARGET_REGISTER_MOVE_COST): New.
7257 (TARGET_MEMORY_MOVE_COST): New.
7258 * config/mn10300/mn10300-protos.h: Update.
7259 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
7260
df37c023
RH
7261 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
7262 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
7263 * config/mn10300/mn10300-protos.h: Update.
7264 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
7265 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
7266 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
7267 (*test_int_bitfield, *test_byte_bitfield): Remove.
7268 (*bit_test, *subreg_bit_test): Remove.
62d3f9b2 7269 * config/mn10300/predicates.md (const_8bit_operand): Remove.
df37c023 7270
85a337b5
RH
7271 * config/mn10300/constraints.md ("c"): Rename from "A".
7272 ("A", "D"): New constraint letters.
7273 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
7274 (fmssf4, fnmasf4, fnmssf4): Likewise.
7275
a5c727e3
RH
7276 * config/mn10300/mn10300.md (isa): New attribute.
7277 (enabled): New attribute.
7278
0d9e23f4
RH
7279 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
7280 (abssf2, negsf2): Define only for hardware fp.
7281 (sqrtsf2): Reformat.
7282 (addsf3, subsf3, mulsf3): Merge expander and insn.
7283
c157b3f0
RH
7284 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
7285 (DEBUGGER_AUTO_OFFSET): Remove.
7286 (DEBUGGER_ARG_OFFSET): Remove.
7287
cc909bba
RH
7288 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
7289 Emit register stores with the same offsets as the hardware.
7290 (mn10300_store_multiple_operation): Don't check that the register
7291 save offsets are monotonic.
7292 * config/mn10300/mn10300-protos.h: Update.
7293
e3b5c2f3
RH
7294 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
7295
885fe07c
RH
7296 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
7297 in terms of the value on the stack, not the MDR register.
7298
6e701822
JH
72992011-01-11 Jan Hubicka <jh@suse.cz>
7300
7301 PR lto/45721
7302 PR lto/45375
7303 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
7304 (symbol_alias_set_destroy, symbol_alias_set_contains,
7305 propagate_aliases_backward): Declare.
7306 * lto-streamer-out.c (struct sets): New sturcture.
7307 (trivally_defined_alias): New function.
7308 (output_alias_pair_p): Rewrite.
7309 (output_unreferenced_globals): Fix output of alias pairs.
7310 (produce_symtab): Likewise.
7311 * ipa.c (function_and_variable_visibility): Set weak alias destination
7312 as needed in lto.
7313 * varasm.c (symbol_alias_set_t): Remove.
7314 (symbol_alias_set_destroy): Export.
7315 (propagate_aliases_forward, propagate_aliases_backward): New functions
7316 based on ...
7317 (compute_visible_aliases): ... this one; remove.
7318 (trivially_visible_alias): New
7319 (trivially_defined_alias): New.
7320 (remove_unreachable_alias_pairs): Rewrite.
7321 (finish_aliases_1): Reorganize code checking if alias is defined.
7322 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
7323 in LTO mode.
7324
1b248907
RG
73252011-01-11 Richard Guenther <rguenther@suse.de>
7326
7327 PR tree-optimization/46076
7328 * tree-ssa.c (useless_type_conversion_p): Conversions from
7329 unprototyped to empty argument list function types are useless.
7330
b1923f0a
RG
73312011-01-11 Richard Guenther <rguenther@suse.de>
7332
7333 PR middle-end/45235
7334 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
7335 volatile MEMs as MEM_READONLY_P.
7336
e98965af
RG
73372011-01-11 Richard Guenther <rguenther@suse.de>
7338
7339 PR tree-optimization/47239
7340 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
7341
9f9ca914
JL
73422011-01-11 Jeff Law <law@redhat.com>
7343
1ee3ea05 7344 PR tree-optimization/47086
9f9ca914
JL
7345 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
7346 IVs from statements that might throw.
7347
345fdcb7
JH
73482011-01-10 Jan Hubicka <jh@suse.cz>
7349
7350 PR lto/45375
7351 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
7352
c459c97b
JH
73532011-01-10 Jan Hubicka <jh@suse.cz>
7354
7355 PR lto/45375
7356 * profile.c (read_profile_edge_counts): Ignore profile inconistency
7357 when correcting profile.
7358
06c9eb51
JH
73592011-01-10 Jan Hubicka <jh@suse.cz>
7360
7361 PR lto/46083
7362 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
7363 DECL_FINI_PRIORITY.
7364 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
7365 Restore DECL_FINI_PRIORITY.
7366
ae9fd815
RW
73672011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7368
7369 * doc/gimple.texi: Fix quoting of multi-word return values in
7370 @deftypefn statements. Ensure presence of return value. Wrap
7371 overlong @deftypefn lines.
7372 (is_gimple_operand, is_gimple_min_invariant_address): Remove
7373 descriptions of removed functions.
7374 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
7375 of multi-word return value in @deftypefn statement.
7376
0ecb4a7c
RW
73772011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7378
7379 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
7380 (Conditional Expressions, Logical Operators)
7381 (Statement and operand traversals): Do not indent smallexample
7382 code. Fix duplicate function argument in example.
7383
2e5e346d
JL
73842011-01-10 Jeff Law <law@redhat.com>
7385
1ee3ea05 7386 PR tree-optimization/47141
2e5e346d
JL
7387 * ipa-split.c (split_function): Handle case where we are
7388 returning a value and the return block has a virtual operand phi.
7389
cf9712cc
JH
73902011-01-10 Jan Hubicka <jh@suse.cz>
7391
1c3ba85b 7392 PR tree-optimization/47234
cf9712cc
JH
7393 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
7394 (pass_feedback_split_functions): Declare.
7395 * passes.c (init_optimization_passes): Add ipa-split as subpass of
7396 tree-profile.
7397 * ipa-split.c (gate_split_functions): Update comments; disable
7398 split-functions for profile_arc_flag and branch_probabilities.
7399 (gate_feedback_split_functions): New function.
7400 (execute_feedback_split_functions): New function.
7401 (pass_feedback_split_functions): New global var.
7402
94cd932c
L
74032011-01-10 H.J. Lu <hongjiu.lu@intel.com>
7404
7405 PR lto/46760
7406 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
7407 calling gimple_call_set_cannot_inline.
7408
fbbfcaf1
IS
74092011-01-10 Iain Sandoe <iains@gcc.gnu.org>
7410
7411 * config/darwin-sections.def: Remove unused section.
7412
d06865bf
DK
74132011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
7414
7415 PR c++/47218
7416 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
7417
96bbfbac
NP
74182011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
7419
7420 PR objc/47232
7421 * c-parser.c (c_parser_declaration_or_fndef): Improved
7422 error message.
7423
1ba6516f
KT
74242011-01-09 Kai Tietz <kai.tietz@onevision.com>
7425
7426 * config/i386/winnt.c (i386_pe_start_function): Make sure
7427 to switch back to function's section.
7428
0c5d770e
IS
74292011-01-09 Iain Sandoe <iains@gcc.gnu.org>
7430
7431 PR gcc/46902
7432 PR testsuite/46912
7433 * plugin.c: Move include of dlfcn.h from here...
7434 * system.h: ... to here.
7435
74362011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4ee1aa2a
RW
7437
7438 * doc/cpp.texi (C++ Named Operators): Fix markup for header
7439 file name.
7440 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
7441 two extra empty pages in PDF output.
7442
046608a3
NP
74432011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
7444
7445 PR objc/47078
7446 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
7447 for error recovery purposes behave as if it was not specified so
7448 that the default type is usd.
7449
8cb114b9
JH
74502011-01-07 Jan Hubicka <jh@suse.cz>
7451
7452 PR tree-optmization/46469
7453 * ipa.c (function_and_variable_visibility): Clear needed flags on
7454 nodes with external decls; handle weakrefs merging correctly.
7455
b294a75e
JM
74562011-01-07 Joseph Myers <joseph@codesourcery.com>
7457
7458 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
7459 not false.
7460
96bdf9b4
JH
74612011-01-07 Jan Hubicka <jh@suse.cz>
7462
7463 * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
7464 and no longer claim that gold is required for linker plugin.
7465 * configure: Regenerate.
7466 * gcc.c (PLUGIN_COND): New macro.
7467 (LINK_COMMAND_SPEC): Use it.
7468 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
7469 * config.in (HAVE_LTO_PLUGIN): New.
7470 * configure.ac (--with-lto-plugin): New parameter; autodetect
7471 HAVE_LTO_PLUGIN.
7472
17afc0fe
JH
74732011-01-07 Jan Hubicka <jh@suse.cz>
7474
7475 PR tree-optimization/46367
7476 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
7477 when we can update original.
7478 (cgraph_mark_inline_edge): Sanity check.
7479 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
7480
d4c48c0f
UW
74812011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7482
7483 * config/spu/spu.h (ASM_COMMENT_START): Define.
7484
96f5b137
L
74852011-01-07 H.J. Lu <hongjiu.lu@intel.com>
7486
7487 PR driver/42445
7488 * gcc.c (%>S): New.
7489 (SWITCH_KEEP_FOR_GCC): Likewise.
7490 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
7491 (do_spec_1): Handle "%>".
7492
7493 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
7494
c6a8f6de
JJ
74952011-01-07 Jakub Jelinek <jakub@redhat.com>
7496
c21bbd7a
JJ
7497 PR target/47201
7498 * config/i386/i386.c (ix86_delegitimize_address): If
7499 simplify_gen_subreg fails, return orig_x.
7500
c6a8f6de
JJ
7501 PR bootstrap/47187
7502 * value-prof.c (gimple_stringop_fixed_value): Handle
7503 lhs of the call properly.
7504
fe95fbf9
JH
75052011-01-07 Jan Hubicka <jh@suse.cz>
7506
7507 PR lto/45375
7508 * lto-opt.c (lto_reissue_options): Set flag_shlib.
7509
14d11d40
IS
75102011-01-07 Iain Sandoe <iains@gcc.gnu.org>
7511
72e961c8
EB
7512 * target.def (function_switched_text_sections): New hook.
7513 * doc/tm.texi: Regenerated.
7514 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 7515 * final.c (default_function_switched_text_sections): New.
72e961c8
EB
7516 (final_scan_insn): Call function_switched_text_sections when a
7517 mid-function section change occurs.
14d11d40 7518 * output.h (default_function_switched_text_sections): Declare.
72e961c8
EB
7519 * config/darwin-protos.h (darwin_function_switched_text_sections):
7520 Likewise.
14d11d40 7521 * config/darwin.c (darwin_function_switched_text_sections): New.
72e961c8 7522 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 7523
0b764288
IS
75242011-01-07 Iain Sandoe <iains@gcc.gnu.org>
7525
7526 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
7527 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
7528 the secondary code fragment when outputting for DWARF == 2.
7529
2ac6bb04
AS
75302011-01-07 Anatoly Sokolov <aesok@post.ru>
7531
7532 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
7533 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
7534 Remove.
7535 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
7536 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
7537
9f82de11
EB
75382011-01-06 Eric Botcazou <ebotcazou@adacore.com>
7539
7540 PR debug/46704
280d9630
EB
7541 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
7542 when it is not empty.
9f82de11
EB
7543
75442011-01-06 Changpeng Fang <changpeng.fang@amd.com>
14b52538 7545
1ed72abf 7546 Bobcat Enablement
14b52538 7547 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1ed72abf 7548 (case ${target}): Add btver1.
14b52538 7549 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1ed72abf 7550 -march=native recognize btver1 processors.
14b52538 7551 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1ed72abf 7552 btver1 def_and_undef
14b52538 7553 * config/i386/i386.c (struct processor_costs btver1_cost): New
1ed72abf
CF
7554 btver1 cost table.
7555 (m_BTVER1): New definition.
7556 (m_AMD_MULTIPLE): Includes m_BTVER1.
7557 (initial_ix86_tune_features): Add btver1 tune.
7558 (processor_target_table): Add btver1 entry.
7559 (static const char *const cpu_names): Add btver1 entry.
7560 (software_prefetching_beneficial_p): Add btver1.
7561 (ix86_option_override_internal): Add btver1 instruction sets.
7562 (ix86_issue_rate): Add btver1.
7563 (ix86_adjust_cost): Add btver1.
14b52538 7564 * config/i386/i386.h (TARGET_BTVER1): New definition.
1ed72abf
CF
7565 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
7566 (enum processor_type): Add PROCESSOR_BTVER1.
14b52538
CF
7567 * config/i386/i386.md (define_attr "cpu"): Add btver1.
7568
e1a973d8
RO
75692011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7570
7571 PR target/43309
7572 * config/i386/i386.c (legitimize_tls_address)
7573 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
7574 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
7575 (tls_initial_exec_64_sun): New pattern.
7576
c73f67c5
GP
75772011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
7578
7579 * doc/invoke.texi (Overall Options): Improve wording and markup
7580 of the description of -wrapper.
7581
bc4c6f9c
JM
75822011-01-06 Joseph Myers <joseph@codesourcery.com>
7583
7584 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
7585 rdynamic, threads): New Driver options.
7586
adb75db0
RO
75872011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7588
7589 PR target/38118
7590 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
7591 if coming from .tdata.
7592 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
7593
402c1cb4
JH
75942011-01-06 Jan Hubicka <jh@suse.cz>
7595
7596 PR lto/47188
7597 * collect2.c (main): Do not enable LTOmode when plugin is active.
7598
a4da6485
RO
75992011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7600
7601 PR other/45915
7602 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
7603 --version output if supported.
7604 * configure: Regenerate.
7605
028dbdf4
JM
76062011-01-06 Joseph Myers <joseph@codesourcery.com>
7607
7608 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
7609 Driver options.
7610
dfe776dd
JJ
76112011-01-06 Jakub Jelinek <jakub@redhat.com>
7612
7613 PR c/47150
7614 * c-convert.c (convert): When converting a complex expression
7615 other than COMPLEX_EXPR to a different complex type, ensure
7616 c_save_expr is called instead of save_expr, unless in_late_binary_op.
7617 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
7618 when converting COMPLEX_TYPE.
7619
210dedfe
IR
76202011-01-06 Ira Rosen <irar@il.ibm.com>
7621
7622 PR tree-optimization/47139
7623 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
7624 only the last reduction value is used outside the loop. Update
7625 documentation.
7626
cd33a412
JM
76272011-01-05 Joseph Myers <joseph@codesourcery.com>
7628
7629 * config/rtems.opt: New.
7630 * config.gcc (*-*-rtems*): Use rtems.opt.
7631
819edd94
CF
76322011-01-05 Changpeng Fang <changpeng.fang@amd.com>
7633
7634 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
7635 processors do not support 3DNow instructions.
7636
dc242c4a
UW
76372011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7638
7639 * config/spu/spu.c (spu_option_override): Set parameter
7640 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
7641
be286227
JH
76422011-01-05 Jan Hubicka <jh@suse.cz>
7643
7644 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
7645 at the command line.
7646
644e637f
MJ
76472011-01-05 Martin Jambor <mjambor@suse.cz>
7648
7649 PR lto/47162
7650 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
7651 deltas on streamed outgoing edges.
7652 (output_node_opt_summary): Output info for outgoing edges only when
7653 the node is in new parameter set.
7654 (output_cgraph_opt_summary): New parameter set, passed to the two
7655 aforementioned functions. Update its forward declaration and its
7656 callee too.
7657
7bd11157
TT
76582011-01-05 Tom Tromey <tromey@redhat.com>
7659
7660 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
7661 operator to c_finish_omp_atomic.
7662 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
7663 (build_unary_op): Update.
7664 (build_modify_expr): Update.
7665 (build_asm_expr): Update.
7666
f626b979
UW
76672011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7668
7669 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
7670 newly inserted insns.
7671 (pad_bb): Likewise.
7672 (spu_emit_branch_hint): Likewise.
7673 (insert_hbrp_for_ilb_runout): Likewise.
7674 (spu_machine_dependent_reorg): Call df_finish_pass after
7675 schedule_insns returns.
7676
4c825c02
UW
76772011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7678
7679 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
7680
5e9fba51
EB
76812011-01-05 Eric Botcazou <ebotcazou@adacore.com>
7682
7683 PR tree-optimization/47005
7684 * tree-sra.c (struct access): Add 'non_addressable' bit.
7685 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
7686 (decide_one_param_reduction): Return 0 if the parameter is passed by
7687 reference and one of the accesses in the group is non_addressable.
7688
3ebb5ca6
EB
76892011-01-04 Eric Botcazou <ebotcazou@adacore.com>
7690
7691 PR tree-optimization/47056
7692 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
7693 (mark_load): Likewise. Handle FUNCTION_DECL specially.
7694 (mark_store): Likewise. Pass STMT to ipa_record_reference.
7695
d5d4d14e
EB
76962011-01-04 Eric Botcazou <ebotcazou@adacore.com>
7697
7698 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
7699 initializer. Skip view conversions from aggregate types.
7700
d996ef70
KT
77012011-01-04 Kai Tietz <kai.tietz@onevision.com>
7702
7703 PR bootstrap/47055
7704 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
7705
509d65dd 77062011-01-04 Philipp Thomas <pth@suse.de>
017096ca
PT
7707
7708 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
7709 obvious typo.
7710
55c623b5
UW
77112011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7712
7713 * function.c (thread_prologue_and_epilogue_insns): Do not crash
7714 on empty epilogue sequences.
7715
b98d6b35
JM
77162011-01-04 Joseph Myers <joseph@codesourcery.com>
7717
7718 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
7719 non-static): New Driver options.
7720
a0d43bac
JZ
77212011-01-04 Jie Zhang <jie@codesourcery.com>
7722
7723 PR driver/47137
7724 * gcc.c (default_compilers[]): Set combinable field to 0
7725 for all assembly languages.
7726
2b18eb32
MX
77272011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
7728
7729 * config/mips/loongson3a.md: New file.
7730 * config/mips/mips.md: Include loongson3a.md.
7731 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
7732 TUNE_LOONGSON_3A.
7733
42a48c4f
EB
77342011-01-03 Eric Botcazou <ebotcazou@adacore.com>
7735
7736 PR middle-end/47017
7737 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
7738 instead of convert_memory_address_addr_space on the base expression.
7739
9c1732c4
UW
77402011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7741
7742 * config/spu/spu.c (spu_option_override): Update error text
7743 for bad -march= / -mtune= values.
7744
aa474365
UW
77452011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7746
7747 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
7748 if branch-hint optimization will be performed.
7749
9766135b
JJ
77502011-01-03 Jakub Jelinek <jakub@redhat.com>
7751
371556ee
JJ
7752 PR tree-optimization/47148
7753 * ipa-split.c (split_function): Convert arguments to
7754 DECL_ARG_TYPE if possible.
7755
1ac12fa2
JJ
7756 PR tree-optimization/47155
7757 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
7758 when computing uns.
7759
9766135b
JJ
7760 PR rtl-optimization/47157
7761 * combine.c (try_combine): If undobuf.other_insn becomes
7762 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
7763 and set *new_direct_jump_p too.
7764
f4a2e571
SP
77652011-01-03 Sebastian Pop <sebastian.pop@amd.com>
7766
7767 PR tree-optimization/47021
7768 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
7769
9f8e43c0
JJ
77702011-01-03 Jakub Jelinek <jakub@redhat.com>
7771
7772 * gcc.c (process_command): Update copyright notice dates.
7773 * gcov.c (print_version): Likewise.
7774 * gcov-dump.c (print_version): Likewise.
7775 * mips-tfile.c (main): Likewise.
7776 * mips-tdump.c (main): Likewise.
7777
1a2e38f3
MJ
77782011-01-03 Martin Jambor <mjambor@suse.cz>
7779
7780 PR tree-optimization/46801
7781 * tree-sra.c (type_internals_preclude_sra_p): Check whether
7782 aggregate fields start at byte boundary instead of the bit-field flag.
7783
56b721c5
L
77842011-01-03 H.J. Lu <hongjiu.lu@intel.com>
7785
7786 PR driver/47137
7787 * gcc.c (main): Revert revision 168407.
7788
839d549b
MJ
77892011-01-03 Martin Jambor <mjambor@suse.cz>
7790
7791 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
7792
4ce99a20 77932011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2fa6eeff
UW
7794
7795 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
7796 vector optab to expand vector/scalar shift, update gimple to vector.
7797
76df0ae6
MJ
77982011-01-03 Martin Jambor <mjambor@suse.cz>
7799
7800 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
7801 a thunk.
7802
ce47fda3
MJ
78032011-01-03 Martin Jambor <mjambor@suse.cz>
7804
7805 PR tree-optimization/46984
7806 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
7807 HOST_WIDE_INT.
7808 (cgraph_create_indirect_edge): Fixed line length.
7809 (cgraph_indirect_call_info): Declare.
7810 (cgraph_make_edge_direct) Update declaration.
7811 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
7812 (cgraph_create_indirect_edge): Use it.
7813 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
7814 callees.
7815 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
7816 the new thunk_delta representation.
7817 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
7818 HOST_WIDE_INT.
7819 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
7820 (ipa_read_indirect_edge_info): Likewise.
7821 * lto-cgraph.c (output_edge_opt_summary): New function.
7822 (output_node_opt_summary): Call it on all outgoing edges.
7823 (input_edge_opt_summary): New function.
7824 (input_node_opt_summary): Call it on all outgoing edges.
7825
1e67fa1f
L
78262011-01-02 H.J. Lu <hongjiu.lu@intel.com>
7827
7828 PR driver/47137
7829 * gcc.c (main): Don't check have_o when settting combine_inputs.
7830
6656b2ac
EB
78312011-01-02 Eric Botcazou <ebotcazou@adacore.com>
7832
7833 * regrename.c: Add general comment describing the pass.
7834 (struct du_head): Remove 'length' field.
7835 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
7836 (regrename_optimize): Do not sort chains. Rework comments, add others.
7837 Force renaming to the preferred class (if any) in the first pass and do
7838 not consider registers that belong to it in the second pass.
7839 (create_new_chain): Do not set 'length' field.
7840 (scan_rtx_reg): Likewise.
7841
bc470c24
JJ
78422011-01-02 Jakub Jelinek <jakub@redhat.com>
7843
4e996296
JJ
7844 PR tree-optimization/47140
7845 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
7846 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
7847 to bit_value_binop.
7848
bc470c24 7849 PR rtl-optimization/47028
6656b2ac
EB
7850 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
7851 parm_birth_insn instead of at the beginning of first bb.
bc470c24 7852
5af62fcd 78532011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
0d52f2a8
MX
7854
7855 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
7856 Remove the word "see" before "@pxref".
7857 * doc/rtl.texi: Remove the word "see" before "@pxref".
7858
0e20c89f
JH
78592011-01-01 Jan Hubicka <jh@suse.cz>
7860
6656b2ac
EB
7861 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
7862 memory.
0e20c89f 7863
220e83ca
KT
78642011-01-01 Kai Tietz <kai.tietz@onevision.com>
7865
7866 PR target/38662
6656b2ac 7867 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
220e83ca 7868
ad41bd84 7869\f
797103eb 7870Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
7871
7872Copying and distribution of this file, with or without modification,
7873are permitted in any medium without royalty provided the copyright
7874notice and this notice are preserved.