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