]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
tree-ssa-sccvn.c (process_scc): Dump SCC here, when iterating,
[gcc.git] / gcc / ChangeLog
CommitLineData
b2b222b3
RB
12014-05-20 Richard Biener <rguenther@suse.de>
2
3 * tree-ssa-sccvn.c (process_scc): Dump SCC here, when
4 iterating,
5 (extract_and_process_scc_for_name): not here.
6 (cond_dom_walker::before_dom_children): Only process
7 stmts that end the BB in interesting ways.
8 (run_scc_vn): Mark param uses as visited.
9
e9ea5185
KT
102014-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11
12 * config/arm/arm.md (arith_shiftsi): Do not predicate for
13 arm_restrict_it.
14
8f0e7f6f
NC
152014-05-20 Nick Clifton <nickc@redhat.com>
16
17 * config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on
18 operand 0 in order to prevent confusion about the number of
19 registers involved.
20
d1c0308e
RB
212014-05-20 Richard Biener <rguenther@suse.de>
22
23 PR tree-optimization/61221
24 * tree-ssa-pre.c (el_to_update): Remove.
25 (eliminate_dom_walker::before_dom_children): Handle released
26 VDEFs by value-numbering them to the associated VUSE. Update
27 stmt immediately for substituted call address.
28 (eliminate): Remove delayed stmt updating code.
29 * tree-ssa-sccvn.c (vuse_ssa_val): New function valueizing
30 possibly late re-numbered vuses.
31 (vn_reference_lookup_2): Adjust.
32 (vn_reference_lookup_pieces): Likewise.
33 (vn_reference_lookup): Likewise.
34
54da09ee
RB
352014-05-20 Richard Biener <rguenther@suse.de>
36
37 * config.gcc: Remove need_64bit_hwint.
38 * configure.ac: Do not define NEED_64BIT_HOST_WIDE_INT.
39 * hwint.h: Do not check NEED_64BIT_HOST_WIDE_INT but assume
40 it to be true.
41 * config.in: Regenerate.
42 * configure: Likewise.
43
883755a1
DW
442014-05-19 David Wohlferd <dw@LimeGreenSocks.com>
45
46 * doc/extend.texi: Create Label Attributes section,
47 move all label attributes into it and reference it.
48
514b3156
RE
492014-05-19 Richard Earnshaw <rearnsha@arm.com>
50
51 * arm.c (thumb1_reorg): When scanning backwards skip anything
52 that's not a proper insn.
53
1d44def2
RB
542014-05-19 Richard Biener <rguenther@suse.de>
55
56 PR tree-optimization/61221
57 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
58 Do nothing for unreachable blocks.
59 * tree-ssa-sccvn.c (cond_dom_walker::before_dom_children):
60 Improve unreachability detection.
61
05135136
RB
622014-05-19 Richard Biener <rguenther@suse.de>
63
64 PR tree-optimization/61209
65 * tree-ssa-sccvn.c (visit_phi): Avoid setting expr to VN_TOP.
66
40ba8dfb
NC
672014-05-19 Nick Clifton <nickc@redhat.com>
68
69 * except.c (init_eh): Fix computation of builtin setjmp buffer
70 size to allow for targets where POINTER_SIZE > BITS_PER_WORD.
71
cb460086
RB
722014-05-19 Richard Biener <rguenther@suse.de>
73
74 PR tree-optimization/61184
75 * tree-vrp.c (is_negative_overflow_infinity): Use
76 TREE_OVERFLOW_P and do that check first.
77 (is_positive_overflow_infinity): Likewise.
78 (is_overflow_infinity): Likewise.
79 (vrp_operand_equal_p): Properly treat operands with
80 differing overflow as not equal.
81
bddd3671
BS
822014-05-19 Bernd Schmidt <bernds@codesourcery.com>
83
84 * simplify-rtx.c (simplify_unary_operation_1): Use CONST_INT_P in
85 shift simplification where it was intended.
86
72d82e7a
CB
872014-05-19 Christian Bruel <christian.bruel@st.com>
88
89 PR target/61195
90 * config/sh/sh.md (movsf_ie): Unset fp_mode for fmov.
91
34dbb287
RS
922014-05-19 Richard Sandiford <r.sandiford@uk.ibm.com>
93
94 PR target/61084
95 * config/sparc/sparc.c (sparc_fold_builtin): Use widest_int rather
96 than wide_int.
97
339ba33b
RS
982014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
99
100 * reg-notes.def (CROSSING_JUMP): Likewise.
101 * rtl.h (rtx_def): Update comment for jump flag.
102 (CROSSING_JUMP_P): Define.
103 * cfgcleanup.c (try_forward_edges, try_optimize_cfg): Use it instead
104 of a REG_CROSSING_JUMP note.
105 * cfghooks.c (tidy_fallthru_edges): Likewise.
106 * cfgrtl.c (fixup_partition_crossing, rtl_verify_edges): Likewise.
107 * emit-rtl.c (try_split): Likewise.
108 * haifa-sched.c (sched_create_recovery_edges): Likewise.
109 * ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
110 * jump.c (redirect_jump_2): Likewise.
111 * reorg.c (follow_jumps, fill_slots_from_thread): Likewise.
112 (relax_delay_slots): Likewise.
113 * config/arc/arc.md (jump_i, cbranchsi4_scratch, *bbit): Likewise.
114 (bbit_di): Likewise.
115 * config/arc/arc.c (arc_reorg, arc_can_follow_jump): Likewise.
116 * config/sh/sh.md (jump_compact): Likewise.
117 * bb-reorder.c (rotate_loop): Likewise.
118 (pass_duplicate_computed_gotos::execute): Likewise.
119 (add_reg_crossing_jump_notes): Rename to...
120 (update_crossing_jump_flags): ...this.
121 (pass_partition_blocks::execute): Update accordingly.
122
a65d5b87
RS
1232014-05-19 Richard Sandiford <rdsandiford@googlemail.com>
124
125 * tree.h: Remove extraneous template <>.
126
7b3376a0
JH
1272014-05-17 Jan Hubicka <hubicka@ucw.cz>
128
129 * ipa.c (symtab_remove_unreachable_nodes): Remove
130 symbol from comdat group if its body was eliminated.
131 (comdat_can_be_unshared_p_1): Static symbols can always
132 be privatized.
133 * symtab.c (symtab_remove_from_same_comdat_group): Break out
134 from ...
135 (symtab_unregister_node): ... this one.
136 (verify_symtab_base): More strict checking of comdats.
137 * cgraph.h (symtab_remove_from_same_comdat_group): Declare.
138
a04d9035
JH
1392014-05-17 Jan Hubicka <hubicka@ucw.cz>
140
141 * tree-pass.h (make_pass_ipa_comdats): New pass.
142 * timevar.def (TV_IPA_COMDATS): New timevar.
143 * passes.def (pass_ipa_comdats): Add.
144 * Makefile.in (OBJS): Add ipa-comdats.o
145 * ipa-comdats.c: New file.
146
24a71ba8
JH
1472014-05-17 Jan Hubicka <hubicka@ucw.cz>
148
149 * ipa.c (update_visibility_by_resolution_info): New function.
150 (function_and_variable_visibility): Use it.
151
d6d229c6
JH
1522014-05-17 Jan Hubicka <hubicka@ucw.cz>
153
154 * cgraph.h (symtab_first_defined_symbol, symtab_next_defined_symbol):
155 New functions.
156 (FOR_EACH_DEFINED_SYMBOL): New macro.
157 (varpool_first_static_initializer, varpool_next_static_initializer,
158 varpool_first_defined_variable, varpool_next_defined_variable): Fix comments.
159 (symtab_in_same_comdat_p): Correctly deal with inline functions.
160
c3af645c
TS
1612014-05-17 Trevor Saunders <tsaunders@mozilla.com>
162
163 * ggc-page.c (ggc_handle_finalizers): Add comment.
164
de49ce19
TS
1652014-05-17 Trevor Saunders <tsaunders@mozilla.com>
166
167 * ggc-common.c (ggc_internal_cleared_alloc): Adjust.
168 * ggc-none.c (ggc_internal_alloc): Assert if a finalizer is passed.
169 (ggc_internal_cleared_alloc): Likewise.
170 * ggc-page.c (finalizer): New class.
16f8dfdb 171 (vec_finalizer): Likewise.
de49ce19 172 (globals::finalizers): New member.
16f8dfdb 173 (globals::vec_finalizers): Likewise.
de49ce19
TS
174 (ggc_internal_alloc): Record the finalizer if any for the block being
175 allocated.
176 (ggc_handle_finalizers): New function.
177 (ggc_collect): Call ggc_handle_finalizers.
178 * ggc.h (ggc_internal_alloc): Add arguments to allow installing a
179 finalizer.
180 (ggc_internal_cleared_alloc): Likewise.
181 (finalize): New function.
182 (need_finalization_p): Likewise.
183 (ggc_alloc): Install the type's destructor as the finalizer if it
184 might do something.
185 (ggc_cleared_alloc): Likewise.
186 (ggc_vec_alloc): Likewise.
187 (ggc_cleared_vec_alloc): Likewise.
188
04eec987
TS
1892014-05-17 Trevor Saunders <tsaunders@mozilla.com>
190
191 * ggc.h (ggc_alloc_cleared_simd_clone_stat): Remove function.
192
766090c2
TS
1932014-05-17 Trevor Saunders <tsaunders@mozilla.com>
194
195 * alias.c (record_alias_subset): Adjust.
196 * bitmap.c (bitmap_element_allocate): Likewise.
197 (bitmap_gc_alloc_stat): Likewise.
198 * cfg.c (init_flow): Likewise.
199 (alloc_block): Likewise.
200 (unchecked_make_edge): Likewise.
201 * cfgloop.c (alloc_loop): Likewise.
202 (flow_loops_find): Likewise.
203 (rescan_loop_exit): Likewise.
204 * cfgrtl.c (init_rtl_bb_info): Likewise.
205 * cgraph.c (insert_new_cgraph_node_version): Likewise.
206 (cgraph_allocate_node): Likewise.
207 (cgraph_create_edge_1): Likewise.
208 (cgraph_allocate_init_indirect_info): Likewise.
209 * cgraphclones.c (cgraph_clone_edge): Likewise.
210 * cgraphunit.c (add_asm_node): Likewise.
211 (init_lowered_empty_function): Likewise.
16f8dfdb 212 * config/aarch64/aarch64.c (aarch64_init_machine_status): Likewise.
766090c2
TS
213 * config/alpha/alpha.c (alpha_init_machine_status): Likewise.
214 (alpha_use_linkage): Likewise.
215 * config/arc/arc.c (arc_init_machine_status): Likewise.
216 * config/arm/arm.c (arm_init_machine_status): Likewise.
217 * config/avr/avr.c (avr_init_machine_status): Likewise.
218 * config/bfin/bfin.c (bfin_init_machine_status): Likewise.
219 * config/c6x/c6x.c (c6x_init_machine_status): Likewise.
220 * config/cris/cris.c (cris_init_machine_status): Likewise.
221 * config/darwin.c (machopic_indirection_name): Likewise.
222 (darwin_build_constant_cfstring): Likewise.
223 (darwin_enter_string_into_cfstring_table): Likewise.
16f8dfdb 224 * config/epiphany/epiphany.c (epiphany_init_machine_status): Likewise.
766090c2
TS
225 * config/frv/frv.c (frv_init_machine_status): Likewise.
226 * config/i386/i386.c (get_dllimport_decl): Likewise.
227 (ix86_init_machine_status): Likewise.
228 (assign_386_stack_local): Likewise.
16f8dfdb 229 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
766090c2
TS
230 (i386_pe_maybe_record_exported_symbol): Likewise.
231 (i386_pe_record_stub): Likewise.
232 * config/ia64/ia64.c (ia64_init_machine_status): Likewise.
233 * config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
234 * config/m32c/m32c.c (m32c_init_machine_status): Likewise.
235 (m32c_note_pragma_address): Likewise.
236 * config/mep/mep.c (mep_init_machine_status): Likewise.
237 (mep_note_pragma_flag): Likewise.
238 * config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
239 (mips16_local_alias): Likewise.
240 (mips_init_machine_status): Likewise.
241 * config/mmix/mmix.c (mmix_init_machine_status): Likewise.
242 * config/moxie/moxie.c (moxie_init_machine_status): Likewise.
243 * config/msp430/msp430.c (msp430_init_machine_status): Likewise.
244 * config/nds32/nds32.c (nds32_init_machine_status): Likewise.
245 * config/nios2/nios2.c (nios2_init_machine_status): Likewise.
246 * config/pa/pa.c (pa_init_machine_status): Likewise.
247 (pa_get_deferred_plabel): Likewise.
248 * config/rl78/rl78.c (rl78_init_machine_status): Likewise.
249 * config/rs6000/rs6000.c (builtin_function_type): Likewise.
250 (rs6000_init_machine_status): Likewise.
251 (output_toc): Likewise.
252 * config/s390/s390.c (s390_init_machine_status): Likewise.
253 * config/score/score.c (score_output_external): Likewise.
254 * config/sparc/sparc.c (sparc_init_machine_status): Likewise.
255 * config/spu/spu.c (spu_init_machine_status): Likewise.
256 * config/tilegx/tilegx.c (tilegx_init_machine_status): Likewise.
16f8dfdb 257 * config/tilepro/tilepro.c (tilepro_init_machine_status): Likewise.
766090c2
TS
258 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
259 * coverage.c (coverage_end_function): Likewise.
260 * dbxout.c (dbxout_init): Likewise.
261 * doc/gty.texi: Don't mention variable_size attribute.
262 * dwarf2cfi.c (new_cfi): Adjust.
263 (new_cfi_row): Likewise.
264 (copy_cfi_row): Likewise.
265 (create_cie_data): Likewise.
266 * dwarf2out.c (dwarf2out_alloc_current_fde): Likewise.
267 (new_loc_descr): Likewise.
268 (find_AT_string_in_table): Likewise.
269 (add_addr_table_entry): Likewise.
270 (new_die): Likewise.
271 (add_var_loc_to_decl): Likewise.
272 (clone_die): Likewise.
273 (clone_as_declaration): Likewise.
274 (break_out_comdat_types): Likewise.
275 (new_loc_list): Likewise.
276 (add_loc_descr_to_each): Likewise.
277 (add_location_or_const_value_attribute): Likewise.
278 (add_linkage_name): Likewise.
279 (lookup_filename): Likewise.
280 (dwarf2out_var_location): Likewise.
281 (new_line_info_table): Likewise.
282 (dwarf2out_init): Likewise.
283 (mem_loc_descriptor): Likewise.
284 (loc_descriptor): Likewise.
285 (add_const_value_attribute): Likewise.
286 (tree_add_const_value_attribute): Likewise.
287 (comp_dir_string): Likewise.
288 (dwarf2out_vms_debug_main_pointer): Likewise.
289 (string_cst_pool_decl): Likewise.
290 * emit-rtl.c (set_mem_attrs): Likewise.
291 (get_reg_attrs): Likewise.
292 (start_sequence): Likewise.
293 (init_emit): Likewise.
294 (init_emit_regs): Likewise.
295 * except.c (init_eh_for_function): Likewise.
296 (gen_eh_region): Likewise.
297 (gen_eh_region_catch): Likewise.
298 (gen_eh_landing_pad): Likewise.
299 (add_call_site): Likewise.
300 * function.c (add_frame_space): Likewise.
301 (insert_temp_slot_address): Likewise.
302 (assign_stack_temp_for_type): Likewise.
303 (get_hard_reg_initial_val): Likewise.
304 (allocate_struct_function): Likewise.
305 (prepare_function_start): Likewise.
306 (types_used_by_var_decl_insert): Likewise.
307 * gengtype.c (variable_size_p): Remove function.
308 (enum alloc_quantity): Remove enum.
309 (write_typed_alloc_def): Remove function.
310 (write_typed_struct_alloc_def): Likewise.
311 (write_typed_typedef_alloc_def): Likewise.
312 (write_typed_alloc_defns): Likewise.
313 (main): Adjust.
314 * ggc-common.c (ggc_cleared_alloc_htab_ignore_args): Adjust.
315 (ggc_cleared_alloc_ptr_array_two_args): Likewise.
316 * ggc.h (ggc_alloc): new function.
317 (ggc_cleared_alloc): Likewise.
318 (ggc_vec_alloc): Template on type of vector element, and remove
319 element size argument.
320 (ggc_cleared_vec_alloc): Likewise.
321 * gimple.c (gimple_build_omp_for): Adjust.
322 (gimple_copy): Likewise.
323 * ipa-cp.c (get_replacement_map): Likewise.
324 (find_aggregate_values_for_callers_subset): Likewise.
325 (known_aggs_to_agg_replacement_list): Likewise.
326 * ipa-devirt.c (get_odr_type): Likewise.
327 * ipa-prop.c (ipa_node_duplication_hook): Likewise.
328 (read_agg_replacement_chain): Likewise.
329 * loop-iv.c (get_simple_loop_desc): Likewise.
330 * lto-cgraph.c (input_node_opt_summary): Likewise.
331 * lto-section-in.c (lto_new_in_decl_state): Likewise.
332 * lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
333 (input_eh_region): Likewise.
334 (input_eh_lp): Likewise.
335 (input_cfg): Likewise.
336 * optabs.c (set_optab_libfunc): Likewise.
337 (init_tree_optimization_optabs): Likewise.
338 (set_conv_libfunc): Likewise.
339 * passes.c (do_per_function_toporder): Likewise.
340 * rtl.h: Don't use variable_size gty attribute.
341 * sese.c (if_region_set_false_region): Adjust.
342 * stringpool.c (gt_pch_save_stringpool): Likewise.
343 * target-globals.c (save_target_globals): Likewise.
344 * toplev.c (general_init): Likewise.
345 * trans-mem.c (record_tm_replacement): Likewise.
346 (split_bb_make_tm_edge): Likewise.
347 * tree-cfg.c (move_sese_region_to_fn): Likewise.
348 * tree-data-ref.h (lambda_vector_new): Likewise.
349 * tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
350 * tree-iterator.c (tsi_link_before): Likewise.
351 (tsi_link_after): Likewise.
352 * tree-scalar-evolution.c (new_scev_info_str): Likewise.
353 * tree-ssa-loop-niter.c (record_estimate): Likewise.
354 * tree-ssa-operands.c (ssa_operand_alloc): Likewise.
355 * tree-ssa-operands.h: Don't use variable_size gty attribute.
356 * tree-ssa.c (init_tree_ssa): Adjust.
357 * tree-ssanames.c (set_range_info): Likewise.
358 (get_ptr_info): Likewise.
359 (duplicate_ssa_name_ptr_info): Likewise.
360 (duplicate_ssa_name_range_info): Likewise.
361 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Likewise.
362 (unpack_ts_fixed_cst_value_fields): Likewise.
363 * tree.c (build_fixed): Likewise.
364 (build_real): Likewise.
365 (build_string): Likewise.
366 (decl_priority_info): Likewise.
367 (decl_debug_expr_insert): Likewise.
368 (decl_value_expr_insert): Likewise.
369 (decl_debug_args_insert): Likewise.
370 (type_hash_add): Likewise.
371 (build_omp_clause): Likewise.
372 * ubsan.c (decl_for_type_insert): Likewise.
373 * varasm.c (get_unnamed_section): Likewise.
374 (get_noswitch_section): Likewise.
375 (get_section): Likewise.
376 (get_block_for_section): Likewise.
377 (create_block_symbol): Likewise.
378 (build_constant_desc): Likewise.
379 (create_constant_pool): Likewise.
380 (force_const_mem): Likewise.
381 (record_tm_clone_pair): Likewise.
382 * varpool.c (varpool_create_empty_node): Likewise.
383
231120e5
TS
3842014-05-17 Trevor Saunders <tsaunders@mozilla.com>
385
386 * dwarf2out.c (tree_add_const_value_attribute): Call
387 ggc_internal_cleared_alloc instead of ggc_alloc_cleared_atomic.
388 * gengtype.c (write_typed_alloc_def): Call ggc_internal_<x>alloc
389 instead of ggc_internal_<x>alloc_stat.
390 * ggc-common.c (ggc_internal_cleared_alloc): Drop _stat suffix.
391 (ggc_realloc): Likewise.
392 * ggc-none.c (ggc_internal_alloc): Likewise.
393 (ggc_internal_cleared_alloc): Likewise.
394 * ggc-page.c: Likewise.
395 * ggc.h (ggc_internal_alloc_stat): Likewise.
396 (ggc_internal_alloc): Remove macro.
397 (ggc_internal_cleared_alloc_stat): Drop _stat suffix.
398 (ggc_internal_cleared_alloc): Remove macro.
399 (GGC_RESIZEVEC): Adjust.
400 (ggc_resizevar): Remove macro.
401 (ggc_internal_vec_alloc_stat): Drop _stat suffix.
402 (ggc_internal_cleared_vec_alloc_stat): Likewise.
403 (ggc_internal_vec_cleared_alloc): Remove macro.
404 (ggc_alloc_atomic_stat): Drop _stat suffix.
405 (ggc_alloc_atomic): Remove macro.
406 (ggc_alloc_cleared_atomic): Remove macro.
407 (ggc_alloc_string_stat): Drop _stat suffix.
408 (ggc_alloc_string): Remove macro.
409 (ggc_alloc_rtx_def_stat): Adjust.
410 (ggc_alloc_tree_node_stat): Likewise.
411 (ggc_alloc_cleared_tree_node_stat): Likewise.
412 (ggc_alloc_cleared_gimple_statement_stat): Likewise.
413 (ggc_alloc_cleared_simd_clone_stat): Likewise.
414 * gimple.c (gimple_build_omp_for): Likewise.
415 (gimple_copy): Likewise.
416 * stringpool.c (ggc_alloc_string_stat): Drop _stat suffix.
417 * toplev.c (realloc_for_line_map): Adjust.
418 * tree-data-ref.h (lambda_vector_new): Likewise.
419 * tree-phinodes.c (allocate_phi_node): Likewise.
420 * tree.c (grow_tree_vec_stat): Likewise.
421 * vec.h (va_gc::reserve): Adjust.
422
16f8dfdb 4232014-05-17 Ajit Agarwal <ajitkum@xilinx.com>
86498dba 424
16f8dfdb
UB
425 * config/microblaze/microblaze.c (break_handler): New Declaration.
426 (microblaze_break_function_p,microblaze_is_break_handler): New.
427 (compute_frame_size): Use microblaze_break_function_p.
428 Add the test of break_handler.
429 (microblaze_function_prologue) : Add the test of variable
430 break_handler. Check the fnname by BREAK_HANDLER_NAME.
431 (microblaze_function_epilogue) : Add the test of break_handler.
432 (microblaze_globalize_label) : Add the test of break_handler.
433 Check the name by BREAK_HANDLER_NAME.
86498dba 434
16f8dfdb 435 * config/microblaze/microblaze.h (BREAK_HANDLER_NAME): New macro
86498dba 436
16f8dfdb
UB
437 * config/microblaze/microblaze.md (*<optab>,<optab>_internal): Add
438 microblaze_is_break_handler test.
439 (call_internal1,call_value_intern): Use microblaze_break_function_p.
440 Use SYMBOL_REF_DECL.
86498dba
AA
441
442 * config/microblaze/microblaze-protos.h
16f8dfdb
UB
443 (microblaze_break_function_p,microblaze_is_break_handler):
444 New Declaration.
86498dba 445
16f8dfdb
UB
446 * doc/extend.texi (MicroBlaze break_handler Functions): Document
447 new MicroBlaze break_handler functions.
86498dba 448
71ca3028
UB
4492014-05-17 Uros Bizjak <ubizjak@gmail.com>
450
451 * doc/extend.texi (Size of an asm): Move node text according
452 to its @menu entry position.
453
87a34442
MG
4542014-05-17 Marc Glisse <marc.glisse@inria.fr>
455
456 PR tree-optimization/61140
457 PR tree-optimization/61150
458 PR tree-optimization/61197
459 * tree-ssa-phiopt.c (value_replacement): Punt on multiple phis.
460
6ca74b5c
UB
4612014-05-17 Uros Bizjak <ubizjak@gmail.com>
462
463 * doc/invoke.texi (free): Mention Alpha. Also enabled at -Os.
464
60f82c42
RS
4652014-05-17 Richard Sandiford <r.sandiford@uk.ibm.com>
466
467 * wide-int.cc: Only include longlong.h if W_TYPE_SIZE==32 or
468 __SIZEOF_INT128__ is defined.
469
a1242f17
RS
4702014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
471
472 * config/rs6000/rs6000.c (rs6000_real_tls_symbol_ref_p): New function.
473 (rs6000_delegitimize_address): Use it.
474
23b33725
RS
4752014-05-17 Richard Sandiford <rdsandiford@googlemail.com>
476
477 * emit-rtl.h (replace_equiv_address, replace_equiv_address_nv): Add an
478 inplace argument. Store the new address in the original MEM when true.
479 * emit-rtl.c (change_address_1): Likewise.
480 (adjust_address_1, adjust_automodify_address_1, offset_address):
481 Update accordingly.
482 * rtl.h (plus_constant): Add an inplace argument.
483 * explow.c (plus_constant): Likewise. Try to reuse the original PLUS
484 when true. Avoid generating (plus X (const_int 0)).
485 * function.c (instantiate_virtual_regs_in_rtx): Adjust the PLUS
486 in-place. Pass true to plus_constant.
487 (instantiate_virtual_regs_in_insn): Pass true to replace_equiv_address.
488
2f6eed01
DC
4892014-05-16 Dehao Chen <dehao@google.com>
490
491 * tree-cfg.c (gimple_merge_blocks): Updates bb count with max count.
492
b200de02
OE
4932014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
494
495 PR target/54089
496 * config/sh/predicates.md (negt_reg_shl31_operand): Match additional
497 patterns.
498 * config/sh/sh.md (*negt_msb): Merge SH2A and non-SH2A variants.
499
cf40f973
DC
5002014-05-16 Dehao Chen <dehao@google.com>
501
6b8ebd00
UB
502 * ira-int.h (REG_FREQ_FROM_EDGE_FREQ): Use
503 optimize_function_for_size_p.
cf40f973
DC
504 * regs.h (REG_FREQ_FROM_BB): Likewise.
505
48d8568e
OE
5062014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
507
508 PR target/51244
509 * config/sh/sh.c (sh_eval_treg_value): Handle t_reg_operand and
510 negt_reg_operand cases.
511 * config/sh/sh.md (*cset_zero): Likewise by using cbranch_treg_value
512 predicate.
513 * config/sh/predicates.md (cbranch_treg_value): Simplify.
514
d580af0f
OE
5152014-05-16 Oleg Endo <olegendo@gcc.gnu.org>
516
517 * config/sh/sh.c (sh_option_override): Set branch cost to 2 for all
518 target variants.
519
6c7571a2
DM
5202014-05-16 David Malcolm <dmalcolm@redhat.com>
521
522 Revert:
523 2014-04-29 David Malcolm <dmalcolm@redhat.com>
524
525 * tree-cfg.c (dump_function_to_file): Dump the return type of
526 functions, in a line to itself before the function body, mimicking
527 the layout of a C function.
528
b0e66512
DC
5292014-05-16 Dehao Chen <dehao@google.com>
530
531 * cfghooks.c (make_forwarder_block): Use direct computation to
532 get fall-through edge's count and frequency.
533
6b8ebd00 5342014-05-16 Benno Schulenberg <bensberg@justemail.net>
2236746b
BS
535
536 * config/arc/arc.c (arc_init): Fix typo in error message.
537 * config/i386/i386.c (ix86_expand_builtin): Likewise.
538 (split_stack_prologue_scratch_regno): Likewise.
539 * fortran/check.c (gfc_check_fn_rc2008): Remove duplicate
540 word from error message.
541
420ab54b
ZZ
5422014-05-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
543
544 * ira-costs.c: Fix typo in comment.
545
8e90f610
DW
5462014-05-16 David Wohlferd <dw@LimeGreenSocks.com>
547
6b8ebd00 548 * doc/extend.texi: (Visibility Pragmas) Fix misplaced @xref
8e90f610 549
6de88c6a
JH
5502014-05-16 Jan Hubicka <hubicka@ucw.cz>
551
552 * varpool.c (dump_varpool_node): Dump write-only flag.
553 * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
554 write-only flag.
6b8ebd00
UB
555 * tree-cfg.c (execute_fixup_cfg): Remove statements setting
556 write-only variables.
557 * ipa.c (process_references): New function.
558 (set_readonly_bit): New function.
559 (set_writeonly_bit): New function.
560 (clear_addressable_bit): New function.
561 (ipa_discover_readonly_nonaddressable_var): Mark write only variables;
562 fix handling of aliases.
563 * cgraph.h (struct varpool_node): Add writeonly flag.
6de88c6a 564
f4e075e7
VM
5652014-05-16 Vladimir Makarov <vmakarov@redhat.com>
566
567 PR rtl-optimization/60969
568 * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
569 Calculate costs for this case.
570
8b628e86
EB
5712014-05-16 Eric Botcazou <ebotcazou@adacore.com>
572
573 * fold-const (fold_unary_loc) <NON_LVALUE_EXPR>: New case.
574 <CASE_CONVERT>: Pass arg0 instead of op0 to fold_convert_const.
575
52264dbf
RB
5762014-05-16 Richard Biener <rguenther@suse.de>
577
578 PR tree-optimization/61194
579 * tree-vect-patterns.c (adjust_bool_pattern): Also handle
580 bool patterns ending in a COND_EXPR.
581
3d840f7d
JG
5822014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
583
584 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Fix FNMUL case.
585
88d4fbcf
JG
5862014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
587
588 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle the case
589 where we were unable to cost an RTX.
590
909734be
JG
5912014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
592
593 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost SYMBOL_REF,
594 HIGH, LO_SUM.
595
fb620c4a
JG
5962014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
597 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
598
599 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost TRUNCATE.
600
b292109f
JG
6012014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
602 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
603
604 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost FMA,
605 FLOAT_EXTEND, FLOAT_TRUNCATE, ABS, SMAX, and SMIN.
606
a8eecd00
JG
6072014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
608 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
609
610 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost comparison
611 operators.
612
4105fe38
JG
6132014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
614 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
615
616 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
617 DIV/MOD.
618
6192014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
7cc2145f
JG
620 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
621
622 * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p): New.
623 (aarch64_rtx_costs): Improve costs for SIGN/ZERO_EXTRACT.
624
ba0cfa17
JG
6252014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
626 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
627
628 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
629 rotates and shifts.
630
b1685e62
JG
6312014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
632 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
633
634 * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost
635 ZERO_EXTEND and SIGN_EXTEND better.
636
268c3b47
JG
6372014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
638 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
639
640 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve cost for
641 logical operations.
642
2961177e
JG
6432014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
644 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
645
646 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use address
647 costs when costing loads and stores to memory.
648
ba123b0d
JG
6492014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
650 Philip Tomsich <philipp.tomsich@theobroma-systems.com>
651
652 * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costing
653 for SET RTX.
654
7fc5ef02
JG
6552014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
656
657 * config/aarch64/aarch64.c (aarch64_rtx_costs): Set default costs.
658
4745e701
JG
6592014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
660 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
661
662 * config/aarch64/aarch64.c (aarch64_strip_shift_or_extend): Rename
663 to...
664 (aarch64_strip_extend): ...this, don't strip shifts, check RTX is
665 well formed.
666 (aarch64_rtx_mult_cost): New.
667 (aarch64_rtx_costs): Use it, refactor as appropriate.
668
9dfc162c
JG
6692014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
670 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
671
672 * config/aarch64/aarch64.c (aarch64_build_constant): Conditionally
673 emit instructions, return number of instructions which would
674 be emitted.
675 (aarch64_add_constant): Update call to aarch64_build_constant.
676 (aarch64_output_mi_thunk): Likewise.
6b8ebd00 677 (aarch64_rtx_costs): Estimate cost of a CONST_INT, cost of
9dfc162c
JG
678 a CONST_DOUBLE.
679
0ee859b5
JG
6802014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
681
682 * config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
683 (TARGET_RTX_COSTS): Call it.
684
60bff090
JG
6852014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
686
687 * config/aarch64/aarch64.c (cortexa57_addrcost_table): New.
688 (cortexa57_vector_cost): Likewise.
689 (cortexa57_tunings): Use them.
690
67747367
JG
6912014-05-16 James Greenhalgh <james.greenhalgh@arm.com>
692
693 * config/aarch64/aarch64-protos.h (scale_addr_mode_cost): New.
694 (cpu_addrcost_table): Use it.
695 * config/aarch64/aarch64.c (generic_addrcost_table): Initialize it.
696 (aarch64_address_cost): Rewrite using aarch64_classify_address,
697 move it.
698
a764d660
RB
6992014-05-16 Richard Biener <rguenther@suse.de>
700
701 * tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
702 (set_ssa_val_to): Handle unexpected sets to VN_TOP.
703 (visit_phi): Ignore edges marked as not executable.
704 (class cond_dom_walker): New.
705 (cond_dom_walker::before_dom_children): Value-number
706 control statements and mark successor edges as not
707 executable if possible.
708 (run_scc_vn): First walk all control statements in
709 dominator order, marking edges as not executable.
710 * tree-inline.c (copy_edges_for_bb): Be not confused
711 about random edge flags.
712
a27c3860
RB
7132014-05-16 Richard Biener <rguenther@suse.de>
714
715 * tree-ssa-sccvn.c (visit_use): Also constant-fold calls.
716
d8c55b91
PB
7172014-05-15 Peter Bergner <bergner@vnet.ibm.com>
718
719 PR target/61193
720 * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
721 (__TM_simple_begin): Use it.
722 (__TM_begin): Likewise.
723
8a2256dd
MJ
7242014-05-15 Martin Jambor <mjambor@suse.cz>
725
726 PR ipa/61085
727 * ipa-prop.c (update_indirect_edges_after_inlining): Check
728 type_preserved flag when the indirect edge is polymorphic.
729
9d2681a3
MJ
7302014-05-15 Martin Jambor <mjambor@suse.cz>
731
732 PR tree-optimization/61090
733 * tree-sra.c (sra_modify_expr): Pass the current gsi to
734 build_ref_for_model.
735
927450d0
KT
7362014-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
737
738 * config/arm/arm.c (arm_option_override): Use the SCHED_PRESSURE_MODEL
739 enum name for PARAM_SCHED_PRESSURE_ALGORITHM.
740
ceed6e67
JJ
7412014-05-15 Jakub Jelinek <jakub@redhat.com>
742
743 PR tree-optimization/61158
744 * fold-const.c (fold_binary_loc): If X is zero-extended and
745 shiftc >= prec, make sure zerobits is all ones instead of
746 invoking undefined behavior.
747
a2e6c10c
ZC
7482014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
749
750 * regcprop.h: New file.
751 * regcprop.c (skip_debug_insn_p): New decl.
752 (replace_oldest_value_reg): Check skip_debug_insn_p.
ceed6e67
JJ
753 (copyprop_hardreg_forward_bb_without_debug_insn): New function.
754 * shrink-wrap.c: Include regcprop.h.
755 (prepare_shrink_wrap): Call
756 copyprop_hardreg_forward_bb_without_debug_insn.
a2e6c10c 757
e974b93b
ZC
7582014-05-15 Zhenqiang Chen <zhenqiang.chen@linaro.org>
759
760 * shrink-wrap.h: Update comment.
761 * shrink-wrap.c: Update comment.
762 (next_block_for_reg): Rename to live_edge_for_reg.
763 (live_edge_for_reg): Allow live_edge->dest has two predecessors.
764 (move_insn_for_shrink_wrap): Split live_edge.
765 (prepre_shrink_wrap): One more parameter for move_insn_for_shrink_wrap.
766
88fe5e91
EB
7672014-05-14 Eric Botcazou <ebotcazou@adacore.com>
768
769 * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
770 Delete.
771 * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
772 * config/sparc/sparc.md (fptype_ut699): New attribute.
773 (in_branch_delay): Return false if -mfix-ut699 is specified and
774 fptype_ut699 is set to single.
775 (truncdfsf2): Add fptype_ut699 attribute.
776 (fix_truncdfsi2): Likewise.
777 (floatsisf2): Change fptype attribute.
778 (fix_truncsfsi2): Likewise.
779 (negtf2_notv9): Delete.
780 (negtf2_v9): Likewise.
781 (negtf2_hq): New instruction.
782 (negtf2): New instruction and splitter.
783 (negdf2_notv9): Rewrite.
784 (abstf2_notv9): Delete.
785 (abstf2_hq_v9): Likewise.
786 (abstf2_v9): Likewise.
787 (abstf2_hq): New instruction.
788 (abstf2): New instruction and splitter.
789 (absdf2_notv9): Rewrite.
790
bc91b0e0
CC
7912014-05-14 Cary Coutant <ccoutant@google.com>
792
6b8ebd00 793 PR debug/61013
bc91b0e0
CC
794 * opts.c (common_handle_option): Don't special-case "-g".
795 (set_debug_level): Default to at least level 2 with "-g".
796
5f35dde5
DD
7972014-05-14 DJ Delorie <dj@redhat.com>
798
799 * config/msp430/msp430.c (msp430_builtin): Add
800 MSP430_BUILTIN_DELAY_CYCLES.
801 (msp430_init_builtins): Register void __delay_cycles(long long).
802 (msp430_builtin_decl): Add it.
803 (cg_magic_constant): New.
804 (msp430_expand_delay_cycles): New.
805 (msp430_expand_builtin): Call it.
806 (msp430_print_operand_raw): Change integer printing from "int" to
807 HOST_WIDE_INT.
808 * config/msp430/msp430.md (define_constants): Add delay_cycles tags.
809 (delay_cycles_start): New.
810 (delay_cycles_end): New.
811 (delay_cycles_32): New.
812 (delay_cycles_32x): New.
813 (delay_cycles_16): New.
814 (delay_cycles_16x): New.
815 (delay_cycles_2): New.
816 (delay_cycles_1): New.
817 * doc/extend.texi: Document __delay_cycles().
818
5d40b20f
SL
8192014-05-14 Sandra Loosemore <sandra@codesourcery.com>
820
821 * config/nios2/nios2.md (nios2_cbranch): Fix paste-o in
822 length attribute computation.
823
25109109
RS
8242014-05-14 Richard Sandiford <rdsandiford@googlemail.com>
825
826 PR debug/61188
827 * print-rtl.c (print_rtx): Suppress uids if flag_dump_unnumbered.
828
7e7e4032
RS
8292014-05-14 Richard Sandiford <r.sandiford@uk.ibm.com>
830
831 PR target/61084
832 * config/sparc/sparc.md: Fix types of low and high in DI constant
833 splitter. Use gen_int_mode in some other splitters.
834
70d6d5c1
MJ
8352014-05-14 Martin Jambor <mjambor@suse.cz>
836
837 PR ipa/60897
838 * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
839
23b02de3
JN
8402014-05-14 James Norris <jnorris@codesourcery.com>
841
842 * omp-low.c (expand_parallel_call): Remove shadow variable.
843 (expand_omp_taskreg): Likewise.
844
9cdea277
IT
8452014-05-14 Ilya Tocar <ilya.tocar@intel.com>
846
847 * common/config/i386/i386-common.c
848 (OPTION_MASK_ISA_CLFLUSHOPT_SET): Define.
849 (OPTION_MASK_ISA_XSAVES_SET): Ditto.
850 (OPTION_MASK_ISA_XSAVEC_SET): Ditto.
851 (OPTION_MASK_ISA_CLFLUSHOPT_UNSET): Ditto.
852 (OPTION_MASK_ISA_XSAVES_UNSET): Ditto.
853 (OPTION_MASK_ISA_XSAVEC_UNSET): Ditto.
6b8ebd00 854 (ix86_handle_option): Handle OPT_mxsavec, OPT_mxsaves, OPT_mclflushopt.
9cdea277
IT
855 * config.gcc (i[34567]86-*-*): Add clflushoptintrin.h,
856 xsavecintrin.h, xsavesintrin.h.
857 (x86_64-*-*): Ditto.
858 * config/i386/clflushoptintrin.h: New.
859 * config/i386/xsavecintrin.h: Ditto.
860 * config/i386/xsavesintrin.h: Ditto.
861 * config/i386/cpuid.h (bit_CLFLUSHOPT): Define.
862 (bit_XSAVES): Ditto.
863 (bit_XSAVES): Ditto.
864 * config/i386/driver-i386.c (host_detect_local_cpu): Handle
865 -mclflushopt, -mxsavec, -mxsaves, -mno-xsaves, -mno-xsavec,
866 -mno-clflushopt.
867 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
868 OPTION_MASK_ISA_CLFLUSHOPT, OPTION_MASK_ISA_XSAVEC,
869 OPTION_MASK_ISA_XSAVES.
870 * config/i386/i386.c (ix86_target_string): Handle -mclflushopt,
871 -mxsavec, -mxsaves.
872 (PTA_CLFLUSHOPT) Define.
873 (PTA_XSAVEC): Ditto.
874 (PTA_XSAVES): Ditto.
875 (ix86_option_override_internal): Handle new options.
876 (ix86_valid_target_attribute_inner_p): Ditto.
877 (ix86_builtins): Add IX86_BUILTIN_XSAVEC, IX86_BUILTIN_XSAVEC64,
878 IX86_BUILTIN_XSAVES, IX86_BUILTIN_XRSTORS, IX86_BUILTIN_XSAVES64,
879 IX86_BUILTIN_XRSTORS64, IX86_BUILTIN_CLFLUSHOPT.
6b8ebd00
UB
880 (bdesc_special_args): Add __builtin_ia32_xsaves,
881 __builtin_ia32_xrstors, __builtin_ia32_xsavec, __builtin_ia32_xsaves64,
882 __builtin_ia32_xrstors64, __builtin_ia32_xsavec64.
9cdea277
IT
883 (ix86_init_mmx_sse_builtins): Add __builtin_ia32_clflushopt.
884 (ix86_expand_builtin): Handle new builtins.
885 * config/i386/i386.h (TARGET_CLFLUSHOPT) Define.
886 (TARGET_CLFLUSHOPT_P): Ditto.
887 (TARGET_XSAVEC): Ditto.
888 (TARGET_XSAVEC_P): Ditto.
889 (TARGET_XSAVES): Ditto.
890 (TARGET_XSAVES_P): Ditto.
891 * config/i386/i386.md (ANY_XSAVE): Add UNSPECV_XSAVEC, UNSPECV_XSAVES.
892 (ANY_XSAVE64)" Add UNSPECV_XSAVEC64, UNSPECV_XSAVES64.
893 (attr xsave): Add xsavec, xsavec64, xsaves, xsaves64.
894 (ANY_XRSTOR): New.
895 (ANY_XRSTOR64): Ditto.
896 (xrstor): Ditto.
897 (xrstor): Change into <xrstor>.
898 (xrstor_rex64): Change into <xrstor>_rex64.
899 (xrstor64): Change into <xrstor>64
900 (clflushopt): New.
901 * config/i386/i386.opt (mclflushopt): New.
902 (mxsavec): Ditto.
903 (mxsaves): Ditto.
904 * config/i386/x86intrin.h: Add clflushoptintrin.h, xsavesintrin.h,
905 xsavecintrin.h.
906 * doc/invoke.texi: Document new options.
907
92e265ac
AB
9082014-05-14 Andrey Belevantsev <abel@ispras.ru>
909
910 PR rtl-optimization/60866
911 * sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
912 Default it to -1. Pass it down to init_simplejump_data.
913 (init_simplejump_data): New parameter old_seqno. Pass it down
914 to get_seqno_for_a_jump.
915 (get_seqno_for_a_jump): New parameter old_seqno. Use it for
916 initializing new jump seqno as a last resort. Add comment.
917 (sel_redirect_edge_and_branch): Save old seqno of the conditional
918 jump and pass it down to sel_init_new_insn.
919 (sel_redirect_edge_and_branch_force): Likewise.
920
fa96aa45
GJL
9212014-05-14 Georg-Johann Lay <avr@gjlay.de>
922
923 * config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
924 shifted values to avoid build warning.
925
8a829274
EB
9262014-05-14 Eric Botcazou <ebotcazou@adacore.com>
927
928 * cfgcleanup.c (try_forward_edges): Use location_t for locations.
929 * cfgrtl.c (rtl_merge_blocks): Fix comment.
930 (cfg_layout_merge_blocks): Likewise.
931 * except.c (emit_to_new_bb_before): Remove prev_bb local variable.
932
11290308
AB
9332014-05-14 Andrey Belevantsev <abel@ispras.ru>
934
935 PR rtl-optimization/60901
936 * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
937 bb predecessor belongs to the same scheduling region. Adjust comment.
938
f4853e92
PB
9392014-05-13 Peter Bergner <bergner@vnet.ibm.com>
940
941 * doc/sourcebuild.texi: (dfp_hw): Document.
942 (p8vector_hw): Likewise.
943 (powerpc_eabi_ok): Likewise.
944 (powerpc_elfv2): Likewise.
945 (powerpc_htm_ok): Likewise.
946 (ppc_recip_hw): Likewise.
947 (vsx_hw): Likewise.
948
bd5c3baa
CC
9492014-05-13 Cary Coutant <ccoutant@google.com>
950
951 * opts.c (finish_options): Use -ggnu-pubnames with -gsplit-dwarf.
952
9aa54cc9
DM
9532014-05-13 David Malcolm <dmalcolm@redhat.com>
954
955 * gengtype-parse.c (require3): Eliminate in favor of...
956 (require4): New.
957 (require_template_declaration): Update to support optional single *
958 on a type.
959
960 * gengtype.c (get_ultimate_base_class): Add a non-const overload.
961 (create_user_defined_type): Handle a single level of explicit
962 pointerness within template arguments.
963 (struct write_types_data): Add field "kind".
964 (filter_type_name): Handle "*" character.
965 (write_user_func_for_structure_ptr): Require a write_types_data
966 rather than just a prefix string, so that we can look up the kind
967 of the wtd and use it as an index into wrote_user_func_for_ptr,
968 ensuring that such functions are written at most once. Support
6b8ebd00 969 subclasses by invoking the marking function of the ultimate base class.
9aa54cc9
DM
970 (write_user_func_for_structure_body): Require a write_types_data
971 rather than just a prefix string, so that we can pass this to
972 write_user_func_for_structure_ptr.
973 (write_func_for_structure): Likewise.
974 (ggc_wtd): Add initializer of new "kind" field.
975 (pch_wtd): Likewise.
976
977 * gengtype.h (enum write_types_kinds): New.
978 (struct type): Add field wrote_user_func_for_ptr to the "s"
979 union member.
980
5c0f009c
RS
9812014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
982
983 * fold-const.c (optimize_bit_field_compare): Use wi:: operations
984 instead of const_binop.
985 (fold_binary_loc): Likewise.
986
460d1e22
RS
9872014-05-13 Richard Sandiford <r.sandiford@uk.ibm.com>
988
989 * tree-dfa.h (get_addr_base_and_unit_offset_1): Update array index
990 calculation to match get_ref_base_and_extent.
991
1e1f96b5
CM
9922014-05-13 Catherine Moore <clm@codesourcery.com>
993 Sandra Loosemore <sandra@codesourcery.com>
994
995 * configure.ac: Fix assembly for explicit JALR relocation check.
996 * configure: Regenerate.
997
411f86ad
KT
9982014-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
999
1000 * config/arm/arm.c (neon_itype): Remove NEON_RESULTPAIR.
1001 (arm_init_neon_builtins): Remove handling of NEON_RESULTPAIR.
1002 Remove associated type declarations and initialisations.
1003 (arm_expand_neon_builtin): Likewise.
1004 (neon_emit_pair_result_insn): Delete.
1005 * config/arm/arm_neon_builtins (vtrn, vzip, vuzp): Delete.
1006 * config/arm/neon.md (neon_vtrn<mode>): Delete.
1007 (neon_vzip<mode>): Likewise.
1008 (neon_vuzp<mode>): Likewise.
1009
6b77934e
RB
10102014-05-13 Richard Biener <rguenther@suse.de>
1011
1012 PR ipa/60973
1013 * tree-inline.c (remap_gimple_stmt): Clear tail call flag,
1014 it needs revisiting whether the call still may be tail-called.
1015
da3cd113
RS
10162014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
1017
1018 * rtl.def (SYMBOL_REF): Remove middle "0" field.
1019 * rtl.h (block_symbol): Reduce number of fields to 2.
1020 (rtx_def): Add u2.symbol_ref_flags.
1021 (SYMBOL_REF_FLAGS): Use it.
1022 (SYMBOL_REF_DATA, SET_SYMBOL_REF_DECL, SYMBOL_REF_DECL)
1023 (SET_SYMBOL_REF_CONSTANT, SYMBOL_REF_CONSTANT): Lower index.
1024 * gengtype.c (adjust_field_rtx_def): Remove SYMBOL_REF_FLAGS handling.
1025 Lower index of SYMBOL_REF_DATA.
1026 * print-rtl.c (print_rtx): Lower index for SYMBOL_REF_DATA.
1027 Print SYMBOL_REF_FLAGS at the same time.
1028 * genattrtab.c (attr_rtx_1): Only initialize 1 "0" SYMBOL_REF field.
1029
fcc74520
RS
10302014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
1031
1032 * rtl.def (VAR_LOCATION): Remove "i" field.
1033 * rtl.h (rtx_def): Add u2.var_location_status.
1034 (PAT_VAR_LOCATION_STATUS): Use it.
1035 (gen_rtx_VAR_LOCATION): Declare.
1036 * gengenrtl.c (excluded_rtx): Add VAR_LOCATION.
1037 * emit-rtl.c (gen_rtx_VAR_LOCATION): New function.
1038 * var-tracking.c (emit_note_insn_var_location): Remove casts.
1039
feb09dd9
RS
10402014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
1041
1042 * rtl.def (scratch): Fix outdated comment and remove "0" field.
1043 * gengtype.c (adjust_field_rtx_def): Update accordingly.
1044
ed8921dc
RS
10452014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
1046
1047 * rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, JUMP_TABLE_DATA)
1048 (BARRIER, CODE_LABEL, NOTE): Remove first "i" field.
1049 * rtl.h (rtx_def): Add insn_uid to u2 field.
1050 (RTX_FLAG_CHECK8): Delete in favor of...
1051 (RTL_INSN_CHAIN_FLAG_CHECK): ...this new macro.
1052 (INSN_DELETED_P): Update accordingly.
1053 (INSN_UID): Use u2.insn_uid.
1054 (INSN_CHAIN_CODE_P): Define.
1055 (PREV_INSN, NEXT_INSN, BLOCK_FOR_INSN, PATTERN, INSN_LOCATION)
1056 (INSN_CODE, REG_NOTES, CALL_INSN_FUNCTION_USAGE, CODE_LABEL_NUMBER)
1057 (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER)
1058 (NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_CFI, NOTE_LABEL_NUMBER)
1059 (NOTE_KIND, LABEL_NAME, LABEL_NUSES, JUMP_LABEL, LABEL_REFS): Lower
1060 indices accordingly.
1061 * print-rtl.c (print_rtx): Print INSN_UIDs before the main loop.
1062 Update indices for insn-chain rtxes.
1063 * gengtype.c (gen_rtx_next): Adjust test for insn-chain rtxes.
1064 (adjust_field_rtx_def): Lower '0' indices for all insn-chain rtxes.
1065 * emit-rtl.c (gen_label_rtx): Update gen_rtx_LABEL call.
1066 * caller-save.c (init_caller_save): Update gen_rtx_INSN calls.
1067 * combine.c (try_combine): Likewise.
1068 * ira.c (setup_prohibited_mode_move_regs): Likewise.
1069
fccc5515
RS
10702014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
1071
1072 * rtl.def (REG): Remove middle field.
1073 * rtl.h (rtx_def): Add orignal_regno to u2.
1074 (ORIGINAL_REGNO): Use it instead of field 1.
1075 (REG_ATTRS): Lower field index accordingly.
1076 * gengtype.c (adjust_field_rtx_def): Remove handling of
1077 ORIGINAL_REGNO. Move REG_ATTRS index down.
1078 * print-rtl.c (print_rtx): Move ORIGINAL_REGNO handling to the
1079 code that prints the REGNO.
1080
925c1bae
RS
10812014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
1082
1083 * print-rtl.c (print_rtx): Guard whole '0' block with ifndef
1084 GENERATOR_FILE.
1085
13b0c5ac
RS
10862014-05-13 Richard Sandiford <rdsandiford@googlemail.com>
1087
1088 * rtl.h (rtx_def): Mark u2 as GTY ((skip)).
1089
be9a0da5
BC
10902014-05-13 Bin Cheng <bin.cheng@arm.com>
1091
1092 * tree-ssa-loop-ivopts.c (contain_complex_addr_expr): New.
1093 (alloc_iv): Lower base expressions containing ADDR_EXPR.
1094
73d9ac6a
IB
10952014-05-13 Ian Bolton <ian.bolton@arm.com>
1096
1097 * config/aarch64/aarch64-protos.h
1098 (aarch64_hard_regno_caller_save_mode): New prototype.
1099 * config/aarch64/aarch64.c (aarch64_hard_regno_caller_save_mode):
1100 New function.
1101 * config/aarch64/aarch64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
1102
06b90602
CB
11032014-05-13 Christian Bruel <christian.bruel@st.com>
1104
1105 * target.def (mode_switching): New hook vector.
1106 (mode_emit, mode_needed, mode_after, mode_entry): New hooks.
1107 (mode_exit, modepriority_to_mode): Likewise.
1108 * mode-switching.c (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Hookify.
1109 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
1110 * target.h: Include tm.h and hard-reg-set.h.
1111 * doc/tm.texi.in (EMIT_MODE_SET, MODE_NEEDED, MODE_AFTER, MODE_ENTRY)
1112 (MODE_EXIT, MODE_PRIORITY_TO_MODE): Delete and hookify.
1113 * doc/tm.texi Regenerate.
1114 * config/sh/sh.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
1115 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
1116 * config/sh/sh.c (sh_emit_mode_set, sh_mode_priority): Hookify.
1117 (sh_mode_needed, sh_mode_after, sh_mode_entry, sh_mode_exit): Likewise.
1118 * config/i386/i386.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY): Delete
1119 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
1120 * config/i386/i386-protos.h (ix86_mode_needed, ix86_mode_after)
1121 (ix86_mode_entrym, ix86_emit_mode_set): Remove external declaration.
6b8ebd00
UB
1122 * config/i386/i386.c (ix86_mode_needed, ix86_mode_after,
1123 (ix86_mode_exit, ix86_mode_entry, ix86_mode_priority)
1124 (ix86_emit_mode_set): Hookify.
06b90602 1125 * config/epiphany/epiphany.h (MODE_NEEDED, MODE_AFTER, MODE_ENTRY):
6b8ebd00 1126 Delete.
06b90602 1127 (MODE_EXIT, MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
06b90602
CB
1128 * config/epiphany/epiphany-protos.h (epiphany_mode_needed)
1129 (emit_set_fp_mode, epiphany_mode_entry_exit, epiphany_mode_after)
1130 (epiphany_mode_priority_to_mode): Remove declaration.
1131 * config/epiphany/epiphany.c (emit_set_fp_mode): Hookify.
1132 (epiphany_mode_needed, epiphany_mode_priority_to_mode): Likewise.
1133 (epiphany_mode_entry, epiphany_mode_exit, epiphany_mode_after):
1134 Likewise.
6b8ebd00 1135 (epiphany_mode_priority_to_mode): Change priority type. Hookify.
06b90602
CB
1136 (epiphany_mode_needed, epiphany_mode_entry_exit): Hookify.
1137 (epiphany_mode_after, epiphany_mode_entry, emit_set_fp_mode): Hookify.
1138
455464ab
JJ
11392014-05-13 Jakub Jelinek <jakub@redhat.com>
1140
1141 PR target/61060
1142 * config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp
1143 is const0_rtx, return immediately. Don't test count == 0 when
1144 it is always true.
1145
f30e25a3
ZC
11462014-05-13 Zhenqiang Chen <zhenqiang.chen@linaro.org>
1147
1148 * Makefile.in: add shrink-wrap.o.
1149 * config/i386/i386.c: include "shrink-wrap.h"
1150 * function.c: Likewise.
1151 (requires_stack_frame_p, next_block_for_reg,
1152 move_insn_for_shrink_wrap, prepare_shrink_wrap,
1153 dup_block_and_redirect): Move to shrink-wrap.c
1154 (thread_prologue_and_epilogue_insns): Extract three code segments
1155 as functions in shrink-wrap.c
1156 * function.h: Move #ifdef HAVE_simple_return ... #endif block to
1157 shrink-wrap.h
1158 * shrink-wrap.c: New file.
1159 * shrink-wrap.h: New file.
1160
f95c6a78
DW
11612014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
1162
1163 * doc/extend.texi: Reflect current numbers of pragmas. Remove
1164 reference to Solaris.
1165
77a1da2c
MS
11662014-05-12 Mike Stump <mikestump@comcast.net>
1167
1168 PR other/31778
1169 * genattrtab.c (filename): Add.
1170 (convert_set_attr_alternative): Improve error message.
1171 (check_defs): Restore read_md_filename for error messages.
1172 (gen_insn): Save filename.
1173
dff8943f
DP
11742014-05-12 Dimitris Papavasiliou <dpapavas@gmail.com>
1175
1176 * doc/invoke.texi: Document new switches -Wno-shadow-ivar,
1177 -fno-local-ivars and -fivar-visibility.
1178 * c-family/c.opt: Make -Wshadow also implicitly enable
1179 -Wshadow-ivar.
1180
6b8ebd00 11812014-05-12 David Wohlferd <dw@LimeGreenSocks.com>
3842015e
DW
1182
1183 * doc/tm.texi: Remove reference to deleted macro.
1184 * doc/tm.texi.in: Likewise.
1185
079f1420
SKS
11862014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1187
1188 PR target/60991
1189 * config/avr/avr.c (avr_out_store_psi): Use correct constant
1190 to restore Y.
1191
999db125
GJL
11922014-05-12 Georg-Johann Lay <avr@gjlay.de>
1193
1194 * config/arm/arm.h (License): Add GCC Runtime Library Exception.
1195 * config/arm/aout.h (License): Same.
1196 * config/arm/bpabi.h (License): Same.
1197 * config/arm/elf.h (License): Same.
1198 * config/arm/linux-elf.h (License): Same.
1199 * config/arm/linux-gas.h (License): Same.
1200 * config/arm/netbsd-elf.h (License): Same.
1201 * config/arm/uclinux-eabi.h (License): Same.
1202 * config/arm/uclinux-elf.h (License): Same.
1203 * config/arm/vxworks.h (License): Same.
1204
dd2fc525
JJ
12052014-05-11 Jakub Jelinek <jakub@redhat.com>
1206
1207 * tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
1208 * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
1209 number of operands to 3.
1210 (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
1211 * tree-nested.c (convert_nonlocal_omp_clauses,
1212 convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
1213 * gimplify.c (gimplify_scan_omp_clauses): Handle
1214 OMP_CLAUSE_LINEAR_STMT.
1215 * omp-low.c (lower_rec_input_clauses): Fix typo.
1216 (maybe_add_implicit_barrier_cancel, lower_omp_1): Add
1217 cast between Fortran boolean_type_node and C _Bool if
1218 needed.
1219
7588d8aa
RS
12202014-05-11 Richard Sandiford <rdsandiford@googlemail.com>
1221
1222 PR tree-optimization/61136
1223 * wide-int.h (multiple_of_p): Define a version that doesn't return
1224 the quotient.
1225 * fold-const.c (extract_muldiv_1): Use wi::multiple_of_p instead of an
1226 integer_zerop/const_binop pair.
1227 (multiple_of_p): Likewise, converting both operands to widest_int
1228 precision.
1229
e7eee636
TJ
12302014-05-09 Teresa Johnson <tejohnson@google.com>
1231
1232 * cgraphunit.c (analyze_functions): Use correct dump file.
1233
6545746e
FW
12342014-05-09 Florian Weimer <fweimer@redhat.com>
1235
1236 * cfgexpand.c (stack_protect_decl_p): New function, extracted from
1237 expand_used_vars.
1238 (stack_protect_return_slot_p): New function.
1239 (expand_used_vars): Call stack_protect_decl_p and
1240 stack_protect_return_slot_p for -fstack-protector-strong.
1241
971ed35d 12422014-05-09 Kenneth Zadeck <zadeck@naturalbridge.com>
b8d29c66
KZ
1243
1244 PR middle-end/61111
1245 * fold-const.c (fold_binary_loc): Changed width of mask.
1246
c204f1b5
GJL
12472014-05-09 Georg-Johann Lay <avr@gjlay.de>
1248
1249 * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
1250 unsigned int initializers for regno_in, regno_out.
1251
b8469805
GJL
12522014-05-09 Georg-Johann Lay <avr@gjlay.de>
1253
1254 PR target/61055
1255 * config/avr/avr.md (cc): Add new attribute set_vzn.
1256 (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
1257 Set cc insn attribute to set_vzn instead of set_zn for alternatives
1258 with INC, DEC or NEG.
1259 * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
1260 (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
1261 INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
1262
9db25c6a
RR
12632014-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1264
1265 Revert:
1266 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1267
1268 * wide-int.cc (UTItype): Define.
1269 (UDWtype): Define for appropriate W_TYPE_SIZE.
1270
ee3958cf
RB
12712014-05-09 Richard Biener <rguenther@suse.de>
1272
1273 * Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
1274 * tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h.
1275 (interesting_ssa_edges, varying_ssa_edges): Move out of GC space.
1276 (add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init,
1277 ssa_propagate): Adjust.
1278
0600049c
JL
12792014-05-08 Jeff Law <law@redhat.com>
1280
1281 PR tree-optimization/61009
1282 * tree-ssa-threadedge.c (thread_through_normal_block): Return a
1283 tri-state rather than a boolean. When a block is too big to
1284 thread through, inform caller via negative return value.
1285 (thread_across_edge): If a block was too big for normal threading,
1286 then it's too big for a joiner too, so remove temporary equivalences
1287 and return immediately.
1288
a82122df
MK
12892014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
1290 Matthias Klose <doko@ubuntu.com>
1291
1292 PR driver/61106
1293 * optc-gen.awk: Fix option handling for -Wunused-parameter.
1294
30e494f1
UB
12952014-05-08 Uros Bizjak <ubizjak@gmail.com>
1296
1297 PR target/59952
1298 * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.
1299
b6db8af6
UB
13002014-05-08 Uros Bizjak <ubizjak@gmail.com>
1301
1302 PR target/61092
1303 * config/alpha/alpha.c: Include gimple-iterator.h.
1304 (alpha_gimple_fold_builtin): New function. Move
1305 ALPHA_BUILTIN_UMULH folding from ...
1306 (alpha_fold_builtin): ... here.
1307 (TARGET_GIMPLE_FOLD_BUILTIN): New define.
1308
272325bd
WM
13092014-05-08 Wei Mi <wmi@google.com>
1310
1311 PR target/58066
b6db8af6
UB
1312 * config/i386/i386.c (ix86_compute_frame_layout): Update
1313 preferred_stack_boundary for call, expanded from tls descriptor.
1314 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Update RTX
1315 to depend on SP register.
272325bd
WM
1316 (*tls_local_dynamic_base_32_gnu): Ditto.
1317 (*tls_local_dynamic_32_once): Ditto.
1318 (tls_global_dynamic_64_<mode>): Set
1319 ix86_tls_descriptor_calls_expanded_in_cfun.
1320 (tls_local_dynamic_base_64_<mode>): Ditto.
1321 (tls_global_dynamic_32): Set
1322 ix86_tls_descriptor_calls_expanded_in_cfun. Update RTX
1323 to depend on SP register.
1324 (tls_local_dynamic_base_32): Ditto.
1325
e79cb1a3
RR
13262014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1327
1328 * config/arm/arm_neon.h: Update comment.
1329 * config/arm/neon-docgen.ml: Delete.
1330 * config/arm/neon-gen.ml: Delete.
1331 * doc/arm-neon-intrinsics.texi: Update comment.
1332
0d0b79a6
RR
13332014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1334
1335 * config/arm/arm_neon_builtins.def (vadd, vsub): Only define the v2sf
1336 and v4sf versions.
1337 (vand, vorr, veor, vorn, vbic): Remove.
1338 * config/arm/neon.md (neon_vadd, neon_vsub, neon_vadd_unspec): Adjust
1339 iterator.
1340 (neon_vsub_unspec): Likewise.
1341 (neon_vorr, neon_vand, neon_vbic, neon_veor, neon_vorn): Remove.
1342
add0c111
RR
13432014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1344
1345 * config/arm/arm_neon.h (vadd_s8): GNU C implementation
1346 (vadd_s16): Likewise.
1347 (vadd_s32): Likewise.
1348 (vadd_f32): Likewise.
1349 (vadd_u8): Likewise.
1350 (vadd_u16): Likewise.
1351 (vadd_u32): Likewise.
1352 (vadd_s64): Likewise.
1353 (vadd_u64): Likewise.
1354 (vaddq_s8): Likewise.
1355 (vaddq_s16): Likewise.
1356 (vaddq_s32): Likewise.
1357 (vaddq_s64): Likewise.
1358 (vaddq_f32): Likewise.
1359 (vaddq_u8): Likewise.
1360 (vaddq_u16): Likewise.
1361 (vaddq_u32): Likewise.
1362 (vaddq_u64): Likewise.
1363 (vmul_s8): Likewise.
1364 (vmul_s16): Likewise.
1365 (vmul_s32): Likewise.
1366 (vmul_f32): Likewise.
1367 (vmul_u8): Likewise.
1368 (vmul_u16): Likewise.
1369 (vmul_u32): Likewise.
1370 (vmul_p8): Likewise.
1371 (vmulq_s8): Likewise.
1372 (vmulq_s16): Likewise.
1373 (vmulq_s32): Likewise.
1374 (vmulq_f32): Likewise.
1375 (vmulq_u8): Likewise.
1376 (vmulq_u16): Likewise.
1377 (vmulq_u32): Likewise.
1378 (vsub_s8): Likewise.
1379 (vsub_s16): Likewise.
1380 (vsub_s32): Likewise.
1381 (vsub_f32): Likewise.
1382 (vsub_u8): Likewise.
1383 (vsub_u16): Likewise.
1384 (vsub_u32): Likewise.
1385 (vsub_s64): Likewise.
1386 (vsub_u64): Likewise.
1387 (vsubq_s8): Likewise.
1388 (vsubq_s16): Likewise.
1389 (vsubq_s32): Likewise.
1390 (vsubq_s64): Likewise.
1391 (vsubq_f32): Likewise.
1392 (vsubq_u8): Likewise.
1393 (vsubq_u16): Likewise.
1394 (vsubq_u32): Likewise.
1395 (vsubq_u64): Likewise.
1396 (vand_s8): Likewise.
1397 (vand_s16): Likewise.
1398 (vand_s32): Likewise.
1399 (vand_u8): Likewise.
1400 (vand_u16): Likewise.
1401 (vand_u32): Likewise.
1402 (vand_s64): Likewise.
1403 (vand_u64): Likewise.
1404 (vandq_s8): Likewise.
1405 (vandq_s16): Likewise.
1406 (vandq_s32): Likewise.
1407 (vandq_s64): Likewise.
1408 (vandq_u8): Likewise.
1409 (vandq_u16): Likewise.
1410 (vandq_u32): Likewise.
1411 (vandq_u64): Likewise.
1412 (vorr_s8): Likewise.
1413 (vorr_s16): Likewise.
1414 (vorr_s32): Likewise.
1415 (vorr_u8): Likewise.
1416 (vorr_u16): Likewise.
1417 (vorr_u32): Likewise.
1418 (vorr_s64): Likewise.
1419 (vorr_u64): Likewise.
1420 (vorrq_s8): Likewise.
1421 (vorrq_s16): Likewise.
1422 (vorrq_s32): Likewise.
1423 (vorrq_s64): Likewise.
1424 (vorrq_u8): Likewise.
1425 (vorrq_u16): Likewise.
1426 (vorrq_u32): Likewise.
1427 (vorrq_u64): Likewise.
1428 (veor_s8): Likewise.
1429 (veor_s16): Likewise.
1430 (veor_s32): Likewise.
1431 (veor_u8): Likewise.
1432 (veor_u16): Likewise.
1433 (veor_u32): Likewise.
1434 (veor_s64): Likewise.
1435 (veor_u64): Likewise.
1436 (veorq_s8): Likewise.
1437 (veorq_s16): Likewise.
1438 (veorq_s32): Likewise.
1439 (veorq_s64): Likewise.
1440 (veorq_u8): Likewise.
1441 (veorq_u16): Likewise.
1442 (veorq_u32): Likewise.
1443 (veorq_u64): Likewise.
1444 (vbic_s8): Likewise.
1445 (vbic_s16): Likewise.
1446 (vbic_s32): Likewise.
1447 (vbic_u8): Likewise.
1448 (vbic_u16): Likewise.
1449 (vbic_u32): Likewise.
1450 (vbic_s64): Likewise.
1451 (vbic_u64): Likewise.
1452 (vbicq_s8): Likewise.
1453 (vbicq_s16): Likewise.
1454 (vbicq_s32): Likewise.
1455 (vbicq_s64): Likewise.
1456 (vbicq_u8): Likewise.
1457 (vbicq_u16): Likewise.
1458 (vbicq_u32): Likewise.
1459 (vbicq_u64): Likewise.
1460 (vorn_s8): Likewise.
1461 (vorn_s16): Likewise.
1462 (vorn_s32): Likewise.
1463 (vorn_u8): Likewise.
1464 (vorn_u16): Likewise.
1465 (vorn_u32): Likewise.
1466 (vorn_s64): Likewise.
1467 (vorn_u64): Likewise.
1468 (vornq_s8): Likewise.
1469 (vornq_s16): Likewise.
1470 (vornq_s32): Likewise.
1471 (vornq_s64): Likewise.
1472 (vornq_u8): Likewise.
1473 (vornq_u16): Likewise.
1474 (vornq_u32): Likewise.
1475 (vornq_u64): Likewise.
1476
ca40fb28
RR
14772014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1478
1479 * wide-int.cc (UTItype): Define.
b6db8af6 1480 (UDWtype): Define for appropriate W_TYPE_SIZE.
ca40fb28 1481
421bf780
MG
14822014-05-08 Marc Glisse <marc.glisse@inria.fr>
1483
1484 PR tree-optimization/59100
1485 * tree-ssa-phiopt.c: Include tree-inline.h.
1486 (neutral_element_p, absorbing_element_p): New functions.
1487 (value_replacement): Handle conditional binary operations with a
1488 neutral or absorbing element.
1489
a5eaec42
RB
14902014-05-08 Richard Biener <rguenther@suse.de>
1491
1492 * tree-ssa-sccvn.c (vn_get_expr_for): Valueize operands before
1493 folding the expression.
1494 (valueize_expr): Remove.
1495 (visit_reference_op_load): Do not valueize the result of
1496 vn_get_expr_for.
1497 (simplify_binary_expression): Likewise.
1498 (simplify_unary_expression): Likewise.
1499
a96c6a62
RB
15002014-05-08 Richard Biener <rguenther@suse.de>
1501
1502 * gimplify.c (gimplify_call_expr): Use saved fnptrtype for
1503 looking at TYPE_ARG_TYPES.
1504
fb42e303
RB
15052014-05-08 Richard Biener <rguenther@suse.de>
1506
1507 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
1508 pointer propagation special-case.
1509
d1f1a283
BC
15102014-05-08 Bin Cheng <bin.cheng@arm.com>
1511
1512 * tree-affine.c (tree_to_aff_combination): Handle MEM_REF for
1513 core part of address expressions.
1514
42aea2d8
AM
15152014-05-08 Alan Modra <amodra@gmail.com>
1516
1517 PR target/60737
1518 * config/rs6000/rs6000.c (expand_block_move): Allow 64-bit
1519 loads and stores when -mno-strict-align at any alignment.
1520 (expand_block_clear): Similarly. Also correct calculation of
1521 instruction count.
1522
10e08855
TP
15232014-05-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
1524
1525 PR middle-end/39246
1526 * tree-complex.c (expand_complex_move): Keep line info when expanding
1527 complex move.
1528 * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment
1529 of complex expression. Use new argument to display correct location
1530 for values coming from phi statement.
1531 (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
1532 (warn_uninitialized_phi): Pass location of phi argument to
1533 warn_uninit.
1534 * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
1535 COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.
1536
d839f53b
SB
15372014-05-07 Segher Boessenkool <segher@kernel.crashing.org>
1538
1539 * config/rs6000/predicates.md (indexed_address_mem): New.
1540 * config/rs6000/rs6000.md (type): Remove load_ext, load_ext_u,
1541 load_ext_ux, load_ux, load_u, store_ux, store_u, fpload_ux, fpload_u,
1542 fpstore_ux, fpstore_u.
1543 (sign_extend, indexed, update): New.
1544 (cell_micro): Adjust.
1545 (*zero_extend<mode>di2_internal1, *zero_extendsidi2_lfiwzx,
1546 *extendsidi2_lfiwax, *extendsidi2_nocell, *extendsfdf2_fpr,
1547 *movsi_internal1, *movsi_internal1_single, *movhi_internal,
1548 *movqi_internal, *movcc_internal1, mov<mode>_hardfloat,
1549 *mov<mode>_softfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
1550 *mov<mode>_softfloat64, *movdi_internal32, *movdi_internal64,
1551 *mov<mode>_string, *ldmsi8, *ldmsi7, *ldmsi6, *ldmsi5, *ldmsi4,
1552 *ldmsi3, *stmsi8, *stmsi7, *stmsi6, *stmsi5, *stmsi4, *stmsi3,
1553 *movdi_update1, movdi_<mode>_update, movdi_<mode>_update_stack,
1554 *movsi_update1, *movsi_update2, movsi_update, movsi_update_stack,
1555 *movhi_update1, *movhi_update2, *movhi_update3, *movhi_update4,
1556 *movqi_update1, *movqi_update2, *movqi_update3, *movsf_update1,
1557 *movsf_update2, *movsf_update3, *movsf_update4, *movdf_update1,
1558 *movdf_update2, load_toc_aix_si, load_toc_aix_di, probe_stack_<mode>,
1559 *stmw, *lmw, as well as 10 anonymous patterns): Adjust.
1560
1561 * config/rs6000/dfp.md (movsd_store, movsd_load): Adjust.
1562 * config/rs6000/vsx.md (*vsx_movti_32bit, *vsx_extract_<mode>_load,
1563 *vsx_extract_<mode>_store): Adjust.
1564 * config/rs6000/rs6000.c (rs6000_adjust_cost, is_microcoded_insn,
1565 is_cracked_insn, insn_must_be_first_in_group,
1566 insn_must_be_last_in_group): Adjust.
1567
1568 * config/rs6000/40x.md (ppc403-load, ppc403-store, ppc405-float):
1569 Adjust.
1570 * config/rs6000/440.md (ppc440-load, ppc440-store, ppc440-fpload,
1571 ppc440-fpstore): Adjust.
1572 * config/rs6000/476.md (ppc476-load, ppc476-store, ppc476-fpload,
1573 ppc476-fpstore): Adjust.
1574 * config/rs6000/601.md (ppc601-load, ppc601-store, ppc601-fpload,
1575 ppc601-fpstore): Adjust.
1576 * config/rs6000/603.md (ppc603-load, ppc603-store, ppc603-fpload):
1577 Adjust.
1578 * config/rs6000/6xx.md (ppc604-load, ppc604-store, ppc604-fpload):
1579 Adjust.
1580 * config/rs6000/7450.md (ppc7450-load, ppc7450-store, ppc7450-fpload,
1581 ppc7450-fpstore): Adjust.
1582 * config/rs6000/7xx.md (ppc750-load, ppc750-store): Adjust.
1583 * config/rs6000/8540.md (ppc8540_load, ppc8540_store): Adjust.
1584 * config/rs6000/a2.md (ppca2-load, ppca2-fp-load, ppca2-fp-store):
1585 Adjust.
1586 * config/rs6000/cell.md (cell-load, cell-load-ux, cell-load-ext,
1587 cell-fpload, cell-fpload-update, cell-store, cell-store-update,
1588 cell-fpstore, cell-fpstore-update): Adjust.
1589 * config/rs6000/e300c2c3.md (ppce300c3_load, ppce300c3_fpload,
1590 ppce300c3_store, ppce300c3_fpstore): Adjust.
1591 * config/rs6000/e500mc.md (e500mc_load, e500mc_fpload, e500mc_store,
1592 e500mc_fpstore): Adjust.
1593 * config/rs6000/e500mc64.md (e500mc64_load, e500mc64_fpload,
1594 e500mc64_store, e500mc64_fpstore): Adjust.
1595 * config/rs6000/e5500.md (e5500_load, e5500_fpload, e5500_store,
1596 e5500_fpstore): Adjust.
1597 * config/rs6000/e6500.md (e6500_load, e6500_fpload, e6500_store,
1598 e6500_fpstore): Adjust.
1599 * config/rs6000/mpc.md (mpccore-load, mpccore-store, mpccore-fpload):
1600 Adjust.
1601 * config/rs6000/power4.md (power4-load, power4-load-ext,
1602 power4-load-ext-update, power4-load-ext-update-indexed,
1603 power4-load-update-indexed, power4-load-update, power4-fpload,
1604 power4-fpload-update, power4-store, power4-store-update,
1605 power4-store-update-indexed, power4-fpstore, power4-fpstore-update):
1606 Adjust.
1607 * config/rs6000/power5.md (power5-load, power5-load-ext,
1608 power5-load-ext-update, power5-load-ext-update-indexed,
1609 power5-load-update-indexed, power5-load-update, power5-fpload,
1610 power5-fpload-update, power5-store, power5-store-update,
1611 power5-store-update-indexed, power5-fpstore, power5-fpstore-update):
1612 Adjust.
1613 * config/rs6000/power6.md (power6-load, power6-load-ext,
1614 power6-load-update, power6-load-update-indexed,
1615 power6-load-ext-update, power6-load-ext-update-indexed, power6-fpload,
1616 power6-fpload-update, power6-store, power6-store-update,
1617 power6-store-update-indexed, power6-fpstore, power6-fpstore-update):
1618 Adjust.
1619 * config/rs6000/power7.md (power7-load, power7-load-ext,
1620 power7-load-update, power7-load-update-indexed,
1621 power7-load-ext-update, power7-load-ext-update-indexed, power7-fpload,
1622 power7-fpload-update, power7-store, power7-store-update,
1623 power7-store-update-indexed, power7-fpstore, power7-fpstore-update):
1624 Adjust.
1625 * config/rs6000/power8.md (power8-load, power8-load-update,
1626 power8-load-ext, power8-load-ext-update, power8-fpload,
1627 power8-fpload-update, power8-store, power8-store-update-indexed,
1628 power8-fpstore, power8-fpstore-update): Adjust.
1629 * config/rs6000/rs64.md (rs64a-load, rs64a-store, rs64a-fpload):
1630 Adjust.
1631 * config/rs6000/titan.md (titan_lsu_load, titan_lsu_fpload,
1632 titan_lsu_store, titan_lsu_fpstore): Adjust.
1633 * config/rs6000/xfpu.md (fp-load, fp-store): Adjust.
1634
36dc9ae8
OE
16352014-05-07 Oleg Endo <olegendo@gcc.gnu.org>
1636
1637 PR target/60884
1638 * config/sh/sh-mem.cc (sh_expand_strlen): Use loop when emitting
1639 unrolled byte insns. Emit address increments after move insns.
1640
9bbf45f6
DM
16412014-05-07 David Malcolm <dmalcolm@redhat.com>
1642
1643 * gimple.h (gimple_builtin_call_types_compatible_p): Accept a
1644 const_gimple, rather than a gimple.
1645 (gimple_call_builtin_p): Likewise, for the three variants.
1646
1647 * gimple.c (gimple_builtin_call_types_compatible_p): Likewise.
1648 (gimple_call_builtin_p): Likewise, for the three variants.
1649
1a51f10c
RS
16502014-05-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1651
1652 PR tree-optimization/61095
1653 * tree-ssanames.c (get_nonzero_bits): Fix type extension in wi::shwi.
1654
50f0aa20
RB
16552014-05-07 Richard Biener <rguenther@suse.de>
1656
1657 PR tree-optimization/61034
1658 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Export.
1659 (maybe_skip_until): Use translate to take into account
1660 lattices when trying to do disambiguations.
1661 (get_continuation_for_phi_1): Likewise.
b6db8af6 1662 (get_continuation_for_phi): Adjust for added translate arguments.
50f0aa20 1663 (walk_non_aliased_vuses): Likewise.
b6db8af6 1664 * tree-ssa-alias.h (get_continuation_for_phi): Adjust prototype.
50f0aa20
RB
1665 (walk_non_aliased_vuses): Likewise.
1666 (call_may_clobber_ref_p_1): Declare.
b6db8af6
UB
1667 * tree-ssa-sccvn.c (vn_reference_lookup_3): Also disambiguate against
1668 calls. Stop early if we are only supposed to disambiguate.
50f0aa20
RB
1669 * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
1670
e7b7077e
JR
16712014-05-07 Joern Rennecke <joern.rennecke@embecosm.com>
1672
1673 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
1674 Emit an error when the function has arguments.
1675
c4597c1d
TS
16762014-05-07 Thomas Schwinge <thomas@codesourcery.com>
1677
1678 * cfgloop.h (unswitch_loops): Remove.
1679 * doc/passes.texi: Remove references to loop-unswitch.c
1680 * timevar.def (TV_LOOP_UNSWITCH): Remove.
1681
2c23db6d
ES
16822014-05-07 Evgeny Stupachenko <evstupac@gmail.com>
1683
1684 * tree-vect-data-refs.c (vect_grouped_load_supported): New
1685 check for loads group of length 3.
1686 (vect_permute_load_chain): New permutations for loads group of
1687 length 3.
1688 * tree-vect-stmts.c (vect_model_load_cost): Change cost
1689 of vec_perm_shuffle for the new permutations.
1690
1d175503
AL
16912014-05-07 Alan Lawrence <alan.lawrence@arm.com>
1692
1693 * config/aarch64/arm_neon.h (vtrn1_f32, vtrn1_p8, vtrn1_p16, vtrn1_s8,
1694 vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16, vtrn1_u32, vtrn1q_f32,
1695 vtrn1q_f64, vtrn1q_p8, vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32,
1696 vtrn1q_s64, vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_u64, vtrn2_f32,
1697 vtrn2_p8, vtrn2_p16, vtrn2_s8, vtrn2_s16, vtrn2_s32, vtrn2_u8,
1698 vtrn2_u16, vtrn2_u32, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
1699 vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8, vtrn2q_u16,
1700 vtrn2q_u32, vtrn2q_u64): Replace temporary asm with __builtin_shuffle.
1701
e2d87487
TS
17022014-05-07 Thomas Schwinge <thomas@codesourcery.com>
1703
1704 * loop-unswitch.c: Delete.
1705
f543058d
RB
17062014-05-07 Richard Biener <rguenther@suse.de>
1707
1708 * config.gcc: Always set need_64bit_hwint to yes.
1709
96092404
CJW
17102014-05-07 Chung-Ju Wu <jasonwucj@gmail.com>
1711
1712 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor
1713 of using optimize_size.
1714
ca66f89b
MS
17152014-05-06 Mike Stump <mikestump@comcast.net>
1716
1717 * wide-int.h (wi::int_traits <HOST_WIDE_INT>): Always define.
1718
659c0e68
JM
17192014-05-06 Joseph Myers <joseph@codesourcery.com>
1720
1721 * config/i386/sse.md (*mov<mode>_internal)
1722 (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>)
1723 (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>)
1724 (<sse>_andnot<mode>3, <code><mode>3, *andnot<mode>3)
1725 (*<code><mode>3, *andnot<mode>3<mask_name>)
1726 (<mask_codefor><code><mode>3<mask_name>): Only consider
1727 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL for modes of size 16.
1728
3379b71f
RS
17292014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
1730
1731 Revert:
1732 2014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
1733
1734 * lra-constraints.c (valid_address_p): Move earlier in file.
1735 Add a constraint argument to the address_info version.
1736 (satisfies_memory_constraint_p): New function.
1737 (satisfies_address_constraint_p): Likewise.
1738 (process_alt_operands, curr_insn_transform): Use them.
1739 (process_address): Pass the constraint to valid_address_p when
1740 checking address operands.
1741
224dbc07
RS
17422014-05-06 Richard Sandiford <r.sandiford@uk.ibm.com>
1743
1744 * lto-cgraph.c (compute_ltrans_boundary): Make node variables local
1745 to their respective blocks. Fix inadvertent use of "node".
1746
aa3a12d6
RS
17472014-05-06 Richard Sandiford <rdsandiford@googlemail.com>
1748
1749 * emit-rtl.c (init_derived_machine_modes): New functionm, split
1750 out from...
1751 (init_emit_once): ...here.
1752 * rtl.h (init_derived_machine_modes): Declare.
1753 * toplev.c (do_compile): Call it even if no_backend.
1754
1d60af08
KZ
17552014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1756 Mike Stump <mikestump@comcast.net>
1757 Richard Sandiford <rdsandiford@googlemail.com>
1758 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1759
1760 * alias.c (ao_ref_from_mem): Use wide-int interfaces.
1761 (rtx_equal_for_memref_p): Update comment.
1762 (adjust_offset_for_component_ref): Use wide-int interfaces.
1763 * builtins.c (get_object_alignment_2): Likewise.
1764 (c_readstr): Likewise.
1765 (target_char_cast): Add comment.
1766 (determine_block_size): Use wide-int interfaces.
1767 (expand_builtin_signbit): Likewise.
1768 (fold_builtin_int_roundingfn): Likewise.
1769 (fold_builtin_bitop): Likewise.
1770 (fold_builtin_bswap): Likewise.
1771 (fold_builtin_logarithm): Use signop.
1772 (fold_builtin_pow): Likewise.
1773 (fold_builtin_memory_op): Use wide-int interfaces.
1774 (fold_builtin_object_size): Likewise.
1775 * cfgloop.c (alloc_loop): Initialize nb_iterations_upper_bound and
1776 nb_iterations_estimate.
1777 (record_niter_bound): Use wide-int interfaces.
1778 (get_estimated_loop_iterations_int): Likewise.
1779 (get_estimated_loop_iterations): Likewise.
1780 (get_max_loop_iterations): Likewise.
1781 * cfgloop.h: Include wide-int.h.
1782 (struct nb_iter_bound): Change bound to widest_int.
1783 (struct loop): Change nb_iterations_upper_bound and
1784 nb_iterations_estimate to widest_int.
1785 (record_niter_bound): Switch to use widest_int.
1786 (get_estimated_loop_iterations): Likewise.
1787 (get_max_loop_iterations): Likewise.
1788 (gcov_type_to_double_int): Rename to gcov_type_to_wide_int and
1789 update for wide-int.
1790 * cgraph.c (cgraph_add_thunk): Use wide-int interfaces.
1791 * combine.c (try_combine): Likewise.
1792 (subst): Use CONST_SCALAR_INT_P rather than CONST_INT_P.
1793 * config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Use wide-int
1794 interfaces.
1795 (aarch64_float_const_representable_p): Likewise.
1796 * config/arc/arc.c: Include wide-int.h.
1797 (arc_can_use_doloop_p): Use wide-int interfaces.
1798 * config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
1799 (vfp3_const_double_index): Likewise.
1800 * config/avr/avr.c (avr_out_round): Likewise.
1801 (avr_fold_builtin): Likewise.
1802 * config/bfin/bfin.c (bfin_local_alignment): Likewise.
1803 (bfin_can_use_doloop_p): Likewise.
1804 * config/darwin.c (darwin_mergeable_constant_section): Likewise.
1805 (machopic_select_rtx_section): Update to handle CONST_WIDE_INT.
1806 * config/i386/i386.c: Include wide-int.h.
1807 (ix86_data_alignment): Use wide-int interfaces.
1808 (ix86_local_alignment): Likewise.
1809 (ix86_emit_swsqrtsf): Update real_from_integer.
1810 * config/msp430/msp430.c (msp430_attr): Use wide-int interfaces.
1811 * config/nds32/nds32.c (nds32_insert_attributes): Likewise.
1812 * config/rs6000/predicates.md (any_operand): Add const_wide_int.
1813 (zero_constant): Likewise.
1814 (input_operand): Likewise.
1815 (splat_input_operand): Likewise.
1816 (non_logical_cint_operand): Change const_double to const_wide_int.
1817 * config/rs6000/rs6000.c (num_insns_constant): Handle CONST_WIDE_INT.
1818 (easy_altivec_constant): Remove comment.
1819 (paired_expand_vector_init): Use CONSTANT_P.
1820 (rs6000_legitimize_address): Handle CONST_WIDE_INT.
1821 (rs6000_emit_move): Update checks.
1822 (rs6000_aggregate_candidate): Use wide-int interfaces.
1823 (rs6000_expand_ternop_builtin): Likewise.
1824 (rs6000_output_move_128bit): Handle CONST_WIDE_INT.
1825 (rs6000_assemble_integer): Likewise.
1826 (rs6000_hash_constant): Likewise.
1827 (output_toc): Likewise.
1828 (rs6000_rtx_costs): Likewise.
1829 (rs6000_emit_swrsqrt); Update call to real_from_integer.
1830 * config/rs6000/rs6000-c.c: Include wide-int.h.
1831 (altivec_resolve_overloaded_builtin): Use wide-int interfaces.
1832 * config/rs6000/rs6000.h (TARGET_SUPPORTS_WIDE_INT): New.
1833 * config/rs6000/rs6000.md: Use const_scalar_int_operand.
1834 Handle CONST_WIDE_INT.
1835 * config/sol2-c.c (solaris_pragma_align): Change low to unsigned HWI.
1836 Use tree_fits_uhwi_p.
1837 * config/sparc/sparc.c: Include wide-int.h.
1838 (sparc_fold_builtin): Use wide-int interfaces.
1839 * config/vax/vax.c: Include wide-int.h.
1840 (vax_float_literal): Use real_from_integer.
1841 * coretypes.h (struct hwivec_def): New.
1842 (hwivec): New.
1843 (const_hwivec): New.
1844 * cse.c (hash_rtx_cb): Handle CONST_WIDE_INT.
1845 (equiv_constant): Handle CONST_WIDE_INT.
1846 * cselib.c (rtx_equal_for_cselib_1): Use CASE_CONST_UNIQUE.
1847 (cselib_hash_rtx): Handle CONST_WIDE_INT.
1848 * dbxout.c (stabstr_U): Use wide-int interfaces.
1849 (dbxout_type): Update to use cst_fits_shwi_p.
1850 * defaults.h (LOG2_BITS_PER_UNIT): Define.
1851 (TARGET_SUPPORTS_WIDE_INT): Add default.
1852 * dfp.c: Include wide-int.h.
1853 (decimal_real_to_integer2): Use wide-int interfaces and rename to
1854 decimal_real_to_integer.
1855 * dfp.h (decimal_real_to_integer2): Return a wide_int and rename to
1856 decimal_real_to_integer.
1857 * doc/generic.texi (Constant expressions): Update for wide_int.
1858 * doc/rtl.texi (const_double): Likewise.
1859 (const_wide_int, CONST_WIDE_INT, CONST_WIDE_INT_VEC): New.
1860 (CONST_WIDE_INT_NUNITS, CONST_WIDE_INT_ELT): New.
1861 * doc/tm.texi.in (REAL_VALUE_TO_INT): Remove.
1862 (REAL_VALUE_FROM_INT): Remove.
1863 (TARGET_SUPPORTS_WIDE_INT): New.
1864 * doc/tm.texi: Regenerate.
1865 * dojump.c (prefer_and_bit_test): Use wide-int interfaces.
1866 * double-int.h: Include wide-int.h.
1867 (struct wi::int_traits): New.
1868 * dwarf2out.c (get_full_len): New.
1869 (dw_val_equal_p): Add case dw_val_class_wide_int.
1870 (size_of_loc_descr): Likewise.
1871 (output_loc_operands): Likewise.
1872 (insert_double): Remove.
1873 (insert_wide_int): New.
1874 (add_AT_wide): New.
1875 (print_die): Add case dw_val_class_wide_int.
1876 (attr_checksum): Likewise.
1877 (attr_checksum_ordered): Likewise.
1878 (same_dw_val_p): Likewise.
1879 (size_of_die): Likewise.
1880 (value_format): Likewise.
1881 (output_die): Likewise.
1882 (double_int_type_size_in_bits): Rename to offset_int_type_size_in_bits.
1883 Use wide-int.
1884 (clz_loc_descriptor): Use wide-int interfaces.
1885 (mem_loc_descriptor): Likewise. Handle CONST_WIDE_INT.
1886 (loc_descriptor): Use wide-int interfaces. Handle CONST_WIDE_INT.
1887 (round_up_to_align): Use wide-int interfaces.
1888 (field_byte_offset): Likewise.
1889 (insert_double): Rename to insert_wide_int. Use wide-int interfaces.
1890 (add_const_value_attribute): Handle CONST_WIDE_INT. Update
1891 CONST_DOUBLE handling. Use wide-int interfaces.
1892 (add_bound_info): Use tree_fits_uhwi_p. Use wide-int interfaces.
1893 (gen_enumeration_type_die): Use add_AT_wide.
1894 (hash_loc_operands): Add case dw_val_class_wide_int.
1895 (compare_loc_operands): Likewise.
1896 * dwarf2out.h: Include wide-int.h.
1897 (wide_int_ptr): New.
1898 (enum dw_val_class): Add dw_val_class_wide_int.
1899 (struct dw_val_struct): Add val_wide.
1900 * emit-rtl.c (const_wide_int_htab): New.
1901 (const_wide_int_htab_hash): New.
1902 (const_wide_int_htab_eq): New.
1903 (lookup_const_wide_int): New.
1904 (const_double_htab_hash): Use wide-int interfaces.
1905 (const_double_htab_eq): Likewise.
1906 (rtx_to_double_int): Conditionally compile for wide-int.
1907 (immed_double_int_const): Rename to immed_wide_int_const and
1908 update for wide-int.
1909 (immed_double_const): Conditionally compile for wide-int.
1910 (init_emit_once): Use wide-int interfaces.
1911 * explow.c (plus_constant): Likewise.
1912 * expmed.c (mask_rtx): Move further up file. Use wide-int interfaces.
1913 (lshift_value): Use wide-int interfaces.
1914 (expand_mult): Likewise.
1915 (choose_multiplier): Likewise.
1916 (expand_smod_pow2): Likewise.
1917 (make_tree): Likewise.
1918 * expr.c (convert_modes): Consolidate handling of constants.
1919 Use wide-int interfaces.
1920 (emit_group_load_1): Add note.
1921 (store_expr): Update comment.
1922 (get_inner_reference): Use wide-int interfaces.
1923 (expand_constructor): Update comment.
1924 (expand_expr_real_2): Use wide-int interfaces.
1925 (expand_expr_real_1): Likewise.
1926 (reduce_to_bit_field_precision): Likewise.
1927 (const_vector_from_tree): Likewise.
1928 * final.c: Include wide-int-print.h.
1929 (output_addr_const): Handle CONST_WIDE_INT. Use CONST_DOUBLE_AS_INT_P.
1930 * fixed-value.c: Include wide-int.h.
1931 (fixed_from_string): Use wide-int interfaces.
1932 (fixed_to_decimal): Likewise.
1933 (fixed_convert_from_real): Likewise.
1934 (real_convert_from_fixed): Likewise.
1935 * fold-const.h (mem_ref_offset): Return an offset_int.
1936 (div_if_zero_remainder): Remove code parameter.
1937 * fold-const.c (div_if_zero_remainder): Remove code parameter.
1938 Use wide-int interfaces.
1939 (may_negate_without_overflow_p): Use wide-int interfaces.
1940 (negate_expr_p): Likewise.
1941 (fold_negate_expr): Likewise.
1942 (int_const_binop_1): Likewise.
1943 (const_binop): Likewise.
1944 (fold_convert_const_int_from_int): Likewise.
1945 (fold_convert_const_int_from_real): Likewise.
1946 (fold_convert_const_int_from_fixed): Likewise.
1947 (fold_convert_const_fixed_from_int): Likewise.
1948 (all_ones_mask_p): Take an unsigned size. Use wide-int interfaces.
1949 (sign_bit_p): Use wide-int interfaces.
1950 (make_range_step): Likewise.
1951 (build_range_check): Likewise. Pass an integer of the correct type
1952 instead of using integer_one_node.
1953 (range_predecessor): Pass an integer of the correct type instead
1954 of using integer_one_node.
1955 (range_successor): Likewise.
1956 (merge_ranges): Likewise.
1957 (unextend): Use wide-int interfaces.
1958 (extract_muldiv_1): Likewise.
1959 (fold_div_compare): Likewise.
1960 (fold_single_bit_test): Likewise.
1961 (fold_sign_changed_comparison): Likewise.
1962 (try_move_mult_to_index): Update calls to div_if_zero_remainder.
1963 (fold_plusminus_mult_expr): Use wide-int interfaces.
1964 (native_encode_int): Likewise.
1965 (native_interpret_int): Likewise.
1966 (fold_unary_loc): Likewise.
1967 (pointer_may_wrap_p): Likewise.
1968 (size_low_cst): Likewise.
1969 (mask_with_tz): Likewise.
1970 (fold_binary_loc): Likewise.
1971 (fold_ternary_loc): Likewise.
1972 (multiple_of_p): Likewise.
1973 (tree_call_nonnegative_warnv_p): Update calls to
1974 tree_int_cst_min_precision and real_from_integer.
1975 (fold_negate_const): Use wide-int interfaces.
1976 (fold_abs_const): Likewise.
1977 (fold_relational_const): Use tree_int_cst_lt.
1978 (round_up_loc): Use wide-int interfaces.
1979 * genemit.c (gen_exp): Add CONST_WIDE_INT case.
1980 * gengenrtl.c (excluded_rtx): Add CONST_WIDE_INT case.
1981 * gengtype.c: Remove include of double-int.h.
1982 (do_typedef): Use wide-int interfaces.
1983 (open_base_files): Add wide-int.h.
1984 (main): Add offset_int and widest_int typedefs.
1985 * gengtype-lex.l: Handle "^".
1986 (CXX_KEYWORD): Add "static".
1987 * gengtype-parse.c (require3): New.
1988 (require_template_declaration): Handle constant template arguments
1989 and nested templates.
1990 * gengtype-state.c: Don't include "double-int.h".
1991 * genpreds.c (write_one_predicate_function): Update comment.
1992 (write_tm_constrs_h): Add check for hval and lval use in
1993 CONST_WIDE_INT.
1994 * genrecog.c (validate_pattern): Add CONST_WIDE_INT case.
1995 (add_to_sequence): Likewise.
1996 * gensupport.c (struct std_pred_table): Add const_scalar_int_operand
1997 and const_double_operand.
1998 * gimple.c (preprocess_case_label_vec_for_gimple): Use wide-int
1999 interfaces.
2000 * gimple-fold.c (get_base_constructor): Likewise.
2001 (fold_array_ctor_reference): Likewise.
2002 (fold_nonarray_ctor_reference): Likewise.
2003 (fold_const_aggregate_ref_1): Likewise.
2004 (gimple_val_nonnegative_real_p): Likewise.
2005 (gimple_fold_indirect_ref): Likewise.
2006 * gimple-pretty-print.c (dump_ssaname_info): Likewise.
2007 * gimple-ssa-strength-reduction.c: Include wide-int-print.h.
2008 (struct slsr_cand_d): Change index to be widest_int.
2009 (struct incr_info_d): Change incr to be widest_int.
2010 (alloc_cand_and_find_basis): Use wide-int interfaces.
2011 (slsr_process_phi): Likewise.
2012 (backtrace_base_for_ref): Likewise. Return a widest_int.
2013 (restructure_reference): Take a widest_int instead of a double_int.
2014 (slsr_process_ref): Use wide-int interfaces.
2015 (create_mul_ssa_cand): Likewise.
2016 (create_mul_imm_cand): Likewise.
2017 (create_add_ssa_cand): Likewise.
2018 (create_add_imm_cand): Take a widest_int instead of a double_int.
2019 (slsr_process_add): Use wide-int interfaces.
2020 (slsr_process_cast): Likewise.
2021 (slsr_process_copy): Likewise.
2022 (dump_candidate): Likewise.
2023 (dump_incr_vec): Likewise.
2024 (replace_ref): Likewise.
2025 (cand_increment): Likewise. Return a widest_int.
2026 (cand_abs_increment): Likewise.
2027 (replace_mult_candidate): Take a widest_int instead of a double_int.
2028 (replace_unconditional_candidate): Use wide-int interfaces.
2029 (incr_vec_index): Take a widest_int instead of a double_int.
2030 (create_add_on_incoming_edge): Likewise.
2031 (create_phi_basis): Use wide-int interfaces.
2032 (replace_conditional_candidate): Likewise.
2033 (record_increment): Take a widest_int instead of a double_int.
2034 (record_phi_increments): Use wide-int interfaces.
2035 (phi_incr_cost): Take a widest_int instead of a double_int.
2036 (lowest_cost_path): Likewise.
2037 (total_savings): Likewise.
2038 (analyze_increments): Use wide-int interfaces.
2039 (ncd_with_phi): Take a widest_int instead of a double_int.
2040 (ncd_of_cand_and_phis): Likewise.
2041 (nearest_common_dominator_for_cands): Likewise.
2042 (insert_initializers): Use wide-int interfaces.
2043 (all_phi_incrs_profitable): Likewise.
2044 (replace_one_candidate): Likewise.
2045 (replace_profitable_candidates): Likewise.
2046 * godump.c: Include wide-int-print.h.
2047 (go_output_typedef): Use wide-int interfaces.
2048 * graphite-clast-to-gimple.c (gmp_cst_to_tree): Likewise.
2049 * graphite-sese-to-poly.c (tree_int_to_gmp): Likewise.
2050 (build_loop_iteration_domains): Likewise.
2051 * hooks.h: Include wide-int.h rather than double-int.h.
2052 (hook_bool_dint_dint_uint_bool_true): Delete.
2053 (hook_bool_wint_wint_uint_bool_true): Declare.
2054 * hooks.c (hook_bool_dint_dint_uint_bool_true): Removed.
2055 (hook_bool_wint_wint_uint_bool_true): New.
2056 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): Use wide-int
2057 interfaces.
2058 (ubsan_expand_si_overflow_mul_check): Likewise.
2059 * ipa-devirt.c (get_polymorphic_call_info): Likewise.
2060 * ipa-prop.c (compute_complex_assign_jump_func): Likewise.
2061 (get_ancestor_addr_info): Likewise.
2062 (ipa_modify_call_arguments): Likewise.
2063 * loop-doloop.c (doloop_modify): Likewise.
2064 (doloop_optimize): Likewise.
2065 * loop-iv.c (iv_number_of_iterations): Likewise.
2066 * loop-unroll.c (decide_unroll_constant_iterations): Likewise.
2067 (unroll_loop_constant_iterations): Likewise.
2068 (decide_unroll_runtime_iterations): Likewise.
2069 (unroll_loop_runtime_iterations): Likewise.
2070 (decide_peel_simple): Likewise.
2071 (decide_unroll_stupid): Likewise.
2072 * lto-streamer-in.c (streamer_read_wi): Add.
2073 (input_cfg): Use wide-int interfaces.
2074 (lto_input_tree_1): Likewise.
2075 * lto-streamer-out.c (streamer_write_wi): Add.
2076 (hash_tree): Use wide-int interfaces.
2077 (output_cfg): Likewise.
2078 * Makefile.in (OBJS): Add wide-int.o and wide-int-print.o.
2079 (GTFILES): Add wide-int.h and signop.h.
2080 (TAGS): Look for .cc files too.
2081 * omp-low.c (scan_omp_1_op): Use wide-int interfaces.
2082 * optabs.c (expand_subword_shift): Likewise.
2083 (expand_doubleword_shift): Likewise.
2084 (expand_absneg_bit): Likewise.
2085 (expand_copysign_absneg): Likewise.
2086 (expand_copysign_bit): Likewise.
2087 * postreload.c (reload_cse_simplify_set): Likewise.
2088 * predict.c (predict_iv_comparison): Likewise.
2089 * pretty-print.h: Include wide-int-print.h.
2090 (pp_wide_int) New.
2091 * print-rtl.c (print_rtx): Add CONST_WIDE_INT case.
2092 * print-tree.c: Include wide-int-print.h.
2093 (print_node_brief): Use wide-int interfaces.
2094 (print_node): Likewise.
2095 * read-rtl.c (validate_const_wide_int): New.
2096 (read_rtx_code): Add CONST_WIDE_INT case.
2097 * real.c: Include wide-int.h.
2098 (real_to_integer2): Delete.
2099 (real_to_integer): New function, returning a wide_int.
2100 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
2101 (ten_to_ptwo): Update call to real_from_integer.
2102 (real_digit): Likewise.
2103 * real.h: Include signop.h, wide-int.h and insn-modes.h.
2104 (real_to_integer2, REAL_VALUE_FROM_INT, REAL_VALUE_FROM_UNSIGNED_INT)
2105 (REAL_VALUE_TO_INT): Delete.
2106 (real_to_integer): Declare a wide-int form.
2107 (real_from_integer): Take a wide_int rather than two HOST_WIDE_INTs.
2108 * recog.c (const_int_operand): Improve comment.
2109 (const_scalar_int_operand): New.
2110 (const_double_operand): Add a separate definition for CONST_WIDE_INT.
2111 * rtlanal.c (commutative_operand_precedence): Handle CONST_WIDE_INT.
2112 (split_double): Likewise.
2113 * rtl.c (DEF_RTL_EXPR): Handle CONST_WIDE_INT.
2114 (rtx_size): Likewise.
2115 (rtx_alloc_stat_v): New.
2116 (rtx_alloc_stat): Now calls rtx_alloc_stat_v.
2117 (cwi_output_hex): New.
2118 (iterative_hash_rtx): Handle CONST_WIDE_INT.
2119 (cwi_check_failed_bounds): New.
2120 * rtl.def (CONST_WIDE_INT): New.
2121 * rtl.h: Include <utility> and wide-int.h.
2122 (struct hwivec_def): New.
2123 (CWI_GET_NUM_ELEM): New.
2124 (CWI_PUT_NUM_ELEM): New.
2125 (struct rtx_def): Add num_elem and hwiv.
2126 (CASE_CONST_SCALAR_INT): Modify for TARGET_SUPPORTS_WIDE_INT.
2127 (CASE_CONST_UNIQUE): Likewise.
2128 (CASE_CONST_ANY): Likewise.
2129 (CONST_SCALAR_INT_P): Likewise.
2130 (CONST_WIDE_INT_P): New.
2131 (CWI_ELT): New.
2132 (HWIVEC_CHECK): New.
2133 (cwi_check_failed_bounds): New.
2134 (CWI_ELT): New.
2135 (HWIVEC_CHECK): New.
2136 (CONST_WIDE_INT_VEC) New.
2137 (CONST_WIDE_INT_NUNITS) New.
2138 (CONST_WIDE_INT_ELT) New.
2139 (rtx_mode_t): New type.
2140 (wi::int_traits <rtx_mode_t>): New.
2141 (wi::shwi): New.
2142 (wi::min_value): New.
2143 (wi::max_value): New.
2144 (rtx_alloc_v) New.
2145 (const_wide_int_alloc): New.
2146 (immed_wide_int_const): New.
2147 * sched-vis.c (print_value): Handle CONST_WIDE_INT.
2148 * sel-sched-ir.c (lhs_and_rhs_separable_p): Update comment.
2149 * signop.h: New file.
2150 * simplify-rtx.c (mode_signbit_p): Handle CONST_WIDE_INT.
2151 (simplify_const_unary_operation): Use wide-int interfaces.
2152 (simplify_binary_operation_1): Likewise.
2153 (simplify_const_binary_operation): Likewise.
2154 (simplify_const_relational_operation): Likewise.
2155 (simplify_immed_subreg): Likewise.
2156 * stmt.c (expand_case): Likewise.
2157 * stor-layout.h (set_min_and_max_values_for_integral_type): Take a
2158 signop rather than a bool.
2159 * stor-layout.c (layout_type): Use wide-int interfaces.
2160 (initialize_sizetypes): Update calls to
2161 set_min_and_max_values_for_integral_type.
2162 (set_min_and_max_values_for_integral_type): Take a signop rather
2163 than a bool. Use wide-int interfaces.
2164 (fixup_signed_type): Update accordingly. Remove
2165 HOST_BITS_PER_DOUBLE_INT limit.
2166 (fixup_unsigned_type): Likewise.
2167 * system.h (STATIC_CONSTANT_P): New.
2168 (STATIC_ASSERT): New.
2169 * target.def (can_use_doloop_p): Take widest_ints rather than
2170 double_ints.
2171 * target.h: Include wide-int.h rather than double-int.h.
2172 * targhooks.h (can_use_doloop_if_innermost): Take widest_ints rather
2173 than double_ints.
2174 * targhooks.c (default_cxx_get_cookie_size): Use tree_int_cst_lt
2175 rather than INT_CST_LT_UNSIGNED.
2176 (can_use_doloop_if_innermost): Take widest_ints rather than
2177 double_ints.
2178 * tree-affine.c: Include wide-int-print.h.
2179 (double_int_ext_for_comb): Delete.
2180 (wide_int_ext_for_comb): New.
2181 (aff_combination_zero): Use wide-int interfaces.
2182 (aff_combination_const): Take a widest_int instead of a double_int.
2183 (aff_combination_elt): Use wide-int interfaces.
2184 (aff_combination_scale): Take a widest_int instead of a double_int.
2185 (aff_combination_add_elt): Likewise.
2186 (aff_combination_add_cst): Likewise.
2187 (aff_combination_add): Use wide-int interfaces.
2188 (aff_combination_convert): Likewise.
2189 (tree_to_aff_combination): Likewise.
2190 (add_elt_to_tree): Take a widest_int instead of a double_int.
2191 (aff_combination_to_tree): Use wide-int interfaces.
2192 (aff_combination_remove_elt): Likewise.
2193 (aff_combination_add_product): Take a widest_int instead of
2194 a double_int.
2195 (aff_combination_mult): Use wide-int interfaces.
2196 (aff_combination_expand): Likewise.
2197 (double_int_constant_multiple_p): Delete.
2198 (wide_int_constant_multiple_p): New.
2199 (aff_combination_constant_multiple_p): Take a widest_int pointer
2200 instead of a double_int pointer.
2201 (print_aff): Use wide-int interfaces.
2202 (get_inner_reference_aff): Take a widest_int pointer
2203 instead of a double_int pointer.
2204 (aff_comb_cannot_overlap_p): Take widest_ints instead of double_ints.
2205 * tree-affine.h: Include wide-int.h.
2206 (struct aff_comb_elt): Change type of coef to widest_int.
2207 (struct affine_tree_combination): Change type of offset to widest_int.
2208 (double_int_ext_for_comb): Delete.
2209 (wide_int_ext_for_comb): New.
2210 (aff_combination_const): Use widest_int instead of double_int.
2211 (aff_combination_scale): Likewise.
2212 (aff_combination_add_elt): Likewise.
2213 (aff_combination_constant_multiple_p): Likewise.
2214 (get_inner_reference_aff): Likewise.
2215 (aff_comb_cannot_overlap_p): Likewise.
2216 (aff_combination_zero_p): Use wide-int interfaces.
2217 * tree.c: Include tree.h.
2218 (init_ttree): Use make_int_cst.
2219 (tree_code_size): Removed code for INTEGER_CST case.
2220 (tree_size): Add INTEGER_CST case.
2221 (make_node_stat): Update comment.
2222 (get_int_cst_ext_nunits, build_new_int_cst, build_int_cstu): New.
2223 (build_int_cst_type): Use wide-int interfaces.
2224 (double_int_to_tree): Likewise.
2225 (double_int_fits_to_tree_p): Delete.
2226 (force_fit_type_double): Delete.
2227 (force_fit_type): New.
2228 (int_cst_hash_hash): Use wide-int interfaces.
2229 (int_cst_hash_eq): Likewise.
2230 (build_int_cst_wide): Delete.
2231 (wide_int_to_tree): New.
2232 (cache_integer_cst): Use wide-int interfaces.
2233 (build_low_bits_mask): Likewise.
2234 (cst_and_fits_in_hwi): Likewise.
2235 (real_value_from_int_cst): Likewise.
2236 (make_int_cst_stat): New.
2237 (integer_zerop): Use wide_int interfaces.
2238 (integer_onep): Likewise.
2239 (integer_all_onesp): Likewise.
2240 (integer_pow2p): Likewise.
2241 (integer_nonzerop): Likewise.
2242 (tree_log2): Likewise.
2243 (tree_floor_log2): Likewise.
2244 (tree_ctz): Likewise.
2245 (int_size_in_bytes): Likewise.
2246 (mem_ref_offset): Return an offset_int rather than a double_int.
2247 (build_type_attribute_qual_variant): Use wide_int interfaces.
2248 (type_hash_eq): Likewise
2249 (tree_int_cst_equal): Likewise.
2250 (tree_int_cst_lt): Delete.
2251 (tree_int_cst_compare): Likewise.
2252 (tree_fits_shwi_p): Use wide_int interfaces.
2253 (tree_fits_uhwi_p): Likewise.
2254 (tree_int_cst_sign_bit): Likewise.
2255 (tree_int_cst_sgn): Likewise.
2256 (tree_int_cst_min_precision): Take a signop rather than a bool.
2257 (simple_cst_equal): Use wide_int interfaces.
2258 (compare_tree_int): Likewise.
2259 (iterative_hash_expr): Likewise.
2260 (int_fits_type_p): Likewise. Use tree_int_cst_lt rather than
2261 INT_CST_LT.
2262 (get_type_static_bounds): Use wide_int interfaces.
2263 (tree_int_cst_elt_check_failed): New.
2264 (build_common_tree_nodes): Reordered to set prec before filling in
2265 value.
2266 (int_cst_value): Check cst_and_fits_in_hwi.
2267 (widest_int_cst_value): Use wide_int interfaces.
2268 (upper_bound_in_type): Likewise.
2269 (lower_bound_in_type): Likewise.
2270 (num_ending_zeros): Likewise.
2271 (drop_tree_overflow): Likewise.
2272 * tree-call-cdce.c (check_pow): Update call to real_from_integer.
2273 (gen_conditions_for_pow_cst_base): Likewise.
2274 * tree-cfg.c: Include wide-int.h and wide-int-print.h.
2275 (group_case_labels_stmt): Use wide-int interfaces.
2276 (verify_gimple_assign_binary): Likewise.
2277 (print_loop): Likewise.
2278 * tree-chrec.c (tree_fold_binomial): Likewise.
2279 * tree-core.h (struct tree_base): Add int_length.
2280 (struct tree_int_cst): Change rep of value.
2281 * tree-data-ref.c (dr_analyze_innermost): Use wide-int interfaces.
2282 (dr_may_alias_p): Likewise.
2283 (max_stmt_executions_tree): Likewise.
2284 * tree.def (INTEGER_CST): Update comment.
2285 * tree-dfa.c (get_ref_base_and_extent): Use wide-int interfaces.
2286 * tree-dfa.h (get_addr_base_and_unit_offset_1): Likewise.
2287 * tree-dump.c: Include wide-int.h and wide-int-print.h.
2288 (dequeue_and_dump): Use wide-int interfaces.
2289 * tree.h: Include wide-int.h.
2290 (NULL_TREE): Moved to earlier loc in file.
2291 (TREE_INT_CST_ELT_CHECK): New.
2292 (tree_int_cst_elt_check_failed): New.
2293 (TYPE_SIGN): New.
2294 (TREE_INT_CST): Delete.
2295 (TREE_INT_CST_LOW): Use wide-int interfaces.
2296 (TREE_INT_CST_HIGH): Delete.
2297 (TREE_INT_CST_NUNITS): New.
2298 (TREE_INT_CST_EXT_NUNITS): Likewise.
2299 (TREE_INT_CST_OFFSET_NUNITS): Likewise.
2300 (TREE_INT_CST_ELT): Likewise.
2301 (INT_CST_LT): Delete.
2302 (tree_int_cst_elt_check): New (two forms).
2303 (type_code_size): Update comment.
2304 (make_int_cst_stat, make_int_cst): New.
2305 (tree_to_double_int): Delete.
2306 (double_int_fits_to_tree_p): Delete.
2307 (force_fit_type_double): Delete.
2308 (build_int_cstu): Replace with out-of-line function.
2309 (build_int_cst_wide): Delete.
2310 (tree_int_cst_lt): Define inline.
2311 (tree_int_cst_le): New.
2312 (tree_int_cst_compare): Define inline.
2313 (tree_int_cst_min_precision): Take a signop rather than a bool.
2314 (wi::int_traits <const_tree>): New.
2315 (wi::int_traits <tree>): New.
2316 (wi::extended_tree): New.
2317 (wi::int_traits <wi::extended_tree>): New.
2318 (wi::to_widest): New.
2319 (wi::to_offset): New.
2320 (wi::fits_to_tree_p): New.
2321 (wi::min_value): New.
2322 (wi::max_value): New.
2323 * tree-inline.c (remap_gimple_op_r): Use wide-int interfaces.
2324 (copy_tree_body_r): Likewise.
2325 * tree-object-size.c (compute_object_offset): Likewise.
2326 (addr_object_size): Likewise.
2327 * tree-predcom.c: Include wide-int-print.h.
2328 (struct dref_d): Change type of offset to widest_int.
2329 (dump_dref): Call wide-int printer.
2330 (aff_combination_dr_offset): Use wide-int interfaces.
2331 (determine_offset): Take a widest_int pointer rather than a
2332 double_int pointer.
2333 (split_data_refs_to_components): Use wide-int interfaces.
2334 (suitable_component_p): Likewise.
2335 (order_drefs): Likewise.
2336 (add_ref_to_chain): Likewise.
2337 (valid_initializer_p): Likewise.
2338 (determine_roots_comp): Likewise.
2339 * tree-pretty-print.c: Include wide-int-print.h.
2340 (dump_generic_node): Use wide-int interfaces.
2341 * tree-sra.c (sra_ipa_modify_expr): Likewise.
2342 * tree-ssa-address.c (addr_for_mem_ref): Likewise.
2343 (move_fixed_address_to_symbol): Likewise.
2344 (move_hint_to_base): Likewise.
2345 (move_pointer_to_base): Likewise.
2346 (move_variant_to_index): Likewise.
2347 (most_expensive_mult_to_index): Likewise.
2348 (addr_to_parts): Likewise.
2349 (copy_ref_info): Likewise.
2350 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
2351 (indirect_refs_may_alias_p): Likewise.
2352 (stmt_kills_ref_p_1): Likewise.
2353 * tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
2354 * tree-ssa-ccp.c: Update comment at top of file. Include
2355 wide-int-print.h.
2356 (struct prop_value_d): Change type of mask to widest_int.
2357 (extend_mask): New function.
2358 (dump_lattice_value): Use wide-int interfaces.
2359 (get_default_value): Likewise.
2360 (set_constant_value): Likewise.
2361 (set_value_varying): Likewise.
2362 (valid_lattice_transition): Likewise.
2363 (set_lattice_value): Likewise.
2364 (value_to_double_int): Delete.
2365 (value_to_wide_int): New.
2366 (get_value_from_alignment): Use wide-int interfaces.
2367 (get_value_for_expr): Likewise.
2368 (do_dbg_cnt): Likewise.
2369 (ccp_finalize): Likewise.
2370 (ccp_lattice_meet): Likewise.
2371 (bit_value_unop_1): Use widest_ints rather than double_ints.
2372 (bit_value_binop_1): Likewise.
2373 (bit_value_unop): Use wide-int interfaces.
2374 (bit_value_binop): Likewise.
2375 (bit_value_assume_aligned): Likewise.
2376 (evaluate_stmt): Likewise.
2377 (ccp_fold_stmt): Likewise.
2378 (visit_cond_stmt): Likewise.
2379 (ccp_visit_stmt): Likewise.
2380 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
2381 (constant_pointer_difference): Likewise.
2382 (associate_pointerplus): Likewise.
2383 (combine_conversions): Likewise.
2384 * tree-ssa-loop.h: Include wide-int.h.
2385 (struct tree_niter_desc): Change type of max to widest_int.
2386 * tree-ssa-loop-im.c (mem_refs_may_alias_p): Use wide-int interfaces.
2387 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Likewise.
2388 (remove_redundant_iv_tests): Likewise.
2389 (canonicalize_loop_induction_variables): Likewise.
2390 * tree-ssa-loop-ivopts.c (alloc_iv): Likewise.
2391 (constant_multiple_of): Take a widest_int pointer instead of
2392 a double_int pointer.
2393 (get_computation_aff): Use wide-int interfaces.
2394 (ptr_difference_cost): Likewise.
2395 (difference_cost): Likewise.
2396 (get_loop_invariant_expr_id): Likewise.
2397 (get_computation_cost_at): Likewise.
2398 (iv_elimination_compare_lt): Likewise.
2399 (may_eliminate_iv): Likewise.
2400 * tree-ssa-loop-niter.h (estimated_loop_iterations): Use widest_int
2401 instead of double_int.
2402 (max_loop_iterations): Likewise.
2403 (max_stmt_executions): Likewise.
2404 (estimated_stmt_executions): Likewise.
2405 * tree-ssa-loop-niter.c: Include wide-int-print.h.
2406 (split_to_var_and_offset): Use wide-int interfaces.
2407 (determine_value_range): Likewise.
2408 (bound_difference_of_offsetted_base): Likewise.
2409 (bounds_add): Take a widest_int instead of a double_int.
2410 (number_of_iterations_ne_max): Use wide-int interfaces.
2411 (number_of_iterations_ne): Likewise.
2412 (number_of_iterations_lt_to_ne): Likewise.
2413 (assert_loop_rolls_lt): Likewise.
2414 (number_of_iterations_lt): Likewise.
2415 (number_of_iterations_le): Likewise.
2416 (number_of_iterations_cond): Likewise.
2417 (number_of_iterations_exit): Likewise.
2418 (finite_loop_p): Likewise.
2419 (derive_constant_upper_bound_assign): Likewise.
2420 (derive_constant_upper_bound): Return a widest_int.
2421 (derive_constant_upper_bound_ops): Likewise.
2422 (do_warn_aggressive_loop_optimizations): Use wide-int interfaces.
2423 (record_estimate): Take a widest_int rather than a double_int.
2424 (record_nonwrapping_iv): Use wide-int interfaces.
2425 (double_int_cmp): Delete.
2426 (wide_int_cmp): New.
2427 (bound_index): Take a widest_int rather than a double_int.
2428 (discover_iteration_bound_by_body_walk): Use wide-int interfaces.
2429 (maybe_lower_iteration_bound): Likewise.
2430 (estimate_numbers_of_iterations_loop): Likewise.
2431 (estimated_loop_iterations): Take a widest_int pointer than than
2432 a double_int pointer.
2433 (estimated_loop_iterations_int): Use wide-int interfaces.
2434 (max_loop_iterations): Take a widest_int pointer than than
2435 a double_int pointer.
2436 (max_loop_iterations_int): Use wide-int interfaces.
2437 (max_stmt_executions): Take a widest_int pointer than than
2438 a double_int pointer.
2439 (estimated_stmt_executions): Likewise.
2440 (n_of_executions_at_most): Use wide-int interfaces.
2441 (scev_probably_wraps_p): Likewise.
2442 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Update calls
2443 to real_to_integer.
2444 * tree-scalar-evolution.c (simplify_peeled_chrec): Use wide-int
2445 interfaces.
2446 * tree-ssanames.c (set_range_info): Use wide_int_refs rather than
2447 double_ints. Adjust for trailing_wide_ints <3> representation.
2448 (set_nonzero_bits): Likewise.
2449 (get_range_info): Return wide_ints rather than double_ints.
2450 Adjust for trailing_wide_ints <3> representation.
2451 (get_nonzero_bits): Likewise.
2452 (duplicate_ssa_name_range_info): Adjust for trailing_wide_ints <3>
2453 representation.
2454 * tree-ssanames.h (struct range_info_def): Replace min, max and
2455 nonzero_bits with a trailing_wide_ints <3>.
2456 (set_range_info): Use wide_int_refs rather than double_ints.
2457 (set_nonzero_bits): Likewise.
2458 (get_range_info): Return wide_ints rather than double_ints.
2459 (get_nonzero_bits): Likewise.
2460 * tree-ssa-phiopt.c (jump_function_from_stmt): Use wide-int interfaces.
2461 * tree-ssa-pre.c (phi_translate_1): Likewise.
2462 * tree-ssa-reassoc.c (decrement_power): Use calls to real_from_integer.
2463 (acceptable_pow_call): Likewise.
2464 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use wide-int
2465 interfaces.
2466 (vn_reference_fold_indirect): Likewise.
2467 (vn_reference_maybe_forwprop_address): Likewise.
2468 (valueize_refs_1): Likewise.
2469 * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
2470 * tree-ssa-uninit.c (is_value_included_in): Use wide-int interfaces,
2471 tree_int_cst_lt and tree_int_cst_le.
2472 * tree-streamer-in.c (unpack_ts_base_value_fields): Use wide-int
2473 interfaces.
2474 (streamer_alloc_tree): Likewise.
2475 * tree-streamer-out.c (pack_ts_int_cst_value_fields): Likewise.
2476 (streamer_write_tree_header): Likewise.
2477 (streamer_write_integer_cst): Likewise.
2478 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
2479 (build_constructors): Likewise.
2480 (array_value_type): Likewise.
2481 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): Likewise.
2482 (vect_check_gather): Likewise.
2483 * tree-vect-generic.c (build_replicated_const): Likewise.
2484 (expand_vector_divmod): Likewise.
2485 * tree-vect-loop.c (vect_transform_loop): Likewise.
2486 * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
2487 (vect_do_peeling_for_alignment): Likewise.
2488 * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
2489 * tree-vrp.c: Include wide-int.h.
2490 (operand_less_p): Use wide-int interfaces and tree_int_cst_lt.
2491 (extract_range_from_assert): Use wide-int interfaces.
2492 (vrp_int_const_binop): Likewise.
2493 (zero_nonzero_bits_from_vr): Take wide_int pointers rather than
2494 double_int pointers.
2495 (ranges_from_anti_range): Use wide-int interfaces.
2496 (quad_int_cmp): Delete.
2497 (quad_int_pair_sort): Likewise.
2498 (extract_range_from_binary_expr_1): Use wide-int interfaces.
2499 (extract_range_from_unary_expr_1): Likewise.
2500 (adjust_range_with_scev): Likewise.
2501 (masked_increment): Take and return wide_ints rather than double_ints.
2502 (register_edge_assert_for_2): Use wide-int interfaces.
2503 (check_array_ref): Likewise.
2504 (search_for_addr_array): Likewise.
2505 (maybe_set_nonzero_bits): Likewise.
2506 (union_ranges): Pass an integer of the correct type instead of
2507 using integer_one_node.
2508 (intersect_ranges): Likewise.
2509 (simplify_truth_ops_using_ranges): Likewise.
2510 (simplify_bit_ops_using_ranges): Use wide-int interfaces.
2511 (range_fits_type_p): Likewise.
2512 (simplify_cond_using_ranges): Likewise. Take a signop rather than
2513 a bool.
2514 (simplify_conversion_using_ranges): Use wide-int interfaces.
2515 (simplify_float_conversion_using_ranges): Likewise.
2516 (vrp_finalize): Likewise.
2517 * value-prof.c (gimple_divmod_fixed_value_transform): Likewise.
2518 (gimple_stringops_transform): Likewise.
2519 * varasm.c (decode_addr_const): Likewise.
2520 (const_hash_1): Likewise.
2521 (const_rtx_hash_1): Likewise
2522 (output_constant): Likewise.
2523 (array_size_for_constructor): Likewise.
2524 (output_constructor_regular_field): Likewise.
2525 (output_constructor_bitfield): Likewise.
2526 * var-tracking.c (loc_cmp): Handle CONST_WIDE_INT.
2527 * mkconfig.sh: Include machmode.h to pick up BITS_PER_UNIT for
2528 GENERATOR_FILEs.
2529 * gencheck.c: Define BITS_PER_UNIT.
2530 * wide-int.cc: New.
2531 * wide-int.h: New.
2532 * wide-int-print.cc: New.
2533 * wide-int-print.h: New.
2534
3134fb19
JBG
25352014-05-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
2536
2537 * config/avr/avr.c (avr_can_eliminate): Mark unused argument.
2538
3bea341f
RB
25392014-05-06 Richard Biener <rguenther@suse.de>
2540
2541 * tree-pass.h (TODO_verify_ssa, TODO_verify_flow,
2542 TODO_verify_stmts, TODO_verify_rtl_sharing): Remove.
2543 (TODO_verify_all): Adjust.
2544 * asan.c: Remove references to TODO_verify_ssa, TODO_verify_flow,
2545 TODO_verify_stmts and TODO_verify_rtl_sharing.
2546 * bb-reorder.c: Likewise.
2547 * cfgexpand.c: Likewise.
2548 * cprop.c: Likewise.
2549 * cse.c: Likewise.
2550 * function.c: Likewise.
2551 * fwprop.c: Likewise.
2552 * gcse.c: Likewise.
2553 * gimple-ssa-isolate-paths.c: Likewise.
2554 * gimple-ssa-strength-reduction.c: Likewise.
2555 * ipa-split.c: Likewise.
2556 * loop-init.c: Likewise.
2557 * loop-unroll.c: Likewise.
2558 * lower-subreg.c: Likewise.
2559 * modulo-sched.c: Likewise.
2560 * postreload-gcse.c: Likewise.
2561 * predict.c: Likewise.
2562 * recog.c: Likewise.
2563 * sched-rgn.c: Likewise.
2564 * store-motion.c: Likewise.
2565 * tracer.c: Likewise.
2566 * trans-mem.c: Likewise.
2567 * tree-call-cdce.c: Likewise.
2568 * tree-cfg.c: Likewise.
2569 * tree-cfgcleanup.c: Likewise.
2570 * tree-complex.c: Likewise.
2571 * tree-eh.c: Likewise.
2572 * tree-emutls.c: Likewise.
2573 * tree-if-conv.c: Likewise.
2574 * tree-into-ssa.c: Likewise.
2575 * tree-loop-distribution.c: Likewise.
2576 * tree-object-size.c: Likewise.
2577 * tree-parloops.c: Likewise.
2578 * tree-pass.h: Likewise.
2579 * tree-sra.c: Likewise.
2580 * tree-ssa-ccp.c: Likewise.
2581 * tree-ssa-copy.c: Likewise.
2582 * tree-ssa-copyrename.c: Likewise.
2583 * tree-ssa-dce.c: Likewise.
2584 * tree-ssa-dom.c: Likewise.
2585 * tree-ssa-dse.c: Likewise.
2586 * tree-ssa-forwprop.c: Likewise.
2587 * tree-ssa-ifcombine.c: Likewise.
2588 * tree-ssa-loop-ch.c: Likewise.
2589 * tree-ssa-loop-ivcanon.c: Likewise.
2590 * tree-ssa-loop.c: Likewise.
2591 * tree-ssa-math-opts.c: Likewise.
2592 * tree-ssa-phiopt.c: Likewise.
2593 * tree-ssa-phiprop.c: Likewise.
2594 * tree-ssa-pre.c: Likewise.
2595 * tree-ssa-reassoc.c: Likewise.
2596 * tree-ssa-sink.c: Likewise.
2597 * tree-ssa-strlen.c: Likewise.
2598 * tree-ssa-tail-merge.c: Likewise.
2599 * tree-ssa-uncprop.c: Likewise.
2600 * tree-switch-conversion.c: Likewise.
2601 * tree-tailcall.c: Likewise.
2602 * tree-vect-generic.c: Likewise.
2603 * tree-vectorizer.c: Likewise.
2604 * tree-vrp.c: Likewise.
2605 * tsan.c: Likewise.
2606 * var-tracking.c: Likewise.
2607 * bt-load.c: Likewise.
2608 * cfgcleanup.c: Likewise.
2609 * combine-stack-adj.c: Likewise.
2610 * combine.c: Likewise.
2611 * compare-elim.c: Likewise.
2612 * config/epiphany/resolve-sw-modes.c: Likewise.
2613 * config/i386/i386.c: Likewise.
2614 * config/mips/mips.c: Likewise.
2615 * config/s390/s390.c: Likewise.
2616 * config/sh/sh_treg_combine.cc: Likewise.
2617 * config/sparc/sparc.c: Likewise.
2618 * dce.c: Likewise.
2619 * dse.c: Likewise.
2620 * final.c: Likewise.
2621 * ifcvt.c: Likewise.
2622 * mode-switching.c: Likewise.
2623 * passes.c: Likewise.
2624 * postreload.c: Likewise.
2625 * ree.c: Likewise.
2626 * reg-stack.c: Likewise.
2627 * regcprop.c: Likewise.
2628 * regrename.c: Likewise.
2629 * web.c: Likewise.
2630
3d224d46
RB
26312014-05-06 Richard Biener <rguenther@suse.de>
2632
2633 PR middle-end/61070
2634 * bitmap.c (debug_bitmap): Dump to stderr, not stdout.
2635 * tree-ssa-structalias.c (dump_solution_for_var): Likewise.
2636
e400f081
JH
26372014-05-05 Jan Hubicka <hubicka@ucw.cz>
2638
2639 PR ipa/60965
2640 * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
2641
aaeaa9a9 26422014-05-05 Radovan Obradovic <robradovic@mips.com>
b6db8af6 2643 Tom de Vries <tom@codesourcery.com>
aaeaa9a9 2644
b6db8af6
UB
2645 * target.def (call_fusage_contains_non_callee_clobbers): New
2646 DEFHOOKPOD.
aaeaa9a9
RO
2647 * doc/tm.texi.in (@node Stack and Calling): Add Miscellaneous Register
2648 Hooks to @menu.
2649 (@node Miscellaneous Register Hooks): New node.
2650 (@hook TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): New hook.
2651 * doc/tm.texi: Regenerate.
2652
c2ac23fe
MP
26532014-05-05 Marek Polacek <polacek@redhat.com>
2654
2655 PR driver/61065
2656 * opts.c (common_handle_option): Call error_at instead of warning_at.
2657
0db74577
RB
26582014-05-05 Richard Biener <rguenther@suse.de>
2659
2660 * passes.c (execute_function_todo): Don't reset TODO_verify_ssa
2661 from last_verified if update_ssa ran. Move TODO_verify_rtl_sharing
2662 under the TODO_verify_il umbrella.
2663
7e7f8713
RB
26642014-05-05 Richard Biener <rguenther@suse.de>
2665
2666 * passes.c (execute_function_todo): Move TODO_verify_flow under
2667 the TODO_verify_ul umbrella.
2668
7e2c9f14
RB
26692014-05-05 Richard Biener <rguenther@suse.de>
2670
2671 PR middle-end/61010
b6db8af6
UB
2672 * fold-const.c (fold_binary_loc): Consistently avoid canonicalizing
2673 X & CST away from a CST that is the mask of a mode.
7e2c9f14 2674
33ecf108
JBG
26752014-05-05 Jan-Benedict Glaw <jbglaw@lug-owl.de>
2676
2677 * config/picochip/picochip-protos.h (picochip_regno_nregs): Change
2678 int argument to enum machine_mode.
2679 (picochip_class_max_nregs): Ditto.
2680 * config/picochip/picochip.c (picochip_regno_nregs): Ditto.
2681 (picochip_class_max_nregs): Ditto.
2682
d56a43a0
AK
26832014-05-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2684
2685 * target.def: Add new target hook.
2686 * doc/tm.texi: Regenerate.
2687 * targhooks.h (default_keep_leaf_when_profiled): Add prototype.
2688 * targhooks.c (default_keep_leaf_when_profiled): New function.
2689
2690 * config/s390/s390.c (s390_keep_leaf_when_profiled): New function.
2691 (TARGET_KEEP_LEAF_WHEN_PROFILED): Define.
2692
cb8f1a57
BC
26932014-05-05 Bin Cheng <bin.cheng@arm.com>
2694
2695 PR tree-optimization/60363
2696 * gcc/tree-ssa-threadupdate.c (get_value_locus_in_path): New.
2697 (copy_phi_args): New parameters. Call get_value_locus_in_path.
2698 (update_destination_phis): New parameter.
2699 (create_edge_and_update_destination_phis): Ditto.
2700 (ssa_fix_duplicate_block_edges): Pass new arguments.
2701 (thread_single_edge): Ditto.
2702
f93bc5b3
PB
27032014-05-04 Peter Bergner <bergner@vnet.ibm.com>
2704
2705 * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
2706 (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
2707 (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
2708 * config/rs6000/rs6000-builtin.def (BU_MISC_1):
2709 Use RS6000_BTM_HARD_FLOAT.
2710 (BU_MISC_2): Likewise.
2711 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
2712 RS6000_BTM_HARD_FLOAT.
2713 (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
2714 is explicitly used.
2715 (rs6000_invalid_builtin): Add hard floating builtin support.
2716 (rs6000_expand_builtin): Relax the gcc_assert to allow the new
2717 hard float builtins.
2718 (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
2719
579f4e64
OE
27202014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
2721
2722 * config/sh/sh_optimize_sett_clrt.cc (sh_optimize_sett_clrt::execute):
2723 Add missing function* argument.
2724
0be7287d
RS
27252014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
2726
2727 * lra-constraints.c (valid_address_p): Move earlier in file.
2728 Add a constraint argument to the address_info version.
2729 (satisfies_memory_constraint_p): New function.
2730 (satisfies_address_constraint_p): Likewise.
2731 (process_alt_operands, curr_insn_transform): Use them.
2732 (process_address): Pass the constraint to valid_address_p when
2733 checking address operands.
2734
ad782bc9
RS
27352014-05-03 Richard Sandiford <rdsandiford@googlemail.com>
2736
2737 * config/mips/mips.c (mips_isa_rev): New variable.
2738 (mips_set_architecture): Set it.
2739 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Set __mips_isa_rev
2740 from mips_isa_rev.
2741 (ISA_HAS_MUL3, ISA_HAS_FP_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4)
2742 (ISA_HAS_PAIRED_SINGLE, ISA_HAS_MADD_MSUB, ISA_HAS_FP_RECIP_RSQRT)
2743 (ISA_HAS_CLZ_CLO, ISA_HAS_ROR, ISA_HAS_WSBH, ISA_HAS_PREFETCH)
2744 (ISA_HAS_SEB_SEH, ISA_HAS_EXT_INS, ISA_HAS_MXHC1)
2745 (ISA_HAS_HILO_INTERLOCKS, ISA_HAS_SYNCI, MIN_FPRS_PER_FMT): Reexpress
2746 conditions in terms of mips_isa_rev.
2747 (mips_isa_rev): Declare.
2748
45731f37
OE
27492014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
2750
2751 * config/sh/sh-mem.cc: Use tabs instead of spaces.
2752 (prob_unlikely, prob_likely): Make variables const.
2753
c61dfa63
DC
27542014-05-03 Denis Chertykov <chertykov@gmail.com>
2755
2756 * config/avr/avr.c (avr_adjust_insn_length): Handle JUMP_TABLE_DATA.
2757
1b8da635
OE
27582014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
2759
2760 * config/sh/sh.h (SH_ASM_SPEC): Handle m1, m2*, m3* and m4* cases.
2761
f6982a08
OE
27622014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
2763
2764 * config/sh/sh.h (ROUND_ADVANCE): Delete macro.
2765 (ROUND_REG, PASS_IN_REG_P): Move and rename macros to ...
2766 * config/sh/sh.c (sh_round_reg, sh_pass_in_reg_p): ... these new
2767 functions.
2768 (sh_arg_partial_bytes, sh_function_arg, sh_function_arg_advance,
2769 sh_setup_incoming_varargs): Replace usage of PASS_IN_REG_P with
2770 sh_pass_in_reg_p.
2771 Replace usage of ROUND_REG with sh_round_reg.
2772 Use CEIL instead of ROUND_ADVANCE.
2773
0bcf70f8
OE
27742014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
2775
2776 PR target/61026
2777 * config/sh/sh.c: Include stdlib headers before everything else.
2778
95782571
JJ
27792014-05-02 Jakub Jelinek <jakub@redhat.com>
2780
2781 * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
2782 GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
2783 (gimplify_adjust_omp_clauses): Simd region is never
2784 directly nested in combined parallel. Instead, for linear
2785 with copyin/copyout, if in combined for simd loop, make decl
2786 firstprivate/lastprivate on OMP_FOR.
2787 * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
2788 expand_omp_for_static_chunk): When setting endvar, also set
2789 fd->loop.v to the same value.
2790
e13b3dfd
RS
27912014-05-02 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2792
2793 * hwint.h (zext_hwi): Fix signed overflow for prec == 63.
2794
0696116a
AL
27952014-05-02 Alan Lawrence <alan.lawrence@arm.com>
2796
2797 * config/aarch64/aarch64.c (aarch64_expand_vec_perm_1): Tidy bit-flip
2798 expression.
2799
fb90f9f3
MP
28002014-05-02 Marek Polacek <polacek@redhat.com>
2801
2802 * doc/invoke.texi: Describe -fsanitize=float-divide-by-zero.
2803
153df826 28042014-05-02 Kito Cheng <kito@0xlab.org>
ed15c598
KC
2805
2806 * defaults.h (HONOR_REG_ALLOC_ORDER): Change HONOR_REG_ALLOC_ORDER
2807 to a C expression marco.
2808 * ira-color.c (HONOR_REG_ALLOC_ORDER) : Ditto.
2809 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Ditto.
2810 * config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Ditto.
2811 * doc/tm.texi (HONOR_REG_ALLOC_ORDER): Update document for
2812 HONOR_REG_ALLOC_ORDER.
2813 * doc/tm.texi.in (HONOR_REG_ALLOC_ORDER): Ditto.
2814
53c8d5a7
JBG
28152014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
2816
2817 * config/arc/arc.c (TARGET_LRA_P): Undef before redefine.
2818
486c559b
JBG
28192014-05-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
2820
2821 * config/arc/arc.c (arc_select_cc_mode): Fix typo.
2822
944052b9
YR
28232014-05-01 Yuri Rumyantsev <ysrumyan@gmail.com>
2824
2825 * tree-if-conv.c (is_cond_scalar_reduction): New function.
2826 (convert_scalar_cond_reduction): Likewise.
2827 (predicate_scalar_phi): Add recognition and transformation
2828 of simple conditioanl reduction to be vectorizable.
2829
d00887e8
MP
28302014-05-01 Marek Polacek <polacek@redhat.com>
2831
2832 PR c/43245
2833 * doc/invoke.texi: Document -Wdiscarded-qualifiers.
2834
7211512a
AL
28352014-04-30 Alan Lawrence <alan.lawrence@arm.com>
2836
2837 * config/aarch64/arm_neon.h (vuzp1_f32, vuzp1_p8, vuzp1_p16, vuzp1_s8,
2838 vuzp1_s16, vuzp1_s32, vuzp1_u8, vuzp1_u16, vuzp1_u32, vuzp1q_f32,
2839 vuzp1q_f64, vuzp1q_p8, vuzp1q_p16, vuzp1q_s8, vuzp1q_s16, vuzp1q_s32,
2840 vuzp1q_s64, vuzp1q_u8, vuzp1q_u16, vuzp1q_u32, vuzp1q_u64, vuzp2_f32,
2841 vuzp2_p8, vuzp2_p16, vuzp2_s8, vuzp2_s16, vuzp2_s32, vuzp2_u8,
2842 vuzp2_u16, vuzp2_u32, vuzp2q_f32, vuzp2q_f64, vuzp2q_p8, vuzp2q_p16,
2843 vuzp2q_s8, vuzp2q_s16, vuzp2q_s32, vuzp2q_s64, vuzp2q_u8, vuzp2q_u16,
2844 vuzp2q_u32, vuzp2q_u64): Replace temporary asm with __builtin_shuffle.
2845
e5bd20a4
JR
28462014-04-30 Joern Rennecke <joern.rennecke@embecosm.com>
2847
2848 * config/arc/arc.opt (mlra): Move comment above option name
2849 to avoid mis-parsing as language options.
2850
2cf03b11
RO
28512014-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2852
2853 * config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Move ...
2854 * config/sol2.h: ... here.
2855 * config/sol2-10.h: Remove.
2856
2857 * config/sol2-bi.h (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE)
2858 (WINT_TYPE_SIZE, MULTILIB_DEFAULTS, DEF_ARCH32_SPEC)
2859 (DEF_ARCH64_SPEC, ASM_CPU_DEFAULT_SPEC, LINK_ARCH64_SPEC_BASE)
2860 (LINK_ARCH64_SPEC, ARCH_DEFAULT_EMULATION, TARGET_LD_EMULATION)
2861 (LINK_ARCH_SPEC, SUBTARGET_EXTRA_SPECS): Move ...
2862 * config/sol2.h: ... here.
2863 (SECTION_NAME_FORMAT): Don't redefine.
2864 (STARTFILE_ARCH32_SPEC): Rename to ...
2865 (STARTFILE_ARCH_SPEC): ... this.
2866 (ASM_OUTPUT_ALIGNED_COMMON): Move ...
2867 * config/sparc/sol2.h: ... here.
2868 (SECTION_NAME_FORMAT): Don't undef.
2869 * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC)
2870 (SUBTARGET_EXTRA_SPECS): Remove.
2871 * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
2872
2873 * config/i386/sol2-bi.h (TARGET_SUBTARGET_DEFAULT)
2874 (MD_STARTFILE_PREFIX): Remove.
2875 (SUBTARGET_OPTIMIZATION_OPTIONS, ASM_CPU32_DEFAULT_SPEC)
2876 (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC, ASM_SPEC, DEFAULT_ARCH32_P)
2877 (ARCH64_SUBDIR, ARCH32_EMULATION, ARCH64_EMULATION)
2878 (ASM_COMMENT_START, JUMP_TABLES_IN_TEXT_SECTION)
2879 (ASM_OUTPUT_DWARF_PCREL, ASM_OUTPUT_ALIGNED_COMMON)
2880 (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Move ...
2881 * config/i386/sol2.h: ... here.
2882 (TARGET_SUBTARGET_DEFAULT, SIZE_TYPE, PTRDIFF_TYPE): Remove.
2883 * config/i386/sol2-bi.h: Remove.
2884 * config/sol2.h (MD_STARTFILE_PREFIX): Remove.
2885 (LINK_ARCH32_SPEC_BASE): Remove /usr/ccs/lib/libp, /usr/ccs/lib.
2886
2887 * config/i386/t-sol2-64: Rename to ...
2888 * config/i386/t-sol2: ... this.
2889 * config/sparc/t-sol2-64: Rename to ...
2890 * config/sparc/t-sol2: ... this.
2891
2892 * config.gcc (*-*-solaris2*): Split sol2_tm_file into
2893 sol2_tm_file_head, sol2_tm_file_tail.
2894 Include ${cpu_type}/sol2.h before sol2.h.
2895 Remove sol2-10.h.
2896 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Include
2897 i386/x86-64.h between sol2_tm_file_head and sol2_tm_file_tail.
2898 Remove i386/sol2-bi.h, sol2-bi.h from tm_file.
2899 Reflect i386/t-sol2-64 renaming.
2900 (sparc*-*-solaris2*): Remove sol2-bi.h from tm_file.
2901 Reflect sparc/t-sol2-64 renaming.
2902
e9ff9caf
RB
29032014-04-30 Richard Biener <rguenther@suse.de>
2904
2905 * passes.c (execute_function_todo): Move TODO_verify_stmts
2906 and TODO_verify_ssa under the TODO_verify_il umbrella.
2907 * tree-ssa.h (verify_ssa): Adjust prototype.
2908 * tree-ssa.c (verify_ssa): Add parameter to tell whether
2909 we should verify SSA operands.
2910 * tree-cfg.h (verify_gimple_in_cfg): Adjust prototype.
2911 * tree-cfg.c (verify_gimple_in_cfg): Add parameter to tell
2912 whether we should verify whether not throwing stmts have EH info.
2913 * graphite-scop-detection.c (create_sese_edges): Adjust.
2914 * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Likewise.
2915 * tree-eh.c (lower_try_finally_switch): Do not add the
2916 default case label twice.
2917
f8ed5150
MP
29182014-04-30 Marek Polacek <polacek@redhat.com>
2919
2920 * gcc.c (sanitize_spec_function): Handle SANITIZE_FLOAT_DIVIDE.
2921 * builtins.def: Initialize builtins even for SANITIZE_FLOAT_DIVIDE.
2922 * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_DIVIDE.
2923 * opts.c (common_handle_option): Add -fsanitize=float-divide-by-zero.
2924
7cb0403f
AL
29252014-04-29 Alan Lawrence <alan.lawrence@arm.com>
2926
2927 * config/aarch64/arm_neon.h (vzip1_f32, vzip1_p8, vzip1_p16, vzip1_s8,
2928 vzip1_s16, vzip1_s32, vzip1_u8, vzip1_u16, vzip1_u32, vzip1q_f32,
2929 vzip1q_f64, vzip1q_p8, vzip1q_p16, vzip1q_s8, vzip1q_s16, vzip1q_s32,
2930 vzip1q_s64, vzip1q_u8, vzip1q_u16, vzip1q_u32, vzip1q_u64, vzip2_f32,
2931 vzip2_p8, vzip2_p16, vzip2_s8, vzip2_s16, vzip2_s32, vzip2_u8,
2932 vzip2_u16, vzip2_u32, vzip2q_f32, vzip2q_f64, vzip2q_p8, vzip2q_p16,
2933 vzip2q_s8, vzip2q_s16, vzip2q_s32, vzip2q_s64, vzip2q_u8, vzip2q_u16,
2934 vzip2q_u32, vzip2q_u64): Replace inline __asm__ with __builtin_shuffle.
2935
3979649a
DM
29362014-04-29 David Malcolm <dmalcolm@redhat.com>
2937
2938 * tree-cfg.c (dump_function_to_file): Dump the return type of
2939 functions, in a line to itself before the function body, mimicking
2940 the layout of a C function.
2941
62fb101e
JJ
29422014-04-29 Jakub Jelinek <jakub@redhat.com>
2943
2944 PR tree-optimization/60971
2945 * tree-tailcall.c (process_assignment): Reject conversions which
2946 reduce precision.
2947
3d9684ae
JG
29482014-04-29 James Greenhalgh <james.greenhalgh@arm.com>
2949
2950 * calls.c (initialize_argument_information): Always treat
2951 PUSH_ARGS_REVERSED as 1, simplify code accordingly.
2952 (expand_call): Likewise.
2953 (emit_library_call_calue_1): Likewise.
2954 * expr.c (PUSH_ARGS_REVERSED): Do not define.
2955 (emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
2956 code accordingly.
2957
d77f7b19
NC
29582014-04-29 Nick Clifton <nickc@redhat.com>
2959
2960 * config/msp430/msp430.md (umulsidi): Fix typo.
2961 (mulhisi3): Enable even inside interrupt handlers.
2962 * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
2963 bigger return address pushed in large mode.
2964
f8d91e80
NC
29652014-04-29 Nick Clifton <nickc@redhat.com>
2966
2967 * config/arc/arc.c (arc_select_cc_mode): Fix parentheses.
2968 (arc_init_reg_tables): Use a machine_mode enum to iterate over
2969 available modes.
2970 * config/m32r/m32r.c (init_reg_tables): Likewise.
2971 * config/m32c/m32c.c (m32c_illegal_subreg_p): Use a machine_mode
2972 enum to hold the modes.
2973
e3f613cb
RB
29742014-04-29 Richard Biener <rguenther@suse.de>
2975
2976 * dominance.c (free_dominance_info): Add overload with
2977 function parameter.
2978 (dom_info_state): Likewise.
2979 (dom_info_available_p): Likewise.
2980 * basic-block.h (free_dominance_info, dom_info_state,
2981 dom_info_available_p): Declare overloads.
2982 * passes.c (execute_function_todo): Verify that verifiers
2983 don't change dominator info state. Drop dominator info
2984 for IPA pass invocations.
2985 * cgraph.c (release_function_body): Restore asserts that
2986 dominator information is released.
2987
36f291f7
PP
29882014-04-29 Patrick Palka <patrick@parcs.ath.cx>
2989
2990 * doc/invoke.texi: Fix typo.
2991 * tree-vrp.c: Fix typos.
b6db8af6 2992 * gimple.c (infer_nonnull_range): Reorder operands of an && condition.
36f291f7 2993
d3a3182b
ZC
29942014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
2995
2996 * config/aarch64/aarch64.md (mov<mode>cc): New for GPF.
2997
ba081b77
JG
29982014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
2999
3000 * config/aarch64/aarch64-builtins.c
3001 (aarch64_types_storestruct_lane_qualifiers): New.
3002 (TYPES_STORESTRUCT_LANE): Likewise.
3003 * config/aarch64/aarch64-simd-builtins.def (st2_lane): New.
3004 (st3_lane): Likewise.
3005 (st4_lane): Likewise.
3006 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New.
3007 (vec_store_lanesci_lane<mode>): Likewise.
3008 (vec_store_lanesxi_lane<mode>): Likewise.
3009 (aarch64_st2_lane<VQ:mode>): Likewise.
3010 (aarch64_st3_lane<VQ:mode>): Likewise.
3011 (aarch64_st4_lane<VQ:mode>): Likewise.
3012 * config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE.
3013 * config/aarch64/arm_neon.h
3014 (__ST2_LANE_FUNC): Rewrite using builtins, update use points to
3015 use new macro arguments.
3016 (__ST3_LANE_FUNC): Likewise.
3017 (__ST4_LANE_FUNC): Likewise.
3018 * config/aarch64/iterators.md (V_TWO_ELEM): New.
3019 (V_THREE_ELEM): Likewise.
3020 (V_FOUR_ELEM): Likewise.
3021
1bc6d43c
DM
30222014-04-28 David Malcolm <dmalcolm@redhat.com>
3023
3024 * doc/gimple.texi: Replace the description of the now-defunct
3025 union gimple_statement_d with a diagram showing the
3026 gimple_statement_base class hierarchy and its relationships to
3027 the GSS_ and GIMPLE_ enums.
3028
97e1ad78
JG
30292014-04-28 James Greenhalgh <james.greenhalgh@arm.com>
3030
3031 * config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
3032 * config/aarch64/aarch64.c
3033 (aarch64_cannot_change_mode_class): Weaken conditions.
3034 (aarch64_modes_tieable_p): New.
3035 * config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.
3036
bf245bf4
PH
30372014-04-28 Pat Haugen <pthaugen@us.ibm.com>
3038
3039 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
3040 (loadsync_<mode>): Change mode.
3041 (load_quadpti, store_quadpti): New.
3042 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
3043 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
3044
28151221
MJ
30452014-04-28 Martin Jambor <mjambor@suse.cz>
3046
3047 * tree-sra.c (sra_modify_expr): Generate new memory accesses with
3048 same alias type as the original statement.
3049 (subreplacement_assignment_data): New type.
3050 (handle_unscalarized_data_in_subtree): New type of parameter,
3051 generate new memory accesses with same alias type as the original
3052 statement.
3053 (load_assign_lhs_subreplacements): Likewise.
3054 (sra_modify_constructor_assign): Generate new memory accesses with
3055 same alias type as the original statement.
3056
9ba5fb43
RB
30572014-04-28 Richard Biener <rguenther@suse.de>
3058
3059 * tree-pass.h (TODO_verify_il): Define.
3060 (TODO_verify_all): Complete properly.
3061 * passes.c (execute_function_todo): Move existing loop-closed
3062 SSA verification under TODO_verify_il.
3063 (execute_one_pass): Trigger TODO_verify_il at todo-after time.
3064 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
3065 Fix tree sharing issue.
3066
22869a37
RB
30672014-04-28 Richard Biener <rguenther@suse.de>
3068
3069 PR middle-end/60092
3070 * builtins.def (DEF_C11_BUILTIN): Add.
3071 (BUILT_IN_ALIGNED_ALLOC): Likewise.
3072 * coretypes.h (enum function_class): Add function_c11_misc.
3073 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
3074 BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
3075 (call_may_clobber_ref_p_1): Likewise.
3076 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
3077 (mark_all_reaching_defs_necessary_1): Likewise.
3078 (propagate_necessity): Likewise.
3079 (eliminate_unnecessary_stmts): Likewise.
3080 * tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.
3081
771c9501
RB
30822014-04-28 Richard Biener <rguenther@suse.de>
3083
3084 * tree-vrp.c (vrp_var_may_overflow): Remove.
3085 (vrp_visit_phi_node): Rather than bumping to +-INF possibly
3086 with overflow immediately bump to one before that value and
3087 let iteration figure out overflow status.
3088
279a935f
RB
30892014-04-28 Richard Biener <rguenther@suse.de>
3090
3091 * configure.ac: Do valgrind header checks unconditionally.
3092 Add --enable-valgrind-annotations.
3093 * system.h: Guard valgrind header inclusion with
3094 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
3095 * alloc-pool.c (pool_alloc, pool_free): Use
3096 ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
3097 to guard possibly dead code.
3098 * config.in: Regenerated.
3099 * configure: Likewise.
3100
07357f2f
JL
31012014-04-28 Jeff Law <law@redhat.com>
3102
3103 PR tree-optimization/60902
3104 * tree-ssa-threadedge.c
3105 (record_temporary_equivalences_from_stmts_at_dest): Only iterate
3106 over real defs when invalidating outputs from statements that do not
3107 produce useful outputs for threading.
3108
6c6aa8e6
RB
31092014-04-28 Richard Biener <rguenther@suse.de>
3110
3111 PR tree-optimization/60979
3112 * graphite-scop-detection.c (scopdet_basic_block_info): Reject
3113 SCOPs that end in a block with a successor with abnormal
3114 predecessors.
3115
2cbf2d95
RB
31162014-04-28 Richard Biener <rguenther@suse.de>
3117
3118 * tree-pass.h (execute_pass_list): Adjust prototype.
b6db8af6 3119 * passes.c (pass_manager::execute_early_local_passes): Adjust.
2cbf2d95
RB
3120 (do_per_function): Change callback signature, push all actual
3121 work to the callbals.
3122 (do_per_function_toporder): Likewise.
3123 (execute_function_dump): Adjust.
3124 (execute_function_todo): Likewise.
3125 (clear_last_verified): Likewise.
3126 (verify_curr_properties): Likewise.
3127 (update_properties_after_pass): Likewise.
3128 (execute_pass_list_1): Split out from ...
3129 (execute_pass_list): ... here. Adjust.
3130 (execute_ipa_pass_list): Likewise.
3131 * cgraphunit.c (cgraph_add_new_function): Adjust.
3132 (analyze_function): Likewise.
3133 (expand_function): Likewise.
3134 * cgraph.c (release_function_body): Free dominance info
3135 here instead of asserting it was magically freed elsewhere.
3136
ba21a04a
EB
31372014-04-28 Eric Botcazou <ebotcazou@adacore.com>
3138
3139 * configure.ac: Tweak GAS check for LEON instructions on SPARC.
3140 * configure: Regenerate.
3141 * config/sparc/sparc.opt (muser-mode): New option.
3142 * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
3143 for LEON3.
3144 (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
3145 * doc/invoke.texi (SPARC options): Document -muser-mode.
3146
f956adb9
RS
31472014-04-27 Richard Sandiford <rdsandiford@googlemail.com>
3148
3149 * cselib.c (find_slot_memmode): Delete.
3150 (cselib_hasher): Change compare_type to a struct.
3151 (cselib_hasher::equal): Update accordingly. Don't expect wrapped
3152 constants.
3153 (preserve_constants_and_equivs): Adjust for new compare_type.
3154 (cselib_find_slot): Likewise. Take the mode of the rtx as argument.
3155 (wrap_constant): Delete.
3156 (cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.
3157
167c3e96
MT
31582014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de>
3159
3160 * doc/install.texi (Building with profile feedback): Remove
3161 outdated sentence.
3162
4148ef5f
TV
31632014-04-26 Tom de Vries <tom@codesourcery.com>
3164
3165 * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
3166 array accesses.
3167
8d8ffd86
CC
31682014-04-25 Cary Coutant <ccoutant@google.com>
3169
b6db8af6 3170 PR debug/60929
8d8ffd86 3171 * dwarf2out.c (should_move_die_to_comdat): A type definition
b6db8af6
UB
3172 can contain a subprogram definition, but don't move it to a
3173 comdat unit.
8d8ffd86 3174 (clone_as_declaration): Copy DW_AT_abstract_origin attribute.
b6db8af6
UB
3175 (generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
3176 from original DIE.
8d8ffd86
CC
3177 (clone_tree_hash): Rename to...
3178 (clone_tree_partial): ...this; change callers. Copy
b6db8af6 3179 DW_TAG_subprogram DIEs as declarations.
8d8ffd86 3180 (copy_decls_walk): Don't copy children of a declaration into a
b6db8af6 3181 type unit.
8d8ffd86 3182
255671b0
L
31832014-04-25 H.J. Lu <hongjiu.lu@intel.com>
3184
3185 PR target/60969
3186 * config/i386/i386.md (*movsf_internal): Set MODE to SI for
3187 alternative 12.
3188
10432733
JW
31892014-04-25 Jiong Wang <jiong.wang@arm.com>
3190
3191 * config/arm/predicates.md (call_insn_operand): Add long_call check.
3192 * config/arm/arm.md (sibcall, sibcall_value): Force the address to
3193 reg for long_call.
3194 * config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
3195 restriction.
3196
0e4c913f
KT
31972014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3198
b6db8af6 3199 * config/arm/arm.c (arm_cortex_a8_tune): Initialise T16-related fields.
0e4c913f 3200
61ba7329
BS
32012014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3202
3203 PR tree-optimization/60930
3204 * gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject
3205 creating a multiply candidate by folding two constant
3206 multiplicands when the result overflows.
3207
2b332829
JJ
32082014-04-25 Jakub Jelinek <jakub@redhat.com>
3209
3210 PR tree-optimization/60960
3211 * tree-vect-generic.c (expand_vector_operation): Only call
3212 expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
3213
97891c11
TV
32142014-04-25 Tom de Vries <tom@codesourcery.com>
3215
3216 * expr.c (clobber_reg_mode): New function.
3217 * expr.h (clobber_reg): New function.
3218
3ee634fd
TV
32192014-04-25 Tom de Vries <tom@codesourcery.com>
3220
3221 * rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
3222 clobbers.
3223
356bf593 32242014-04-25 Radovan Obradovic <robradovic@mips.com>
b6db8af6 3225 Tom de Vries <tom@codesourcery.com>
356bf593
RO
3226
3227 * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
3228 handle.
3229 * rtl.h (find_all_hard_reg_sets): Add bool parameter.
3230 * haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
3231 new argument to find_all_hard_reg_sets call.
3232
fe65a7ed
KT
32332014-04-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3234
3235 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
3236 Use HOST_WIDE_INT_C for mask literal.
3237 (aarch_rev16_shleft_mask_imm_p): Likewise.
3238
b357d40d
EB
32392014-04-25 Eric Botcazou <ebotcazou@adacore.com>
3240
3241 PR target/60941
3242 * config/sparc/sparc.md (ashlsi3_extend): Delete.
3243
30c0a59a
MG
32442014-04-25 Marc Glisse <marc.glisse@inria.fr>
3245
3246 PR preprocessor/56540
3247 * config/i386/i386-c.c (ix86_target_macros): Define
3248 __SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.
3249
c02f59e2
RO
32502014-04-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3251
3252 * configure.ac (tga_func): Remove.
3253 (LIB_TLS_SPEC): Remove.
3254 * configure: Regenerate.
3255 * config.in: Regenerate.
3256 * config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC.
3257
92b3326b
RB
32582014-04-25 Richard Biener <rguenther@suse.de>
3259
3260 PR ipa/60912
3261 * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
3262 call stmt use/clobber sets during stmt walk instead of
3263 walking the possibly incomplete set of caller edges.
3264
78422fb1
RB
32652014-04-25 Richard Biener <rguenther@suse.de>
3266
3267 PR ipa/60911
3268 * passes.c (apply_ipa_transforms): Inline into only caller ...
3269 (execute_one_pass): ... here. Properly bring in function
3270 bodies for nodes we want to apply IPA transforms to.
3271
56f8faae
CH
32722014-04-24 Cong Hou <congh@google.com>
3273
3274 PR tree-optimization/60896
3275 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up
3276 all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern.
3277 (vect_mark_pattern_stmts): Set the def type of all statements in
3278 PATTERN_DEF_SEQ as vect_internal_def.
3279
06b39289
MM
32802014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
3281
3282 * doc/extend.texi (PowerPC Built-in Functions): Document new
b6db8af6 3283 powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions.
06b39289
MM
3284 (PowerPC AltiVec/VSX Built-in Functions): Likewise.
3285
3286 * config/rs6000/predicates.md (const_0_to_3_operand): New
3287 predicate to match 0..3 integer constants.
3288
3289 * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
3290 to support adding miscellaneous builtin functions.
3291 (BU_DFP_MISC_2): Likewise.
3292 (BU_P7_MISC_1): Likewise.
3293 (BU_P7_MISC_2): Likewise.
3294 (BU_P8V_MISC_3): Likewise.
3295 (BU_MISC_1): Likewise.
3296 (BU_MISC_2): Likewise.
3297 (DIVWE): Add extended divide builtin functions.
3298 (DIVWEO): Likewise.
3299 (DIVWEU): Likewise.
3300 (DIVWEUO): Likewise.
3301 (DIVDE): Likewise.
3302 (DIVDEO): Likewise.
3303 (DIVDEU): Likewise.
3304 (DIVDEUO): Likewise.
3305 (DXEX): Add decimal floating-point builtin functions.
3306 (DXEXQ): Likewise.
3307 (DDEDPD): Likewise.
3308 (DDEDPDQ): Likewise.
3309 (DENBCD): Likewise.
3310 (DENBCDQ): Likewise.
3311 (DIEX): Likewise.
3312 (DIEXQ): Likewise.
3313 (DSCLI): Likewise.
3314 (DSCLIQ): Likewise.
3315 (DSCRI): Likewise.
3316 (DSCRIQ): Likewise.
3317 (CDTBCD): Add new BCD builtin functions.
3318 (CBCDTD): Likewise.
3319 (ADDG6S): Likewise.
3320 (BCDADD): Likewise.
3321 (BCDADD_LT): Likewise.
3322 (BCDADD_EQ): Likewise.
3323 (BCDADD_GT): Likewise.
3324 (BCDADD_OV): Likewise.
3325 (BCDSUB): Likewise.
3326 (BCDSUB_LT): Likewise.
3327 (BCDSUB_EQ): Likewise.
3328 (BCDSUB_GT): Likewise.
3329 (BCDSUB_OV): Likewise.
3330 (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
3331 (UNPACK_TD): Likewise.
3332 (PACK_TF): Likewise.
3333 (UNPACK_TF): Likewise.
3334 (UNPACK_TF_0): Likewise.
3335 (UNPACK_TF_1): Likewise.
3336 (PACK_V1TI): Likewise.
3337 (UNPACK_V1TI): Likewise.
3338
3339 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
3340 support for decimal floating point builtin functions.
3341 (rs6000_expand_ternop_builtin): Add checks for the new builtin
3342 functions that take constant arguments.
b6db8af6 3343 (rs6000_invalid_builtin): Add decimal floating point builtin support.
06b39289
MM
3344 (rs6000_init_builtins): Setup long double, _Decimal64, and
3345 _Decimal128 types for new builtin functions.
3346 (builtin_function_type): Set the unsigned flags appropriately for
3347 the new builtin functions.
3348 (rs6000_opt_masks): Add support for decimal floating point builtin
3349 functions.
3350
3351 * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
3352 floating point builtin functions.
3353 (RS6000_BTM_COMMON): Likewise.
3354 (RS6000_BTI_long_double): Likewise.
3355 (RS6000_BTI_dfloat64): Likewise.
3356 (RS6000_BTI_dfloat128): Likewise.
3357 (long_double_type_internal_node): Likewise.
3358 (dfloat64_type_internal_node): Likewise.
3359 (dfloat128_type_internal_node): Likewise.
3360
3361 * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
3362 2.07 bcd arithmetic instructions.
3363 (UNSPEC_BCDSUB): Likewise.
3364 (UNSPEC_BCD_OVERFLOW): Likewise.
3365 (UNSPEC_BCD_ADD_SUB): Likewise.
3366 (bcd_add_sub): Likewise.
3367 (BCD_TEST): Likewise.
3368 (bcd<bcd_add_sub>): Likewise.
3369 (bcd<bcd_add_sub>_test): Likewise.
3370 (bcd<bcd_add_sub>_test2): Likewise.
3371 (bcd<bcd_add_sub>_<code>): Likewise.
3372 (peephole2 for combined bcd ops): Likewise.
3373
3374 * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
3375 decimal floating point builtin functions.
3376 (UNSPEC_DENBCD): Likewise.
3377 (UNSPEC_DXEX): Likewise.
3378 (UNSPEC_DIEX): Likewise.
3379 (UNSPEC_DSCLI): Likewise.
3380 (UNSPEC_DSCRI): Likewise.
3381 (D64_D128): Likewise.
3382 (dfp_suffix): Likewise.
3383 (dfp_ddedpd_<mode>): Likewise.
3384 (dfp_denbcd_<mode>): Likewise.
3385 (dfp_dxex_<mode>): Likewise.
3386 (dfp_diex_<mode>): Likewise.
3387 (dfp_dscli_<mode>): Likewise.
3388 (dfp_dscri_<mode>): Likewise.
3389
3390 * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
3391 builtin functions.
3392 (UNSPEC_CDTBCD): Likewise.
3393 (UNSPEC_CBCDTD): Likewise.
b6db8af6 3394 (UNSPEC_DIVE): Add support for new extended divide builtin functions.
06b39289
MM
3395 (UNSPEC_DIVEO): Likewise.
3396 (UNSPEC_DIVEU): Likewise.
3397 (UNSPEC_DIVEUO): Likewise.
3398 (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
3399 pack/unpack 128-bit types.
3400 (UNSPEC_PACK_128BIT): Likewise.
3401 (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
3402 (udiv<mode>3): Use idiv_ldiv mode attribute.
3403 (div<mode>3): Likewise.
3404 (addg6s): Add new BCD builtin functions.
3405 (cdtbcd): Likewise.
3406 (cbcdtd): Likewise.
b6db8af6 3407 (UNSPEC_DIV_EXTEND): Add support for new extended divide instructions.
06b39289
MM
3408 (div_extend): Likewise.
3409 (div<div_extend>_<mode>"): Likewise.
3410 (FP128_64): Add support for new builtin functions to pack/unpack
3411 128-bit types.
3412 (unpack<mode>): Likewise.
3413 (unpacktf_0): Likewise.
3414 (unpacktf_1): Likewise.
3415 (unpack<mode>_dm): Likewise.
3416 (unpack<mode>_nodm): Likewise.
3417 (pack<mode>): Likewise.
3418 (unpackv1ti): Likewise.
3419 (packv1ti): Likewise.
3420
6e4f81db
V
34212014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
3422
3423 * gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
3424 is disabled.
3425
f7468577
JJ
34262014-04-24 Jakub Jelinek <jakub@redhat.com>
3427
3428 * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
3429 * gimplify.c (omp_is_private): Change last argument's type to int.
3430 Only diagnose lastprivate if the simd argument is 1, only diagnose
3431 linear if the simd argument is 2.
3432 (gimplify_omp_for): Adjust omp_is_private callers. When adding
3433 lastprivate or private, add the clause to OMP_FOR_CLAUSES. Pass
3434 GOVD_EXPLICIT to omp_add_variable. For simd with collapse == 1
3435 create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
3436 If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
3437 increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
3438 * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
3439 OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
3440 * tree-nested.c (convert_nonlocal_omp_clauses,
3441 convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
3442
2f7ac5ce
JL
34432014-04-24 Segher Boessenkool <segher@kernel.crashing.org>
3444
3445 PR target/60822
3446 * config/m68k/m68k.md (extendplussidi): Don't allow memory for
3447 operand 1.
3448
dcaaa5a0
DP
34492014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
3450
3451 * flag-types.h (enum ivar_visibility): Add.
3452
78c7d18e
TS
34532014-04-24 Trevor Saunders <tsaunders@mozilla.com>
3454
3455 * config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
3456 function * argument.
3457
fbbde65e
AL
34582014-04-24 Alan Lawrence <alan.lawrence@arm.com>
3459
3460 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
3461
4f660b15 34622014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 3463 Tom de Vries <tom@codesourcery.com>
4f660b15
RO
3464
3465 * reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
3466 * calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
3467 reg-note.
3468 * combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
3469 * emit-rtl.c (try_split): Same.
3470
d996e61a 34712014-04-24 Radovan Obradovic <robradovic@mips.com>
b6db8af6 3472 Tom de Vries <tom@codesourcery.com>
d996e61a
RO
3473
3474 * common.opt (fuse-caller-save): New option.
3475
bbcc9c00
TB
34762014-04-24 Tejas Belagod <tejas.belagod@arm.com>
3477
b6db8af6
UB
3478 * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of
3479 elements for big-endian.
bbcc9c00 3480
d2d11532
RB
34812014-04-24 Richard Biener <rguenther@suse.de>
3482
3483 * expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
3484 during TER and instead use the sepops interface for expanding
3485 non-GIMPLE_SINGLE_RHS.
3486
8117ef98
RO
34872014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3488
3489 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
3490 if not HAVE_AS_IX86_DIFF_SECT_DELTA.
3491
ab0afae3
RO
34922014-04-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3493
3494 * configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
3495 assembler 64-bit option.
3496 * configure: Regenerate.
3497
683e3333
KT
34982014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3499
3500 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
3501 TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
3502 (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
3503 (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
3504 (TARGET_CRYPTO): Take TARGET_SIMD into account.
3505
c7f28cd5
KT
35062014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3507
3508 * config/aarch64/aarch64-builtins.c
3509 (aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
3510 BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
3511 * config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
3512 * config/aarch64/aarch64-simd-builtins.def: Define vector bswap
3513 builtins.
3514 * config/aarch64/iterator.md (VDQHSD): New mode iterator.
3515 (Vrevsuff): New mode attribute.
3516
b0419491
TG
35172014-04-24 Terry Guo <terry.guo@arm.com>
3518
3519 * config/arm/arm.h (machine_function): Define variable
3520 after_arm_reorg here.
3521 * config/arm/arm.c (after_arm_reorg): Remove the definition.
3522 (arm_split_constant): Update the way to access variable
3523 after_arm_reorg.
3524 (arm_reorg): Ditto.
3525 (arm_output_function_epilogue): Remove the reset of after_arm_reorg.
3526
74e4d71a
TV
35272014-04-23 Tom de Vries <tom@codesourcery.com>
3528
3529 * target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
3530
7de90a6c
DM
35312014-04-23 David Malcolm <dmalcolm@redhat.com>
3532
3533 * is-a.h: Update comments to reflect the following changes to the
3534 "pointerness" of the API, making the template parameter match the
3535 return type, allowing use of is-a.h with typedefs of pointers.
3536 (is_a_helper::cast): Return a T rather then a pointer to a T, so
3537 that the return type matches the parameter to the is_a_helper.
3538 (as_a): Likewise.
3539 (dyn_cast): Likewise.
3540
3541 * cgraph.c (cgraph_node_for_asm): Update for removal of implicit
3542 pointer from the is-a.h API.
3543
3544 * cgraph.h (is_a_helper <cgraph_node>::test): Convert to...
3545 (is_a_helper <cgraph_node *>::test): ...this, matching change to
3546 is-a.h API.
3547 (is_a_helper <varpool_node>::test): Likewise, convert to...
3548 (is_a_helper <varpool_node *>::test): ...this.
3549
3550 (varpool_first_variable): Update for removal of implicit pointer
3551 from the is-a.h API.
3552 (varpool_next_variable): Likewise.
3553 (varpool_first_static_initializer): Likewise.
3554 (varpool_next_static_initializer): Likewise.
3555 (varpool_first_defined_variable): Likewise.
3556 (varpool_next_defined_variable): Likewise.
3557 (cgraph_first_defined_function): Likewise.
3558 (cgraph_next_defined_function): Likewise.
3559 (cgraph_first_function): Likewise.
3560 (cgraph_next_function): Likewise.
3561 (cgraph_first_function_with_gimple_body): Likewise.
3562 (cgraph_next_function_with_gimple_body): Likewise.
3563 (cgraph_alias_target): Likewise.
3564 (varpool_alias_target): Likewise.
3565 (cgraph_function_or_thunk_node): Likewise.
3566 (varpool_variable_node): Likewise.
3567 (symtab_real_symbol_p): Likewise.
3568 * cgraphunit.c (referred_to_p): Likewise.
3569 (analyze_functions): Likewise.
3570 (handle_alias_pairs): Likewise.
3571 * gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
3572 * gimple-ssa.h (gimple_vuse_op): Likewise.
3573 (gimple_vdef_op): Likewise.
3574 * gimple-streamer-in.c (input_gimple_stmt): Likewise.
3575 * gimple.c (gimple_build_asm_1): Likewise.
3576 (gimple_build_try): Likewise.
3577 (gimple_build_resx): Likewise.
3578 (gimple_build_eh_dispatch): Likewise.
3579 (gimple_build_omp_for): Likewise.
3580 (gimple_omp_for_set_clauses): Likewise.
3581
3582 * gimple.h (is_a_helper <gimple_statement_asm>::test): Convert to...
3583 (is_a_helper <gimple_statement_asm *>::test): ...this.
3584 (is_a_helper <gimple_statement_bind>::test): Convert to...
3585 (is_a_helper <gimple_statement_bind *>::test): ...this.
3586 (is_a_helper <gimple_statement_call>::test): Convert to...
3587 (is_a_helper <gimple_statement_call *>::test): ...this.
3588 (is_a_helper <gimple_statement_catch>::test): Convert to...
3589 (is_a_helper <gimple_statement_catch *>::test): ...this.
3590 (is_a_helper <gimple_statement_resx>::test): Convert to...
3591 (is_a_helper <gimple_statement_resx *>::test): ...this.
3592 (is_a_helper <gimple_statement_eh_dispatch>::test): Convert to...
3593 (is_a_helper <gimple_statement_eh_dispatch *>::test): ...this.
3594 (is_a_helper <gimple_statement_eh_else>::test): Convert to...
3595 (is_a_helper <gimple_statement_eh_else *>::test): ...this.
3596 (is_a_helper <gimple_statement_eh_filter>::test): Convert to...
3597 (is_a_helper <gimple_statement_eh_filter *>::test): ...this.
3598 (is_a_helper <gimple_statement_eh_mnt>::test): Convert to...
3599 (is_a_helper <gimple_statement_eh_mnt *>::test): ...this.
3600 (is_a_helper <gimple_statement_omp_atomic_load>::test): Convert to...
3601 (is_a_helper <gimple_statement_omp_atomic_load *>::test): ...this.
3602 (is_a_helper <gimple_statement_omp_atomic_store>::test): Convert to...
3603 (is_a_helper <gimple_statement_omp_atomic_store *>::test): ...this.
3604 (is_a_helper <gimple_statement_omp_return>::test): Convert to...
3605 (is_a_helper <gimple_statement_omp_return *>::test): ...this.
3606 (is_a_helper <gimple_statement_omp_continue>::test): Convert to...
3607 (is_a_helper <gimple_statement_omp_continue *>::test): ...this.
3608 (is_a_helper <gimple_statement_omp_critical>::test): Convert to...
3609 (is_a_helper <gimple_statement_omp_critical *>::test): ...this.
3610 (is_a_helper <gimple_statement_omp_for>::test): Convert to...
3611 (is_a_helper <gimple_statement_omp_for *>::test): ...this.
3612 (is_a_helper <gimple_statement_omp_taskreg>::test): Convert to...
3613 (is_a_helper <gimple_statement_omp_taskreg *>::test): ...this.
3614 (is_a_helper <gimple_statement_omp_parallel>::test): Convert to...
3615 (is_a_helper <gimple_statement_omp_parallel *>::test): ...this.
3616 (is_a_helper <gimple_statement_omp_target>::test): Convert to...
3617 (is_a_helper <gimple_statement_omp_target *>::test): ...this.
3618 (is_a_helper <gimple_statement_omp_sections>::test): Convert to...
3619 (is_a_helper <gimple_statement_omp_sections *>::test): ...this.
3620 (is_a_helper <gimple_statement_omp_single>::test): Convert to...
3621 (is_a_helper <gimple_statement_omp_single *>::test): ...this.
3622 (is_a_helper <gimple_statement_omp_teams>::test): Convert to...
3623 (is_a_helper <gimple_statement_omp_teams *>::test): ...this.
3624 (is_a_helper <gimple_statement_omp_task>::test): Convert to...
3625 (is_a_helper <gimple_statement_omp_task *>::test): ...this.
3626 (is_a_helper <gimple_statement_phi>::test): Convert to...
3627 (is_a_helper <gimple_statement_phi *>::test): ...this.
3628 (is_a_helper <gimple_statement_transaction>::test): Convert to...
3629 (is_a_helper <gimple_statement_transaction *>::test): ...this.
3630 (is_a_helper <gimple_statement_try>::test): Convert to...
3631 (is_a_helper <gimple_statement_try *>::test): ...this.
3632 (is_a_helper <gimple_statement_wce>::test): Convert to...
3633 (is_a_helper <gimple_statement_wce *>::test): ...this.
3634 (is_a_helper <const gimple_statement_asm>::test): Convert to...
3635 (is_a_helper <const gimple_statement_asm *>::test): ...this.
3636 (is_a_helper <const gimple_statement_bind>::test): Convert to...
3637 (is_a_helper <const gimple_statement_bind *>::test): ...this.
3638 (is_a_helper <const gimple_statement_call>::test): Convert to...
3639 (is_a_helper <const gimple_statement_call *>::test): ...this.
3640 (is_a_helper <const gimple_statement_catch>::test): Convert to...
3641 (is_a_helper <const gimple_statement_catch *>::test): ...this.
3642 (is_a_helper <const gimple_statement_resx>::test): Convert to...
3643 (is_a_helper <const gimple_statement_resx *>::test): ...this.
b6db8af6
UB
3644 (is_a_helper <const gimple_statement_eh_dispatch>::test): Convert to...
3645 (is_a_helper <const gimple_statement_eh_dispatch *>::test): ...this.
3646 (is_a_helper <const gimple_statement_eh_filter>::test): Convert to...
7de90a6c
DM
3647 (is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
3648 (is_a_helper <const gimple_statement_omp_atomic_load>::test):
3649 Convert to...
3650 (is_a_helper <const gimple_statement_omp_atomic_load *>::test):
3651 ...this.
3652 (is_a_helper <const gimple_statement_omp_atomic_store>::test):
3653 Convert to...
3654 (is_a_helper <const gimple_statement_omp_atomic_store *>::test):
3655 ...this.
b6db8af6 3656 (is_a_helper <const gimple_statement_omp_return>::test): Convert to...
7de90a6c
DM
3657 (is_a_helper <const gimple_statement_omp_return *>::test): ...this.
3658 (is_a_helper <const gimple_statement_omp_continue>::test): Convert
3659 to...
3660 (is_a_helper <const gimple_statement_omp_continue *>::test): ...this.
3661 (is_a_helper <const gimple_statement_omp_critical>::test): Convert
3662 to...
3663 (is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
3664 (is_a_helper <const gimple_statement_omp_for>::test): Convert to...
3665 (is_a_helper <const gimple_statement_omp_for *>::test): ...this.
b6db8af6 3666 (is_a_helper <const gimple_statement_omp_taskreg>::test): Convert to...
7de90a6c
DM
3667 (is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
3668 (is_a_helper <const gimple_statement_omp_parallel>::test): Convert
3669 to...
3670 (is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
b6db8af6 3671 (is_a_helper <const gimple_statement_omp_target>::test): Convert to...
7de90a6c
DM
3672 (is_a_helper <const gimple_statement_omp_target *>::test): ...this.
3673 (is_a_helper <const gimple_statement_omp_sections>::test): Convert
3674 to...
3675 (is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
b6db8af6 3676 (is_a_helper <const gimple_statement_omp_single>::test): Convert to...
7de90a6c 3677 (is_a_helper <const gimple_statement_omp_single *>::test): ...this.
b6db8af6 3678 (is_a_helper <const gimple_statement_omp_teams>::test): Convert to...
7de90a6c 3679 (is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
b6db8af6 3680 (is_a_helper <const gimple_statement_omp_task>::test): Convert to...
7de90a6c
DM
3681 (is_a_helper <const gimple_statement_omp_task *>::test): ...this.
3682 (is_a_helper <const gimple_statement_phi>::test): Convert to...
3683 (is_a_helper <const gimple_statement_phi *>::test): ...this.
b6db8af6 3684 (is_a_helper <const gimple_statement_transaction>::test): Convert to...
7de90a6c 3685 (is_a_helper <const gimple_statement_transaction *>::test): ...this.
b6db8af6 3686 (is_a_helper <const gimple_statement_with_ops>::test): Convert to...
7de90a6c
DM
3687 (is_a_helper <const gimple_statement_with_ops *>::test): ...this.
3688 (is_a_helper <gimple_statement_with_ops>::test): Convert to...
3689 (is_a_helper <gimple_statement_with_ops *>::test): ...this.
b6db8af6
UB
3690 (is_a_helper <const gimple_statement_with_memory_ops>::test): Convert
3691 to...
7de90a6c
DM
3692 (is_a_helper <const gimple_statement_with_memory_ops *>::test):
3693 ...this.
b6db8af6 3694 (is_a_helper <gimple_statement_with_memory_ops>::test): Convert to...
7de90a6c
DM
3695 (is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
3696
3697 (gimple_use_ops): Update for removal of implicit pointer from the
3698 is-a.h API.
3699 (gimple_set_use_ops): Likewise.
3700 (gimple_vuse): Likewise.
3701 (gimple_vdef): Likewise.
3702 (gimple_vuse_ptr): Likewise.
3703 (gimple_vdef_ptr): Likewise.
3704 (gimple_set_vuse): Likewise.
3705 (gimple_set_vdef): Likewise.
3706 (gimple_omp_return_set_lhs): Likewise.
3707 (gimple_omp_return_lhs): Likewise.
3708 (gimple_omp_return_lhs_ptr): Likewise.
3709 (gimple_call_fntype): Likewise.
3710 (gimple_call_set_fntype): Likewise.
3711 (gimple_call_set_internal_fn): Likewise.
3712 (gimple_call_use_set): Likewise.
3713 (gimple_call_clobber_set): Likewise.
3714 (gimple_bind_vars): Likewise.
3715 (gimple_bind_set_vars): Likewise.
3716 (gimple_bind_body_ptr): Likewise.
3717 (gimple_bind_set_body): Likewise.
3718 (gimple_bind_add_stmt): Likewise.
3719 (gimple_bind_block): Likewise.
3720 (gimple_bind_set_block): Likewise.
3721 (gimple_asm_ninputs): Likewise.
3722 (gimple_asm_noutputs): Likewise.
3723 (gimple_asm_nclobbers): Likewise.
3724 (gimple_asm_nlabels): Likewise.
3725 (gimple_asm_input_op): Likewise.
3726 (gimple_asm_input_op_ptr): Likewise.
3727 (gimple_asm_output_op): Likewise.
3728 (gimple_asm_output_op_ptr): Likewise.
3729 (gimple_asm_set_output_op): Likewise.
3730 (gimple_asm_clobber_op): Likewise.
3731 (gimple_asm_set_clobber_op): Likewise.
3732 (gimple_asm_label_op): Likewise.
3733 (gimple_asm_set_label_op): Likewise.
3734 (gimple_asm_string): Likewise.
3735 (gimple_catch_types): Likewise.
3736 (gimple_catch_types_ptr): Likewise.
3737 (gimple_catch_handler_ptr): Likewise.
3738 (gimple_catch_set_types): Likewise.
3739 (gimple_catch_set_handler): Likewise.
3740 (gimple_eh_filter_types): Likewise.
3741 (gimple_eh_filter_types_ptr): Likewise.
3742 (gimple_eh_filter_failure_ptr): Likewise.
3743 (gimple_eh_filter_set_types): Likewise.
3744 (gimple_eh_filter_set_failure): Likewise.
3745 (gimple_eh_must_not_throw_fndecl): Likewise.
3746 (gimple_eh_must_not_throw_set_fndecl): Likewise.
3747 (gimple_eh_else_n_body_ptr): Likewise.
3748 (gimple_eh_else_e_body_ptr): Likewise.
3749 (gimple_eh_else_set_n_body): Likewise.
3750 (gimple_eh_else_set_e_body): Likewise.
3751 (gimple_try_eval_ptr): Likewise.
3752 (gimple_try_cleanup_ptr): Likewise.
3753 (gimple_try_set_eval): Likewise.
3754 (gimple_try_set_cleanup): Likewise.
3755 (gimple_wce_cleanup_ptr): Likewise.
3756 (gimple_wce_set_cleanup): Likewise.
3757 (gimple_phi_capacity): Likewise.
3758 (gimple_phi_num_args): Likewise.
3759 (gimple_phi_result): Likewise.
3760 (gimple_phi_result_ptr): Likewise.
3761 (gimple_phi_set_result): Likewise.
3762 (gimple_phi_arg): Likewise.
3763 (gimple_phi_set_arg): Likewise.
3764 (gimple_resx_region): Likewise.
3765 (gimple_resx_set_region): Likewise.
3766 (gimple_eh_dispatch_region): Likewise.
3767 (gimple_eh_dispatch_set_region): Likewise.
3768 (gimple_omp_critical_name): Likewise.
3769 (gimple_omp_critical_name_ptr): Likewise.
3770 (gimple_omp_critical_set_name): Likewise.
3771 (gimple_omp_for_clauses): Likewise.
3772 (gimple_omp_for_clauses_ptr): Likewise.
3773 (gimple_omp_for_set_clauses): Likewise.
3774 (gimple_omp_for_collapse): Likewise.
3775 (gimple_omp_for_index): Likewise.
3776 (gimple_omp_for_index_ptr): Likewise.
3777 (gimple_omp_for_set_index): Likewise.
3778 (gimple_omp_for_initial): Likewise.
3779 (gimple_omp_for_initial_ptr): Likewise.
3780 (gimple_omp_for_set_initial): Likewise.
3781 (gimple_omp_for_final): Likewise.
3782 (gimple_omp_for_final_ptr): Likewise.
3783 (gimple_omp_for_set_final): Likewise.
3784 (gimple_omp_for_incr): Likewise.
3785 (gimple_omp_for_incr_ptr): Likewise.
3786 (gimple_omp_for_set_incr): Likewise.
3787 (gimple_omp_for_pre_body_ptr): Likewise.
3788 (gimple_omp_for_set_pre_body): Likewise.
3789 (gimple_omp_parallel_clauses): Likewise.
3790 (gimple_omp_parallel_clauses_ptr): Likewise.
3791 (gimple_omp_parallel_set_clauses): Likewise.
3792 (gimple_omp_parallel_child_fn): Likewise.
3793 (gimple_omp_parallel_child_fn_ptr): Likewise.
3794 (gimple_omp_parallel_set_child_fn): Likewise.
3795 (gimple_omp_parallel_data_arg): Likewise.
3796 (gimple_omp_parallel_data_arg_ptr): Likewise.
3797 (gimple_omp_parallel_set_data_arg): Likewise.
3798 (gimple_omp_task_clauses): Likewise.
3799 (gimple_omp_task_clauses_ptr): Likewise.
3800 (gimple_omp_task_set_clauses): Likewise.
3801 (gimple_omp_task_child_fn): Likewise.
3802 (gimple_omp_task_child_fn_ptr): Likewise.
3803 (gimple_omp_task_set_child_fn): Likewise.
3804 (gimple_omp_task_data_arg): Likewise.
3805 (gimple_omp_task_data_arg_ptr): Likewise.
3806 (gimple_omp_task_set_data_arg): Likewise.
3807 (gimple_omp_taskreg_clauses): Likewise.
3808 (gimple_omp_taskreg_clauses_ptr): Likewise.
3809 (gimple_omp_taskreg_set_clauses): Likewise.
3810 (gimple_omp_taskreg_child_fn): Likewise.
3811 (gimple_omp_taskreg_child_fn_ptr): Likewise.
3812 (gimple_omp_taskreg_set_child_fn): Likewise.
3813 (gimple_omp_taskreg_data_arg): Likewise.
3814 (gimple_omp_taskreg_data_arg_ptr): Likewise.
3815 (gimple_omp_taskreg_set_data_arg): Likewise.
3816 (gimple_omp_task_copy_fn): Likewise.
3817 (gimple_omp_task_copy_fn_ptr): Likewise.
3818 (gimple_omp_task_set_copy_fn): Likewise.
3819 (gimple_omp_task_arg_size): Likewise.
3820 (gimple_omp_task_arg_size_ptr): Likewise.
3821 (gimple_omp_task_set_arg_size): Likewise.
3822 (gimple_omp_task_arg_align): Likewise.
3823 (gimple_omp_task_arg_align_ptr): Likewise.
3824 (gimple_omp_task_set_arg_align): Likewise.
3825 (gimple_omp_single_clauses): Likewise.
3826 (gimple_omp_single_clauses_ptr): Likewise.
3827 (gimple_omp_single_set_clauses): Likewise.
3828 (gimple_omp_target_clauses): Likewise.
3829 (gimple_omp_target_clauses_ptr): Likewise.
3830 (gimple_omp_target_set_clauses): Likewise.
3831 (gimple_omp_target_child_fn): Likewise.
3832 (gimple_omp_target_child_fn_ptr): Likewise.
3833 (gimple_omp_target_set_child_fn): Likewise.
3834 (gimple_omp_target_data_arg): Likewise.
3835 (gimple_omp_target_data_arg_ptr): Likewise.
3836 (gimple_omp_target_set_data_arg): Likewise.
3837 (gimple_omp_teams_clauses): Likewise.
3838 (gimple_omp_teams_clauses_ptr): Likewise.
3839 (gimple_omp_teams_set_clauses): Likewise.
3840 (gimple_omp_sections_clauses): Likewise.
3841 (gimple_omp_sections_clauses_ptr): Likewise.
3842 (gimple_omp_sections_set_clauses): Likewise.
3843 (gimple_omp_sections_control): Likewise.
3844 (gimple_omp_sections_control_ptr): Likewise.
3845 (gimple_omp_sections_set_control): Likewise.
3846 (gimple_omp_for_set_cond): Likewise.
3847 (gimple_omp_for_cond): Likewise.
3848 (gimple_omp_atomic_store_set_val): Likewise.
3849 (gimple_omp_atomic_store_val): Likewise.
3850 (gimple_omp_atomic_store_val_ptr): Likewise.
3851 (gimple_omp_atomic_load_set_lhs): Likewise.
3852 (gimple_omp_atomic_load_lhs): Likewise.
3853 (gimple_omp_atomic_load_lhs_ptr): Likewise.
3854 (gimple_omp_atomic_load_set_rhs): Likewise.
3855 (gimple_omp_atomic_load_rhs): Likewise.
3856 (gimple_omp_atomic_load_rhs_ptr): Likewise.
3857 (gimple_omp_continue_control_def): Likewise.
3858 (gimple_omp_continue_control_def_ptr): Likewise.
3859 (gimple_omp_continue_set_control_def): Likewise.
3860 (gimple_omp_continue_control_use): Likewise.
3861 (gimple_omp_continue_control_use_ptr): Likewise.
3862 (gimple_omp_continue_set_control_use): Likewise.
3863 (gimple_transaction_body_ptr): Likewise.
3864 (gimple_transaction_label): Likewise.
3865 (gimple_transaction_label_ptr): Likewise.
3866 (gimple_transaction_set_body): Likewise.
3867 (gimple_transaction_set_label): Likewise.
3868
3869 * ipa-devirt.c (build_type_inheritance_graph): Likewise.
3870 * ipa-inline-analysis.c (inline_write_summary): Likewise.
3871 * ipa-ref.c (ipa_record_reference): Likewise.
3872 * ipa-reference.c (analyze_function): Likewise.
3873 (ipa_reference_write_optimization_summary): Likewise.
3874 * ipa.c (symtab_remove_unreachable_nodes): Likewise.
3875 (address_taken_from_non_vtable_p): Likewise.
3876 (comdat_can_be_unshared_p_1): Likewise.
3877 * lto-cgraph.c (lto_output_ref): Likewise.
3878 (add_references): Likewise.
3879 (compute_ltrans_boundary): Likewise.
3880 (output_symtab): Likewise.
3881 (input_ref): Likewise.
3882 (input_cgraph_1): Likewise.
3883 (output_cgraph_opt_summary): Likewise.
3884 * lto-streamer-out.c (lto_output): Likewise.
3885 (output_symbol_p): Likewise.
3886 * lto-streamer.h (lsei_next_function_in_partition): Likewise.
3887 (lsei_start_function_in_partition): Likewise.
3888 (lsei_next_variable_in_partition): Likewise.
3889 (lsei_start_variable_in_partition): Likewise.
3890 * symtab.c (insert_to_assembler_name_hash): Likewise.
3891 (unlink_from_assembler_name_hash): Likewise.
3892 (symtab_unregister_node): Likewise.
3893 (symtab_remove_node): Likewise.
3894 (dump_symtab_node): Likewise.
3895 (verify_symtab_base): Likewise.
3896 (verify_symtab_node): Likewise.
3897 (symtab_make_decl_local): Likewise.
3898 (symtab_alias_ultimate_target): Likewise.
3899 (symtab_resolve_alias): Likewise.
3900 (symtab_get_symbol_partitioning_class): Likewise.
3901 * tree-phinodes.c (allocate_phi_node): Likewise.
3902 (reserve_phi_args_for_new_edge): Likewise.
3903 (remove_phi_args): Likewise.
3904 * varpool.c (varpool_node_for_asm): Likewise.
3905 (varpool_remove_unreferenced_decls): Likewise.
3906
9219922e
JL
39072014-04-23 Jeff Law <law@redhat.com>
3908
3909 PR tree-optimization/60902
3910 * tree-ssa-threadedge.c
3911 (record_temporary_equivalences_from_stmts_at_dest): Make sure to
3912 invalidate outputs from statements that do not produce useful
3913 outputs for threading.
3914
b6db8af6 39152014-04-23 Venkataramanan Kumar <venkataramanan.kumar@linaro.org>
36e17020
VK
3916
3917 * config/aarch64/aarch64.md (stack_protect_set, stack_protect_test)
3918 (stack_protect_set_<mode>, stack_protect_test_<mode>): Add
3919 machine descriptions for Stack Smashing Protector.
3920
57b77d46
RE
39212014-04-23 Richard Earnshaw <rearnsha@arm.com>
3922
3923 * aarch64.md (<optab>_rol<mode>3): New pattern.
3924 (<optab>_rolsi3_uxtw): Likewise.
3925 * aarch64.c (aarch64_strip_shift): Handle ROTATE and ROTATERT.
3926
984c2f30
JG
39272014-04-23 James Greenhalgh <james.greenhalgh@arm.com>
3928
3929 * config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields.
3930 (arm_cortex_a12_tune): Likewise.
3931
18b42b2a
KT
39322014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3933
3934 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
3935
ea1e9168
KT
39362014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3937
3938 * config/arm/arm.md (arm_rev16si2): New pattern.
3939 (arm_rev16si2_alt): Likewise.
3940 * config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case.
3941
f7d5cf8d
KT
39422014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3943
b6db8af6
UB
3944 * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
3945 (rev16<mode>2_alt): Likewise.
3946 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
3947 * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
3948 (aarch_rev16_shleft_mask_imm_p): Likewise.
3949 (aarch_rev16_p_1): Likewise.
3950 (aarch_rev16_p): Likewise.
3951 * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
3952 (aarch_rev16_shright_mask_imm_p): Likewise.
3953 (aarch_rev16_shleft_mask_imm_p): Likewise.
f7d5cf8d 3954
9ac05ae5
KT
39552014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3956
b6db8af6
UB
3957 * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
3958 * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
3959 rev cost.
3960 (cortex_a53_extra_costs): Likewise.
3961 (cortex_a57_extra_costs): Likewise.
3962 * config/arm/arm.c (cortexa9_extra_costs): Likewise.
3963 (cortexa7_extra_costs): Likewise.
3964 (cortexa8_extra_costs): Likewise.
3965 (cortexa12_extra_costs): Likewise.
3966 (cortexa15_extra_costs): Likewise.
3967 (v7m_extra_costs): Likewise.
3968 (arm_new_rtx_costs): Handle BSWAP.
9ac05ae5 3969
e0d8c86c
KT
39702013-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3971
b6db8af6
UB
3972 * config/arm/arm.c (cortexa8_extra_costs): New table.
3973 (arm_cortex_a8_tune): New tuning struct.
3974 * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
e0d8c86c 3975
ba9b1a63
KT
39762014-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3977
b6db8af6 3978 * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
ba9b1a63 3979
da4cfeac
RB
39802014-04-23 Richard Biener <rguenther@suse.de>
3981
3982 * Makefile.in (OBJS): Remove loop-unswitch.o.
da4cfeac
RB
3983 * tree-pass.h (make_pass_rtl_unswitch): Remove.
3984 * passes.def (pass_rtl_unswitch): Likewise.
3985 * loop-init.c (gate_rtl_unswitch): Likewise.
3986 (rtl_unswitch): Likewise.
3987 (pass_data_rtl_unswitch): Likewise.
3988 (pass_rtl_unswitch): Likewise.
3989 (make_pass_rtl_unswitch): Likewise.
3990 * rtl.h (reversed_condition): Likewise.
3991 (compare_and_jump_seq): Likewise.
3992 * loop-iv.c (reversed_condition): Move here from loop-unswitch.c
3993 and make static.
3994 * loop-unroll.c (compare_and_jump_seq): Likewise.
3995
22718afe
RB
39962014-04-23 Richard Biener <rguenther@suse.de>
3997
3998 PR tree-optimization/60903
3999 * tree-ssa-loop-im.c (analyze_memory_references): Remove
4000 commented code block.
4001 (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
4002 loop flags to newly created BBs and edges.
4003
f7961364
NC
40042014-04-23 Nick Clifton <nickc@redhat.com>
4005
4006 * config/msp430/msp430.c (msp430_handle_option): Move function
4007 to msp430-common.c
4008 (msp430_option_override): Simplify mcu and mcpu option handling.
4009 (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult. Add
4010 support for -mhwmult command line option.
4011 (has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for
4012 -mhwmult command line option.
4013 (msp430_hwmult_enabled): Delete.
b6db8af6 4014 (msp43o_output_labelref): Add support for -mhwmult command line option.
f7961364
NC
4015 * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
4016 (umulsidi3): Likewise.
4017 * config/msp430/msp430.opt (mmcu): Add Report attribute.
4018 (mcpu, mlarge, msmall): Likewise.
4019 (mhwmult): New option.
4020 * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
4021 prototype.
4022 (msp430_is_f5_mcu): Remove prototype.
4023 (msp430_use_f5_series_hwmult): Add prototype.
4024 * config/msp430/msp430-opts.h: New file.
4025 * common/config/msp430: New directory.
4026 * common/config/msp430/msp430-common.c: New file.
4027 * config.gcc (msp430): Remove target_has_targetm_common.
4028 * doc/invoke.texi: Document -mhwmult command line option.
4029
f70df035
NC
40302014-04-23 Nick Clifton <nickc@redhat.com>
4031
4032 * config/i386/cygwin.h (ENDFILE_SPEC): Include
4033 default-manifest.o if it can be found in the search path.
4034 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
4035
6a9accca
TG
40362014-04-23 Terry Guo <terry.guo@arm.com>
4037
4038 * config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
4039
62ba699e
RB
40402014-04-23 Richard Biener <rguenther@suse.de>
4041
4042 PR middle-end/60895
4043 * tree-inline.c (declare_return_variable): Use mark_addressable.
4044
92562f88
RB
40452014-04-23 Richard Biener <rguenther@suse.de>
4046
4047 PR middle-end/60891
4048 * loop-init.c (loop_optimizer_init): Make sure to apply
4049 LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
4050
1c33c9b7
JJ
40512014-04-22 Jakub Jelinek <jakub@redhat.com>
4052
4053 PR sanitizer/60275
4054 * common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error):
4055 New options.
4056 * gcc.c (sanitize_spec_function): Don't return "" for "undefined"
4057 if flag_sanitize_undefined_trap_on_error.
4058 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT,
4059 BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT,
4060 BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT,
4061 BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
4062 BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT,
4063 BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT,
4064 BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT,
4065 BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT,
4066 BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins.
4067 * ubsan.c (ubsan_instrument_unreachable): Return
4068 __builtin_trap () if flag_sanitize_undefined_trap_on_error.
4069 (ubsan_expand_null_ifn): Emit __builtin_trap ()
4070 if flag_sanitize_undefined_trap_on_error and
4071 __ubsan_handle_type_mismatch_abort if !flag_sanitize_recover.
4072 (ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
4073 instrument_bool_enum_load): Emit __builtin_trap () if
4074 flag_sanitize_undefined_trap_on_error and
4075 __builtin_handle_*_abort () if !flag_sanitize_recover.
4076 * doc/invoke.texi (-fsanitize-recover,
4077 -fsanitize-undefined-trap-on-error): Document.
4078
5e66b2e5
CB
40792014-04-22 Christian Bruel <christian.bruel@st.com>
4080
4081 * config/sh/sh.md (mov<mode>): Replace movQIHI.
4082 Force immediates to SImode.
4083
aa221564
SL
40842014-04-22 Sandra Loosemore <sandra@codesourcery.com>
4085
4086 * config/nios2/nios2.md (UNSPEC_ROUND): New.
4087 (lroundsfsi2): New.
4088 * config/nios2/nios2.opt (mno-custom-round, mcustom-round=): New.
4089 * config/nios2/nios2-opts.h (N2FPU_ALL_CODES): Add round.
4090 * config/nios2/nios2.c (N2F_NO_ERRNO): Define.
4091 (nios2_fpu_insn): Add entry for round.
4092 (N2FPU_NO_ERRNO_P): Define.
4093 (nios2_custom_check_insns): Add check for N2F_NO_ERRNO and
4094 flag_errno_math.
4095 * doc/invoke.texi (Nios II Options): Document -mcustom-round.
4096
2195867f
RH
40972014-04-22 Richard Henderson <rth@redhat.com>
4098
4099 * config/aarch64/aarch64 (addti3, subti3): New expanders.
4100 (add<GPI>3_compare0): Remove leading * from name.
4101 (add<GPI>3_carryin): Likewise.
4102 (sub<GPI>3_compare0): Likewise.
4103 (sub<GPI>3_carryin): Likewise.
4104 (<su_optab>mulditi3): New expander.
4105 (multi3): New expander.
4106 (madd<GPI>): Remove leading * from name.
4107
c6d43074
MJ
41082014-04-22 Martin Jambor <mjambor@suse.cz>
4109
4110 * cgraphclones.c (cgraph_function_versioning): Copy
4111 ipa_transforms_to_apply instead of asserting it is empty.
4112
e54c2dd3
L
41132014-04-22 H.J. Lu <hongjiu.lu@intel.com>
4114
4115 PR target/60868
f70df035 4116 * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
e54c2dd3
L
4117 on count_exp to get mode.
4118
621ad2de
AP
41192014-04-22 Andrew Pinski <apinski@cavium.com>
4120
4121 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
4122 Handle TLS for ILP32.
4123 * config/aarch64/aarch64.md (tlsie_small): Rename to ...
4124 (tlsie_small_<mode>): this and handle PTR.
4125 (tlsie_small_sidi): New pattern.
4126 (tlsle_small): Change to an expand to handle ILP32.
4127 (tlsle_small_<mode>): New pattern.
4128 (tlsdesc_small): Rename to ...
4129 (tlsdesc_small_<mode>): this and handle PTR.
4130
5cb74e90
RR
41312014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4132
4133 * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.
4134
bcd48995
AV
41352014-04-22 Alex Velenko <Alex.Velenko@arm.com>
4136
4137 * config/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
4138 (aarch64_types_signed_unsigned_qualifiers): Qualifier added.
4139 (aarch64_types_signed_poly_qualifiers): Likewise.
4140 (aarch64_types_unsigned_signed_qualifiers): Likewise.
4141 (aarch64_types_poly_signed_qualifiers): Likewise.
4142 (TYPES_REINTERP_SS): Type macro added.
4143 (TYPES_REINTERP_SU): Likewise.
4144 (TYPES_REINTERP_SP): Likewise.
4145 (TYPES_REINTERP_US): Likewise.
4146 (TYPES_REINTERP_PS): Likewise.
4147 (aarch64_fold_builtin): New expression folding added.
4148 * config/aarch64/aarch64-simd-builtins.def (REINTERP):
4149 Declarations removed.
4150 (REINTERP_SS): Declarations added.
4151 (REINTERP_US): Likewise.
4152 (REINTERP_PS): Likewise.
4153 (REINTERP_SU): Likewise.
4154 (REINTERP_SP): Likewise.
4155 * config/aarch64/arm_neon.h (vreinterpret_p8_f64): Implemented.
4156 (vreinterpretq_p8_f64): Likewise.
4157 (vreinterpret_p16_f64): Likewise.
4158 (vreinterpretq_p16_f64): Likewise.
4159 (vreinterpret_f32_f64): Likewise.
4160 (vreinterpretq_f32_f64): Likewise.
4161 (vreinterpret_f64_f32): Likewise.
4162 (vreinterpret_f64_p8): Likewise.
4163 (vreinterpret_f64_p16): Likewise.
4164 (vreinterpret_f64_s8): Likewise.
4165 (vreinterpret_f64_s16): Likewise.
4166 (vreinterpret_f64_s32): Likewise.
4167 (vreinterpret_f64_s64): Likewise.
4168 (vreinterpret_f64_u8): Likewise.
4169 (vreinterpret_f64_u16): Likewise.
4170 (vreinterpret_f64_u32): Likewise.
4171 (vreinterpret_f64_u64): Likewise.
4172 (vreinterpretq_f64_f32): Likewise.
4173 (vreinterpretq_f64_p8): Likewise.
4174 (vreinterpretq_f64_p16): Likewise.
4175 (vreinterpretq_f64_s8): Likewise.
4176 (vreinterpretq_f64_s16): Likewise.
4177 (vreinterpretq_f64_s32): Likewise.
4178 (vreinterpretq_f64_s64): Likewise.
4179 (vreinterpretq_f64_u8): Likewise.
4180 (vreinterpretq_f64_u16): Likewise.
4181 (vreinterpretq_f64_u32): Likewise.
4182 (vreinterpretq_f64_u64): Likewise.
4183 (vreinterpret_s64_f64): Likewise.
4184 (vreinterpretq_s64_f64): Likewise.
4185 (vreinterpret_u64_f64): Likewise.
4186 (vreinterpretq_u64_f64): Likewise.
4187 (vreinterpret_s8_f64): Likewise.
4188 (vreinterpretq_s8_f64): Likewise.
4189 (vreinterpret_s16_f64): Likewise.
4190 (vreinterpretq_s16_f64): Likewise.
4191 (vreinterpret_s32_f64): Likewise.
4192 (vreinterpretq_s32_f64): Likewise.
4193 (vreinterpret_u8_f64): Likewise.
4194 (vreinterpretq_u8_f64): Likewise.
4195 (vreinterpret_u16_f64): Likewise.
4196 (vreinterpretq_u16_f64): Likewise.
4197 (vreinterpret_u32_f64): Likewise.
4198 (vreinterpretq_u32_f64): Likewise.
4199
0bf3afc1
AV
42002014-04-22 Alex Velenko <Alex.Velenko@arm.com>
4201
4202 * config/aarch64/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed.
4203 * config/aarch64/aarch64/aarch64-simd-builtins.def (REINTERP): Removed.
4204 (vreinterpret_p8_s8): Likewise.
4205 * config/aarch64/aarch64/arm_neon.h (vreinterpret_p8_s8): Uses cast.
4206 (vreinterpret_p8_s16): Likewise.
4207 (vreinterpret_p8_s32): Likewise.
4208 (vreinterpret_p8_s64): Likewise.
4209 (vreinterpret_p8_f32): Likewise.
4210 (vreinterpret_p8_u8): Likewise.
4211 (vreinterpret_p8_u16): Likewise.
4212 (vreinterpret_p8_u32): Likewise.
4213 (vreinterpret_p8_u64): Likewise.
4214 (vreinterpret_p8_p16): Likewise.
4215 (vreinterpretq_p8_s8): Likewise.
4216 (vreinterpretq_p8_s16): Likewise.
4217 (vreinterpretq_p8_s32): Likewise.
4218 (vreinterpretq_p8_s64): Likewise.
4219 (vreinterpretq_p8_f32): Likewise.
4220 (vreinterpretq_p8_u8): Likewise.
4221 (vreinterpretq_p8_u16): Likewise.
4222 (vreinterpretq_p8_u32): Likewise.
4223 (vreinterpretq_p8_u64): Likewise.
4224 (vreinterpretq_p8_p16): Likewise.
4225 (vreinterpret_p16_s8): Likewise.
4226 (vreinterpret_p16_s16): Likewise.
4227 (vreinterpret_p16_s32): Likewise.
4228 (vreinterpret_p16_s64): Likewise.
4229 (vreinterpret_p16_f32): Likewise.
4230 (vreinterpret_p16_u8): Likewise.
4231 (vreinterpret_p16_u16): Likewise.
4232 (vreinterpret_p16_u32): Likewise.
4233 (vreinterpret_p16_u64): Likewise.
4234 (vreinterpret_p16_p8): Likewise.
4235 (vreinterpretq_p16_s8): Likewise.
4236 (vreinterpretq_p16_s16): Likewise.
4237 (vreinterpretq_p16_s32): Likewise.
4238 (vreinterpretq_p16_s64): Likewise.
4239 (vreinterpretq_p16_f32): Likewise.
4240 (vreinterpretq_p16_u8): Likewise.
4241 (vreinterpretq_p16_u16): Likewise.
4242 (vreinterpretq_p16_u32): Likewise.
4243 (vreinterpretq_p16_u64): Likewise.
4244 (vreinterpretq_p16_p8): Likewise.
4245 (vreinterpret_f32_s8): Likewise.
4246 (vreinterpret_f32_s16): Likewise.
4247 (vreinterpret_f32_s32): Likewise.
4248 (vreinterpret_f32_s64): Likewise.
4249 (vreinterpret_f32_u8): Likewise.
4250 (vreinterpret_f32_u16): Likewise.
4251 (vreinterpret_f32_u32): Likewise.
4252 (vreinterpret_f32_u64): Likewise.
4253 (vreinterpret_f32_p8): Likewise.
4254 (vreinterpret_f32_p16): Likewise.
4255 (vreinterpretq_f32_s8): Likewise.
4256 (vreinterpretq_f32_s16): Likewise.
4257 (vreinterpretq_f32_s32): Likewise.
4258 (vreinterpretq_f32_s64): Likewise.
4259 (vreinterpretq_f32_u8): Likewise.
4260 (vreinterpretq_f32_u16): Likewise.
4261 (vreinterpretq_f32_u32): Likewise.
4262 (vreinterpretq_f32_u64): Likewise.
4263 (vreinterpretq_f32_p8): Likewise.
4264 (vreinterpretq_f32_p16): Likewise.
4265 (vreinterpret_s64_s8): Likewise.
4266 (vreinterpret_s64_s16): Likewise.
4267 (vreinterpret_s64_s32): Likewise.
4268 (vreinterpret_s64_f32): Likewise.
4269 (vreinterpret_s64_u8): Likewise.
4270 (vreinterpret_s64_u16): Likewise.
4271 (vreinterpret_s64_u32): Likewise.
4272 (vreinterpret_s64_u64): Likewise.
4273 (vreinterpret_s64_p8): Likewise.
4274 (vreinterpret_s64_p16): Likewise.
4275 (vreinterpretq_s64_s8): Likewise.
4276 (vreinterpretq_s64_s16): Likewise.
4277 (vreinterpretq_s64_s32): Likewise.
4278 (vreinterpretq_s64_f32): Likewise.
4279 (vreinterpretq_s64_u8): Likewise.
4280 (vreinterpretq_s64_u16): Likewise.
4281 (vreinterpretq_s64_u32): Likewise.
4282 (vreinterpretq_s64_u64): Likewise.
4283 (vreinterpretq_s64_p8): Likewise.
4284 (vreinterpretq_s64_p16): Likewise.
4285 (vreinterpret_u64_s8): Likewise.
4286 (vreinterpret_u64_s16): Likewise.
4287 (vreinterpret_u64_s32): Likewise.
4288 (vreinterpret_u64_s64): Likewise.
4289 (vreinterpret_u64_f32): Likewise.
4290 (vreinterpret_u64_u8): Likewise.
4291 (vreinterpret_u64_u16): Likewise.
4292 (vreinterpret_u64_u32): Likewise.
4293 (vreinterpret_u64_p8): Likewise.
4294 (vreinterpret_u64_p16): Likewise.
4295 (vreinterpretq_u64_s8): Likewise.
4296 (vreinterpretq_u64_s16): Likewise.
4297 (vreinterpretq_u64_s32): Likewise.
4298 (vreinterpretq_u64_s64): Likewise.
4299 (vreinterpretq_u64_f32): Likewise.
4300 (vreinterpretq_u64_u8): Likewise.
4301 (vreinterpretq_u64_u16): Likewise.
4302 (vreinterpretq_u64_u32): Likewise.
4303 (vreinterpretq_u64_p8): Likewise.
4304 (vreinterpretq_u64_p16): Likewise.
4305 (vreinterpret_s8_s16): Likewise.
4306 (vreinterpret_s8_s32): Likewise.
4307 (vreinterpret_s8_s64): Likewise.
4308 (vreinterpret_s8_f32): Likewise.
4309 (vreinterpret_s8_u8): Likewise.
4310 (vreinterpret_s8_u16): Likewise.
4311 (vreinterpret_s8_u32): Likewise.
4312 (vreinterpret_s8_u64): Likewise.
4313 (vreinterpret_s8_p8): Likewise.
4314 (vreinterpret_s8_p16): Likewise.
4315 (vreinterpretq_s8_s16): Likewise.
4316 (vreinterpretq_s8_s32): Likewise.
4317 (vreinterpretq_s8_s64): Likewise.
4318 (vreinterpretq_s8_f32): Likewise.
4319 (vreinterpretq_s8_u8): Likewise.
4320 (vreinterpretq_s8_u16): Likewise.
4321 (vreinterpretq_s8_u32): Likewise.
4322 (vreinterpretq_s8_u64): Likewise.
4323 (vreinterpretq_s8_p8): Likewise.
4324 (vreinterpretq_s8_p16): Likewise.
4325 (vreinterpret_s16_s8): Likewise.
4326 (vreinterpret_s16_s32): Likewise.
4327 (vreinterpret_s16_s64): Likewise.
4328 (vreinterpret_s16_f32): Likewise.
4329 (vreinterpret_s16_u8): Likewise.
4330 (vreinterpret_s16_u16): Likewise.
4331 (vreinterpret_s16_u32): Likewise.
4332 (vreinterpret_s16_u64): Likewise.
4333 (vreinterpret_s16_p8): Likewise.
4334 (vreinterpret_s16_p16): Likewise.
4335 (vreinterpretq_s16_s8): Likewise.
4336 (vreinterpretq_s16_s32): Likewise.
4337 (vreinterpretq_s16_s64): Likewise.
4338 (vreinterpretq_s16_f32): Likewise.
4339 (vreinterpretq_s16_u8): Likewise.
4340 (vreinterpretq_s16_u16): Likewise.
4341 (vreinterpretq_s16_u32): Likewise.
4342 (vreinterpretq_s16_u64): Likewise.
4343 (vreinterpretq_s16_p8): Likewise.
4344 (vreinterpretq_s16_p16): Likewise.
4345 (vreinterpret_s32_s8): Likewise.
4346 (vreinterpret_s32_s16): Likewise.
4347 (vreinterpret_s32_s64): Likewise.
4348 (vreinterpret_s32_f32): Likewise.
4349 (vreinterpret_s32_u8): Likewise.
4350 (vreinterpret_s32_u16): Likewise.
4351 (vreinterpret_s32_u32): Likewise.
4352 (vreinterpret_s32_u64): Likewise.
4353 (vreinterpret_s32_p8): Likewise.
4354 (vreinterpret_s32_p16): Likewise.
4355 (vreinterpretq_s32_s8): Likewise.
4356 (vreinterpretq_s32_s16): Likewise.
4357 (vreinterpretq_s32_s64): Likewise.
4358 (vreinterpretq_s32_f32): Likewise.
4359 (vreinterpretq_s32_u8): Likewise.
4360 (vreinterpretq_s32_u16): Likewise.
4361 (vreinterpretq_s32_u32): Likewise.
4362 (vreinterpretq_s32_u64): Likewise.
4363 (vreinterpretq_s32_p8): Likewise.
4364 (vreinterpretq_s32_p16): Likewise.
4365 (vreinterpret_u8_s8): Likewise.
4366 (vreinterpret_u8_s16): Likewise.
4367 (vreinterpret_u8_s32): Likewise.
4368 (vreinterpret_u8_s64): Likewise.
4369 (vreinterpret_u8_f32): Likewise.
4370 (vreinterpret_u8_u16): Likewise.
4371 (vreinterpret_u8_u32): Likewise.
4372 (vreinterpret_u8_u64): Likewise.
4373 (vreinterpret_u8_p8): Likewise.
4374 (vreinterpret_u8_p16): Likewise.
4375 (vreinterpretq_u8_s8): Likewise.
4376 (vreinterpretq_u8_s16): Likewise.
4377 (vreinterpretq_u8_s32): Likewise.
4378 (vreinterpretq_u8_s64): Likewise.
4379 (vreinterpretq_u8_f32): Likewise.
4380 (vreinterpretq_u8_u16): Likewise.
4381 (vreinterpretq_u8_u32): Likewise.
4382 (vreinterpretq_u8_u64): Likewise.
4383 (vreinterpretq_u8_p8): Likewise.
4384 (vreinterpretq_u8_p16): Likewise.
4385 (vreinterpret_u16_s8): Likewise.
4386 (vreinterpret_u16_s16): Likewise.
4387 (vreinterpret_u16_s32): Likewise.
4388 (vreinterpret_u16_s64): Likewise.
4389 (vreinterpret_u16_f32): Likewise.
4390 (vreinterpret_u16_u8): Likewise.
4391 (vreinterpret_u16_u32): Likewise.
4392 (vreinterpret_u16_u64): Likewise.
4393 (vreinterpret_u16_p8): Likewise.
4394 (vreinterpret_u16_p16): Likewise.
4395 (vreinterpretq_u16_s8): Likewise.
4396 (vreinterpretq_u16_s16): Likewise.
4397 (vreinterpretq_u16_s32): Likewise.
4398 (vreinterpretq_u16_s64): Likewise.
4399 (vreinterpretq_u16_f32): Likewise.
4400 (vreinterpretq_u16_u8): Likewise.
4401 (vreinterpretq_u16_u32): Likewise.
4402 (vreinterpretq_u16_u64): Likewise.
4403 (vreinterpretq_u16_p8): Likewise.
4404 (vreinterpretq_u16_p16): Likewise.
4405 (vreinterpret_u32_s8): Likewise.
4406 (vreinterpret_u32_s16): Likewise.
4407 (vreinterpret_u32_s32): Likewise.
4408 (vreinterpret_u32_s64): Likewise.
4409 (vreinterpret_u32_f32): Likewise.
4410 (vreinterpret_u32_u8): Likewise.
4411 (vreinterpret_u32_u16): Likewise.
4412 (vreinterpret_u32_u64): Likewise.
4413 (vreinterpret_u32_p8): Likewise.
4414 (vreinterpret_u32_p16): Likewise.
4415 (vreinterpretq_u32_s8): Likewise.
4416 (vreinterpretq_u32_s16): Likewise.
4417 (vreinterpretq_u32_s32): Likewise.
4418 (vreinterpretq_u32_s64): Likewise.
4419 (vreinterpretq_u32_f32): Likewise.
4420 (vreinterpretq_u32_u8): Likewise.
4421 (vreinterpretq_u32_u16): Likewise.
4422 (vreinterpretq_u32_u64): Likewise.
4423 (vreinterpretq_u32_p8): Likewise.
4424 (vreinterpretq_u32_p16): Likewise.
4425
9551c7ec
AV
44262014-04-22 Alex Velenko <Alex.Velenko@arm.com>
4427
4428 * gcc/config/aarch64/aarch64-simd.md (aarch64_s<optab><mode>):
4429 Pattern extended.
b6db8af6 4430 * config/aarch64/aarch64-simd-builtins.def (sqneg): Iterator extended.
9551c7ec
AV
4431 (sqabs): Likewise.
4432 * config/aarch64/arm_neon.h (vqneg_s64): New intrinsic.
4433 (vqnegd_s64): Likewise.
4434 (vqabs_s64): Likewise.
4435 (vqabsd_s64): Likewise.
4436
f2a2c4b5
RH
44372014-04-22 Richard Henderson <rth@redhat.com>
4438
4439 * config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
4440 computation to the top of the loop.
4441
53e5ace2
RL
44422014-04-22 Renlin <renlin.li@arm.com>
4443 Jiong Wang <jiong.wang@arm.com>
4444
4445 * config/aarch64/aarch64.h (aarch64_frame): Delete "fp_lr_offset".
4446 * config/aarch64/aarch64.c (aarch64_layout_frame)
4447 (aarch64_initial_elimination_offset): Likewise.
4448
78c29983
MS
44492014-04-22 Marcus Shawcroft <marcus.shawcroft@arm.com>
4450
4451 * config/aarch64/aarch64.c (aarch64_initial_elimination_offset):
4452 Fix indentation.
4453
dbf23a79
RS
44542014-04-22 Richard Sandiford <rdsandiford@googlemail.com>
4455
4456 * machmode.h (bitwise_mode_for_mode): Declare.
4457 * stor-layout.h (bitwise_type_for_mode): Likewise.
4458 * stor-layout.c (bitwise_mode_for_mode): New function.
4459 (bitwise_type_for_mode): Likewise.
4460 * builtins.c (fold_builtin_memory_op): Use it instead of
4461 int_mode_for_mode and build_nonstandard_integer_type.
4462
d9f069ab
RO
44632014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4464
4465 * config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
4466 (*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
4467 (*-*-solaris2*): Simplify.
4468 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
4469 (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
4470 *-*-solaris2.9* handling.
4471
4472 * configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
4473 as bug.
4474 (gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
4475 (ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
4476 handling, simplify.
4477 (gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
4478 * configure: Regenerate.
4479
4480 * config/i386/sol2-9.h: Remove.
4481
4482 * doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
4483 (Specific, *-*-solaris2*): Mention Solaris 9 support removal.
4484 Remove Solaris 9 references.
4485
0d35c5c2
VP
44862014-04-22 Vidya Praveen <vidyapraveen@arm.com>
4487
4488 * aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
4489 (floatuns<GPI:mode><GPF:mode>2): Remove.
4490 (<optab><fcvt_target><GPF:mode>2): New pattern for equal width float
4491 and floatuns conversions.
4492 (<optab><fcvt_iesize><GPF:mode>2): New pattern for inequal width float
4493 and floatuns conversions.
4494 * iterators.md (fcvt_target, FCVT_TARGET): Support SF and DF modes.
4495 (w1,w2): New mode attributes for inequal width conversions.
4496
16a3246f
RL
44972014-04-22 Renlin Li <Renlin.Li@arm.com>
4498
4499 * config/aarch64/aarch64.c (aarch64_print_operand_address): Adjust
4500 the output asm format.
4501
110e1ccc
JG
45022014-04-22 James Greenhalgh <james.greenhalgh@arm.com>
4503
4504 * config/aarch64/aarch64-simd.md
4505 (aarch64_cm<optab>di): Always split.
4506 (*aarch64_cm<optab>di): New.
4507 (aarch64_cmtstdi): Always split.
4508 (*aarch64_cmtstdi): New.
4509
2044a4c3
JJ
45102014-04-22 Jakub Jelinek <jakub@redhat.com>
4511
4512 PR tree-optimization/60823
4513 * omp-low.c (ipa_simd_modify_function_body): Go through
4514 all SSA_NAMEs and for those refering to vector arguments
4515 which are going to be replaced adjust SSA_NAME_VAR and,
4516 if it is a default definition, change it into a non-default
4517 definition assigned at the beginning of function from new_decl.
4518 (ipa_simd_modify_stmt_ops): Rewritten.
4519 * tree-dfa.c (set_ssa_default_def): When removing default def,
4520 check for NULL loc instead of NULL *loc.
4521
9d8b4d1c
RR
45222014-04-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4523
4524 * config/arm/arm.c (arm_hard_regno_mode_ok): Loosen
4525 restrictions on core registers for DImode values in Thumb2.
4526
a01be1ae
IB
45272014-04-22 Ian Bolton <ian.bolton@arm.com>
4528
4529 * config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
4530 * config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
4531
80d3417b
IB
45322014-04-22 Ian Bolton <ian.bolton@arm.com>
4533
4534 * config/arm/thumb2.md (*iordi_notdi_di): New pattern.
4535 (*iordi_notzesidi_di): Likewise.
4536 (*iordi_notsesidi_di): Likewise.
4537
46fbb3eb
IB
45382014-04-22 Ian Bolton <ian.bolton@arm.com>
4539
4540 * config/arm/arm-protos.h (tune_params): New struct members.
4541 * config/arm/arm.c: Initialise tune_params per processor.
4542 (thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
4543 for speed, based on new tune_params.
4544
74dc11ed
AV
45452014-04-22 Alex Velenko <Alex.Velenko@arm.com>
4546
b6db8af6
UB
4547 * config/aarch64/aarch64-builtins.c (BUILTIN_VDQF_DF): Macro added.
4548 * config/aarch64/aarch64-simd-builtins.def (frintn): Use added macro.
4549 * config/aarch64/aarch64-simd.md (<frint_pattern>): Comment corrected.
74dc11ed
AV
4550 * config/aarch64/aarch64.md (<frint_pattern>): Likewise.
4551 * config/aarch64/arm_neon.h (vrnd_f64): Added.
4552 (vrnda_f64): Likewise.
4553 (vrndi_f64): Likewise.
4554 (vrndm_f64): Likewise.
4555 (vrndn_f64): Likewise.
4556 (vrndp_f64): Likewise.
4557 (vrndx_f64): Likewise.
4558
35923e46
ZC
45592014-04-22 Zhenqiang Chen <zhenqiang.chen@linaro.org>
4560
4561 * config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
4562 GET_MODE_SIZE argument is enum machine_mode.
4563
4552e70c
JJ
45642014-04-22 Jakub Jelinek <jakub@redhat.com>
4565
4566 PR target/60910
4567 * config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
4568 value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.
4569
e5dcd695
LZ
45702014-04-22 Lin Zuojian <manjian2006@gmail.com>
4571
4572 PR middle-end/60281
4573 * asan.c (asan_emit_stack_protection): Force the base to align to
4574 appropriate bits if STRICT_ALIGNMENT. Set shadow_mem align to
4575 appropriate bits if STRICT_ALIGNMENT.
4576 * cfgexpand.c (expand_stack_vars): Set base_align appropriately
4577 when asan is on.
4578 (expand_used_vars): Leave a space in the stack frame for alignment
4579 if STRICT_ALIGNMENT.
4580
7455080c
DM
45812014-04-21 David Malcolm <dmalcolm@redhat.com>
4582
4583 * gimple.h (gimple_assign_single_p): Accept a const_gimple rather
4584 than a gimple.
4585 (gimple_store_p): Likewise.
4586 (gimple_assign_load_p): Likewise.
4587 (gimple_assign_cast_p): Likewise.
4588 (gimple_clobber_p): Likewise.
4589
4590 * doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
4591 rather than a gimple.
4592 (gimple_assign_cast_p): Likewise.
4593
aeb9579a
MM
45942014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
4595
4596 PR target/60735
4597 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
4598 If mode is DDmode and TARGET_E500_DOUBLE allow move.
4599
4600 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
4601 more debug information for E500 if -mdebug=reg.
4602
b15d92bf
UB
46032014-04-21 Uros Bizjak <ubizjak@gmail.com>
4604
4605 PR target/60909
4606 * config/i386/i386.c (ix86_expand_builtin)
4607 <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
4608 register for target RTX.
4609 <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
4610
d367387c
CH
46112014-04-18 Cong Hou <congh@google.com>
4612
4613 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
b15d92bf
UB
4614 the widen-mult pattern by handling two operands with different sizes,
4615 and operands whose size is smaller than half of the result type.
d367387c 4616
b6d627e4
JH
46172014-04-18 Jan Hubicka <hubicka@ucw.cz>
4618
4619 * ipa-inline.h (INLINE_HINT_known_hot): New hint.
4620 * ipa-inline-analysis.c (dump_inline_hints): Dump it.
4621 (do_estimate_edge_time): Compute it.
4622 * ipa-inline.c (want_inline_small_function_p): Bypass
b15d92bf 4623 INLINE_INSNS_AUTO/SINGLE limits for calls that are known to be hot.
b6d627e4 4624
e86a910f
JH
46252014-04-18 Jan Hubicka <hubicka@ucw.cz>
4626
4627 * ipa-inline.c (spec_rem): New static variable.
4628 (dump_overall_stats): New function.
4629 (dump_inline_stats): New function.
4630
8a3a7e67
RH
46312014-04-18 Richard Henderson <rth@redhat.com>
4632
4633 * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
4634 to GET_MODE_SIZE, not a reg_class_t.
4635
ed79f4d0
BS
46362014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4637
b15d92bf 4638 * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for little-endian.
ed79f4d0
BS
4639 (vsx_xxmrglw_<mode>): Likewise.
4640
fe799eea
MM
46412014-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
4642
4643 PR target/60876
4644 * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
b15d92bf 4645 GET_MODE_SIZE gets passed an enum machine_mode type and not integer.
fe799eea
MM
4646 (rs6000_init_hard_regno_mode_ok): Likewise.
4647
5e750dc6
JH
46482014-04-17 Jan Hubicka <hubicka@ucw.cz>
4649
4650 * ipa-inline.c (inline_small_functions): Account only non-cold
4651 functions.
4652 * doc/invoke.texi (inline-unit-growth): Update documentation.
4653
32337f10
PH
46542014-04-17 Pat Haugen <pthaugen@us.ibm.com>
4655
4656 * config/rs6000/rs6000.md (addti3, subti3): New.
4657
40ed344a
L
46582014-04-17 H.J. Lu <hongjiu.lu@intel.com>
4659
4660 PR target/60863
4661 * config/i386/i386.c (ix86_expand_clear): Remove outdated
4662 comment. Check optimize_insn_for_size_p instead of
4663 optimize_insn_for_speed_p.
4664
104cb50b
MJ
46652014-04-17 Martin Jambor <mjambor@suse.cz>
4666
4667 * gimple-iterator.c (gsi_start_edge): New function.
4668 * gimple-iterator.h (gsi_start_edge): Declare.
4669 * tree-sra.c (single_non_eh_succ): New function.
4670 (disqualify_ops_if_throwing_stmt): Renamed to
4671 disqualify_if_bad_bb_terminating_stmt. Allow throwing statements
4672 having one non-EH successor BB.
4673 (sra_modify_expr): If stmt ends bb, use single non-EH successor to
4674 generate loads into replacements.
4675 (sra_modify_assign): Likewise and and also use the simple path for
4676 such statements.
4677 (sra_modify_function_body): Commit statements on edges.
4678
b94970bc
RB
46792014-04-17 Richard Biener <rguenther@suse.de>
4680
4681 PR middle-end/60849
4682 * tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
4683 comparison results and add clarifying comment.
4684
92f0f3ec
JJ
46852014-04-17 Jakub Jelinek <jakub@redhat.com>
4686
4687 * genmodes.c (struct mode_data): Add need_bytesize_adj field.
4688 (blank_mode): Initialize it.
4689 (emit_mode_size_inline, emit_mode_nunits_inline,
4690 emit_mode_inner_inline): New functions.
4691 (emit_insn_modes_h): Call them and surround their output with
4692 #if GCC_VERSION >= 4001 ... #endif.
4693 * machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
4694 For GCC_VERSION >= 4001 use mode_*_inline routines instead of
4695 mode_* arrays if the argument is __builtin_constant_p.
4696 * lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
4697 is enum machine_mode.
4698
be55bfe6
TS
46992014-04-17 Trevor Saunders <tsaunders@mozilla.com>
4700
4701 * passes.c (opt_pass::execute): Adjust.
4702 (pass_manager::execute_pass_mode_switching): Likewise.
4703 (early_local_passes::execute): Likewise.
4704 (execute_one_pass): Pass cfun to the pass's execute method.
4705 * tree-pass.h (opt_pass::execute): Add function * argument.
4706 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
4707 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
4708 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
4709 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
4710 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
4711 config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
4712 except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
4713 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
4714 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
4715 ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
4716 ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
4717 lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
4718 postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
4719 reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
4720 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
4721 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
4722 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
4723 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.c,
4724 tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
4725 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
4726 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
4727 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
4728 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
4729 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
4730 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
4731 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
4732 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
4733 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
4734 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
4735 Adjust.
4736
1a3d085c
TS
47372014-04-17 Trevor Saunders <tsaunders@mozilla.com>
4738
4739 * passes.c (opt_pass::gate): Take function * argument.
4740 (gate_all_early_local_passes): Merge into
4741 (early_local_passes::gate): this.
4742 (gate_all_early_optimizations): Merge into
4743 (all_early_optimizations::gate): this.
4744 (gate_all_optimizations): Mege into
4745 (all_optimizations::gate): this.
4746 (gate_all_optimizations_g): Merge into
4747 (all_optimizations_g::gate): this.
4748 (gate_rest_of_compilation): Mege into
4749 (rest_of_compilation::gate): this.
4750 (gate_postreload): Merge into
4751 (postreload::gate): this.
4752 (dump_one_pass): Pass cfun to the pass's gate method.
4753 (execute_ipa_summary_passes): Likewise.
4754 (execute_one_pass): Likewise.
4755 (ipa_write_summaries_2): Likewise.
4756 (ipa_write_optimization_summaries_1): Likewise.
4757 (ipa_read_summaries_1): Likewise.
4758 (ipa_read_optimization_summaries_1): Likewise.
4759 (execute_ipa_stmt_fixups): Likewise.
4760 * tree-pass.h (opt_pass::gate): Add function * argument.
4761 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
4762 combine-stack-adj.c, combine.c, compare-elim.c,
4763 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
4764 config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
4765 config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
4766 dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c, fwprop.c, gcse.c,
4767 gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
4768 graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
4769 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
4770 loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
4771 omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
4772 reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
4773 store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
4774 tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
4775 tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
4776 tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
4777 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
4778 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
4779 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
4780 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
4781 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
4782 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
4783 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
4784 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
4785 tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
4786 tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
4787 var-tracking.c, vtable-verify.c, web.c: Adjust.
4788
45887209
TS
47892014-04-17 Trevor Saunders <tsaunders@mozilla.com>
4790
4791 * configure.ac: Check for -Woverloaded-virtual and enable it if found.
4792 * configure: Regenerate.
4793
0481253d 47942014-04-17 Trevor Saunders <tsaunders@mozilla.com>
b15d92bf 4795
0481253d
TS
4796 * passes.c (dump_one_pass): don't check pass->has_gate.
4797 (execute_ipa_summary_passes): Likewise.
4798 (execute_one_pass): Likewise.
4799 (ipa_write_summaries_2): Likewise.
4800 (ipa_write_optimization_summaries_1): Likewise.
4801 (ipa_read_optimization_summaries_1): Likewise.
4802 (execute_ipa_stmt_fixups): Likewise.
4803 * tree-pass.h (pass_data::has_gate): Remove.
4804 * asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
4805 cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
4806 compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
4807 config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
4808 config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
4809 config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
4810 config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
4811 dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
4812 gimple-low.c, gimple-ssa-isolate-paths.c,
4813 gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
4814 ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
4815 ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
4816 ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
4817 modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
4818 recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
4819 reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
4820 trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
4821 tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
4822 tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
4823 tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
4824 tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
4825 tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
4826 tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
4827 tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
4828 tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
4829 tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
4830 tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
4831 tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
4832 tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
4833 tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
4834 tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
4835 Adjust.
4836
a23c217d
TS
48372014-04-17 Trevor Saunders <tsaunders@mozilla.com>
4838
b15d92bf
UB
4839 * pass_manager.h (pass_manager::register_dump_files_1): Remove
4840 declaration.
a23c217d
TS
4841 * passes.c (pass_manager::register_dump_files_1): Merge into
4842 (pass_manager::register_dump_files): this, and remove its handling of
4843 properties since the pass always has the properties anyway.
4844 (pass_manager::pass_manager): Adjust.
4845
0cd11b40
TS
48462014-04-17 Trevor Saunders <tsaunders@mozilla.com>
4847
4848 * pass_manager.h (pass_manager::register_dump_files_1): Adjust.
4849 * passes.c (pass_manager::register_dump_files_1): Remove dead code
4850 dealing with properties.
4851 (pass_manager::register_dump_files): Adjust.
4852
79896351
MW
48532014-03-20 Mark Wielaard <mjw@redhat.com>
4854
4855 * dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
4856 then represent the bound as normal constant value.
4857
5a65129e
JJ
48582014-04-17 Jakub Jelinek <jakub@redhat.com>
4859
4860 PR target/60847
4861 Forward port from 4.8 branch
4862 2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
4863
4864 * config/i386/bmiintrin.h (_blsi_u32): New.
4865 (_blsi_u64): Ditto.
4866 (_blsr_u32): Ditto.
4867 (_blsr_u64): Ditto.
4868 (_blsmsk_u32): Ditto.
4869 (_blsmsk_u64): Ditto.
4870 (_tzcnt_u32): Ditto.
4871 (_tzcnt_u64): Ditto.
4872
59b266b1
KC
48732014-04-17 Kito Cheng <kito@0xlab.org>
4874
4875 * gcc.c (used_arg): Prevent out of bound access for multilib_options.
4876
83ad208e
RB
48772014-04-17 Richard Biener <rguenther@suse.de>
4878
4879 PR middle-end/60849
4880 * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
4881 boolean results for comparisons.
4882
730e78b0
RB
48832014-04-17 Richard Biener <rguenther@suse.de>
4884
4885 PR tree-optimization/60836
4886 * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
4887 initial PHI args to be gimple values.
4888
1428105c
RB
48892014-04-17 Richard Biener <rguenther@suse.de>
4890
4891 PR tree-optimization/60841
4892 * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
4893 * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
4894 of stmts to SLP build.
4895 * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
4896 (vect_analyze_slp): Likewise.
4897 (vect_analyze_slp_instance): Likewise.
4898 (vect_build_slp_tree): Limit overall SLP tree growth.
4899 * tree-vectorizer.h (vect_analyze_data_refs,
4900 vect_analyze_slp): Adjust prototypes.
4901
170c1776
ES
49022014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
4903
4904 * config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
4905 Silvermont.
4906
a4ef7f3e
ES
49072014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
4908
4909 * config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
4910 * config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
4911 * config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
4912 for TARGET_SLOW_PSHUFB
4913
cf055f6e
ES
49142014-04-17 Evgeny Stupachenko <evstupac@gmail.com>
4915
4916 * config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
4917 * config/i386/i386.c (intel_cost): Ditto.
4918
eeee2277
JY
49192014-04-17 Joey Ye <joey.ye@arm.com>
4920
4921 * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
4922
1c58fe29
JH
49232014-04-16 Jan Hubicka <hubicka@ucw.cz>
4924
4925 * opts.c (common_handle_option): Disable -fipa-reference coorectly
4926 with -fuse-profile.
4927
2d1644bf
JH
49282014-04-16 Jan Hubicka <hubicka@ucw.cz>
4929
4930 * ipa-devirt.c (odr_type_d): Add field all_derivations_known.
4931 (type_all_derivations_known_p): New predicate.
4932 (type_all_ctors_visible_p): New predicate.
4933 (type_possibly_instantiated_p): New predicate.
4934 (get_odr_type): Compute all_derivations_known.
4935 (dump_odr_type): Dump the flag.
4936 (maybe_record_type): Cleanup.
4937 (record_target_from_binfo): Add bases_to_consider array;
4938 record bases for types w/o instances and skip CXX destructor.
4939 (possible_polymorphic_call_targets_1): Add bases_to_consider
b15d92bf 4940 and consider_construction parameters; check if type may have instance.
2d1644bf
JH
4941 (get_polymorphic_call_info): Set maybe_in_construction to true
4942 when we know nothing.
4943 (record_targets_from_bases): Skip CXX destructors; they are
4944 never called for types in construction.
4945 (possible_polymorphic_call_targets): Do not record target when
4946 type may not have instance.
4947
789c2741
JH
49482014-04-16 Jan Hubicka <hubicka@ucw.cz>
4949
4950 PR ipa/60854
4951 * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
4952 external aliases alive, too.
4953
9950a4f2
AP
49542014-04-16 Andrew Pinski <apinski@cavium.com>
4955
4956 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
b15d92bf 4957 definition.
9950a4f2 4958
82b9c015
EB
49592014-04-16 Eric Botcazou <ebotcazou@adacore.com>
4960
4961 * final.c (compute_alignments): Do not apply loop alignment to a block
4962 falling through to the exit.
4963
d2dfaca3
CM
49642014-04-16 Catherine Moore <clm@codesourcery.com>
4965
4966 * mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
4967 Adjust constraints for microMIPS store patterns.
4968
10353a79
PS
49692014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
4970
4971 * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
4972
61c7fb30
EB
49732014-04-16 Eric Botcazou <ebotcazou@adacore.com>
4974
4975 * tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
4976 (append_use): Run at -O0.
4977 (append_vdef): Likewise.
4978 * tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
4979 * tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
4980
42fae17c
JJ
49812014-04-16 Jakub Jelinek <jakub@redhat.com>
4982
4983 PR tree-optimization/60844
4984 * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
4985 (propagate_op_to_single_use, remove_visited_stmt_chain,
4986 linearize_expr, repropagate_negates, reassociate_bb): Use it
4987 instead of gsi_remove.
4988
ca860d03
MJ
49892014-04-16 Martin Jambor <mjambor@suse.cz>
4990
4991 * cgraphclones.c (cgraph_create_virtual_clone): Duplicate
4992 ipa_transforms_to_apply.
4993 (cgraph_function_versioning): Assert that old_node has empty
4994 ipa_transforms_to_apply.
4995 * trans-mem.c (ipa_tm_create_version): Likewise.
4996 * tree-inline.c (tree_function_versioning): Do not duplicate
4997 ipa_transforms_to_apply.
4998
fe4e71e4
RO
49992014-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5000
5001 PR target/60817
5002 * configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
5003 x86_64-*-* cases.
5004 Pass necessary as flags on 64-bit Solaris/x86.
5005 Use lowercase relocs for x86_64-*-*.
5006 * configure: Regenerate.
5007
ccb05ef2
JH
50082014-04-15 Jan Hubicka <jh@suse.cz>
5009
5010 * ipa-devirt.c (referenced_from_vtable_p): New predicate.
5011 (maybe_record_node, likely_target_p): Use it.
5012
dfe449d1
BS
50132014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5014
5015 PR target/60839
5016 Revert following patch
5017
5018 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
5019
5020 PR target/60735
5021 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
5022 software floating point or no floating point registers, do not
5023 allow any type in the FPRs. Eliminate a test for SPE SIMD types
5024 in GPRs that occurs after we tested for GPRs that would never be
5025 true.
5026
5027 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
5028 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
5029 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
5030 specifically allow DDmode, since that does not use the SPE SIMD
5031 instructions.
5032
25dce5c6
MW
50332014-03-21 Mark Wielaard <mjw@redhat.com>
5034
5035 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
5036 as unsigned or int depending on type and value used.
5037
8d3c076f
RB
50382014-04-15 Richard Biener <rguenther@suse.de>
5039
5040 PR rtl-optimization/56965
5041 * alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
5042 * tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
5043 ... here.
5044 * alias.c (true_dependence_1): Do not call
5045 nonoverlapping_component_refs_p.
5046 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
5047 nonoverlapping_component_refs_p.
5048 (indirect_refs_may_alias_p): Likewise.
5049
d00e4baa
TJ
50502014-04-15 Teresa Johnson <tejohnson@google.com>
5051
5052 * cfg.c (dump_bb_info): Fix flags check.
5053 * tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
5054
98a2fdfb
KT
50552014-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5056
5057 PR rtl-optimization/60663
5058 * config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
5059 avoid 0 cost.
5060
b9ed2c2c
RB
50612014-04-15 Richard Biener <rguenther@suse.de>
5062
5063 * lto-streamer.h (LTO_major_version): Bump to 4.
5064
783dab6b
RB
50652014-04-15 Richard Biener <rguenther@suse.de>
5066
5067 * common.opt (lto_partition_model): New enum.
5068 (flto-partition=): Merge separate options with a single with argument,
5069 add -flto-partition=one support.
5070 * flag-types.h (enum lto_partition_model): Declare.
5071 * opts.c (finish_options): Remove duplicate -flto-partition=
5072 option check.
5073 * lto-wrapper.c (run_gcc): Adjust.
5074
d8e4ce6d
RB
50752014-04-15 Richard Biener <rguenther@suse.de>
5076
5077 * alias.c (ncr_compar): New function.
5078 (nonoverlapping_component_refs_p): Re-implement in O (n log n).
5079
1999fd7d
RB
50802014-04-15 Richard Biener <rguenther@suse.de>
5081
5082 * alias.c (record_component_aliases): Do not walk BINFOs.
5083
628169e0
RB
50842014-04-15 Richard Biener <rguenther@suse.de>
5085
5086 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
5087 Add struct function argument and adjust.
5088 (find_func_aliases_for_call): Likewise.
5089 (find_func_aliases): Likewise.
5090 (find_func_clobbers): Likewise.
5091 (intra_create_variable_infos): Likewise.
5092 (compute_points_to_sets): Likewise.
5093 (ipa_pta_execute): Adjust. Do not push/pop cfun.
5094
349e6210
RB
50952014-04-15 Richard Biener <rguenther@suse.de>
5096
5097 * tree.c (iterative_hash_expr): Use enum tree_code_class
5098 to store TREE_CODE_CLASS.
5099 (tree_block): Likewise.
5100 (tree_set_block): Likewise.
5101 * tree.h (fold_build_pointer_plus_loc): Use
5102 convert_to_ptrofftype_loc.
5103
4f0ddb6f
JJ
51042014-04-15 Jakub Jelinek <jakub@redhat.com>
5105
5106 PR plugins/59335
5107 * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
5108 added in 4.9.
5109
718c4601
EB
51102014-04-15 Eric Botcazou <ebotcazou@adacore.com>
5111
5112 * cfgloop.h (struct loop): Move force_vectorize down.
5113 * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds.
5114 (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak.
5115 * lto-streamer-in.c (input_cfg): Read dont_vectorize field.
5116 * lto-streamer-out.c (output_cfg): Write dont_vectorize field.
5117 * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds.
5118 * tree-core.h (enum annot_expr_kind): Add new kind values.
5119 * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder.
5120 * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new
5121 kinds.
5122 * tree.def (ANNOTATE_EXPR): Tweak comment.
5123
88f592e3
JH
51242014-04-14 Jan Hubicka <hubicka@ucw.cz>
5125
5126 * ipa-devirt.c (maybe_record_node): Ignore all non-methods (including
5127 cxa_pure_virtual).
5128
9dba4b55
PC
51292014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
5130
5131 * tree.h (TYPE_IDENTIFIER): Declare.
5132 * tree.c (subrange_type_for_debug_p): Use it.
5133 * godump.c (go_format_type): Likewise.
5134 * dwarf2out.c (is_cxx_auto, modified_type_die,
5135 gen_type_die_with_usage, gen_type_die_with_usage): Likewise.
5136 * dbxout.c (dbxout_type, dbxout_symbol): Likewise.
5137
006202e8
JH
51382014-04-14 Jan Hubicka <hubicka@ucw.cz>
5139
5140 PR lto/60820
5141 * varpool.c (varpool_remove_node): Do not alter decls when streaming.
5142
e0a81db1
UB
51432014-04-14 Uros Bizjak <ubizjak@gmail.com>
5144
5145 * config/i386/i386.c (examine_argument): Return bool. Return true if
5146 parameter should be passed in memory.
5147 <case X86_64_COMPLEX_X87_CLASS>: Adjust.
5148 (construct_container): Update calls to examine_argument.
5149 (function_arg_advance_64): Ditto.
5150 (return_in_memory_32): Merge with ix86_return_in_memory.
5151 (return_in_memory_64): Ditto.
5152 (return_in_memory_ms_64): Ditto.
5153
cb90235d
JH
51542014-04-14 Jan Hubicka <hubicka@ucw.cz>
5155
5156 * ipa-utils.c (ipa_merge_profiles): Merge profile_id.
5157 * coverage.c (coverage_compute_profile_id): Handle externally visible
5158 symbols.
5159
7b3b340e
MJ
51602014-04-14 Martin Jambor <mjambor@suse.cz>
5161
5162 * tree-sra.c (ipa_sra_preliminary_function_checks): Skip
5163 DECL_DISREGARD_INLINE_LIMITS functions.
5164
2ed3b4ee
L
51652014-04-14 H.J. Lu <hongjiu.lu@intel.com>
5166
5167 PR target/60827
e0a81db1 5168 * config/i386/i386.md (*fixuns_trunc<mode>_1): Revert the last change.
2ed3b4ee 5169
10fa463f
L
51702014-04-14 H.J. Lu <hongjiu.lu@intel.com>
5171
5172 PR target/60827
5173 * config/i386/i386.md (*fixuns_trunc<mode>_1): Check
5174 optimize_insn_for_speed_p instead of
5175 optimize_function_for_speed_p.
5176
b621e875
YZ
51772014-04-14 Yufeng Zhang <yufeng.zhang@arm.com>
5178
5179 * doc/invoke.texi (free): Document AArch64.
5180
cddaefa3
RB
51812014-04-14 Richard Biener <rguenther@suse.de>
5182
5183 PR tree-optimization/60042
5184 * tree-ssa-pre.c (inhibit_phi_insertion): Remove.
5185 (insert_into_preds_of_block): Do not prevent PHI insertion
5186 for REFERENCE exprs here ...
5187 (eliminate_dom_walker::before_dom_children): ... but prevent
5188 their use here under similar conditions when applied to the
5189 IL after PRE optimizations.
5190
a9e4c82f
RB
51912014-04-14 Richard Biener <rguenther@suse.de>
5192
5193 * passes.def: Move early points-to after early SRA.
5194
7b4cae1b
RB
51952014-04-14 Richard Biener <rguenther@suse.de>
5196
5197 * tree-ssa-forwprop.c (simplify_gimple_switch): Enhance
5198 check for which sign-changes we allow when forwarding
5199 a converted value into a switch.
5200
cb27986c
EB
52012014-04-14 Eric Botcazou <ebotcazou@adacore.com>
5202
5203 * stor-layout.c (place_field): Finalize non-constant offset for the
5204 field, if any.
5205
72798784
RB
52062014-04-14 Richard Biener <rguenther@suse.de>
5207
5208 * tree-switch-conversion.c (lshift_cheap_p): Get speed_p
5209 as argument.
5210 (expand_switch_using_bit_tests_p): Likewise.
5211 (process_switch): Compute and pass on speed_p based on the
5212 switch stmt.
5213 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
5214 optimize_bb_for_speed_p.
5215
b15b5979
EB
52162014-04-14 Eric Botcazou <ebotcazou@adacore.com>
5217
5218 * cfgloop.h (struct loop): Rename force_vect into force_vectorize.
5219 * function.h (struct function): Rename has_force_vect_loops into
5220 has_force_vectorize_loops.
5221 * lto-streamer-in.c (input_cfg): Adjust for renaming.
5222 (input_struct_function_base): Likewise.
5223 * lto-streamer-out.c (output_cfg): Likewise.
5224 (output_struct_function_base): Likewise.
5225 * omp-low.c (expand_omp_simd): Likewise.
5226 * tree-cfg.c (move_sese_region_to_fn): Likewise.
5227 * tree-if-conv.c (ifcvt_can_use_mask_load_store): Likewise.
5228 (version_loop_for_if_conversion): Likewise.
5229 (tree_if_conversion): Likewise.
5230 (main_tree_if_conversion): Likewise.
5231 (gate_tree_if_conversion): Likewise.
5232 * tree-inline.c (copy_loops): Likewise.
5233 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely_1): Likewise.
5234 * tree-ssa-loop.c (tree_loop_vectorize): Likewise.
5235 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
5236 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Likewise.
5237 * tree-vectorizer.c (vectorize_loops): Likewise.
5238 * tree-vectorizer.h (unlimited_cost_model): Likewise.
5239
8359c87e
RB
52402014-04-14 Richard Biener <rguenther@suse.de>
5241
5242 PR lto/60720
5243 * lto-streamer-out.c (wrap_refs): New function.
5244 (lto_output): Wrap symbol references in global initializes in
5245 type-preserving MEM_REFs.
5246
9447df74
CB
52472014-04-14 Christian Bruel <christian.bruel@st.com>
5248
b15d92bf 5249 * config/sh/sh-mem.cc (sh_expand_strlen): Unroll last word.
9447df74 5250
fa1aecc1
CB
52512014-04-14 Christian Bruel <christian.bruel@st.com>
5252
5253 * config/sh/sh.md (setmemqi): New expand pattern.
5254 * config/sh/sh.h (CLEAR_RATIO): Define.
5255 * config/sh/sh-mem.cc (sh_expand_setmem): Define.
5256 * config/sh/sh-protos.h (sh_expand_setmem): Declare.
5257
a3c77ce9
RB
52582014-04-14 Richard Biener <rguenther@suse.de>
5259
5260 PR middle-end/55022
5261 * fold-const.c (negate_expr_p): Don't negate directional rounding
5262 division.
5263 (fold_negate_expr): Likewise.
5264
033aa406
RB
52652014-04-14 Richard Biener <rguenther@suse.de>
5266
5267 PR tree-optimization/59817
5268 PR tree-optimization/60453
5269 * graphite-scop-detection.c (graphite_can_represent_scev): Complete
5270 recursion to catch all CHRECs in the scalar evolution and restrict
5271 the predicate for the remains appropriately.
5272
5e7d8b4c
RS
52732014-04-12 Catherine Moore <clm@codesourcery.com>
5274
5275 * config/mips/constraints.md: Add new register constraint "kb".
5276 * config/mips/mips.md (*mov<mode>_internal): Use constraint "kb".
5277 (*movhi_internal): Likewise.
5278 (*movqi_internal): Likewise.
5279 * config/mips/mips.h (M16_STORE_REGS): New register class.
5280 (REG_CLASS_NAMES): Add M16_STORE_REGS.
5281 (REG_CLASS_CONTENTS): Likewise.
5282 * config/mips/mips.c (mips_regno_to_class): Add M16_STORE_REGS.
5283
cbbd2b1c
TB
52842014-04-11 Tobias Burnus <burnus@net-b.de>
5285
5286 PR c/60194
5287 * doc/invoke.texi (-Wformat-signedness): Document it.
5288 (Wformat=2): Mention that this enables -Wformat-signedness.
5289
d9bb5800
JR
52902014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
5291
5292 * common/config/epiphany/epiphany-common.c
5293 (epiphany_option_optimization_table): Enable section anchors by
5294 default at -O1 or higher.
5295 * config/epiphany/epiphany.c (TARGET_MAX_ANCHOR_OFFSET): Define.
5296 (TARGET_MIN_ANCHOR_OFFSET): Likewise.
5297 (epiphany_rtx_costs) <SET>: For binary operators, the set as such
5298 carries no extra cost.
5299 (epiphany_legitimate_address_p): For BLKmode, apply SImode check.
5300 * config/epiphany/epiphany.h (ASM_OUTPUT_DEF): Define.
5301 * config/epiphany/predicates.md (memclob_operand): New predicate.
5302 * config/epiphany/epiphany.md (stack_adjust_add, stack_adjust_str):
5303 Use memclob_operand predicate and X constraint for operand 3.
5304
b5d0ecea
JR
53052014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
5306
5307 * config/epiphany/epiphany.c (epiphany_rtx_cost): Compare
5308 with CC_N_NE / CC_C_LTU / CC_C_GTU carries no extra cost for
5309 its operands.
5310
473fd99a
JR
53112014-04-11 Joern Rennecke <joern.rennecke@embecosm.com>
5312
5313 PR rtl-optimization/60651
5314 * mode-switching.c (optimize_mode_switching): Make sure to emit
5315 sets of a lower numbered entity before sets of a higher numbered
5316 entity to a mode of the same or lower priority.
5317 When creating a seginfo for a basic block that starts with a code
5318 label, move the insertion point past the code label.
5319 (new_seginfo): Document and enforce requirement that
5320 NOTE_INSN_BASIC_BLOCK only appears for empty blocks.
5321 * doc/tm.texi.in: Document ordering constraint for emitted mode sets.
5322 * doc/tm.texi: Regenerate.
5323
6ace1161
JR
53242014-01-11 Joern Rennecke <joern.rennecke@embecosm.com>
5325
5326 PR target/60811
5327 * config/arc/arc.c (arc_save_restore): Fix assert typo.
5328
89eb97de
JJ
53292013-04-11 Jakub Jelinek <jakub@redhat.com>
5330
6602e7fc 5331 * BASE-VER: Set to 4.10.0.
89eb97de 5332
9d0c7214
TB
53332014-04-11 Tobias Burnus <burnus@net-b.de>
5334
5335 PR other/59055
e0a81db1 5336 * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
9d0c7214
TB
5337 * doc/gcc.texi (Service): Update description in the @menu
5338 * doc/invoke.texi (Option Summary): Remove misplaced and
5339 duplicated @menu.
5340
3662b277
SE
53412014-04-11 Steve Ellcey <sellcey@mips.com>
5342 Jakub Jelinek <jakub@redhat.com>
5343
5344 PR middle-end/60556
5345 * expr.c (convert_move): Use emit_store_flag_force instead of
5346 emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
5347 argument to it.
5348
8330537b
RB
53492014-04-11 Richard Biener <rguenther@suse.de>
5350
5351 PR middle-end/60797
5352 * varasm.c (assemble_alias): Avoid endless error reporting
5353 recursion by setting TREE_ASM_WRITTEN.
5354
3c91f126
AK
53552014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5356
5357 * config/s390/s390.md: Add a splitter for NOT rtx.
5358
d8d6ea53
JJ
53592014-04-11 Jakub Jelinek <jakub@redhat.com>
5360
5361 PR rtl-optimization/60663
e0a81db1 5362 * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
d8d6ea53 5363
fa5866c0
JJ
53642014-04-10 Jan Hubicka <hubicka@ucw.cz>
5365 Jakub Jelinek <jakub@redhat.com>
073afca6 5366
fa5866c0 5367 PR lto/60567
e0a81db1
UB
5368 * ipa.c (function_and_variable_visibility): Copy forced_by_abi
5369 flag from decl_node to node.
073afca6 5370
b322c36a
RR
53712014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5372
5373 PR debug/60655
5374 * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
5375 (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
5376 ameliorating the cases where it can be.
5377
8267f6bb
DE
53782014-04-09 David Edelsohn <dje.gcc@gmail.com>
5379
5380 Revert
5381 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
5382
5383 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
5384 (loadsync_<mode>): Change mode.
5385 (load_quadpti, store_quadpti): New.
5386 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
5387 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
5388 * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
5389
5d1a5a53
CH
53902014-04-09 Cong Hou <congh@google.com>
5391
5392 PR testsuite/60773
5393 * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
5394 documentation.
5395
da90fa4c
BS
53962014-04-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5397
5398 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
5399 instead of vnor to exploit possible fusion opportunity in the
5400 future.
5401 (altivec_expand_vec_perm_const_le): Likewise.
5402
98e6ecab
PH
54032014-04-08 Pat Haugen <pthaugen@us.ibm.com>
5404
5405 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
5406 (loadsync_<mode>): Change mode.
5407 (load_quadpti, store_quadpti): New.
5408 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
5409 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
5410
8418cf33
RS
54112014-04-08 Richard Sandiford <rdsandiford@googlemail.com>
5412
5413 PR target/60763
5414 * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
5415 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
5416 Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
5417
3fa68ccb
RB
54182014-04-08 Richard Biener <rguenther@suse.de>
5419
5420 PR middle-end/60706
5421 * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
5422 a 64bit widest int print double-int similar to on HWI64 hosts.
5423
9038ae48
RB
54242014-04-08 Richard Biener <rguenther@suse.de>
5425
5426 PR tree-optimization/60785
5427 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
5428 default defs properly.
5429
38f09da3
NS
54302014-04-08 Nathan Sidwell <nathan@codesourcery.com>
5431
5432 * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
5433 (Weffc++): Likewise.
5434
0439a947
JH
54352014-04-07 Jan Hubicka <hubcika@ucw.cz>
5436
5437 * ipa-devirt.c (maybe_record_node): When node is not recorded,
5438 set completep to false rather than true.
5439
3f2f838e
EB
54402014-04-07 Douglas B Rupp <rupp@adacore.com>
5441
5442 PR target/60504
5443 * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
5444 ARM_TARGET2_DWARF_FORMAT.
5445
e75c1617
CB
54462014-04-07 Charles Baylis <charles.baylis@linaro.org>
5447
5448 PR target/60609
5449 * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
5450 (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
5451 ADDR_DIFF_VEC.
5452
d6adff07
RB
54532014-04-07 Richard Biener <rguenther@suse.de>
5454
5455 PR tree-optimization/60766
3f2f838e
EB
5456 * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
5457 (may_eliminate_iv): Convert cand_value_at result to desired type.
d6adff07 5458
da34ade5
JM
54592014-04-07 Jason Merrill <jason@redhat.com>
5460
5461 PR c++/60731
5462 * common.opt (-fno-gnu-unique): Add.
5463 * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
5464
151e9aac
KT
54652014-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5466
5467 * haifa-sched.c: Fix outdated function reference and minor
5468 grammar errors in introductory comment.
5469
308173e3
RB
54702014-04-07 Richard Biener <rguenther@suse.de>
5471
5472 PR middle-end/60750
5473 * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
5474 for noreturn calls.
5475 * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
5476
a9a302d9
JDA
54772014-04-06 John David Anglin <danglin@gcc.gnu.org>
5478
5479 PR debug/55794
5480 * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
5481 size accounting for thunks.
5482 (pa_asm_output_mi_thunk): Use final_start_function() and
5483 final_end_function() to output function start and end directives.
5484
576ba35c
PS
54852014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
5486
e0a81db1
UB
5487 * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
5488 device specific ISA/ feature information. Remove short_sp and
5489 errata_skip ds. Add avr_device_specific_features enum to have device
5490 specific info.
576ba35c
PS
5491 * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
5492 errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
5493 * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
5494 updated device specific info.
5495 * config/avr/avr-mcus.def: Merge device specific details to
5496 dev_attribute field.
5497 * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
5498 errata_skip.
5499 * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
5500 * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
5501 assembler if RMW isa supported by current device.
5502 * config/avr/genmultilib.awk: Update as device info structure changed.
5503 * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
5504
ebc047a2
CH
55052014-04-04 Cong Hou <congh@google.com>
5506
5507 PR tree-optimization/60656
5508 * tree-vect-stmts.c (supportable_widening_operation):
5509 Fix a bug that elements in a vector with vect_used_by_reduction
5510 property are incorrectly reordered when the operation on it is not
5511 consistant with the one in reduction operation.
5512
b6808818
JDA
55132014-04-04 John David Anglin <danglin@gcc.gnu.org>
5514
5515 PR rtl-optimization/60155
5516 * gcse.c (record_set_data): New function.
5517 (single_set_gcse): New function.
5518 (gcse_emit_move_after): Use single_set_gcse instead of single_set.
5519 (hoist_code): Likewise.
5520 (get_pressure_class_and_nregs): Likewise.
5521
eabcc725
EB
55222014-04-04 Eric Botcazou <ebotcazou@adacore.com>
5523
5524 * explow.c (probe_stack_range): Emit a final optimization blockage.
5525
e005b753
AG
55262014-04-04 Anthony Green <green@moxielogic.com>
5527
5528 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
5529 typos.
5530
8fe91ca8
JH
55312014-04-04 Jan Hubicka <hubicka@ucw.cz>
5532
5533 PR ipa/59626
5534 * lto-cgraph.c (input_overwrite_node): Check that partitioning
5535 flags are set only during streaming.
5536 * ipa.c (process_references, walk_polymorphic_call_targets,
5537 symtab_remove_unreachable_nodes): Drop bodies of always inline
5538 after early inlining.
5539 (symtab_remove_unreachable_nodes): Remove always_inline attribute.
576ba35c 5540
88d94632
RR
55412014-04-04 Jakub Jelinek <jakub@redhat.com>
5542 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5543
5544 PR debug/60655
5545 * dwarf2out.c (const_ok_for_output_1): Reject expressions
5546 containing a NOT.
5547
094bc219
KT
55482014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5549
5550 PR bootstrap/60743
5551 * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
5552 duration.
5553 (cortex_a53_fdivd): Likewise.
5554
610c8ef0
MJ
55552014-04-04 Martin Jambor <mjambor@suse.cz>
5556
5557 PR ipa/60640
b15d92bf
UB
5558 * cgraph.h (cgraph_clone_node): New parameter added to declaration.
5559 Adjust all callers.
610c8ef0
MJ
5560 * cgraph.c (clone_of_p): Also return true if thunks match.
5561 (verify_edge_corresponds_to_fndecl): Removed extraneous call to
5562 cgraph_function_or_thunk_node and an obsolete comment.
b15d92bf
UB
5563 * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
5564 file.
5565 (build_function_decl_skip_args): Likewise.
610c8ef0 5566 (set_new_clone_decl_and_node_flags): New function.
b15d92bf
UB
5567 (duplicate_thunk_for_node): Likewise.
5568 (redirect_edge_duplicating_thunks): Likewise.
5569 (cgraph_clone_node): New parameter args_to_skip, pass it to
5570 redirect_edge_duplicating_thunks which is called instead of
5571 cgraph_redirect_edge_callee.
5572 (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
610c8ef0
MJ
5573 moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
5574
fc02bcca
JL
55752014-04-04 Jeff Law <law@redhat.com>
5576
57ef133b 5577 PR target/60657
fc02bcca
JL
5578 * config/arm/predicates.md (const_int_I_operand): New predicate.
5579 (const_int_M_operand): Similarly.
5580 * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
5581 const_int_operand.
5582 (insv_t2, extv_reg, extzv_t2): Likewise.
5583 (load_multiple_with_writeback): Similarly for const_int_I_operand.
5584 (pop_multiple_with_writeback_and_return): Likewise.
5585 (vfp_pop_multiple_with_writeback): Likewise
5586
45b62594
RB
55872014-04-04 Richard Biener <rguenther@suse.de>
5588
5589 PR ipa/60746
5590 * tree-ssanames.c (make_ssa_name_fn): Fix assert.
5591 * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
5592 non-GIMPLE_LABELs.
5593 * gimplify.h (gimple_add_tmp_var_fn): Declare.
5594 * gimplify.c (gimple_add_tmp_var_fn): New function.
5595 * gimple-expr.h (create_tmp_reg_fn): Declare.
5596 * gimple-expr.c (create_tmp_reg_fn): New function.
5597 * gimple-low.c (record_vars_into): Don't change cfun.
5598 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
5599 code generation without cfun.
5600
bb609c35
TS
56012014-04-04 Thomas Schwinge <thomas@codesourcery.com>
5602
5603 PR bootstrap/60719
5604 * Makefile.in (install-driver): Fix shell scripting.
5605
090cd8dc
CH
56062014-04-03 Cong Hou <congh@google.com>
5607
5608 PR tree-optimization/60505
5609 * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
e0a81db1
UB
5610 threshold of number of iterations below which no vectorization
5611 will be done.
090cd8dc
CH
5612 * tree-vect-loop.c (new_loop_vec_info):
5613 Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
5614 * tree-vect-loop.c (vect_analyze_loop_operations):
5615 Set LOOP_VINFO_COST_MODEL_THRESHOLD.
5616 * tree-vect-loop.c (vect_transform_loop):
5617 Use LOOP_VINFO_COST_MODEL_THRESHOLD.
5618 * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
5619 of iterations of the loop and see if we should build the epilogue.
5620
bdc67fd6
RB
56212014-04-03 Richard Biener <rguenther@suse.de>
5622
e0a81db1 5623 * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
bdc67fd6
RB
5624 (streamer_tree_cache_create): Adjust.
5625 * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
5626 to allow optional nodes array.
5627 (streamer_tree_cache_insert_1): Use next_idx to assign idx.
5628 (streamer_tree_cache_append): Likewise.
5629 (streamer_tree_cache_create): Create nodes array optionally
5630 as specified by parameter.
5631 * lto-streamer-out.c (create_output_block): Avoid maintaining
5632 the node array in the writer cache.
5633 (DFS_write_tree): Remove assertion.
e0a81db1 5634 (produce_asm_for_decls): Free the out decl state hash table early.
bdc67fd6
RB
5635 * lto-streamer-in.c (lto_data_in_create): Adjust for
5636 streamer_tree_cache_create prototype change.
5637
a0daf659
RB
56382014-04-03 Richard Biener <rguenther@suse.de>
5639
5640 * tree-streamer-out.c (streamer_write_chain): Do not temporarily
5641 set TREE_CHAIN to NULL_TREE.
5642
f16c88d2
RB
56432014-04-03 Richard Biener <rguenther@suse.de>
5644
5645 PR tree-optimization/60740
5646 * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
5647 over all GIMPLE_COND operands.
5648
880a467b
NS
56492014-04-03 Nathan Sidwell <nathan@codesourcery.com>
5650
5651 * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
5652 (Weffc++): Remove Scott's numbering, merge lists and reference
5653 Wnon-virtual-dtor.
5654
08866760
NC
56552014-04-03 Nick Clifton <nickc@redhat.com>
5656
5657 * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
5658 properly.
5659
5bed50e8
MJ
56602014-04-03 Martin Jambor <mjambor@suse.cz>
5661
5662 * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
5663 mention gcc_unreachable before failing.
5664 * ipa.c (symtab_remove_unreachable_nodes): Also print order of
5665 removed symbols.
5666
3e86c6a8
JH
56672014-04-02 Jan Hubicka <hubicka@ucw.cz>
5668
5669 PR ipa/60659
e0a81db1
UB
5670 * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
5671 inconsistent code and instead mark the context inconsistent.
3e86c6a8
JH
5672 (possible_polymorphic_call_targets): For inconsistent contexts
5673 return empty complete list.
5674
2b9912aa
AG
56752014-04-02 Anthony Green <green@moxielogic.com>
5676
5677 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
5678 (extendqisi2, extendhisi2): Define.
5679 * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
5680 (WCHAR_TYPE): Change to unsigned int.
5681
1e386bb8
BS
56822014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5683
5684 PR tree-optimization/60733
5685 * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
5686 insertion point for PHI candidates to be the end of the feeding
5687 block for the PHI argument.
5688
f4581282
VM
56892014-04-02 Vladimir Makarov <vmakarov@redhat.com>
5690
5691 PR rtl-optimization/60650
5692 * lra-constraints.c (process_alt_operands): Decrease reject for
5693 earlyclobber matching.
5694
a9d46e32
AK
56952014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5696
5697 * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
5698
7c40228a
UW
56992014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5700
5701 * config/spu/spu.c (pad_bb): Do not crash when the last
5702 insn is CODE_FOR_blockage.
5703
c6596193
UW
57042014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5705
5706 * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
5707 lies outside the target mode.
5708
690c229f
MM
57092014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
5710
5711 PR target/60735
5712 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
5713 software floating point or no floating point registers, do not
5714 allow any type in the FPRs. Eliminate a test for SPE SIMD types
5715 in GPRs that occurs after we tested for GPRs that would never be
5716 true.
5717
5718 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
5719 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
5720 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
5721 specifically allow DDmode, since that does not use the SPE SIMD
5722 instructions.
5723
dad16761
RB
57242014-04-02 Richard Biener <rguenther@suse.de>
5725
5726 PR middle-end/60729
5727 * optabs.c (expand_abs_nojump): Honor flag_trapv only for
5728 MODE_INTs. Properly use negv_optab.
5729 (expand_abs): Likewise.
5730
a1ce39be
RB
57312014-04-02 Richard Biener <rguenther@suse.de>
5732
5733 PR bootstrap/60719
5734 * Makefile.in (install-driver): Guard extra installs with special
5735 names properly.
5736
6fb619e4
MM
57372014-04-01 Michael Meissner <meissner@linux.vnet.ibm.com>
5738
5739 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
5740 Document vec_vgbbd.
5741
2a1ffd6d
RH
57422014-04-01 Richard Henderson <rth@redhat.com>
5743
5744 PR target/60704
5745 * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
5746 alternative enabled before register allocation.
5747
98e8dd4d
CLT
57482014-04-01 Chung-Lin Tang <cltang@codesourcery.com>
5749
5750 * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
5751 * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
5752 typo.
5753 (nios2_large_got_address): Remove unneeded 'sym' parameter.
5754 (nios2_got_address): Update nios2_large_got_address call site.
5755 (nios2_delegitimize_address): New function.
5756 (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
5757 * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
5758 (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
5759
8785c60a
MH
57602014-04-01 Martin Husemann <martin@duskware.de>
5761
5762 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
5763 for -mabi=32.
5764
3343cf6a
RS
57652014-04-01 Richard Sandiford <rdsandiford@googlemail.com>
5766
5767 PR rtl-optimization/60604
5768 * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
5769 check from register_operand.
5770 (register_operand): Redefine in terms of general_operand.
5771 (nonmemory_operand): Use register_operand for the non-constant cases.
5772
1503cb6b
RB
57732014-04-01 Richard Biener <rguenther@suse.de>
5774
e0a81db1 5775 * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
1503cb6b 5776
cded08ea
SH
57772014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
5778
5779 * doc/invoke.texi (mapp-regs): Clarify.
5780
7d9088c2
UD
57812014-03-31 Ulrich Drepper <drepper@gmail.com>
5782
5783 * config/i386/avx512fintrin.h (__v32hi): Define type.
5784 (__v64qi): Likewise.
5785 (_mm512_set1_epi8): Define.
5786 (_mm512_set1_epi16): Define.
5787 (_mm512_set4_epi32): Define.
5788 (_mm512_set4_epi64): Define.
5789 (_mm512_set4_pd): Define.
5790 (_mm512_set4_ps): Define.
5791 (_mm512_setr4_epi64): Define.
5792 (_mm512_setr4_epi32): Define.
5793 (_mm512_setr4_pd): Define.
5794 (_mm512_setr4_ps): Define.
5795 (_mm512_setzero_epi32): Define.
5796
c18ff8a4
MJ
57972014-03-31 Martin Jambor <mjambor@suse.cz>
5798
5799 PR middle-end/60647
5800 * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
5801 callsite_arguments_match_p. Updated all callers. Also check types of
5802 corresponding formal parameters and actual arguments.
5803 (not_all_callers_have_enough_arguments_p) Renamed to
5804 some_callers_have_mismatched_arguments_p.
5805
9a96d5b7
YR
58062014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com>
5807
5808 * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
5809
6c031d8d
KV
58102014-03-31 Kugan Vivekanandarajah <kuganv@linaro.org>
5811
5812 PR target/60034
5813 * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
5814 section anchor.
5815
429749e2
UB
58162014-03-30 Uros Bizjak <ubizjak@gmail.com>
5817
5818 * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
5819 (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
5820 Split out
5821 <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
5822 Use FMAMODE_NOVF512 mode iterator.
5823 (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
5824 (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
5825 (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
5826 (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
5827 Split out
5828 <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
5829 Use VF_128_256 mode iterator.
5830 (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
5831 Ditto.
5832
1f91035f
JH
58332014-03-28 Jan Hubicka <hubicka@ucw.cz>
5834
5835 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
5836 static chain if needed.
5837
6e071b1e
VM
58382014-03-28 Vladimir Makarov <vmakarov@redhat.com>
5839
5840 PR target/60697
5841 * lra-constraints.c (index_part_to_reg): New.
5842 (process_address): Use it.
5843
e7f31789 58442014-03-27 Jeff Law <law@redhat.com>
4bb66ef3 5845 Jakub Jelinek <jakub@redhat.com>
e7f31789
JL
5846
5847 PR target/60648
4bb66ef3
JJ
5848 * expr.c (do_tablejump): Use simplify_gen_binary rather than
5849 gen_rtx_{PLUS,MULT} to build up the address expression.
e7f31789 5850
4bb66ef3
JJ
5851 * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
5852 creating non-canonical RTL.
e7f31789 5853
4cd8957f
JH
58542014-03-28 Jan Hubicka <hubicka@ucw.cz>
5855
5856 PR ipa/60243
5857 * ipa-inline.c (want_inline_small_function_p): Short circuit large
5858 functions; reorganize to make cheap checks first.
5859 (inline_small_functions): Do not estimate growth when dumping;
5860 it is expensive.
5861 * ipa-inline.h (inline_summary): Add min_size.
5862 (growth_likely_positive): New function.
5863 * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
5864 (set_cond_stmt_execution_predicate): Cleanup.
5865 (estimate_edge_size_and_time): Compute min_size.
5866 (estimate_calls_size_and_time): Likewise.
5867 (estimate_node_size_and_time): Likewise.
5868 (inline_update_overall_summary): Update min_size.
5869 (do_estimate_edge_time): Likewise.
5870 (do_estimate_edge_size): Update.
5871 (do_estimate_edge_hints): Update.
5872 (growth_likely_positive): New function.
5873
ff76f4e2
JJ
58742014-03-28 Jakub Jelinek <jakub@redhat.com>
5875
5876 PR target/60693
5877 * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
5878 also if addr has VOIDmode.
5879
ed6eb6dc
KT
58802014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5881
5882 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
5883 * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
5884 Declare extern.
5885 * config/arm/cortex-a53.md: Add reservations and bypass for crypto
5886 instructions as well as AdvancedSIMD loads.
5887
b10baa95
KT
58882014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5889
5890 * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
5891 Use crypto_aese type.
5892 (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
5893 * config/arm/arm.md (is_neon_type): Replace crypto_aes with
5894 crypto_aese, crypto_aesmc. Move to types.md.
5895 * config/arm/types.md (crypto_aes): Split into crypto_aese,
5896 crypto_aesmc.
5897 * config/arm/iterators.md (crypto_type): Likewise.
5898
23a04216
JH
58992014-03-28 Jan Hubicka <hubicka@ucw.cz>
5900
5901 * cgraph.c: Include expr.h and tree-dfa.h.
429749e2
UB
5902 (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
5903 remove LHS.
23a04216 5904
a4971e68
VM
59052014-03-28 Vladimir Makarov <vmakarov@redhat.com>
5906
5907 PR target/60675
5908 * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
5909 regs from checking multi-reg pseudos.
5910
7ac84c02
RR
59112014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5912
5913 * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
5914
bd302a18
UW
59152014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5916
5917 * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
5918 if it would clobber the stack pointer, even temporarily.
5919
cee9defb
EB
59202014-03-28 Eric Botcazou <ebotcazou@adacore.com>
5921
5922 * mode-switching.c: Make small adjustments to the top comment.
5923
117f16fb
MM
59242014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
5925
5926 * config/rs6000/constraints.md (wD constraint): New constraint to
5927 match the constant integer to get the top DImode/DFmode out of a
5928 vector in a VSX register.
5929
5930 * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
5931 match the constant integer to get the top DImode/DFmode out of a
5932 vector in a VSX register.
5933
5934 * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
5935 for ISA 2.07.
5936
5937 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
5938 vbpermq builtins.
5939
5940 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
5941 -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
5942
5943 * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
5944 Optimize vec_extract of 64-bit values, where the value being
5945 extracted is in the top word, where we can use scalar
5946 instructions. Add direct move and store support. Combine the big
429749e2 5947 endian/little endian vector select load support into a single insn.
117f16fb
MM
5948 (vsx_extract_<mode>_internal1): Likewise.
5949 (vsx_extract_<mode>_internal2): Likewise.
5950 (vsx_extract_<mode>_load): Likewise.
5951 (vsx_extract_<mode>_store): Likewise.
5952 (vsx_extract_<mode>_zero): Delete, big and little endian insns are
5953 combined into vsx_extract_<mode>_load.
5954 (vsx_extract_<mode>_one_le): Likewise.
5955
5956 * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
5957 define the top 64-bit vector element.
5958
5959 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
5960 constraint.
5961
6788164b
MM
5962 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
5963 Document vec_vbpermq builtin.
5964
117f16fb
MM
5965 PR target/60672
5966 * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
5967 enable use of xxsldwi and xxpermdi builtin functions.
5968 (vec_xxpermdi): Likewise.
5969
5970 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
5971 Document use of vec_xxsldwi and vec_xxpermdi builtins.
5972
9e038952
VM
59732014-03-27 Vladimir Makarov <vmakarov@redhat.com>
5974
5975 PR rtl-optimization/60650
f4581282 5976 * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
9e038952
VM
5977 first_p. Use it.
5978 (find_spills_for): New.
5979 (assign_by_spills): Pass the new parameter to find_hard_regno_for.
5980 Spill all pseudos on the second iteration.
5981
324dc401
MP
59822014-03-27 Marek Polacek <polacek@redhat.com>
5983
5984 PR c/50347
5985 * doc/extend.texi (ffs Builtins): Change unsigned types to signed
5986 types.
5987
6e77facf
AK
59882014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5989
5990 * config/s390/s390.c (s390_can_use_return_insn): Check for
5991 call-saved FPRs on 31 bit.
5992
47519a14
JJ
59932014-03-27 Jakub Jelinek <jakub@redhat.com>
5994
5995 PR middle-end/60682
5996 * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
5997 if they need regimplification, just drop them instead of
5998 calling gimple_regimplify_operands on them.
5999
0b7f8166
MS
60002014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
6001
6002 PR target/60580
6003 * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
6004 (aarch64_frame_pointer_required): Adjust logic.
6005 (aarch64_can_eliminate): Adjust logic.
6006 (aarch64_override_options_after_change): Adjust logic.
6007
2f2a7d15
DC
60082014-03-27 Dehao Chen <dehao@google.com>
6009
6010 * ipa-inline.c (early_inliner): Update node's inline info.
6011
a0dbf285
DC
60122014-03-26 Dehao Chen <dehao@google.com>
6013
6014 * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
6015 compiler inserted conditional jumps for NAN float check.
6016
ed0ca1e1
JJ
60172014-03-26 Jakub Jelinek <jakub@redhat.com>
6018
07d72e1d
JJ
6019 * ubsan.h (ubsan_create_data): Change second argument's type
6020 to const location_t *.
6021 * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
6022 _("<unknown>").
6023 (ubsan_create_data): Change second argument to const location_t *PLOC.
6024 Create Loc field whenever PLOC is non-NULL.
6025 (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
6026 ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
6027 callers.
6028
ed0ca1e1
JJ
6029 PR other/59545
6030 * real.c (real_to_integer2): Change type of low to UHWI.
6031
b9487dd8
TB
60322014-03-26 Tobias Burnus <burnus@net-b.de>
6033
6034 * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
6035 (CILK_SELF_SPECS): New define.
6036 (driver_self_specs): Use it.
6037
3a2700f6
RB
60382014-03-26 Richard Biener <rguenther@suse.de>
6039
6040 * tree-pretty-print.c (percent_K_format): Implement special
6041 case for LTO and its stripped down BLOCK tree.
6042
368b454d
JJ
60432014-03-26 Jakub Jelinek <jakub@redhat.com>
6044
aa6b742f
JJ
6045 PR sanitizer/60636
6046 * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
6047
368b454d
JJ
6048 * tree-vrp.c (simplify_internal_call_using_ranges): If only
6049 one range is range_int_cst_p, but not both, at least optimize
6050 addition/subtraction of 0 and multiplication by 0 or 1.
6051 * gimple-fold.c (gimple_fold_call): Fold
6052 IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
6053 (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
6054 INTEGER_CSTs, try to fold at least x * 0 and y - y.
6055
c7e30a96
EB
60562014-03-26 Eric Botcazou <ebotcazou@adacore.com>
6057
6058 PR rtl-optimization/60452
6059 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
6060 <case REG>: Return 1 for invalid offsets from the frame pointer.
6061
d615d763
MP
60622014-03-26 Marek Polacek <polacek@redhat.com>
6063
6064 PR c/37428
6065 * doc/extend.texi (C Extensions): Mention variable-length arrays in
6066 a structure/union.
6067
1b226529
MP
60682014-03-26 Marek Polacek <polacek@redhat.com>
6069
6070 PR c/39525
6071 * doc/extend.texi (Designated Inits): Describe what happens to omitted
6072 field members.
6073
6686e0bc
MP
60742014-03-26 Marek Polacek <polacek@redhat.com>
6075
6076 PR other/59545
6077 * ira-color.c (update_conflict_hard_regno_costs): Perform the
6078 multiplication in unsigned type.
6079
d4fbc3ae
CJW
60802014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
6081
6082 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
6083
dfa6c87b
CJW
60842014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
6085
6086 * doc/contrib.texi: Add myself as Andes nds32 port contributor.
6087
9de6f6c3
JH
60882014-03-25 Jan Hubicka <hubicka@ucw.cz>
6089
6090 PR ipa/60315
6091 * cif-code.def (UNREACHABLE) New code.
429749e2
UB
6092 * ipa-inline.c (inline_small_functions): Skip edges to
6093 __builtlin_unreachable.
9de6f6c3
JH
6094 (estimate_edge_growth): Allow edges to __builtlin_unreachable.
6095 * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
6096 predicate to __bulitin_unreachable.
429749e2
UB
6097 (set_cond_stmt_execution_predicate): Fix issue when
6098 invert_tree_comparison returns ERROR_MARK.
9de6f6c3
JH
6099 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
6100 propagate to inline clones.
6101 * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
6102 to unreachable.
6103 * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
6104 * cgraphclones.c (cgraph_clone_node): If call destination is already
6105 ureachable, do not redirect it back.
6106 * tree-inline.c (fold_marked_statements): Hanlde calls becoming
6107 unreachable.
6108
d7636f56
JH
61092014-03-25 Jan Hubicka <hubicka@ucw.cz>
6110
6111 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
6112 Do not modify inline clones.
6113
d1873c57
JJ
61142014-03-25 Jakub Jelinek <jakub@redhat.com>
6115
6116 * config/i386/i386.md (general_sext_operand): New mode attr.
6117 (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
6118 don't generate (sign_extend (const_int)).
6119 (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
429749e2
UB
6120 operands[2]. Use We constraint instead of <i> and
6121 <general_sext_operand> predicate instead of <general_operand>.
d1873c57
JJ
6122 (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
6123 * config/i386/constraints.md (We): New constraint.
6124 * config/i386/predicates.md (x86_64_sext_operand,
6125 sext_operand): New predicates.
6126
b5165eb0
MJ
61272014-03-25 Martin Jambor <mjambor@suse.cz>
6128
6129 PR ipa/60600
6130 * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
6131 inconsistent devirtualizations to __builtin_unreachable.
6132
3102858d
MP
61332014-03-25 Marek Polacek <polacek@redhat.com>
6134
6135 PR c/35449
6136 * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
6137
4b1e108c
AL
61382014-03-25 Alan Lawrence <alan.lawrence@arm.com>
6139
6140 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
6141 order of elements for big-endian.
6142
40b0722f
RB
61432014-03-25 Richard Biener <rguenther@suse.de>
6144
6145 PR middle-end/60635
6146 * gimplify-me.c (gimple_regimplify_operands): Update the
6147 re-gimplifed stmt.
6148
4a5798de
MJ
61492014-03-25 Martin Jambor <mjambor@suse.cz>
6150
6151 PR ipa/59176
6152 * lto-cgraph.c (lto_output_node): Stream body_removed flag.
6153 (lto_output_varpool_node): Likewise.
6154 (input_overwrite_node): Likewise.
6155 (input_varpool_node): Likewise.
6156
585d0088
RB
61572014-03-25 Richard Biener <rguenther@suse.de>
6158
429749e2 6159 * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
585d0088
RB
6160 (run_gcc): Likewise.
6161
a8acccdd
JJ
61622014-03-25 Jakub Jelinek <jakub@redhat.com>
6163
51ee05d0
JJ
6164 * combine.c (simplify_compare_const): Add MODE argument.
6165 Handle mode_width 0 as very large mode_width.
6166 (try_combine, simplify_comparison): Adjust callers.
6167
a8acccdd
JJ
6168 * cselib.c (cselib_hash_rtx): Perform addition in unsigned
6169 type to avoid signed integer overflow.
6170 * explow.c (plus_constant): Likewise.
6171
57fc74a4
DV
61722014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
6173
6174 * doc/generic.texi: Correct typos.
6175
09f15d1b
TB
61762014-03-24 Tobias Burnus <burnus@net-b.de>
6177
6178 * doc/invoke.texi (-flto): Expand section about
6179 using static libraries with LTO.
6180
72a4ddf2
AK
61812014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6182
6183 PR rtl-optimization/60501
6184 * optabs.def (addptr3_optab): New optab.
6185 * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
6186 * doc/md.texi ("addptrm3"): Document new RTL standard expander.
6187 * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
6188
6189 * lra.c (emit_add3_insn): Use the addptr pattern if available.
6190
6191 * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
6192
0b192937
UD
61932014-03-24 Ulrich Drepper <drepper@gmail.com>
6194
2b2384e8
UD
6195 * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
6196 _mm512_set1_pd.
6197
0b192937
UD
6198 * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
6199 (_mm256_undefined_ps): Define.
6200 (_mm256_undefined_pd): Define.
6201 * config/i386/emmintrin.h (_mm_undefined_si128): Define.
6202 (_mm_undefined_pd): Define.
6203 * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
6204 * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
6205 (_mm512_undefined_ps): Define.
6206 (_mm512_undefined_pd): Define.
6207 Use _mm*_undefined_*.
6208 * config/i386/avx2intrin.h: Use _mm*_undefined_*.
6209
252c7556
AV
62102014-03-24 Alex Velenko <Alex.Velenko@arm.com>
6211
6212 * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
6213 (lshr_simd): DI mode added.
6214 * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
6215 (aarch64_ushr_simddi): Likewise.
6216 * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
6217 * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
6218 (vshrd_n_u64): Likewise.
6219
15e3d4f1
RO
62202014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6221
6222 * Makefile.in (s-macro_list): Depend on cc1.
6223
1858c2d3
TJ
62242014-03-23 Teresa Johnson <tejohnson@google.com>
6225
6226 * ipa-utils.c (ipa_print_order): Use specified dump file.
6227
f87604f8
EB
62282014-03-23 Eric Botcazou <ebotcazou@adacore.com>
6229
6230 PR rtl-optimization/60601
6231 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
6232
6233 * gcc.c (eval_spec_function): Initialize save_growing_value.
6234
3db31fd1
JJ
62352014-03-22 Jakub Jelinek <jakub@redhat.com>
6236
f451d3a8
JJ
6237 PR sanitizer/60613
6238 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
6239 code == MINUS_EXPR, never swap op0 with op1.
6240
3db31fd1
JJ
6241 * toplev.c (init_local_tick): Avoid signed integer multiplication
6242 overflow.
6243 * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
6244 shift by first operand's bitsize.
6245
e49080ec
JJ
62462014-03-21 Jakub Jelinek <jakub@redhat.com>
6247
6248 PR target/60610
6249 * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
6250 redefine to 1 or 0.
6251 * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
6252 TARGET_ISA_64BIT_P(x).
6253
44eb6c40
BS
62542014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6255
6256 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
6257 pattern for vector nor instead of subtract from splat(-1).
6258 (altivec_expand_vec_perm_const_le): Likewise.
6259
ec6f831a
RH
62602014-03-21 Richard Henderson <rth@twiddle.net>
6261
6262 PR target/60598
6263 * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
6264 related insns after epilogue_completed.
6265
3d8d0043
MJ
62662014-03-21 Martin Jambor <mjambor@suse.cz>
6267
6268 PR ipa/59176
6269 * cgraph.h (symtab_node): New flag body_removed.
6270 * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
6271 when removing bodies.
6272 * symtab.c (dump_symtab_base): Dump body_removed flag.
6273 * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
6274 had their bodies removed.
6275
d833415c
MJ
62762014-03-21 Martin Jambor <mjambor@suse.cz>
6277
6278 PR ipa/60419
6279 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
6280 in the border.
6281
400a4f6c
RB
62822014-03-21 Richard Biener <rguenther@suse.de>
6283
6284 PR tree-optimization/60577
6285 * tree-core.h (struct tree_base): Document nothrow_flag use
6286 in VAR_DECL_NONALIASED.
6287 * tree.h (VAR_DECL_NONALIASED): New.
6288 (may_be_aliased): Adjust.
6289 * coverage.c (build_var): Set VAR_DECL_NONALIASED.
6290
c6c2314f
EB
62912014-03-20 Eric Botcazou <ebotcazou@adacore.com>
6292
6293 * expr.c (expand_expr_real_1): Remove outdated comment.
6294
d02b6ac7
JJ
62952014-03-20 Jakub Jelinek <jakub@redhat.com>
6296
b8f045e2
JJ
6297 PR middle-end/60597
6298 * ira.c (adjust_cleared_regs): Call copy_rtx on
6299 *reg_equiv[REGNO (loc)].src_p before passing it to
6300 simplify_replace_fn_rtx.
6301
d02b6ac7
JJ
6302 PR target/60568
6303 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
6304 into CONST, put pic register as first operand of PLUS. Use
6305 gen_const_mem for both 32-bit and 64-bit PIC got loads.
6306
e2f98c01
RR
63072014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6308
6309 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
6310
7075c792
EB
63112014-03-20 Eric Botcazou <ebotcazou@adacore.com>
6312
6313 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
6314 around for store forwarding issue in the FPU on the UT699.
6315 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
6316 loads and operations if -mfix-ut699 is specified.
6317 (divtf3_hq): Tweak attribute.
6318 (sqrttf2_hq): Likewise.
6319
9ee5337d
EB
63202014-03-20 Eric Botcazou <ebotcazou@adacore.com>
6321
6322 * calls.c (store_one_arg): Remove incorrect const qualification on the
6323 type of the temporary.
6324 * cfgexpand.c (expand_return): Likewise.
6325 * expr.c (expand_constructor): Likewise.
6326 (expand_expr_real_1): Likewise.
6327
a69e09c8
ZC
63282014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
6329
6330 * config/arm/arm.c (arm_dwarf_register_span): Update the element number
6331 of parts.
6332
8659d57b
KK
63332014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
6334
6335 PR target/60039
6336 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
6337
985e0d33
JG
63382014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
6339
6340 * config/arm/aarch-common-protos.h
6341 (alu_cost_table): Fix spelling of "extend".
6342 * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
6343
ce2f49b3
RB
63442014-03-19 Richard Biener <rguenther@suse.de>
6345
6346 PR middle-end/60553
6347 * tree-core.h (tree_type_common): Re-order pointer members
6348 to reduce recursion depth during GC walks.
6349
6daa2d91
MP
63502014-03-19 Marek Polacek <polacek@redhat.com>
6351
6352 PR sanitizer/60569
6353 * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
6354 before accessing it.
6355
8c9cfbe6
RB
63562014-03-19 Richard Biener <rguenther@suse.de>
6357
6358 PR lto/59543
6359 * lto-streamer-in.c (input_function): In WPA stage do not drop
6360 debug stmts.
6361
3efe2e2c
JJ
63622014-03-19 Jakub Jelinek <jakub@redhat.com>
6363
6364 PR tree-optimization/60559
6365 * vectorizable_mask_load_store): Replace scalar MASK_LOAD
6366 with build_zero_cst assignment.
6367
234f76cb
KT
63682014-03-18 Kai Tietz <ktietz@redhat.com>
6369
6370 PR rtl-optimization/56356
6371 * sdbout.c (sdbout_parms): Verify that parms'
6372 incoming argument is valid.
6373 (sdbout_reg_parms): Likewise.
6374
58ca6edf
RH
63752014-03-18 Richard Henderson <rth@redhat.com>
6376
6377 PR target/60562
6378 * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
6379 be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
ead8233b 6380 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
b318e404
BS
6381
63822014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
6383
4bb66ef3 6384 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
429749e2 6385 * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
4bb66ef3 6386 Italicize plugin event names in description. Explain that
429749e2
UB
6387 PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE.
6388 Remind that no GCC functions should be called after PLUGIN_FINISH.
4bb66ef3 6389 Explain what pragmas with expansion are.
b318e404 6390
eb14a79f
ML
63912014-03-18 Martin Liska <mliska@suse.cz>
6392
6393 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
6394 gimple call statement is update.
6395 * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
6396 GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
6397
415e2e6b
JJ
63982014-03-18 Jakub Jelinek <jakub@redhat.com>
6399
ead96f13
JJ
6400 PR sanitizer/60557
6401 * ubsan.c (ubsan_instrument_unreachable): Call
6402 initialize_sanitizer_builtins.
6403 (ubsan_pass): Likewise.
6404
415e2e6b
JJ
6405 PR sanitizer/60535
6406 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
6407 varpool_finalize_decl instead of rest_of_decl_compilation.
6408
4ca40f52
RB
64092014-03-18 Richard Biener <rguenther@suse.de>
6410
6411 * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
6412 by using bitmap_and_compl instead of bitmap_and_compl_into.
6413 (df_rd_transfer_function): Likewise.
6414
6404e190
RB
64152014-03-18 Richard Biener <rguenther@suse.de>
6416
6417 * doc/lto.texi (fresolution): Fix typo.
6418
b9abf793
RB
64192014-03-18 Richard Biener <rguenther@suse.de>
6420
6421 * doc/invoke.texi (flto): Update for changes in 4.9.
6422
3f00cf18
RB
64232014-03-18 Richard Biener <rguenther@suse.de>
6424
6425 * doc/loop.texi: Remove section on the removed lambda framework.
6426 Update loop docs with recent changes in preserving loop structure.
6427
c2679d84
RB
64282014-03-18 Richard Biener <rguenther@suse.de>
6429
6430 * doc/lto.texi (-fresolution): Document.
6431
c07990cc
RB
64322014-03-18 Richard Biener <rguenther@suse.de>
6433
6434 * doc/contrib.texi: Adjust my name.
6435
ed9c79e1
JJ
64362014-03-18 Jakub Jelinek <jakub@redhat.com>
6437
6438 PR ipa/58721
6439 * internal-fn.c: Include diagnostic-core.h.
6440 (expand_BUILTIN_EXPECT): New function.
6441 * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
6442 (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
6443 IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
6444 * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
6445 IFN_BUILTIN_EXPECT.
6446 * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
6447 Revert 3 argument __builtin_expect code.
6448 (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
6449 * gimple-fold.c (gimple_fold_call): Likewise.
6450 * tree.h (fold_builtin_expect): New prototype.
6451 * builtins.c (build_builtin_expect_predicate): Add predictor
6452 argument, if non-NULL, create 3 argument __builtin_expect.
6453 (fold_builtin_expect): No longer static. Add ARG2 argument,
6454 pass it through to build_builtin_expect_predicate.
6455 (fold_builtin_2): Adjust caller.
6456 (fold_builtin_3): Handle BUILT_IN_EXPECT.
6457 * internal-fn.def (BUILTIN_EXPECT): New.
6458
64592014-03-18 Tobias Burnus <burnus@net-b.de>
6460
6461 PR ipa/58721
6462 * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
6463 PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
6464 PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
6465
64662014-03-18 Jan Hubicka <hubicka@ucw.cz>
6467
6468 PR ipa/58721
6469 * predict.c (combine_predictions_for_bb): Fix up formatting.
6470 (expr_expected_value_1, expr_expected_value): Add predictor argument,
6471 fill what it points to if non-NULL.
6472 (tree_predict_by_opcode): Adjust caller, use the predictor.
6473 * predict.def (PRED_COMPARE_AND_SWAP): Add.
6474
e33da4a1
EB
64752014-03-18 Eric Botcazou <ebotcazou@adacore.com>
6476
6477 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
6478 proper constant for the store mode.
6479
1fed15fc
IE
64802014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
6481
6482 * symtab.c (change_decl_assembler_name): Fix transparent alias
6483 chain construction.
6484
454fdba9
RL
64852014-03-16 Renlin Li <Renlin.Li@arm.com>
6486
6487 * config/aarch64/aarch64.c: Correct the comments about the
6488 aarch64 stack layout.
6489
e2110f8f
TS
64902014-03-18 Thomas Schwinge <thomas@codesourcery.com>
6491
6492 * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
6493 check for GF_OMP_FOR_KIND_FOR.
6494
7c831c4d
KY
64952013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
6496
6497 * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
6498 ymm and zmm register names.
6499
e318c1e1
JJ
65002014-03-17 Jakub Jelinek <jakub@redhat.com>
6501
6502 PR target/60516
6503 * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
6504 note creation for the 2010-08-31 changes.
6505
ab2ffbeb
MP
65062014-03-17 Marek Polacek <polacek@redhat.com>
6507
6508 PR middle-end/60534
6509 * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
6510 as -fno-tree-loop-vectorize.
6511 (expand_omp_simd): Likewise.
6512
890fa568
EB
65132014-03-15 Eric Botcazou <ebotcazou@adacore.com>
6514
6515 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
6516 (eligible_for_call_delay): New prototype.
6517 * config/sparc/sparc.c (tls_call_delay): Rename into...
6518 (eligible_for_call_delay): ...this. Return false if the instruction
6519 cannot be put in the delay slot of a branch.
6520 (eligible_for_restore_insn): Simplify.
6521 (eligible_for_return_delay): Return false if the instruction cannot be
6522 put in the delay slot of a branch and simplify.
6523 (eligible_for_sibcall_delay): Return false if the instruction cannot be
6524 put in the delay slot of a branch.
6525 * config/sparc/sparc.md (fix_ut699): New attribute.
6526 (tls_call_delay): Delete.
6527 (in_call_delay): Reimplement.
6528 (eligible_for_sibcall_delay): Rename into...
6529 (in_sibcall_delay): ...this.
6530 (eligible_for_return_delay): Rename into...
6531 (in_return_delay): ...this.
6532 (in_branch_delay): Reimplement.
6533 (in_uncond_branch_delay): Delete.
6534 (in_annul_branch_delay): Delete.
6535
cfce90ac
RH
65362014-03-14 Richard Henderson <rth@redhat.com>
6537
6538 PR target/60525
6539 * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
6540 define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
6541 (*floathi<X87MODEF>2_i387_with_temp): Remove.
6542 (floathi splitters): Remove.
6543 (float<SWI48x>xf2): New pattern.
6544 (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
6545 code that tried to handle DImode for 32-bit, but which was excluded
6546 by the pattern's condition. Drop allocation of stack temporary.
6547 (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
6548 (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
6549 (*float<SWI48><MODEF>2_mixed_interunit): Remove.
6550 (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
6551 (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
6552 (*float<SWI48><MODEF>2_sse_with_temp): Remove.
6553 (*float<SWI48><MODEF>2_sse_interunit): Remove.
6554 (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
6555 (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
6556 (*float<SWI48x><X87MODEF>2_i387): Remove.
6557 (all float _with_temp splitters): Remove.
6558 (*float<SWI48x><MODEF>2_i387): New pattern.
6559 (*float<SWI48><MODEF>2_sse): New pattern.
6560 (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
6561 (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
6562
91035653
JJ
65632014-03-14 Jakub Jelinek <jakub@redhat.com>
6564 Marek Polacek <polacek@redhat.com>
6565
6566 PR middle-end/60484
6567 * common.opt (dump_base_name_prefixed): New Variable.
6568 * opts.c (finish_options): Don't prepend directory to x_dump_base_name
6569 if x_dump_base_name_prefixed is already set, set it at the end.
6570
95921002
VM
65712014-03-14 Vladimir Makarov <vmakarov@redhat.com>
6572
6573 PR rtl-optimization/60508
6574 * lra-constraints.c (get_reload_reg): Add new parameter
6575 in_subreg_p.
6576 (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
6577 Pass the new parameter values.
6578
25e57622
RB
65792014-03-14 Richard Biener <rguenther@suse.de>
6580
6581 * common.opt: Revert unintented changes from r205065.
6582 * opts.c: Likewise.
6583
1f3388fe
RB
65842014-03-14 Richard Biener <rguenther@suse.de>
6585
6586 PR middle-end/60518
6587 * cfghooks.c (split_block): Properly adjust all loops the
6588 block was a latch of.
6589
65902014-03-14 Martin Jambor <mjambor@suse.cz>
3d354792
MJ
6591
6592 PR lto/60461
6593 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
6594 and simplify it.
6595
2832dc22
GJL
65962014-03-14 Georg-Johann Lay <avr@gjlay.de>
6597
6598 PR target/59396
6599 * config/avr/avr.c (avr_set_current_function): Pass function name
6600 through default_strip_name_encoding before sanity checking instead
6601 of skipping the first char of the assembler name.
6602
3386d77e
RH
66032014-03-13 Richard Henderson <rth@redhat.com>
6604
6605 PR debug/60438
6606 * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
6607 (ix86_force_to_memory, ix86_free_from_memory): Remove.
6608 * config/i386/i386-protos.h: Likewise.
6609 * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
6610 in the expander instead of a splitter.
6611 (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
6612 any possibility of requiring a memory.
6613 (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
6614 (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
6615 (fp branch splitters): Update for ix86_split_fp_branch.
6616 (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
6617 (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
6618 (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
6619 (*fop_<MODEF>_2_i387): Remove f/r alternative.
6620 (*fop_<MODEF>_3_i387): Likewise.
6621 (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
6622 (splitters for the fop_* register patterns): Remove.
6623 (fscalexf4_i387): Rename from *fscalexf4_i387.
6624 (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
4bb66ef3 6625
5b5d7f31
JJ
66262014-03-13 Jakub Jelinek <jakub@redhat.com>
6627
6628 PR tree-optimization/59779
6629 * tree-dfa.c (get_ref_base_and_extent): Use double_int
6630 type for bitsize and maxsize instead of HOST_WIDE_INT.
6631
bdc6e1ae
SB
66322014-03-13 Steven Bosscher <steven@gcc.gnu.org>
6633
6634 PR rtl-optimization/57320
6635 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
6636 the CFG after thread_prologue_and_epilogue_insns.
6637
7891065a
VM
66382014-03-13 Vladimir Makarov <vmakarov@redhat.com>
6639
6640 PR rtl-optimization/57189
6641 * lra-constraints.c (process_alt_operands): Disfavor spilling
6642 vector pseudos.
6643
eba14fca
CP
66442014-03-13 Cesar Philippidis <cesar@codesourcery.com>
6645
429749e2 6646 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
eba14fca 6647
f661b085
JJ
66482014-03-13 Jakub Jelinek <jakub@redhat.com>
6649
6650 PR tree-optimization/59025
6651 PR middle-end/60418
6652 * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
6653 same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
6654
8f3a3138
GJL
66552014-03-13 Georg-Johann Lay <avr@gjlay.de>
6656
6657 PR target/60486
6658 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
6659 calls of avr_out_plus_1.
6660
d731ee04
BC
66612014-03-13 Bin Cheng <bin.cheng@arm.com>
6662
6663 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
6664 BB's single pred and update the father loop's latch info later.
6665
a16a872d
MM
66662014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
6667
6668 * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
6669 (VEC_M): Likewise.
6670 (VEC_N): Likewise.
6671 (VEC_R): Likewise.
6672 (VEC_base): Likewise.
6673 (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
6674 registers, we need to swap double words in little endian mode.
6675
6676 * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
6677 to be a container mode for 128-bit integer operations added in ISA
6678 2.07. Unlike TImode and PTImode, the preferred register set is
6679 the Altivec/VMX registers for the 128-bit operations.
6680
6681 * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
6682 declarations.
6683 (rs6000_split_128bit_ok_p): Likewise.
6684
6685 * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
6686 macros for creating ISA 2.07 normal and overloaded builtin
6687 functions with 3 arguments.
6688 (BU_P8V_OVERLOAD_3): Likewise.
6689 (VPERM_1T): Add support for V1TImode in 128-bit vector operations
6690 for use as overloaded functions.
6691 (VPERM_1TI_UNS): Likewise.
6692 (VSEL_1TI): Likewise.
6693 (VSEL_1TI_UNS): Likewise.
6694 (ST_INTERNAL_1ti): Likewise.
6695 (LD_INTERNAL_1ti): Likewise.
6696 (XXSEL_1TI): Likewise.
6697 (XXSEL_1TI_UNS): Likewise.
6698 (VPERM_1TI): Likewise.
6699 (VPERM_1TI_UNS): Likewise.
6700 (XXPERMDI_1TI): Likewise.
6701 (SET_1TI): Likewise.
6702 (LXVD2X_V1TI): Likewise.
6703 (STXVD2X_V1TI): Likewise.
6704 (VEC_INIT_V1TI): Likewise.
6705 (VEC_SET_V1TI): Likewise.
6706 (VEC_EXT_V1TI): Likewise.
6707 (EQV_V1TI): Likewise.
6708 (NAND_V1TI): Likewise.
6709 (ORC_V1TI): Likewise.
6710 (VADDCUQ): Add support for 128-bit integer arithmetic instructions
6711 added in ISA 2.07. Add both normal 'altivec' builtins, and the
6712 overloaded builtin.
6713 (VADDUQM): Likewise.
6714 (VSUBCUQ): Likewise.
6715 (VADDEUQM): Likewise.
6716 (VADDECUQ): Likewise.
6717 (VSUBEUQM): Likewise.
6718 (VSUBECUQ): Likewise.
6719
6720 * config/rs6000/rs6000-c.c (__int128_type): New static to hold
6721 __int128_t and __uint128_t types.
6722 (__uint128_type): Likewise.
6723 (altivec_categorize_keyword): Add support for vector __int128_t,
6724 vector __uint128_t, vector __int128, and vector unsigned __int128
6725 as a container type for TImode operations that need to be done in
6726 VSX/Altivec registers.
6727 (rs6000_macro_to_expand): Likewise.
6728 (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
6729 to support 128-bit integer instructions vaddcuq, vadduqm,
6730 vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
6731 (altivec_resolve_overloaded_builtin): Add support for V1TImode.
6732
6733 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
0bb29a05
UB
6734 for V1TImode, and set up preferences to use VSX/Altivec registers.
6735 Setup VSX reload handlers.
a16a872d
MM
6736 (rs6000_debug_reg_global): Likewise.
6737 (rs6000_init_hard_regno_mode_ok): Likewise.
6738 (rs6000_preferred_simd_mode): Likewise.
0bb29a05 6739 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
a16a872d
MM
6740 (easy_altivec_constant): Likewise.
6741 (output_vec_const_move): Likewise.
6742 (rs6000_expand_vector_set): Convert V1TImode set and extract to
6743 simple move.
6744 (rs6000_expand_vector_extract): Likewise.
6745 (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
6746 addressing.
6747 (rs6000_const_vec): Add support for V1TImode.
6748 (rs6000_emit_le_vsx_load): Swap double words when loading or
6749 storing TImode/V1TImode.
6750 (rs6000_emit_le_vsx_store): Likewise.
6751 (rs6000_emit_le_vsx_move): Likewise.
6752 (rs6000_emit_move): Add support for V1TImode.
6753 (altivec_expand_ld_builtin): Likewise.
6754 (altivec_expand_st_builtin): Likewise.
6755 (altivec_expand_vec_init_builtin): Likewise.
6756 (altivec_expand_builtin): Likewise.
6757 (rs6000_init_builtins): Add support for V1TImode type. Add
6758 support for ISA 2.07 128-bit integer builtins. Define type names
6759 for the VSX/Altivec vector types.
6760 (altivec_init_builtins): Add support for overloaded vector
6761 functions with V1TImode type.
0bb29a05 6762 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
a16a872d
MM
6763 (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
6764 external function.
6765 (rs6000_split_128bit_ok_p): Likewise.
6766 (rs6000_handle_altivec_attribute): Create V1TImode from vector
6767 __int128_t and vector __uint128_t.
6768
6769 * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
6770 and mode attributes.
6771 (VSX_M): Likewise.
6772 (VSX_M2): Likewise.
6773 (VSm): Likewise.
6774 (VSs): Likewise.
6775 (VSr): Likewise.
6776 (VSv): Likewise.
6777 (VS_scalar): Likewise.
6778 (VS_double): Likewise.
0bb29a05 6779 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
a16a872d 6780
0bb29a05
UB
6781 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
6782 we support the ISA 2.07 128-bit integer arithmetic instructions.
a16a872d
MM
6783 (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
6784 (enum rs6000_builtin_type_index): Add fields to hold V1TImode
6785 and TImode types for use with the builtin functions.
6786 (V1TI_type_node): Likewise.
6787 (unsigned_V1TI_type_node): Likewise.
6788 (intTI_type_internal_node): Likewise.
6789 (uintTI_type_internal_node): Likewise.
6790
0bb29a05
UB
6791 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
6792 128-bit builtin functions.
a16a872d
MM
6793 (UNSPEC_VADDEUQM): Likewise.
6794 (UNSPEC_VADDECUQ): Likewise.
6795 (UNSPEC_VSUBCUQ): Likewise.
6796 (UNSPEC_VSUBEUQM): Likewise.
6797 (UNSPEC_VSUBECUQ): Likewise.
6798 (VM): Add V1TImode to vector mode iterators.
6799 (VM2): Likewise.
6800 (VI_unit): Likewise.
6801 (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
6802 (altivec_vaddcuq): Likewise.
6803 (altivec_vsubuqm): Likewise.
6804 (altivec_vsubcuq): Likewise.
6805 (altivec_vaddeuqm): Likewise.
6806 (altivec_vaddecuq): Likewise.
6807 (altivec_vsubeuqm): Likewise.
6808 (altivec_vsubecuq): Likewise.
6809
6810 * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
6811 mode iterators.
6812 (BOOL_128): Likewise.
6813 (BOOL_REGS_OUTPUT): Likewise.
6814 (BOOL_REGS_OP1): Likewise.
6815 (BOOL_REGS_OP2): Likewise.
6816 (BOOL_REGS_UNARY): Likewise.
6817 (BOOL_REGS_AND_CR0): Likewise.
6818
6819 * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
6820 128-bit integer builtin support.
6821 (vec_vadduqm): Likewise.
6822 (vec_vaddecuq): Likewise.
6823 (vec_vaddeuqm): Likewise.
6824 (vec_vsubecuq): Likewise.
6825 (vec_vsubeuqm): Likewise.
6826 (vec_vsubcuq): Likewise.
6827 (vec_vsubuqm): Likewise.
6828
6829 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
6830 Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
6831 vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
6832 128-bit integer add/subtract to ISA 2.07.
6833
eeac7d15
JR
68342014-03-12 Joern Rennecke <joern.rennecke@embecosm.com>
6835
6836 * config/arc/arc.c (arc_predicate_delay_insns):
6837 Fix third argument passed to conditionalize_nonjump.
6838
bf0f324e
YZ
68392014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
6840
6841 * config/aarch64/aarch64-builtins.c
6842 (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
6843 BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
6844 * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
6845 instead of __builtin_lfloor.
6846 (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
6847
bf4787b2
JJ
68482014-03-12 Jakub Jelinek <jakub@redhat.com>
6849
6850 * tree-ssa-ifcombine.c (forwarder_block_to): New function.
6851 (tree_ssa_ifcombine_bb_1): New function.
6852 (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
6853 is an empty forwarder block to then_bb or vice versa and then_bb
6854 and else_bb are effectively swapped.
6855
7d55b948
CB
68562014-03-12 Christian Bruel <christian.bruel@st.com>
6857
6858 PR target/60264
0bb29a05
UB
6859 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
6860 REG_CFA_DEF_CFA note.
7d55b948
CB
6861 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
6862 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
6863
882a5fbe
TP
68642014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
6865
6866 PR tree-optimization/60454
6867 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
6868
a3cd0246
KT
68692014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6870
6871 * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
6872 Do not define target_cpu_default2 to generic.
6873 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
6874 * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
6875 * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
6876
c888139c
JJ
68772014-03-12 Jakub Jelinek <jakub@redhat.com>
6878 Marc Glisse <marc.glisse@inria.fr>
6879
6880 PR tree-optimization/60502
6881 * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
6882 instead of build_low_bits_mask.
6883
b24ca895
JJ
68842014-03-12 Jakub Jelinek <jakub@redhat.com>
6885
6886 PR middle-end/60482
6887 * tree-vrp.c (register_edge_assert_for_1): Don't add assert
6888 if there are multiple uses, but op doesn't live on E edge.
6889 * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
6890 clobber stmts before __builtin_unreachable.
6891
f1257268
RS
68922014-03-11 Richard Sandiford <rdsandiford@googlemail.com>
6893
6894 * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
6895 hard_frame_pointer_rtx.
6896 * cse.c (cse_insn): Remove volatile check.
6897 * cselib.c (cselib_process_insn): Likewise.
6898 * dse.c (scan_insn): Likewise.
6899
bae56bbb
JR
69002014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
6901
0bb29a05
UB
6902 * config/arc/arc.c (conditionalize_nonjump): New function,
6903 broken out of ...
6904 (arc_ifcvt): ... this.
bae56bbb
JR
6905 (arc_predicate_delay_insns): Use it.
6906
167ba5b9
JR
69072014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
6908
6909 * config/arc/predicates.md (extend_operand): During/after reload,
6910 allow const_int_operand.
6911 * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
6912 (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
6913 (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
6914 to "i".
6915 (umulsi3_highpart_i): Likewise.
6916
dfd7d2d6
RB
69172014-03-11 Richard Biener <rguenther@suse.de>
6918
6919 * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
6920 Add asserts to guard possible wrong-code bugs.
6921
af1ab449
RB
69222014-03-11 Richard Biener <rguenther@suse.de>
6923
6924 PR tree-optimization/60429
6925 PR tree-optimization/60485
6926 * tree-ssa-structalias.c (set_union_with_increment): Properly
6927 take into account all fields that overlap the shifted vars.
6928 (do_sd_constraint): Likewise.
6929 (do_ds_constraint): Likewise.
6930 (get_constraint_for_ptr_offset): Likewise.
6931
747425d0
CLT
69322014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
6933
6934 * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
6935 (nios2_compute_frame_layout):
6936 Add calculation of cfun->machine->fp_save_offset.
6937 (nios2_expand_prologue): Correct setting of frame pointer register
6938 in prologue.
6939 (nios2_expand_epilogue): Update recovery of stack pointer from
6940 frame pointer accordingly.
6941 (nios2_initial_elimination_offset): Update calculation of offset
6942 for eliminating to HARD_FRAME_POINTER_REGNUM.
6943
31dad809
JJ
69442014-03-10 Jakub Jelinek <jakub@redhat.com>
6945
6946 PR ipa/60457
6947 * ipa.c (symtab_remove_unreachable_nodes): Don't call
6948 cgraph_get_create_node on VAR_DECLs.
6949
3c1c08d6
RB
69502014-03-10 Richard Biener <rguenther@suse.de>
6951
6952 PR middle-end/60474
6953 * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
6954
21d89690
DR
69552014-03-08 Douglas B Rupp <rupp@gnat.com>
6956
6957 * config/vms/vms.opt (vms_float_format): New variable.
6958
634b8e9b
TB
69592014-03-08 Tobias Burnus <burnus@net-b.de>
6960
0bb29a05 6961 * doc/invoke.texi (-fcilkplus): Update implementation status.
634b8e9b 6962
f42c637e
PM
69632014-03-08 Paulo Matos <paulo@matos-sorge.com>
6964 Richard Biener <rguenther@suse.de>
6965
6966 * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
6967 consistently accross all TUs.
6968 (run_gcc): Enable -fshort-double automatically at link at link-time
6969 and disallow override.
6970
bd65fc87
RS
69712014-03-08 Richard Sandiford <rdsandiford@googlemail.com>
6972
6973 PR target/58271
6974 * config/mips/mips.c (mips_option_override): Promote -mpaired-single
6975 warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
6976 if they can't be used.
6977
040c446d
RO
69782014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6979
0bb29a05
UB
6980 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
6981 for Solaris 11/x86 ld.
040c446d
RO
6982 * configure: Regenerate.
6983
caa16d41
RO
69842014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6985
6986 * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
6987 (LIB_TLS_SPEC): Save as ld_tls_libs.
6988 (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
6989 (HAVE_AS_IX86_TLSLDM): New test.
6990 * configure, config.in: Regenerate.
6991 * config/i386/i386.c (legitimize_tls_address): Fall back to
6992 TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
6993 cannot support TLS_MODEL_LOCAL_DYNAMIC.
6994 * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
6995 instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
6996
f3d83ffe
PM
69972014-03-07 Paulo Matos <paulo@matos-sorge.com>
6998
6999 * common.opt (fira-loop-pressure): Mark as optimization.
7000
b17a8b07
TS
70012014-03-07 Thomas Schwinge <thomas@codesourcery.com>
7002
7003 * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
7004 an OpenMP mappable type.
7005
4973b0f9
MK
70062014-03-06 Matthias Klose <doko@ubuntu.com>
7007
7008 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
7009 MULTILIB_OSDIRNAMES is not defined.
7010
ab19cc6c
JJ
70112014-03-06 Jakub Jelinek <jakub@redhat.com>
7012 Meador Inge <meadori@codesourcery.com>
7013
7014 PR target/58595
7015 * config/arm/arm.c (arm_tls_symbol_p): Remove.
7016 (arm_legitimize_address): Call legitimize_tls_address for any
7017 arm_tls_referenced_p expression, handle constant addend. Call it
7018 before testing for !TARGET_ARM.
7019 (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
7020
a74158c7
RB
70212014-03-06 Richard Biener <rguenther@suse.de>
7022
7023 PR middle-end/60445
7024 PR lto/60424
7025 PR lto/60427
7026 Revert
7027 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
7028
0bb29a05
UB
7029 * tree-streamer.c (record_common_node): Assert we don't record
7030 nodes with type double.
7031 (preload_common_node): Skip type double, complex double and double
7032 pointer since it is now frontend dependent due to fshort-double option.
a74158c7 7033
f3ba16d0
RB
70342014-03-06 Richard Biener <rguenther@suse.de>
7035
7036 * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
7037 or -fno-lto is specified and the linker has full plugin support.
0bb29a05
UB
7038 * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
7039 (main): Remove -flto processing, adjust lto_mode using use_plugin late.
f3ba16d0
RB
7040 * lto-wrapper.c (merge_and_complain): Merge compile-time
7041 optimization levels.
7042 (run_gcc): And pass it through to the link options.
7043
4bb66ef3 70442014-03-06 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
7045
7046 PR debug/60381
7047 Revert:
4bb66ef3 7048 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
80662856
AO
7049 PR debug/59992
7050 * cselib.c (remove_useless_values): Skip to avoid quadratic
7051 behavior if the condition moved from...
7052 (cselib_process_insn): ... here holds.
7053
a05cca9b
JJ
70542014-03-05 Jakub Jelinek <jakub@redhat.com>
7055
487125e7
JJ
7056 PR plugins/59335
7057 * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
7058 ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
7059
a05cca9b
JJ
7060 PR plugins/59335
7061 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
7062 (TM_H): Add x86-tune.def.
7063
4e2cd668
KT
70642014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7065
7066 * config/aarch64/aarch64.c (generic_tunings):
7067 Use cortexa57_extra_costs.
7068
5525ed38
JJ
70692014-03-05 Jakub Jelinek <jakub@redhat.com>
7070
7071 PR lto/60404
7072 * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
7073 of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
7074 * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
7075 cost for in_lto_p.
7076
0c72fa78
H
70772014-03-04 Heiher <r@hev.cc>
7078
7079 * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
7080 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
7081
66b03f81
UB
70822014-03-04 Uros Bizjak <ubizjak@gmail.com>
7083
7084 * config/i386/predicates.md (const2356_operand): Change to ...
7085 (const2367_operand): ... this.
7086 * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
7087 const2367_operand.
7088 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
7089 (*avx512pf_scatterpf<mode>sf): Ditto.
7090 (avx512pf_scatterpf<mode>df): Ditto.
7091 (*avx512pf_scatterpf<mode>df_mask): Ditto.
7092 (*avx512pf_scatterpf<mode>df): Ditto.
7093 * config/i386/i386.c (ix86_expand_builtin): Update
7094 incorrect hint operand error message.
7095
3c24e842
RB
70962014-03-04 Richard Biener <rguenther@suse.de>
7097
7098 * lto-section-in.c (lto_get_section_data): Fix const cast.
66b03f81 7099
3740bda6
PM
71002014-03-04 Paulo Matos <paulo@matos-sorge.com>
7101
0bb29a05
UB
7102 * tree-streamer.c (record_common_node): Assert we don't record
7103 nodes with type double.
7104 (preload_common_node): Skip type double, complex double and double
7105 pointer since it is now frontend dependent due to fshort-double option.
3740bda6 7106
91856735
RB
71072014-03-04 Richard Biener <rguenther@suse.de>
7108
7109 PR lto/60405
66b03f81 7110 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
91856735
RB
7111 (lto_input_toplevel_asms): Likewise.
7112 * lto-section-in.c (lto_get_section_data): Instead do it here
7113 for every section.
66b03f81 7114
b75f28e1
RB
71152014-03-04 Richard Biener <rguenther@suse.de>
7116
7117 PR tree-optimization/60382
7118 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
7119 dead PHIs a reduction.
7120
dd96e83a
UB
71212014-03-03 Uros Bizjak <ubizjak@gmail.com>
7122
7123 * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
7124 hint value.
7125 (_mm_prefetch): Move out of GCC target("sse") pragma.
7126 * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
7127 GCC target("prfchw") pragma.
7128 * config/i386/i386.md (prefetch): Emit prefetchwt1 only
7129 for locality <= 2.
7130 * config/i386/i386.c (ix86_option_override_internal): Enable
7131 -mprfchw with -mprefetchwt1.
7132
220c1a51
JR
71332014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
7134
7135 * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
7136 Mark as varying.
7137
212bfe71
JR
71382014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
7139
7140 * opts.h (CL_PCH_IGNORE): Define.
7141 * targhooks.c (option_affects_pch_p):
7142 Return false for options that have CL_PCH_IGNORE set.
7143 * opt-functions.awk: Process PchIgnore.
7144 * doc/options.texi: Document PchIgnore.
7145
7a3d0a39
JR
7146 * config/arc/arc.opt (misize): Add PchIgnore property.
7147
b46ed885
BS
71482014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7149
7150 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
7151 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
7152 constraint on constants to permit them being loaded into
7153 GENERAL_REGS or BASE_REGS.
7154
c6f709ec
NC
71552014-03-03 Nick Clifton <nickc@redhat.com>
7156
7157 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
7158 anti-cacnonical alternatives.
7159 (negandhi3_real): New pattern.
7160 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
7161
5752f78f
SKS
71622014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
7163
7164 * config/avr/avr-mcus.def: Remove atxmega16x1.
7165 * config/avr/avr-tables.opt: Regenerate.
7166 * config/avr/t-multilib: Regenerate.
7167 * doc/avr-mmcu.texi: Regenerate.
7168
0afe7332 71692014-03-03 Tobias Grosser <tobias@grosser.es>
dd96e83a 7170 Mircea Namolaru <mircea.namolaru@inria.fr>
0afe7332
TG
7171
7172 PR tree-optimization/58028
7173 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
7174 scalar dimensions.
7175
3416dd87
RR
71762014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7177
7178 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
7179 not handled by recognizers.
7180
79c7fda6
JJ
71812014-03-03 Jakub Jelinek <jakub@redhat.com>
7182
7183 PR middle-end/60175
7184 * function.c (expand_function_end): Don't emit
7185 clobber_return_register sequence if clobber_after is a BARRIER.
7186 * cfgexpand.c (construct_exit_block): Append instructions before
7187 return_label to prev_bb.
7188
715a5c85
BS
71892014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7190
7191 * config/rs6000/constraints.md: Document reserved use of "wc".
7192
9ffbf271
JH
71932014-03-02 Jan Hubicka <hubicka@ucw.cz>
7194
7195 PR ipa/60150
7196 * ipa.c (function_and_variable_visibility): When dissolving comdat
7197 group, also set all symbols to local.
7198
993df21e 71992014-03-02 Jan Hubicka <hubicka@ucw.cz>
c6f709ec 7200
993df21e
JH
7201 PR ipa/60306
7202
7203 Revert:
7204 2013-12-14 Jan Hubicka <jh@suse.cz>
0bb29a05
UB
7205 PR middle-end/58477
7206 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
993df21e 7207
9b0af790
JB
72082014-03-02 Jon Beniston <jon@beniston.com>
7209
7210 PR bootstrap/48230
7211 PR bootstrap/50927
7212 PR bootstrap/52466
7213 PR target/46898
7214 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
c6f709ec 7215 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
9b0af790 7216 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
c6f709ec 7217 (simple_return, *simple_return): New patterns
9b0af790
JB
7218 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
7219 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
7220
c582aac9
PC
72212014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
7222
7223 * dwarf2out.c (gen_subprogram_die): Tidy.
7224
19305875
OE
72252014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
7226
7227 PR target/60071
7228 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
7229 (*mov_t_msb_neg_negc): ... this new insn.
7230
570215f9
JM
72312014-02-28 Jason Merrill <jason@redhat.com>
7232
7233 PR c++/58678
7234 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
7235 function.
7236
c5b001b5
PC
72372014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
7238
7239 PR c++/60314
7240 * dwarf2out.c (decltype_auto_die): New static.
7241 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
7242 (gen_type_die_with_usage): Handle 'decltype(auto)'.
7243 (is_cxx_auto): Likewise.
7244
5750e120
IB
72452014-02-28 Ian Bolton <ian.bolton@arm.com>
7246
7247 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
7248 we are not using general regs only.
7249
fba7c564
RB
72502014-02-28 Richard Biener <rguenther@suse.de>
7251
7252 PR target/60280
7253 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
7254 previous fix and only allow to remove trivial pre-headers
7255 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
84d7e312 7256 (remove_forwarder_block): Properly update the latch of a loop.
fba7c564 7257
4bb66ef3 72582014-02-28 Alexandre Oliva <aoliva@redhat.com>
0618dee5
AO
7259
7260 PR debug/59992
7261 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
7262 (cselib_preserved_hash_table): New.
7263 (preserve_constants_and_equivs): Move preserved vals to it.
7264 (cselib_find_slot): Look it up first.
7265 (cselib_init): Initialize it.
7266 (cselib_finish): Release it.
7267 (dump_cselib_table): Dump it.
7268
4bb66ef3 72692014-02-28 Alexandre Oliva <aoliva@redhat.com>
22414f3f
AO
7270
7271 PR debug/59992
7272 * cselib.c (remove_useless_values): Skip to avoid quadratic
7273 behavior if the condition moved from...
7274 (cselib_process_insn): ... here holds.
7275
4bb66ef3 72762014-02-28 Alexandre Oliva <aoliva@redhat.com>
2e084917
AO
7277
7278 PR debug/57232
7279 * var-tracking.c (vt_initialize): Apply the same condition to
7280 preserve the CFA base value.
7281
9910c53c
JY
72822014-02-28 Joey Ye <joey.ye@arm.com>
7283
7284 PR target/PR60169
7285 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
7286 if reload in progress or completed.
7287
ef271341
TB
72882014-02-28 Tobias Burnus <burnus@net-b.de>
7289
7290 PR middle-end/60147
7291 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
7292 NAMELIST_DECL.
7293
c4f6267b
L
72942014-02-27 H.J. Lu <hongjiu.lu@intel.com>
7295
7296 * doc/tm.texi.in (Condition Code Status): Update documention for
7297 relative locations of cc0-setter and cc0-user.
7298
7a76df7f
JL
72992014-02-27 Jeff Law <law@redhat.com>
7300
7301 PR rtl-optimization/52714
7302 * combine.c (try_combine): When splitting an unrecognized PARALLEL
7303 into two independent simple sets, if I3 is a jump, ensure the
84d7e312 7304 pattern we place into I3 is a (set (pc) ...).
7a76df7f 7305
728acca0
MP
73062014-02-27 Mikael Pettersson <mikpe@it.uu.se>
7307 Jeff Law <law@redhat.com>
7308
7309 PR rtl-optimization/49847
7310 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
7311 are in different blocks.
7312 * doc/tm.texi (Condition Code Status): Update documention for
7313 relative locations of cc0-setter and cc0-user.
7314
93aaa05d
VM
73152014-02-27 Vladimir Makarov <vmakarov@redhat.com>
7316
7317 PR target/59222
7318 * lra.c (lra_emit_add): Check SUBREG too.
7319
1ee6eb01
AS
73202014-02-27 Andreas Schwab <schwab@suse.de>
7321
7322 * config/m68k/m68k.c (m68k_option_override): Disable
7323 -flive-range-shrinkage for classic m68k.
7324 (m68k_override_options_after_change): Likewise.
7325
bb0d8e84
MP
73262014-02-27 Marek Polacek <polacek@redhat.com>
7327
7328 PR middle-end/59223
7329 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
7330 -Wmaybe-uninitialized.
7331
3157b879
AM
73322014-02-27 Alan Modra <amodra@gmail.com>
7333
3e17cad2 7334 PR target/57936
3157b879
AM
7335 * reload1.c (emit_input_reload_insns): When reload_override_in,
7336 set old to rl->in_reg when rl->in_reg is a subreg.
7337
bb750f4f
RB
73382014-02-26 Richard Biener <rguenther@suse.de>
7339
7340 PR bootstrap/60343
7341 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
7342
22c8aab3
IT
73432014-02-25 Ilya Tocar <ilya.tocar@intel.com>
7344
7345 * common/config/i386/predicates.md (const1256_operand): Remove.
7346 (const2356_operand): New.
7347 (const_1_to_2_operand): Remove.
7348 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
7349 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
7350 (*avx512pf_gatherpf<mode>sf): Ditto.
7351 (avx512pf_gatherpf<mode>df): Ditto.
7352 (*avx512pf_gatherpf<mode>df_mask): Ditto.
7353 (*avx512pf_gatherpf<mode>df): Ditto.
7354 (avx512pf_scatterpf<mode>sf): Ditto.
7355 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
7356 (*avx512pf_scatterpf<mode>sf): Ditto.
7357 (avx512pf_scatterpf<mode>df): Ditto.
7358 (*avx512pf_scatterpf<mode>df_mask): Ditto.
7359 (*avx512pf_scatterpf<mode>df): Ditto.
7360 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
7361
260d3642
IT
73622014-02-26 Ilya Tocar <ilya.tocar@intel.com>
7363
7364 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
7365 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
7366 (_mm512_mask_testn_epi64_mask): Move to ...
7367 * config/i386/avx512cdintrin.h: Here.
7368 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
7369 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
7370 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
7371 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
7372 TARGET_AVX512F from TARGET_AVX512CD.
7373
477145c8
RB
73742014-02-26 Richard Biener <rguenther@suse.de>
7375
7376 PR ipa/60327
7377 * ipa.c (walk_polymorphic_call_targets): Properly guard
7378 call to inline_update_overall_summary.
7379
a3afdbb8
BC
73802014-02-26 Bin Cheng <bin.cheng@arm.com>
7381
7382 PR target/60280
84d7e312
UB
7383 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
7384 and latches only if requested. Fix latch if it is removed.
a3afdbb8
BC
7385 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
7386 LOOPS_HAVE_PREHEADERS.
7387
b8a542c6
AP
73882014-02-25 Andrew Pinski <apinski@cavium.com>
7389
7390 * builtins.c (expand_builtin_thread_pointer): Create a new target
7391 when the target is NULL.
7392
88def637
VM
73932014-02-25 Vladimir Makarov <vmakarov@redhat.com>
7394
7395 PR rtl-optimization/60317
7396 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
7397 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
7398 * lra-assigns.c: Include params.h.
7399 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
7400 other reload pseudos considerations.
7401
68908a06
BS
74022014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7403
cf36d2cc
WS
7404 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
7405 to use canonical form for nor<mode>3.
68908a06 7406
db57bbc9
KT
74072014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7408
7409 PR target/55426
7410 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
7411 conversions.
7412
43b3f52f
IT
74132014-02-25 Ilya Tocar <ilya.tocar@intel.com>
7414
7415 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
7416 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
7417 (ix86_handle_option): Handle OPT_mprefetchwt1.
7418 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
7419 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
7420 PREFETCHWT1 CPUID.
7421 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
7422 OPTION_MASK_ISA_PREFETCHWT1.
7423 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
7424 (PTA_PREFETCHWT1): New.
7425 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
7426 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
84d7e312 7427 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
43b3f52f
IT
7428 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
7429 (*prefetch_avx512pf_<mode>_: Change into ...
84d7e312 7430 (*prefetch_prefetchwt1_<mode>: This.
43b3f52f
IT
7431 * config/i386/i386.opt (mprefetchwt1): New.
7432 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
7433 (_mm_prefetch): Handle intent to write.
7434 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
7435
84053e02
RB
74362014-02-25 Richard Biener <rguenther@suse.de>
7437
7438 PR middle-end/60291
7439 * emit-rtl.c (mem_attrs_htab): Remove.
7440 (mem_attrs_htab_hash): Likewise.
7441 (mem_attrs_htab_eq): Likewise.
84d7e312 7442 (set_mem_attrs): Always allocate new mem-attrs when something changed.
84053e02
RB
7443 (init_emit_once): Do not allocate mem_attrs_htab.
7444
4094757e
RB
74452014-02-25 Richard Biener <rguenther@suse.de>
7446
7447 PR lto/60319
7448 * lto-opts.c (lto_write_options): Output non-explicit conservative
7449 -fwrapv, -fno-trapv and -fno-strict-overflow.
7450 * lto-wrapper.c (merge_and_complain): Handle merging those options.
7451 (run_gcc): And pass them through.
7452
41b2d514 74532014-02-25 Andrey Belevantsev <abel@ispras.ru>
43b3f52f 7454
41b2d514
AB
7455 * sel-sched.c (calculate_new_fences): New parameter ptime.
7456 Calculate it as a maximum over all fence cycles.
7457 (sel_sched_region_2): Adjust the call to calculate_new_fences.
7458 Print the final schedule timing when sched_verbose.
7459
c1c99405
AB
74602014-02-25 Andrey Belevantsev <abel@ispras.ru>
7461
7462 PR rtl-optimization/60292
7463 * sel-sched.c (fill_vec_av_set): Do not reset target availability
7464 bit fot the fence instruction.
7465
1d9def42
AD
74662014-02-24 Alangi Derick <alangiderick@gmail.com>
7467
7468 * calls.h: Fix typo in comment.
7469
325fefe0
JDA
74702014-02-24 John David Anglin <danglin@gcc.gnu.org>
7471
7472 * config/pa/pa.c (pa_output_move_double): Don't valididate when
7473 adjusting offsetable addresses.
7474
ad43b47a
GW
74752014-02-24 Guozhi Wei <carrot@google.com>
7476
7477 * sparseset.h (sparseset_pop): Fix the wrong index.
7478
341c653c
WL
74792014-02-24 Walter Lee <walt@tilera.com>
7480
7481 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
7482 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
7483 triplet.
7484 * common/config/tilegx/tilegx-common.c
7485 (TARGET_DEFAULT_TARGET_FLAGS): Define.
7486 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
7487 (LINK_SPEC): Ditto.
7488 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
7489 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
7490 (tilegx_gimplify_va_arg_expr): Handle big endian.
7491 (tilegx_expand_unaligned_load): Ditto.
7492 (tilegx_expand_unaligned_store): Ditto.
7493 (TARGET_RETURN_IN_MSB): New.
7494 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
7495 (TARGET_ENDIAN_DEFAULT): New.
7496 (TARGET_BIG_ENDIAN): Handle big endian.
7497 (BYTES_BIG_ENDIAN): Ditto.
7498 (WORDS_BIG_ENDIAN): Ditto.
7499 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
7500 (ENDIAN_SPEC): New.
7501 (EXTRA_SPECS): New.
7502 * config/tilegx/tilegx.md (extv): Handle big endian.
7503 (extzv): Ditto.
7504 (insn_st<n>): Ditto.
7505 (insn_st<n>_add<bitsuffix>): Ditto.
7506 (insn_stnt<n>): Ditto.
7507 (insn_stnt<n>_add<bitsuffix>):Ditto.
7508 (vec_interleave_highv8qi): Handle big endian.
7509 (vec_interleave_highv8qi_be): New.
7510 (vec_interleave_highv8qi_le): New.
7511 (insn_v1int_h): Handle big endian.
7512 (vec_interleave_lowv8qi): Handle big endian.
7513 (vec_interleave_lowv8qi_be): New.
7514 (vec_interleave_lowv8qi_le): New.
7515 (insn_v1int_l): Handle big endian.
7516 (vec_interleave_highv4hi): Handle big endian.
7517 (vec_interleave_highv4hi_be): New.
7518 (vec_interleave_highv4hi_le): New.
7519 (insn_v2int_h): Handle big endian.
7520 (vec_interleave_lowv4hi): Handle big endian.
7521 (vec_interleave_lowv4hi_be): New.
7522 (vec_interleave_lowv4hi_le): New.
7523 (insn_v2int_l): Handle big endian.
7524 (vec_interleave_highv2si): Handle big endian.
7525 (vec_interleave_highv2si_be): New.
7526 (vec_interleave_highv2si_le): New.
7527 (insn_v4int_h): Handle big endian.
7528 (vec_interleave_lowv2si): Handle big endian.
7529 (vec_interleave_lowv2si_be): New.
7530 (vec_interleave_lowv2si_le): New.
7531 (insn_v4int_l): Handle big endian.
7532 * config/tilegx/tilegx.opt (mbig-endian): New option.
7533 (mlittle-endian): New option.
7534 * doc/install.texi: Document tilegxbe-linux.
7535 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
7536
f3fec19f
MJ
75372014-02-24 Martin Jambor <mjambor@suse.cz>
7538
7539 PR ipa/60266
7540 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
7541 there are no parameter descriptors.
7542
9039622a
AB
75432014-02-24 Andrey Belevantsev <abel@ispras.ru>
7544
7545 PR rtl-optimization/60268
7546 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
7547 initialization to ...
7548 (sched_rgn_init): ... here.
7549 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
7550
4bb66ef3 75512014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
e7e7bc4b 7552
9039622a
AB
7553 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
7554 names.
e7e7bc4b 7555
4bb66ef3 75562014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
8011ccca
ME
7557
7558 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
7559 definition.
7560
4bb66ef3 75612014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
c332c7df 7562
84d7e312
UB
7563 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
7564 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
c332c7df 7565
4bb66ef3 75662014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
d5a19af1
DH
7567
7568 * config/microblaze/predicates.md: Add cmp_op predicate.
84d7e312 7569 * config/microblaze/microblaze.md: Add branch_compare instruction
d5a19af1 7570 which uses cmp_op predicate and emits cmp insn before branch.
84d7e312 7571 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
d5a19af1
DH
7572 to microblaze_expand_conditional_branch and consolidate logic.
7573 (microblaze_expand_conditional_branch): emit branch_compare
7574 insn instead of handling cmp op separate from branch insn.
7575
34c25d23
BS
75762014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7577
7578 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
7579 to permit subregs.
7580
a6eecdc1
BS
75812014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7582
d5a19af1
DH
7583 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
7584 define_insn with define_expand and new define_insn
7585 *altivec_lve<VI_char>x_internal.
7586 (altivec_stve<VI_char>x): Replace define_insn with define_expand
7587 and new define_insn *altivec_stve<VI_char>x_internal.
7588 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
7589 prototype.
7590 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
7591 lve*x built-ins.
7592 (altivec_expand_stvex_be): New function.
a6eecdc1 7593
8aa7d1fc
JR
75942014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
7595
7596 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
84d7e312 7597 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
8aa7d1fc
JR
7598 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
7599 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
7600
a810ee82
VM
76012014-02-21 Vladimir Makarov <vmakarov@redhat.com>
7602
7603 PR target/60298
7604 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
7605 instead of emit_move_insn.
7606
b90ab1ba
BS
76072014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7608
7609 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
7610 vspltw with vsldoi.
7611 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
7612 gen_altivec_vsumsws.
7613
1af73690
WS
76142014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7615
7616 * config/rs6000/altivec.md (altivec_lvxl): Rename as
84d7e312 7617 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
1af73690
WS
7618 (altivec_lvxl_<mode>): New define_expand incorporating
7619 -maltivec=be semantics where needed.
7620 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
7621 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
7622 semantics where needed.
7623 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
7624 (altivec_stvx_<mode>): New define_expand incorporating
7625 -maltivec=be semantics where needed.
7626 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
7627 VM2 iterator instead of V4SI.
7628 (altivec_stvxl_<mode>): New define_expand incorporating
7629 -maltivec=be semantics where needed.
7630 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
7631 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
84d7e312
UB
7632 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
7633 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
7634 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
1af73690
WS
7635 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
7636 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
7637 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
7638 ALTIVEC_BUILTIN_STVXL.
84d7e312 7639 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
1af73690
WS
7640 (altivec_expand_stvx_be): Likewise.
7641 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
7642 (altivec_expand_lvx_be): Likewise.
7643 (altivec_expand_stvx_be): Likewise.
7644 (altivec_expand_builtin): Add cases for
7645 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
7646 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
7647 (altivec_init_builtins): Add definitions for
7648 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
84d7e312 7649 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
1af73690 7650
0a39d07b
CM
76512014-02-21 Catherine Moore <clm@codesourcery.com>
7652
7653 * doc/invoke.texi (mvirt, mno-virt): Document.
7654 * config/mips/mips.opt (mvirt): New option.
7655 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
7656
f2556b68
RB
76572014-02-21 Richard Biener <rguenther@suse.de>
7658
7659 PR tree-optimization/60276
7660 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
7661 (STMT_VINFO_MIN_NEG_DIST): New macro.
7662 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
7663 STMT_VINFO_MIN_NEG_DIST.
7664 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
7665 made for negative dependence distances still hold.
7666
32417082
RB
76672014-02-21 Richard Biener <rguenther@suse.de>
7668
7669 PR middle-end/60291
7670 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
7671 DECL_INITIAL for globals not in the current function context.
7672
92261ce0
JJ
76732014-02-21 Jakub Jelinek <jakub@redhat.com>
7674
7675 PR tree-optimization/56490
7676 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
7677 * tree-ssa-uninit.c: Include params.h.
7678 (compute_control_dep_chain): Add num_calls argument, return false
7679 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
7680 num_calls to recursive call.
7681 (find_predicates): Change dep_chain into normal array,
7682 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
7683 variable and adjust compute_control_dep_chain caller.
7684 (find_def_preds): Likewise.
7685
aa6ef874
TS
76862014-02-21 Thomas Schwinge <thomas@codesourcery.com>
7687
7688 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
7689 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
7690
4b156fd0
NC
76912014-02-21 Nick Clifton <nickc@redhat.com>
7692
7693 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
7694 (pushhi1): Likewise.
7695 (popqi1): Add mode to pre_dec.
7696 (pophi1): Likewise.
7697
dffd569e
JJ
76982014-02-21 Jakub Jelinek <jakub@redhat.com>
7699
7700 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
7701 mode for mask of V8SFmode permutation.
7702
2fdc29e8
RH
77032014-02-20 Richard Henderson <rth@redhat.com>
7704
7705 PR c++/60272
7706 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
7707 a new pseudo for OLDVAL.
7708
aa637f66
JJ
77092014-02-20 Jakub Jelinek <jakub@redhat.com>
7710
7711 PR target/57896
7712 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
7713 gen_reg_rtx if d->testing_p.
7714 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
7715 if d->testing_p and we will certainly return true.
7716 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
7717 if d->testing_p.
7718
004a7e45
UB
77192014-02-20 Uros Bizjak <ubizjak@gmail.com>
7720
7721 * emit-rtl.c (gen_reg_rtx): Assert that
7722 crtl->emit.regno_pointer_align_length is non-zero.
7723
77242014-02-20 Richard Henderson <rth@redhat.com>
672ce939
RH
7725
7726 PR c++/60272
7727 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
7728 on failure the store back into EXPECT.
7729
95ce7613
CLT
77302014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
7731 Sandra Loosemore <sandra@codesourcery.com>
7732
7733 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
84d7e312
UB
7734 * config/nios2/nios2.c (nios2_function_profiler): Add
7735 -fPIC (flag_pic == 2) support.
95ce7613
CLT
7736 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
7737 (nios2_large_offset_p): New function.
7738 (nios2_unspec_reloc_p): Move up position, update to use
7739 nios2_large_offset_p.
7740 (nios2_unspec_address): Remove function.
7741 (nios2_unspec_offset): New function.
7742 (nios2_large_got_address): New function.
7743 (nios2_got_address): Add large offset support.
7744 (nios2_legitimize_tls_address): Update usage of removed and new
7745 functions.
7746 (nios2_symbol_binds_local_p): New function.
7747 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
7748 (nios2_legitimize_address): Update to use nios2_large_offset_p.
7749 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
7750 (nios2_print_operand): Merge H/L processing, add hiadj/lo
7751 processing for (const (unspec ...)).
7752 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
7753
efd2d3c8
RB
77542014-02-20 Richard Biener <rguenther@suse.de>
7755
7756 * tree-cfg.c (replace_uses_by): Mark altered BBs before
7757 doing the substitution.
004a7e45 7758 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
efd2d3c8 7759
9576e7b1
MJ
77602014-02-20 Martin Jambor <mjambor@suse.cz>
7761
7762 PR ipa/55260
7763 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
7764 info when checking whether lattices are bottom.
7765
25fe40b0
RB
77662014-02-20 Richard Biener <rguenther@suse.de>
7767
7768 PR middle-end/60221
7769 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
7770 regions at -O0.
7771
bd936951
JH
77722014-02-20 Jan Hubicka <hubicka@ucw.cz>
7773
7774 PR ipa/58555
004a7e45
UB
7775 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
7776 parameter specifying the scaling.
bd936951
JH
7777 (inline_call): Update.
7778 (want_inline_recursively): Guard division by zero.
7779 (recursive_inlining): Update.
7780 * ipa-inline.h (clone_inlined_nodes): Update.
7781
3c898e1a
IT
77822014-02-20 Ilya Tocar <ilya.tocar@intel.com>
7783
7784 PR target/60204
7785 * config/i386/i386.c (classify_argument): Pass structures of size
7786 64 bytes or less in register.
7787
df62b4af 77882014-02-20 Ilya Tocar <ilya.tocar@intel.com>
004a7e45 7789 Kirill Yukhin <kirill.yukhin@intel.com>
df62b4af
IT
7790
7791 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
7792 (_mm_rcp28_round_ss): Ditto.
7793 (_mm_rsqrt28_round_sd): Ditto.
7794 (_mm_rsqrt28_round_ss): Ditto.
7795 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
7796 (_mm_rcp14_round_ss): Ditto.
7797 (_mm_rsqrt14_round_sd): Ditto.
7798 (_mm_rsqrt14_round_ss): Ditto.
7799 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
7800 the first input operand, get rid of match_dup.
7801 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
7802 attribute to sse.
7803 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
7804 Ditto.
7805 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
7806 operand as the first input operand, set type attribute.
7807 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
7808 Set type attribute.
7809 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
7810 operand as the first input operand, set type attribute.
7811
9254148e
BS
78122014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7813
7814 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
7815 bit of zero.
7816
fff91793
L
78172014-02-19 H.J. Lu <hongjiu.lu@intel.com>
7818
7819 PR target/60207
7820 * config/i386/i386.c (construct_container): Remove TFmode check
7821 for X86_64_INTEGER_CLASS.
7822
6aa5b4b8
UB
78232014-02-19 Uros Bizjak <ubizjak@gmail.com>
7824
7825 PR target/59794
7826 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
7827 only when -Wpsabi is enabled.
7828
aadc1c43
MHD
78292014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
7830
7831 PR target/59799
7832 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
7833 passing arrays in registers are the same as for structs, so remove the
7834 special case for them.
7835
322913f8
EB
78362014-02-19 Eric Botcazou <ebotcazou@adacore.com>
7837
7838 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
7839 destination type, extract only the valid bits if the source type is not
7840 integral and has a different mode.
7841
fd9710dc
RB
78422014-02-19 Richard Biener <rguenther@suse.de>
7843
7844 PR ipa/60243
7845 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
7846 for all calls.
7847
4df65a85
RB
78482014-02-19 Richard Biener <rguenther@suse.de>
7849
7850 PR ipa/60243
7851 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
7852 (ipa_modify_call_arguments): Emit an argument load explicitely and
7853 preserve virtual SSA form there and for the replacement call.
7854 Do not update SSA form nor free dominance info.
7855
7fea98d8
JH
78562014-02-18 Jan Hubicka <hubicka@ucw.cz>
7857
7858 * ipa.c (function_and_variable_visibility): Also clear WEAK
7859 flag when disolving COMDAT_GROUP.
7860
0a2550e7
JH
78612014-02-18 Jan Hubicka <hubicka@ucw.cz>
7862
7863 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
7864 * ipa-prop.c (ipa_set_jf_known_type): Return early when
7865 not devirtualizing.
7866 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
7867 do more sanity checks.
7868 (detect_type_change): Return true when giving up early.
7869 (compute_complex_assign_jump_func): Fix type parameter of
7870 ipa_set_ancestor_jf.
7871 (compute_complex_ancestor_jump_func): Likewise.
7872 (update_jump_functions_after_inlining): Fix updating of
7873 ancestor function.
6aa5b4b8 7874 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
0a2550e7 7875
2dbe8b70
JH
78762014-02-18 Jan Hubicka <hubicka@ucw.cz>
7877
7878 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
7879 inline clones when edge disappears.
7880
b9809dc4
MM
78812014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
7882
7883 PR target/60203
7884 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
7885 Split 64-bit moves into 2 patterns. Do not allow the use of
7886 direct move for TDmode in little endian, since the decimal value
7887 has little endian bytes within a word, but the 64-bit pieces are
7888 ordered in a big endian fashion, and normal subreg's of TDmode are
7889 not allowed.
7890 (mov<mode>_64bit_dm): Likewise.
7891 (movtd_64bit_nodm): Likewise.
7892
bababbfb
EB
78932014-02-18 Eric Botcazou <ebotcazou@adacore.com>
7894
7895 PR tree-optimization/60174
7896 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
7897 statement of an SSA_NAME that occurs in an abnormal PHI node.
7898
70aacc97
JJ
78992014-02-18 Jakub Jelinek <jakub@redhat.com>
7900
7901 PR sanitizer/60142
7902 * final.c (SEEN_BB): Remove.
7903 (SEEN_NOTE, SEEN_EMITTED): Renumber.
7904 (final_scan_insn): Don't force_source_line on second
7905 NOTE_INSN_BASIC_BLOCK.
7906
223cdd15
UB
79072014-02-18 Uros Bizjak <ubizjak@gmail.com>
7908
7909 PR target/60205
7910 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
7911 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
7912 (type_natural_mode): Warn ABI change when %zmm register is not
7913 available for AVX512F vector value passing.
7914
48810be0
KT
79152014-02-18 Kai Tietz <ktietz@redhat.com>
7916
7917 PR target/60193
223cdd15
UB
7918 * config/i386/i386.c (ix86_expand_prologue): Use value in
7919 rax register as displacement when restoring %r10 or %rax.
7920 Fix wrong offset when restoring both registers.
48810be0 7921
20afe640
EB
79222014-02-18 Eric Botcazou <ebotcazou@adacore.com>
7923
7924 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
7925 assertion with conditional return.
7926
d0b50387
JJ
79272014-02-18 Jakub Jelinek <jakub@redhat.com>
7928 Uros Bizjak <ubizjak@gmail.com>
7929
7930 PR driver/60233
7931 * config/i386/driver-i386.c (host_detect_local_cpu): If
7932 YMM state is not saved by the OS, also clear has_f16c. Move
7933 CPUID 0x80000001 handling before YMM state saving checking.
7934
c4cd7435
AB
79352014-02-18 Andrey Belevantsev <abel@ispras.ru>
7936
7937 PR rtl-optimization/58960
7938 * haifa-sched.c (alloc_global_sched_pressure_data): New,
7939 factored out from ...
7940 (sched_init): ... here.
7941 (free_global_sched_pressure_data): New, factored out from ...
7942 (sched_finish): ... here.
7943 * sched-int.h (free_global_sched_pressure_data): Declare.
7944 * sched-rgn.c (nr_regions_initial): New static global.
7945 (haifa_find_rgns): Initialize it.
7946 (schedule_region): Disable sched-pressure for the newly
7947 generated regions.
7948
f0281fde
RB
79492014-02-17 Richard Biener <rguenther@suse.de>
7950
7951 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
7952 release SSA defs of pattern stmts.
7953
c742772c
RB
79542014-02-17 Richard Biener <rguenther@suse.de>
7955
7956 * tree-inline.c (expand_call_inline): Release the virtual
7957 operand defined by the call we are about to inline.
7958
0492158e
RB
79592014-02-17 Richard Biener <rguenther@suse.de>
7960
7961 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
7962
583a9919
KY
79632014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
7964 Ilya Tocar <ilya.tocar@intel.com>
7965
7966 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
7967 arguments order in builtin.
7968 (_mm512_permutexvar_epi64): Ditto.
7969 (_mm512_mask_permutexvar_epi64): Ditto
7970 (_mm512_maskz_permutexvar_epi32): Ditto
7971 (_mm512_permutexvar_epi32): Ditto
7972 (_mm512_mask_permutexvar_epi32): Ditto
7973
d737743f
BS
79742014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7975
223cdd15 7976 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
d737743f
BS
7977 (p8_vmrgow): Likewise.
7978
54c4bfd7
BS
79792014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7980
7981 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
7982 endian targets.
7983
518fea64
MM
79842014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
7985
7986 PR target/60203
7987 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
7988 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
7989 into 64-bit and 32-bit moves. On 64-bit moves, add support for
7990 using direct move instructions on ISA 2.07. Also adjust
7991 instruction length for 64-bit.
7992 (mov<mode>_64bit, TFmode/TDmode): Likewise.
7993 (mov<mode>_32bit, TFmode/TDmode): Likewise.
7994
61640916
AM
79952014-02-15 Alan Modra <amodra@gmail.com>
7996
7997 PR target/58675
7998 PR target/57935
7999 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
8000 find_replacement on parts of insn rtl that might be reloaded.
8001
a2b33cc3
RB
80022014-02-15 Richard Biener <rguenther@suse.de>
8003
8004 PR tree-optimization/60183
223cdd15 8005 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
a2b33cc3
RB
8006 (tree_ssa_phiprop): Calculate and free post-dominators.
8007
059742a4
JL
80082014-02-14 Jeff Law <law@redhat.com>
8009
8010 PR rtl-optimization/60131
8011 * ree.c (get_extended_src_reg): New function.
223cdd15 8012 (combine_reaching_defs): Use it rather than assuming location of REG.
059742a4
JL
8013 (find_and_remove_re): Verify first operand of extension is
8014 a REG before adding the insns to the copy list.
8015
88f7c49a
RM
80162014-02-14 Roland McGrath <mcgrathr@google.com>
8017
8018 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
8019 * configure: Regenerated.
8020 * config.in: Regenerated.
8021 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
8022 instead of ASM_SHORT.
8023
2ae577fd
VM
80242014-02-14 Vladimir Makarov <vmakarov@redhat.com>
8025 Richard Earnshaw <rearnsha@arm.com>
8026
8027 PR rtl-optimization/59535
8028 * lra-constraints.c (process_alt_operands): Encourage alternative
8029 when unassigned pseudo class is superset of the alternative class.
8030 (inherit_reload_reg): Don't inherit when optimizing for code size.
8031 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
8032 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
8033 modes not less than 4 for Thumb1.
8034
5d88af08
KM
80352014-02-14 Kyle McMartin <kyle@redhat.com>
8036
8037 PR pch/60010
8038 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
8039
3069b421
RB
80402014-02-14 Richard Biener <rguenther@suse.de>
8041
8042 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
8043 (get_frame_arg): Drop the assert with langhook types_compatible_p.
8044 Do not strip INDIRECT_REFs.
8045
1966fd99
RB
80462014-02-14 Richard Biener <rguenther@suse.de>
8047
8048 PR lto/60179
8049 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
8050 DECL_FUNCTION_SPECIFIC_TARGET.
8051 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
8052 * tree-streamer-out.c (pack_ts_target_option): Remove.
223cdd15 8053 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
1966fd99
RB
8054 (write_ts_function_decl_tree_pointers): Do not stream
8055 DECL_FUNCTION_SPECIFIC_TARGET.
8056 * tree-streamer-in.c (unpack_ts_target_option): Remove.
8057 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
8058 (lto_input_ts_function_decl_tree_pointers): Do not stream
8059 DECL_FUNCTION_SPECIFIC_TARGET.
8060
b010d601
JJ
80612014-02-14 Jakub Jelinek <jakub@redhat.com>
8062
223cdd15 8063 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
b010d601
JJ
8064 (get_initial_def_for_induction, vectorizable_induction): Ignore
8065 debug stmts when looking for exit_phi.
8066 (vectorizable_live_operation): Fix up condition.
8067
f2dafb91
CJW
80682014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
8069
8070 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
8071 nreverse() because it changes the content of original tree list.
8072
59043e75
CJW
80732014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
8074
8075 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
8076 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
8077
810f736f
CJW
80782014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
8079
8080 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
8081 GNU coding standards.
8082
1a025bbf
JJ
80832014-02-13 Jakub Jelinek <jakub@redhat.com>
8084
8085 PR debug/60152
8086 * dwarf2out.c (gen_subprogram_die): Don't call
8087 add_calling_convention_attribute if subr_die is old_die.
8088
69479ebd
SS
80892014-02-13 Sharad Singhai <singhai@google.com>
8090
8091 * doc/optinfo.texi: Fix order of nodes.
8092
1287ae50
UB
80932014-02-13 Uros Bizjak <ubizjak@gmail.com>
8094
8095 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
8096 operands[2], not operands[3].
8097
43372236
RB
80982014-02-13 Richard Biener <rguenther@suse.de>
8099
8100 PR bootstrap/59878
8101 * doc/install.texi (ISL): Update recommended version to 0.12.2,
8102 mention the possibility of an in-tree build.
8103 (CLooG): Update recommended version to 0.18.1, mention the
8104 possibility of an in-tree build and clarify that the ISL
8105 bundled with CLooG does not work.
8106
a4d70cfa
JJ
81072014-02-13 Jakub Jelinek <jakub@redhat.com>
8108
8109 PR target/43546
8110 * expr.c (compress_float_constant): If x is a hard register,
8111 extend into a pseudo and then move to x.
8112
e697d119
DV
81132014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
8114
8115 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
8116 caused by bad second argument to warning_at() with -mhotpatch and
8117 nested functions (e.g. with gfortran).
8118
9f8da907
RS
81192014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
8120
8121 * opts.c (option_name): Remove "enabled by default" rider.
8122
0fdd1196
JDA
81232014-02-12 John David Anglin <danglin@gcc.gnu.org>
8124
8125 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
8126
0544c448
L
81272014-02-12 H.J. Lu <hongjiu.lu@intel.com>
8128 Uros Bizjak <ubizjak@gmail.com>
8129
8130 PR target/60151
1287ae50 8131 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
0544c448
L
8132 * configure: Regenerated.
8133
3a938d75
RB
81342014-02-12 Richard Biener <rguenther@suse.de>
8135
8136 * vec.c (vec_prefix::calculate_allocation): Move as
8137 inline variant to vec.h.
8138 (vec_prefix::calculate_allocation_1): New out-of-line version.
8139 * vec.h (vec_prefix::calculate_allocation_1): Declare.
8140 (vec_prefix::m_has_auto_buf): Rename to ...
8141 (vec_prefix::m_using_auto_storage): ... this.
8142 (vec_prefix::calculate_allocation): Inline the easy cases
8143 and dispatch to calculate_allocation_1 which doesn't need the
8144 prefix address.
8145 (va_heap::reserve): Use gcc_checking_assert.
8146 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
8147 m_using_auto_storage.
8148 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
8149 member and adjust.
8150 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
8151 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
8152 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
8153
ad0188be
RB
81542014-02-12 Richard Biener <rguenther@suse.de>
8155
8156 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
8157 when we found a dependence.
8158
64e5ace5
TS
81592014-02-12 Thomas Schwinge <thomas@codesourcery.com>
8160
88ac13da
TS
8161 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
8162 common code...
8163 (maybe_fold_stmt): ... into this new function.
8164 * omp-low.c (lower_omp): Update comment.
8165
bae729a2
TS
8166 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
8167 last use.
8168
64e5ace5
TS
8169 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
8170 dereference.
8171
7b40f5cf
JG
81722014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
8173
8174 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
8175 identifiers in comments.
8176 (cortexa53_extra_costs): Likewise.
1287ae50 8177 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7b40f5cf
JG
8178 (cortexa7_extra_costs): Likewise.
8179 (cortexa12_extra_costs): Likewise.
8180 (cortexa15_extra_costs): Likewise.
8181 (v7m_extra_costs): Likewise.
8182
c4c8514e
RB
81832014-02-12 Richard Biener <rguenther@suse.de>
8184
8185 PR middle-end/60092
8186 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
8187 of posix_memalign being successful.
8188 (lower_stmt): Restrict lowering of posix_memalign to when
8189 -ftree-bit-ccp is enabled.
8190
8eb651bd
SKS
81912014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
8192
8193 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
8194 arg_loc.
8195 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
8196
62b03553
EB
81972014-02-12 Eric Botcazou <ebotcazou@adacore.com>
8198
8199 PR rtl-optimization/60116
8200 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
8201 other_insn once the combination has been validated.
8202
ec77d61f
JH
82032014-02-11 Jan Hubicka <hubicka@ucw.cz>
8204
8205 PR lto/59468
8206 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
8207 and wrapper.
8208 * ipa-devirt.c: Include demangle.h
8209 (odr_violation_reported): New static variable.
8210 (add_type_duplicate): Update odr_violations.
8211 (maybe_record_node): Add completep parameter; update it.
8212 (record_target_from_binfo): Add COMPLETEP parameter;
8213 update it as needed.
8214 (possible_polymorphic_call_targets_1): Likewise.
8215 (struct polymorphic_call_target_d): Add nonconstruction_targets;
8216 rename FINAL to COMPLETE.
8217 (record_targets_from_bases): Sanity check we found the binfo;
8218 fix COMPLETEP updating.
8219 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
8220 parameter, fix computing of COMPLETEP.
1287ae50
UB
8221 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
8222 at LTO time do demangling.
ec77d61f
JH
8223 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
8224 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
8225 parameter.
8226 (gimple_get_virt_method_for_binfo): Likewise.
8227 * gimple-fold.h (gimple_get_virt_method_for_binfo,
8228 gimple_get_virt_method_for_vtable): Update prototypes.
8229
5a4dcd9b
VM
82302014-02-11 Vladimir Makarov <vmakarov@redhat.com>
8231
8232 PR target/49008
8233 * genautomata.c (add_presence_absence): Fix typo with
8234 {final_}presence_list.
8235
69b7afed
MM
82362014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
8237
8238 PR target/60137
8239 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
8240 for VSX/Altivec vectors that land in GPR registers.
8241
8268ad5c
JJ
82422014-02-11 Richard Henderson <rth@redhat.com>
8243 Jakub Jelinek <jakub@redhat.com>
8244
8245 PR debug/59776
8246 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
8247 around drhs if type conversion to lacc->type is not useless.
8248
4fd92af6
KT
82492014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8250
8251 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
8252 tuning struct.
8253 (cortex-a57.cortex-a53): Likewise.
8254 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
8255
7cb14cb8
KT
82562014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8257
8258 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
8259 arm_restrict_it.
8260
6d3715b9
RL
82612014-02-11 Renlin Li <Renlin.Li@arm.com>
8262
8263 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
8264 add_options_for_arm_vfp3.
8265
cddddfff
JL
82662014-02-11 Jeff Law <law@redhat.com>
8267
8268 PR middle-end/54041
8269 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
8270 object with an undesirable mode.
8271
7c1aef7e
RO
82722014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8273
8274 PR libgomp/60107
8275 * config/i386/sol2-9.h: New file.
8276 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
8277 *-*-solaris2.9*): Use it.
8278
4bb66ef3 82792014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
d63f1311
NM
8280
8281 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
8282 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
8283
4bb66ef3 82842014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
ed8b71cc
NM
8285
8286 * config/microblaze/microblaze.c: Extend mcpu version format
8287
4bb66ef3 82882014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
9b5414c6
DH
8289
8290 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
8291
004a7e45 82922014-02-10 Richard Henderson <rth@redhat.com>
f830ddc2
RH
8293
8294 PR target/59927
8295 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
8296 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
8297 ms-abi vs -mno-accumulate-outgoing-args.
8298 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
8299 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
8300 respect to ms-abi.
8301
e2fc3b4f
BE
83022014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
8303
8304 PR middle-end/60080
8305 * cfgexpand.c (expand_asm_operands): Attach source location to
8306 ASM_INPUT rtx objects.
8307 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
8308
3a22ad89
NC
83092014-02-10 Nick Clifton <nickc@redhat.com>
8310
8311 * config/mn10300/mn10300.c (popcount): New function.
8312 (mn10300_expand_prologue): Include saved registers in stack usage
8313 count.
8314
f27be550
JL
83152014-02-10 Jeff Law <law@redhat.com>
8316
8317 PR middle-end/52306
8318 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
1287ae50 8319 when changing the SET_DEST of a prior insn to avoid an input reload.
f27be550 8320
e15e3815
UW
83212014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8322
8323 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
8324 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
8325 -mcall-openbsd, or -mcall-linux.
8326 (CC1_ENDIAN_BIG_SPEC): Remove.
8327 (CC1_ENDIAN_LITTLE_SPEC): Remove.
8328 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
8329 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
8330 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
8331 and %cc1_endian_default.
8332 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
8333
4e1f39e4
RB
83342014-02-10 Richard Biener <rguenther@suse.de>
8335
8336 PR tree-optimization/60115
8337 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
8338 MEM_REF handling. Properly verify that the accesses are not
8339 out of the objects bound.
8340
e7af1c22
KT
83412014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8342
8343 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
8344 coretex to cortex.
8345
79c7de84
EB
83462014-02-10 Eric Botcazou <ebotcazou@adacore.com>
8347
8348 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
8349 proper constants and fix formatting.
8350 (possible_polymorphic_call_targets): Fix formatting.
8351
cf73ee60
KY
83522014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
8353 Ilya Tocar <ilya.tocar@intel.com>
8354
8355 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
8356 (_mm512_loadu_epi32): Renamed into...
8357 (_mm512_loadu_si512): This.
8358 (_mm512_storeu_epi32): Renamed into...
8359 (_mm512_storeu_si512): This.
8360 (_mm512_maskz_ceil_ps): Removed.
8361 (_mm512_maskz_ceil_pd): Ditto.
8362 (_mm512_maskz_floor_ps): Ditto.
8363 (_mm512_maskz_floor_pd): Ditto.
8364 (_mm512_floor_round_ps): Ditto.
8365 (_mm512_floor_round_pd): Ditto.
8366 (_mm512_ceil_round_ps): Ditto.
8367 (_mm512_ceil_round_pd): Ditto.
8368 (_mm512_mask_floor_round_ps): Ditto.
8369 (_mm512_mask_floor_round_pd): Ditto.
8370 (_mm512_mask_ceil_round_ps): Ditto.
8371 (_mm512_mask_ceil_round_pd): Ditto.
8372 (_mm512_maskz_floor_round_ps): Ditto.
8373 (_mm512_maskz_floor_round_pd): Ditto.
8374 (_mm512_maskz_ceil_round_ps): Ditto.
8375 (_mm512_maskz_ceil_round_pd): Ditto.
8376 (_mm512_expand_pd): Ditto.
8377 (_mm512_expand_ps): Ditto.
8378 * config/i386/i386.c (ix86_builtins): Remove
8379 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
8380 (bdesc_args): Ditto.
8381 * config/i386/predicates.md (const1256_operand): New.
8382 (const_1_to_2_operand): Ditto.
8383 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
8384 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
8385 (*avx512pf_gatherpf<mode>sf): Ditto.
8386 (avx512pf_gatherpf<mode>df): Ditto.
8387 (*avx512pf_gatherpf<mode>df_mask): Ditto.
8388 (*avx512pf_gatherpf<mode>df): Ditto.
8389 (avx512pf_scatterpf<mode>sf): Ditto.
8390 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
8391 (*avx512pf_scatterpf<mode>sf): Ditto.
8392 (avx512pf_scatterpf<mode>df): Ditto.
8393 (*avx512pf_scatterpf<mode>df_mask): Ditto.
8394 (*avx512pf_scatterpf<mode>df): Ditto.
8395 (avx512f_expand<mode>): Removed.
8396 (<shift_insn><mode>3<mask_name>): Change predicate type.
8397
8fcbce72
JJ
83982014-02-08 Jakub Jelinek <jakub@redhat.com>
8399
41475e96
JJ
8400 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
8401 not at the end of datarefs vector use ordered_remove to avoid
8402 reordering datarefs vector.
8403
c74559df
JJ
8404 PR c/59984
8405 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
8406 mark local addressable non-static vars as GOVD_PRIVATE
8407 instead of GOVD_LOCAL.
8408 * omp-low.c (lower_omp_for): Move gimple_bind_vars
8409 and BLOCK_VARS of gimple_bind_block to new_stmt rather
8410 than copying them.
8411
8fcbce72
JJ
8412 PR middle-end/60092
8413 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
8414 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
8415 assume_aligned or alloc_align attributes.
8416 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
8417 arguments. Handle also assume_aligned and alloc_align attributes.
1287ae50
UB
8418 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
8419 calls to functions with assume_aligned or alloc_align attributes.
8420 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
8fcbce72 8421
451bdd23
TG
84222014-02-08 Terry Guo <terry.guo@arm.com>
8423
8424 * doc/invoke.texi: Document ARM -march=armv7e-m.
8425
d31d42c7
JJ
84262014-02-08 Jakub Jelinek <jakub@redhat.com>
8427
d71dfeb7
JJ
8428 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
8429 flag on __cilkrts_rethrow builtin.
8430
d31d42c7
JJ
8431 PR ipa/60026
8432 * ipa-cp.c (determine_versionability): Fail at -O0
8433 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
8434 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
8435
8436 Revert:
8437 2014-02-04 Jakub Jelinek <jakub@redhat.com>
8438
8439 PR ipa/60026
8440 * tree-inline.c (copy_forbidden): Fail for
8441 __attribute__((optimize (0))) functions.
8442
a0a98fef
JH
84432014-02-07 Jan Hubicka <hubicka@ucw.cz>
8444
8445 * varpool.c: Include pointer-set.h.
8446 (varpool_remove_unreferenced_decls): Variables in other partitions
8447 will not be output; be however careful to not lose information
8448 about partitioning.
8449
8c311b50
JH
84502014-02-07 Jan Hubicka <hubicka@ucw.cz>
8451
8452 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
8453 lookup in the vtable constructor.
8454
7ba03e5e
JL
84552014-02-07 Jeff Law <law@redhat.com>
8456
63e6247d
JL
8457 PR target/40977
8458 * config/m68k/m68k.md (ashldi_extsi): Turn into a
8459 define_insn_and_split.
8460
7ba03e5e
JL
8461 * ipa-inline.c (inline_small_functions): Fix typos.
8462
177bc204
RS
84632014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
8464
8465 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
8466 (s390_can_use_return_insn): Declare.
8467 * config/s390/s390.h (EPILOGUE_USES): Define.
8468 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
8469 instructions.
8470 (s390_chunkify_start): Handle return JUMP_LABELs.
8471 (s390_early_mach): Emit a main_pool instruction on the entry edge.
8472 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
8473 (s390_can_use_return_insn): New functions.
8474 (s390_fix_long_loop_prediction): Handle conditional returns.
8475 (TARGET_SET_UP_BY_PROLOGUE): Define.
8476 * config/s390/s390.md (ANY_RETURN): New code iterator.
8477 (*creturn, *csimple_return, return, simple_return): New patterns.
8478
0621cf3c
RS
84792014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
8480
8481 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
8482 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
8483 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
8484 REG_CFA_RESTORE list when deciding not to restore a register.
8485
4099494d
RS
84862014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
8487
8488 * config/s390/s390.c: Include tree-pass.h and context.h.
8489 (s390_early_mach): New function, split out from...
8490 (s390_emit_prologue): ...here.
8491 (pass_data_s390_early_mach): New pass structure.
8492 (pass_s390_early_mach): New class.
8493 (s390_option_override): Create and register early_mach pass.
8494 Move to end of file.
8495
3489cc33
RS
84962014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
8497
8498 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
8499 to match for the exit block.
8500
75cc21e2
AK
85012014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8502
8503 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
8504 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
8505 Reject misaligned operands.
8506
8bd7070a
AK
85072014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8508
1287ae50 8509 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
8bd7070a 8510
831806cb
RB
85112014-02-07 Richard Biener <rguenther@suse.de>
8512
8513 PR middle-end/60092
8514 * gimple-low.c (lower_builtin_posix_memalign): New function.
8515 (lower_stmt): Call it to lower posix_memalign in a way
8516 to make alignment info accessible.
8517
7ee9c16f
JJ
85182014-02-07 Jakub Jelinek <jakub@redhat.com>
8519
8520 PR c++/60082
8521 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
8522 __builtin_setjmp_receiver.
8523
32cab212
RB
85242014-02-07 Richard Biener <rguenther@suse.de>
8525
8526 PR middle-end/60092
8527 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
8528 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
8529 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
8530 Handle BUILT_IN_POSIX_MEMALIGN.
8531 (find_func_clobbers): Likewise.
8532 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
8533 (call_may_clobber_ref_p_1): Likewise.
8534
6d6af792
JH
85352014-02-06 Jan Hubicka <hubicka@ucw.cz>
8536
8537 PR ipa/59918
1287ae50
UB
8538 * ipa-devirt.c (record_target_from_binfo): Remove overactive
8539 sanity check.
6d6af792 8540
3c0f1105
JH
85412014-02-06 Jan Hubicka <hubicka@ucw.cz>
8542
8543 PR ipa/59469
8544 * lto-cgraph.c (lto_output_node): Use
8545 symtab_get_symbol_partitioning_class.
8546 (lto_output_varpool_node): likewise.
8547 (symtab_get_symbol_partitioning_class): Move here from
8548 lto/lto-partition.c
8549 * cgraph.h (symbol_partitioning_class): Likewise.
8550 (symtab_get_symbol_partitioning_class): Declare.
8551
b3bb0eb9
JH
85522014-02-06 Jan Hubicka <hubicka@ucw.cz>
8553
8554 * ggc.h (ggc_internal_cleared_alloc): New macro.
8555 * vec.h (vec_safe_copy): Handle memory stats.
8556 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
8557 * target-globals.c (save_target_globals): Likewise.
8558
85592014-02-06 Jan Hubicka <hubicka@ucw.cz>
e2f0f5f7
JJ
8560
8561 PR target/60077
8562 * expr.c (emit_move_resolve_push): Export; be bit more selective
8563 on when to clear alias set.
8564 * expr.h (emit_move_resolve_push): Declare.
8565 * function.h (struct function): Add tail_call_marked.
8566 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
8567 * config/i386/i386-protos.h (ix86_expand_push): Remove.
8568 * config/i386/i386.md (TImode move expander): De not call
8569 ix86_expand_push.
8570 (FP push expanders): Preserve memory attributes.
8571 * config/i386/sse.md (push<mode>1): Remove.
1287ae50 8572 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
e2f0f5f7
JJ
8573 (ix86_expand_push): Remove.
8574 * config/i386/mmx.md (push<mode>1): Remove.
8575
47d552eb
JJ
85762014-02-06 Jakub Jelinek <jakub@redhat.com>
8577
8578 PR rtl-optimization/60030
8579 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
8580 lopart with paradoxical subreg before shifting it up by hprec.
8581
45c75ea7
KT
85822014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8583
8584 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
8585 Remove extra newline at end of file.
8586 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
8587 (arm_issue_rate): Handle cortexa57.
8588 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
8589 (cortex-a57.cortex-a53): Likewise.
8590
af116cae
JJ
85912014-02-06 Jakub Jelinek <jakub@redhat.com>
8592
652a3e3a
JJ
8593 PR target/59575
8594 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
8595 don't record in REG_FRAME_RELATED_EXPR registers not set in that
8596 bitmask.
8597 (arm_expand_prologue): Adjust all callers.
8598 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
8599 info, registers also at the lowest numbered registers side. Use
8600 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
8601 XEXP.
8602
af116cae 8603 PR debug/59992
1287ae50
UB
8604 * var-tracking.c (adjust_mems): Before adding a SET to
8605 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
af116cae 8606
fdcee33b
AM
86072014-02-06 Alan Modra <amodra@gmail.com>
8608
8609 PR target/60032
8610 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
8611 change SDmode to DDmode when lra_in_progress.
8612
251901a0
JJ
86132014-02-06 Jakub Jelinek <jakub@redhat.com>
8614
d3ef8c53
JJ
8615 PR middle-end/59150
8616 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
8617 free_data_ref on the dr first, and before goto again also set dr
8618 to the next dr. For simd_lane_access, free old datarefs[i] before
8619 overwriting it. For get_vectype_for_scalar_type failure, don't
8620 free_data_ref if simd_lane_access.
8621
2754b38f
JJ
8622 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
8623
251901a0
JJ
8624 PR target/60062
8625 * tree.h (opts_for_fn): New inline function.
8626 (opt_for_fn): Define.
8627 * config/i386/i386.c (ix86_function_regparm): Use
8628 opt_for_fn (decl, optimize) instead of optimize.
8629
4a985a37
MS
86302014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
8631
8632 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
8633 for SYMBOL_REF in large memory model.
8634
c366d38c
KT
86352014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8636
8637 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
8638 and crypto support.
8639 (cortex-a57): Likewise.
8640 (cortex-a57.cortex-a53): Likewise.
8641
c801e246
YG
86422014-02-06 Yury Gribov <y.gribov@samsung.com>
8643 Kugan Vivekanandarajah <kuganv@linaro.org>
8644
8645 * config/arm/arm.c (arm_vector_alignment_reachable): Check
8646 unaligned_access.
8647 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
8648
d50f7b84
RB
86492014-02-06 Richard Biener <rguenther@suse.de>
8650
8651 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
8652 set_loop_copy and initialize_original_copy_tables.
8653
179d2941
AV
86542014-02-06 Alex Velenko <Alex.Velenko@arm.com>
8655
8656 * config/aarch64/aarch64-simd.md
8657 (aarch64_ashr_simddi): Change QI to SI.
8658
78b1469d
JH
86592014-02-05 Jan Hubicka <hubicka@ucw.cz>
8660 Jakub Jelinek <jakub@redhat.com>
8661
8662 PR middle-end/60013
8663 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
8664 of the dataflow.
8665
d85f364c
BS
86662014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8667
8668 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
8669 CODE_FOR_altivec_vpku[hw]um to
8670 CODE_FOR_altivec_vpku[hw]um_direct.
8671 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
8672 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
8673 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
8674 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
8675
7b1cd427
BS
86762014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8677
8678 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
8679 generation for -maltivec=be.
8680 (altivec_vsumsws): Simplify redundant test.
8681
52a93551
BS
86822014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8683
8684 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
8685 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
8686 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
8687 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
8688 gen_altivec_vpkuwum.
8689 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
8690 BYTES_BIG_ENDIAN.
8691 (altivec_vpks<VI_char>ss): Likewise.
8692 (altivec_vpks<VI_char>us): Likewise.
8693 (altivec_vpku<VI_char>us): Likewise.
8694 (altivec_vpku<VI_char>um): Likewise.
8695 (altivec_vpku<VI_char>um_direct): New (copy of
8696 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
8697 internal use).
8698 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
8699 target is little endian and -maltivec=be is not specified.
8700 (*altivec_vupkhs<VU_char>_direct): New (copy of
1287ae50 8701 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
52a93551
BS
8702 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
8703 target is little endian and -maltivec=be is not specified.
8704 (*altivec_vupkls<VU_char>_direct): New (copy of
1287ae50 8705 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
52a93551
BS
8706 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
8707 little endian and -maltivec=be is not specified.
8708 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
8709 little endian and -maltivec=be is not specified.
8710
004a7e45 87112014-02-05 Richard Henderson <rth@redhat.com>
76df831f
RH
8712
8713 PR debug/52727
8714 * combine-stack-adj.c: Revert r206943.
8715 * sched-int.h (struct deps_desc): Add last_args_size.
8716 * sched-deps.c (init_deps): Initialize it.
8717 (sched_analyze_insn): Add OUTPUT dependencies between insns that
8718 contain REG_ARGS_SIZE notes.
8719
f300e7b8
JH
87202014-02-05 Jan Hubicka <hubicka@ucw.cz>
8721
8722 * lto-cgraph.c (asm_nodes_output): Make global.
8723 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
1287ae50 8724 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
f300e7b8
JH
8725 (driver_handle_option): Handle OPT_fwpa.
8726
609524d2
JJ
87272014-02-05 Jakub Jelinek <jakub@redhat.com>
8728
add5c763
JJ
8729 PR ipa/59947
8730 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
8731 a comment typo and formatting issue. If odr_hash hasn't been
8732 created, return vNULL and set *completep to false.
8733
609524d2
JJ
8734 PR middle-end/57499
8735 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
8736 bb with no successors.
8737
05ab6e21
JG
87382014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
8739
8740 PR target/59718
8741 * doc/invoke.texi (-march): Clarify documentation for ARM.
8742 (-mtune): Likewise.
8743 (-mcpu): Likewise.
8744
d55d9ed0
RB
87452014-02-05 Richard Biener <rguenther@suse.de>
8746
8747 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
8748 when not vectorizing because of too many alias checks.
8749 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
8750 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
8751
c70da878
NC
87522014-02-05 Nick Clifton <nickc@redhat.com>
8753
8754 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
1287ae50 8755 accept extended registers in any mode when compiling for the MN10300.
c70da878 8756
25a07c7e
YG
87572014-02-05 Yury Gribov <y.gribov@samsung.com>
8758
8759 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
8760 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
8761 sanitization attributes.
8762 (can_inline_edge_p): Likewise.
8763 (sanitize_attrs_match_for_inline_p): New function.
8764
4bf2a588
JH
87652014-02-04 Jan Hubicka <hubicka@ucw.cz>
8766
8767 * ipa-prop.c (detect_type_change): Shor circuit testing of
8768 type changes on THIS pointer.
8769
d92f4df0
JDA
87702014-02-04 John David Anglin <danglin@gcc.gnu.org>
8771
8772 PR target/59777
8773 * config/pa/pa.c (legitimize_tls_address): Return original address
8774 if not passed a SYMBOL_REF rtx.
8775 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
8776 addresses.
8777 (pa_emit_move_sequence): Simplify TLS source operands.
8778 (pa_legitimate_constant_p): Reject all TLS constants.
8779 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
8780 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
8781
d665f8dd
JH
87822014-02-04 Jan Hubicka <hubicka@ucw.cz>
8783
8784 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
8785 groups when we know they are controlled by LTO.
8786 * varasm.c (default_binds_local_p_1): If object is in other partition,
8787 it will be resolved locally.
8788
6a071860
BE
87892014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
8790
e2fc3b4f 8791 * config/host-linux.c (linux_gt_pch_use_address): Don't
1287ae50 8792 use SSIZE_MAX because it is not always defined.
6a071860 8793
8e9d68a9
VM
87942014-02-04 Vladimir Makarov <vmakarov@redhat.com>
8795
8796 PR bootstrap/59913
8797 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
8798 threshold for pseudo splitting.
8799 (update_ebb_live_info): Process call argument hard registers and
8800 hard registers from insn definition too.
8801 (max_small_class_regs_num): New constant.
8802 (inherit_in_ebb): Update live hard regs through EBBs. Update
8803 reloads_num only for small register classes. Don't split for
8804 outputs of jumps.
8805
8472fa80
MT
88062014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
8807
8808 PR ipa/60058
8809 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
8810 is non-null.
8811
df98e37f
JH
88122014-02-04 Jan Hubicka <hubicka@ucw.cz>
8813
1287ae50
UB
8814 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
8815 visibility is safe.
df98e37f 8816
71e55f04
MP
88172014-02-04 Marek Polacek <polacek@redhat.com>
8818
8819 * gdbinit.in (pel): Define.
8820
229e56f9
BE
88212014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
8822
8823 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
8824 behavior.
8825
c39276b8
RB
88262014-02-04 Richard Biener <rguenther@suse.de>
8827
8828 PR lto/59723
8829 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
8830 in function context local.
8831 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
8832 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
8833 similar to LTO_imported_decl_ref.
8834
66b3ed5f
JJ
88352014-02-04 Jakub Jelinek <jakub@redhat.com>
8836
029ce7a2
JJ
8837 PR tree-optimization/60002
8838 * cgraphclones.c (build_function_decl_skip_args): Clear
8839 DECL_LANG_SPECIFIC.
8840
8e91d222
JJ
8841 PR tree-optimization/60023
8842 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
8843 false to gsi_replace.
8844 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
8845 has been in some EH region and vec_stmt could throw, add
8846 vec_stmt into the same EH region.
8847 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
8848 has no lhs, ignore it.
8849 * internal-fn.c (expand_MASK_LOAD): Likewise.
8850
eb259c4a
JJ
8851 PR ipa/60026
8852 * tree-inline.c (copy_forbidden): Fail for
8853 __attribute__((optimize (0))) functions.
8854
92d05580
JJ
8855 PR other/58712
8856 * omp-low.c (simd_clone_struct_copy): If from->inbranch
8857 is set, copy one less argument.
30540e79
JJ
8858 (expand_simd_clones): Don't subtract clone_info->inbranch
8859 from simd_clone_struct_alloc argument.
92d05580 8860
be3afd67
JJ
8861 PR rtl-optimization/57915
8862 * recog.c (simplify_while_replacing): If all unary/binary/relational
8863 operation arguments are constant, attempt to simplify those.
8864
66b3ed5f
JJ
8865 PR middle-end/59261
8866 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
8867 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
8868
5961d779
RB
88692014-02-04 Richard Biener <rguenther@suse.de>
8870
8871 PR tree-optimization/60012
8872 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
8873 TBAA disambiguation to all DDRs.
8874
91da0481
RO
88752014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8876
8877 PR target/59788
8878 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
8879 (LINK_SPEC): Use it for -shared, -shared-libgcc.
8880
39960d1c
JH
88812014-02-03 Jan Hubicka <hubicka@ucw.cz>
8882
8883 PR ipa/59882
8884 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
8885
88862014-02-03 Jan Hubicka <hubicka@ucw.cz>
6f746413
JH
8887
8888 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
8889 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
8890
39960d1c 88912014-02-03 Jan Hubicka <hubicka@ucw.cz>
5bccb77a
JH
8892
8893 PR ipa/59831
8894 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
8895 to figure out targets of polymorphic calls with known decl.
8896 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
8897 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
8898 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
8899 (get_polymorphic_call_info): ... here.
8900 (get_polymorphic_call_info_from_invariant): New function.
8901
39960d1c 89022014-02-03 Jan Hubicka <hubicka@ucw.cz>
9de2f554
JH
8903
8904 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
8905 lookup via vtable pointer; check for type consistency
8906 and turn inconsitent facts into UNREACHABLE.
8907 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50
UB
8908 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
8909 type inconsistent querries; return UNREACHABLE instead.
9de2f554 8910
ade3ff24
RH
89112014-02-03 Richard Henderson <rth@twiddle.net>
8912
8913 PR tree-opt/59924
8914 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
8915 already processed this node.
8916 (normalize_one_pred_1): Pass along mark_set.
8917 (normalize_one_pred): Create and destroy a pointer_set_t.
8918 (normalize_one_pred_chain): Likewise.
8919
55428cc3
LA
89202014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
8921
8922 PR gcov-profile/58602
1287ae50 8923 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
55428cc3 8924
85942f45
JH
89252014-02-03 Jan Hubicka <hubicka@ucw.cz>
8926
8927 PR ipa/59831
1287ae50
UB
8928 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
8929 -fno-devirtualize; try to devirtualize by the knowledge of
8930 virtual table pointer given by aggregate propagation.
85942f45 8931 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1287ae50 8932 (ipa_print_node_jump_functions): Dump also offset that
85942f45
JH
8933 is relevant for polymorphic calls.
8934 (determine_known_aggregate_parts): Add arg_type parameter; use it
8935 instead of determining the type from pointer type.
8936 (ipa_compute_jump_functions_for_edge): Update call of
8937 determine_known_aggregate_parts.
8938 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
8939 (gimple_get_virt_method_for_binfo): ... here; simplify using
8940 vtable_pointer_value_to_vtable.
8941 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
8942 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
1287ae50 8943 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
85942f45
JH
8944 (vtable_pointer_value_to_vtable): Break out from ...; handle also
8945 POINTER_PLUS_EXPR.
8946 (vtable_pointer_value_to_binfo): ... here.
8947 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
8948
bddc974e
TJ
89492014-02-03 Teresa Johnson <tejohnson@google.com>
8950
8951 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
8952 redef of outer loop index variable.
8953
5d77fb19
MG
89542014-02-03 Marc Glisse <marc.glisse@inria.fr>
8955
8956 PR c++/53017
8957 PR c++/59211
8958 * doc/extend.texi (Function Attributes): Typo.
8959
cf5b2be2
CH
89602014-02-03 Cong Hou <congh@google.com>
8961
8962 PR tree-optimization/60000
8963 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
8964 if the vectorized statement is a store. A store statement can only
8965 appear at the end of pattern statements.
8966
a2a1ddb5
L
89672014-02-03 H.J. Lu <hongjiu.lu@intel.com>
8968
8969 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
8970 (ix86_option_override_internal): Default long double to 64-bit for
8971 32-bit Bionic and to 128-bit for 64-bit Bionic.
8972
8973 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
8974 TARGET_LONG_DOUBLE_128 is true.
8975 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
8976
8977 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
8978 (mlong-double-64): Negate -mlong-double-128.
8979 (mlong-double-128): New option.
8980
8981 * config/i386/i386-c.c (ix86_target_macros): Define
8982 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
8983
8984 * doc/invoke.texi: Document -mlong-double-128.
8985
f742cf90
L
89862014-02-03 H.J. Lu <hongjiu.lu@intel.com>
8987
8988 PR rtl-optimization/60024
8989 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
8990
8f36fd30
MT
89912014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
8992
1287ae50 8993 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8f36fd30 8994
861ec4f3
AB
89952014-02-03 Andrey Belevantsev <abel@ispras.ru>
8996
8997 PR rtl-optimization/57662
8998 * sel-sched.c (code_motion_path_driver): Do not mark already not
8999 existing blocks in the visiting bitmap.
9000
fe08255d
AB
90012014-02-03 Andrey Belevantsev <abel@ispras.ru>
9002
9003 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
9004 on the insn being emitted.
9005
96d3a240
JG
90062014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
9007 Will Deacon <will.deacon@arm.com>
9008
9009 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
9010
9dd6c9f7
KT
90112014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9012
9013 * config/arm/arm-tables.opt: Regenerate.
9014
60331d00
BS
90152014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9016
9017 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
9018 for vector types other than V16QImode.
9019 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
9020 define_expand, and call altivec_expand_vec_perm_le when producing
9021 code with little endian element order.
9022 (*altivec_vperm_<mode>_internal): New insn having previous
9023 behavior of altivec_vperm_<mode>.
9024 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
9025 altivec_expand_vec_perm_le when producing code with little endian
9026 element order.
9027 (*altivec_vperm_<mode>_uns_internal): New insn having previous
9028 behavior of altivec_vperm_<mode>_uns.
9029
b80afde9
BS
90302014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9031
9032 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
9033 (altivec_vsumsws): Add handling for -maltivec=be with a little
9034 endian target.
9035 (altivec_vsumsws_direct): New.
9036 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
9037 gen_altivec_vsumsws.
9038
39960d1c 90392014-02-02 Jan Hubicka <hubicka@ucw.cz>
390675c8
JH
9040
9041 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
9042 vtable_pointer_value_to_binfo): New functions.
9043 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
9044 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
9045
02b67731
SL
90462014-02-02 Sandra Loosemore <sandra@codesourcery.com>
9047
9048 * config/nios2/nios2.md (load_got_register): Initialize GOT
9049 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
9050 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
9051
2ace77c2
JH
90522014-02-02 Jan Hubicka <hubicka@ucw.cz>
9053
9054 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
9055 preserverd by passthrough, do not propagate the type.
9056
70b2d364
RS
90572014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
9058
9059 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
9060 (mips_atomic_assign_expand_fenv): New function.
9061 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
9062
a90c0245
RS
90632014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
9064
9065 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
9066 (__builtin_mips_set_fcsr): Likewise.
9067 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
9068 MIPS_USI_FTYPE_VOID.
9069 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
9070 (mips16_expand_set_fcsr): Likewise.
9071 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
9072 (mips16_set_fcsr_stub): Likewise.
9073 (mips16_get_fcsr_one_only_stub): New class.
9074 (mips16_set_fcsr_one_only_stub): Likewise.
9075 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
9076 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
9077 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
9078 (hard_float): New availability predicate.
9079 (mips_builtins): Add get_fcsr and set_fcsr.
9080 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
9081 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
9082 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
9083 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
9084 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
9085 patterns.
9086
6d51cc90
RS
90872014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
9088
9089 * config/mips/mips.c (mips_one_only_stub): New class.
9090 (mips_need_mips16_rdhwr_p): Replace with...
9091 (mips16_rdhwr_stub): ...this new variable.
9092 (mips16_stub_call_address): New function.
9093 (mips16_rdhwr_one_only_stub): New class.
9094 (mips_expand_thread_pointer): Use mips16_stub_call_address.
9095 (mips_output_mips16_rdhwr): Delete.
9096 (mips_finish_stub): New function.
9097 (mips_code_end): Use it to handle rdhwr stubs.
9098
6c90f137
UB
90992014-02-02 Uros Bizjak <ubizjak@gmail.com>
9100
9101 PR target/60017
9102 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
9103 when calculating size of integer atomic types.
9104
5e64bbbb
L
91052014-02-02 H.J. Lu <hongjiu.lu@intel.com>
9106
9107 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
9108
021293cb
JJ
91092014-02-01 Jakub Jelinek <jakub@redhat.com>
9110
9111 PR tree-optimization/60003
9112 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
9113 * profile.c (branch_prob): Use gimple_call_builtin_p
9114 to check for BUILT_IN_SETJMP_RECEIVER.
9115 * tree-inline.c (copy_bb): Call notice_special_calls.
9116
6334f3e9
VM
91172014-01-31 Vladimir Makarov <vmakarov@redhat.com>
9118
9119 PR bootstrap/59985
9120 * lra-constraints.c (process_alt_operands): Update reload_sum only
9121 on the first pass.
9122
efa7882f
RH
91232014-01-31 Richard Henderson <rth@redhat.com>
9124
9125 PR middle-end/60004
9126 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
9127 until after else_eh is processed.
9128
de72ea02
IT
91292014-01-31 Ilya Tocar <ilya.tocar@intel.com>
9130
9131 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
9132 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
9133 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
9134 in smmintrin.h, remove them.
9135 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
9136 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
9137 * config/i386/i386.md (ROUND_SAE): Fix value.
9138 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
9139 (const48_operand): New.
9140 * config/i386/subst.md (round), (round_expand): Use
9141 const_4_or_8_to_11_operand.
9142 (round_saeonly), (round_saeonly_expand): Use const48_operand.
9143
be792bce
IT
91442014-01-31 Ilya Tocar <ilya.tocar@intel.com>
9145
9146 * config/i386/constraints.md (Yk): Swap meaning with k.
9147 * config/i386/i386.md (movhi_internal): Change Yk to k.
9148 (movqi_internal): Ditto.
9149 (*k<logic><mode>): Ditto.
9150 (*andhi_1): Ditto.
9151 (*andqi_1): Ditto.
9152 (kandn<mode>): Ditto.
9153 (*<code>hi_1): Ditto.
9154 (*<code>qi_1): Ditto.
9155 (kxnor<mode>): Ditto.
9156 (kortestzhi): Ditto.
9157 (kortestchi): Ditto.
9158 (kunpckhi): Ditto.
9159 (*one_cmplhi2_1): Ditto.
9160 (*one_cmplqi2_1): Ditto.
9161 * config/i386/sse.md (): Change k to Yk.
9162 (avx512f_load<mode>_mask): Ditto.
9163 (avx512f_blendm<mode>): Ditto.
9164 (avx512f_store<mode>_mask): Ditto.
9165 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
9166 (avx512f_storedqu<mode>_mask): Ditto.
33425d6c
UB
9167 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
9168 Ditto.
be792bce
IT
9169 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
9170 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
9171 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
9172 (avx512f_maskcmp<mode>3): Ditto.
9173 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
9174 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
9175 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
9176 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
9177 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
9178 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
9179 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
9180 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
9181 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
9182 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
9183 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
9184 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
9185 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
9186 (vec_extract_lo_<mode>_maskm): Ditto.
9187 (vec_extract_hi_<mode>_maskm): Ditto.
9188 (avx512f_vternlog<mode>_mask): Ditto.
9189 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
9190 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
9191 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
9192 (avx512f_<code>v8div16qi2_mask): Ditto.
9193 (avx512f_<code>v8div16qi2_mask_store): Ditto.
9194 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
9195 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
9196 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
9197 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
9198 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
9199 (*avx512pf_gatherpf<mode>df_mask): Ditto.
9200 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
9201 (*avx512pf_scatterpf<mode>df_mask): Ditto.
9202 (avx512cd_maskb_vec_dupv8di): Ditto.
9203 (avx512cd_maskw_vec_dupv16si): Ditto.
9204 (avx512f_vpermi2var<mode>3_maskz): Ditto.
9205 (avx512f_vpermi2var<mode>3_mask): Ditto.
9206 (avx512f_vpermi2var<mode>3_mask): Ditto.
9207 (avx512f_vpermt2var<mode>3_maskz): Ditto.
9208 (*avx512f_gathersi<mode>): Ditto.
9209 (*avx512f_gathersi<mode>_2): Ditto.
9210 (*avx512f_gatherdi<mode>): Ditto.
9211 (*avx512f_gatherdi<mode>_2): Ditto.
9212 (*avx512f_scattersi<mode>): Ditto.
9213 (*avx512f_scatterdi<mode>): Ditto.
9214 (avx512f_compress<mode>_mask): Ditto.
9215 (avx512f_compressstore<mode>_mask): Ditto.
9216 (avx512f_expand<mode>_mask): Ditto.
9217 * config/i386/subst.md (mask): Change k to Yk.
9218 (mask_scalar_merge): Ditto.
9219 (sd): Ditto.
9220
0878d68a
MG
92212014-01-31 Marc Glisse <marc.glisse@inria.fr>
9222
9223 * doc/extend.texi (Vector Extensions): Document ?: in C++.
9224
fdfd537b
RB
92252014-01-31 Richard Biener <rguenther@suse.de>
9226
9227 PR middle-end/59990
9228 * builtins.c (fold_builtin_memory_op): Make sure to not
9229 use a floating-point mode or a boolean or enumeral type for
9230 the copy operation.
9231
4f50b9ff
DD
92322014-01-30 DJ Delorie <dj@redhat.com>
9233
9234 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
9235 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
9236 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
9237 whenever main() has an epilogue.
9238
c3e96073
BS
92392014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9240
9241 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
9242 unused variable "field".
9243 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
9244 (vsx_mergeh_<mode>): Likewise.
9245 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
9246 (altivec_vmrghh): Likewise.
9247 (altivec_vmrghw): Likewise.
9248 (altivec_vmrglb): Likewise.
9249 (altivec_vmrglh): Likewise.
9250 (altivec_vmrglw): Likewise.
9251 (altivec_vspltb): Add missing uses.
9252 (altivec_vsplth): Likewise.
9253 (altivec_vspltw): Likewise.
9254 (altivec_vspltsf): Likewise.
9255
4bb9c32d
JJ
92562014-01-30 Jakub Jelinek <jakub@redhat.com>
9257
9258 PR target/59923
9259 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
9260 frame related instructions.
9261
7613fa50
VM
92622014-01-30 Vladimir Makarov <vmakarov@redhat.com>
9263
9264 PR rtl-optimization/59959
9265 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
9266 any reload of register whose subreg is invalid.
9267
6fb82517
JJ
92682014-01-30 Jakub Jelinek <jakub@redhat.com>
9269
33425d6c 9270 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
6fb82517
JJ
9271 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
9272 Add missing return type - void.
9273
bf53d4b8
BS
92742014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9275
9276 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
9277 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
9278 remove element index adjustment for endian (now handled in vsx.md
9279 and altivec.md).
9280 (altivec_expand_vec_perm_const): Use
9281 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
9282 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
9283 (vsx_xxspltw_<mode>): Adjust element index for little endian.
9284 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
9285 define_expand and a new define_insn *altivec_vspltb_internal;
9286 adjust for -maltivec=be on a little endian target.
9287 (altivec_vspltb_direct): New.
9288 (altivec_vsplth): Divide into a define_expand and a new
9289 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
9290 little endian target.
9291 (altivec_vsplth_direct): New.
9292 (altivec_vspltw): Divide into a define_expand and a new
9293 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
9294 little endian target.
9295 (altivec_vspltw_direct): New.
9296 (altivec_vspltsf): Divide into a define_expand and a new
9297 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
9298 a little endian target.
9299
c965e187
RB
93002014-01-30 Richard Biener <rguenther@suse.de>
9301
9302 PR tree-optimization/59993
9303 * tree-ssa-forwprop.c (associate_pointerplus): Check we
9304 can propagate form the earlier stmt and avoid the transform
9305 when the intermediate result is needed.
9306
ba117645
AD
93072014-01-30 Alangi Derick <alangiderick@gmail.com>
9308
9309 * README.Portability: Fix typo.
9310
4bb66ef3 93112014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
29bd5728
DH
9312
9313 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
9314 comparison_operator with ordered_comparison_operator.
9315
c345a0b1
NC
93162014-01-30 Nick Clifton <nickc@redhat.com>
9317
9318 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
9319 Rename to mn10300_store_multiple_regs.
9320 * config/mn10300/mn10300.c: Likewise.
9321 * config/mn10300/mn10300.md (store_movm): Fix typo: call
9322 store_multiple_regs.
9323 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
9324 Call mn10300_store_multiple_regs.
9325
2d70f6d4
NC
93262014-01-30 Nick Clifton <nickc@redhat.com>
9327 DJ Delorie <dj@redhat.com>
9328
9329 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
9330 %fp 2 to keep registers after it properly word-aligned.
9331 (rl78_alloc_physical_registers_umul): Handle the case where both
9332 input operands are the same.
9333
c972624e
RB
93342014-01-30 Richard Biener <rguenther@suse.de>
9335
9336 PR tree-optimization/59903
9337 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
9338 check properly.
9339
fc044323
JM
93402014-01-30 Jason Merrill <jason@redhat.com>
9341
404c2aea
JM
9342 PR c++/59633
9343 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
9344
fc044323
JM
9345 PR c++/59645
9346 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
9347
f30a0ba5
RB
93482014-01-30 Richard Biener <rguenther@suse.de>
9349
9350 PR tree-optimization/59951
33425d6c 9351 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
f30a0ba5 9352
aad8816f
SZ
93532014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
9354
9355 PR target/59784
9356 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
9357 SFmode to DFmode case.
9358
3b16363e
DD
93592014-01-29 DJ Delorie <dj@redhat.com>
9360
9361 * config/msp430/msp430.opt (-minrt): New.
9362 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
9363 if -minrt given.
9364 (ENDFILE_SPEC): Likewise.
9365
39960d1c 93662014-01-29 Jan Hubicka <hubicka@ucw.cz>
3100142a
JH
9367
9368 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
9369 (estimate_function_body_sizes): Use it.
9370
1200933c
PC
93712014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
9372
9373 PR c++/58561
9374 * dwarf2out.c (is_cxx_auto): New.
9375 (is_base_type): Use it.
9376 (gen_type_die_with_usage): Likewise.
9377
68d3bacf
BS
93782014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9379
9380 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
9381 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
9382 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
9383 -maltivec=be with LE targets.
9384 (vsx_mergeh_<mode>): Likewise.
33425d6c 9385 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
68d3bacf
BS
9386 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
9387 (altivec_vmrghb): Replace with define_expand and new
33425d6c 9388 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
9389 (altivec_vmrghb_direct): New define_insn.
9390 (altivec_vmrghh): Replace with define_expand and new
33425d6c 9391 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
9392 (altivec_vmrghh_direct): New define_insn.
9393 (altivec_vmrghw): Replace with define_expand and new
33425d6c 9394 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
9395 (altivec_vmrghw_direct): New define_insn.
9396 (*altivec_vmrghsf): Adjust for endianness.
9397 (altivec_vmrglb): Replace with define_expand and new
33425d6c 9398 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
9399 (altivec_vmrglb_direct): New define_insn.
9400 (altivec_vmrglh): Replace with define_expand and new
33425d6c 9401 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
9402 (altivec_vmrglh_direct): New define_insn.
9403 (altivec_vmrglw): Replace with define_expand and new
33425d6c 9404 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
68d3bacf
BS
9405 (altivec_vmrglw_direct): New define_insn.
9406 (*altivec_vmrglsf): Adjust for endianness.
9407 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
9408 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
9409 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
9410 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
9411 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
9412 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
9413 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
9414 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
9415
aef66c94
MS
94162014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
9417
9418 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
9419 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
9420 whitespace.
9421
77574c35
RB
94222014-01-29 Richard Biener <rguenther@suse.de>
9423
9424 PR tree-optimization/58742
9425 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
9426 associate_pointerplus_align.
9427 (associate_pointerplus_diff): New function.
9428 (associate_pointerplus): Likewise. Call associate_pointerplus_align
9429 and associate_pointerplus_diff.
9430
15b25b24
RB
94312014-01-29 Richard Biener <rguenther@suse.de>
9432
9433 * lto-streamer.h (LTO_major_version): Bump to 3.
9434 (LTO_minor_version): Reset to 0.
9435
eb6006ad
RL
94362014-01-29 Renlin Li <Renlin.Li@arm.com>
9437
9438 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
9439 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
9440 (arm_file_start): Generate correct asm header for armv7ve.
9441 * config/arm/bpabi.h: Add multilib support for armv7ve.
9442 * config/arm/driver-arm.c: Change the architectures of cortex-a7
9443 and cortex-a15 to armv7ve.
9444 * config/arm/t-aprofile: Add multilib support for armv7ve.
9445 * doc/invoke.texi: Document -march=armv7ve.
9446
4bfb2fa2
RB
94472014-01-29 Richard Biener <rguenther@suse.de>
9448
9449 PR tree-optimization/58742
9450 * tree-ssa-forwprop.c (associate_plusminus): Return true
9451 if we changed sth, defer EH cleanup to ...
9452 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
9453 (simplify_mult): New function.
9454
42eb8bd1
JJ
94552014-01-29 Jakub Jelinek <jakub@redhat.com>
9456
09b22f48
JJ
9457 PR middle-end/59917
9458 PR tree-optimization/59920
9459 * tree.c (build_common_builtin_nodes): Remove
9460 __builtin_setjmp_dispatcher initialization.
9461 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
9462 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
9463 instead of gsi_after_labels + manually skipping debug stmts.
9464 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
9465 ignore bbs with IFN_ABNORMAL_DISPATCHER.
9466 * tree-inline.c (copy_edges_for_bb): Remove
9467 can_make_abnormal_goto argument, instead add abnormal_goto_dest
9468 argument. Ignore computed_goto_p stmts. Don't call
9469 make_abnormal_goto_edges. If a call might need abnormal edges
9470 for non-local gotos, see if it already has an edge to
9471 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
9472 with true argument, don't do anything then, otherwise add
9473 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
9474 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
9475 caller.
9476 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
9477 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
9478 (lower_stmt): Don't set data->calls_builtin_setjmp.
9479 (lower_builtin_setjmp): Adjust comment.
9480 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
9481 * tree-cfg.c (found_computed_goto): Remove.
9482 (factor_computed_gotos): Remove.
9483 (make_goto_expr_edges): Return bool, true for computed gotos.
9484 Don't call make_abnormal_goto_edges.
9485 (build_gimple_cfg): Don't set found_computed_goto, don't call
9486 factor_computed_gotos.
9487 (computed_goto_p): No longer static.
9488 (make_blocks): Don't set found_computed_goto.
9489 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
9490 (make_edges): If make_goto_expr_edges returns true, push bb
9491 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
9492 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
9493 vector. Record mapping between bbs and OpenMP regions if there
9494 are any, adjust make_gimple_omp_edges caller. Call
9495 handle_abnormal_edges.
9496 (make_abnormal_goto_edges): Remove.
9497 * tree-cfg.h (make_abnormal_goto_edges): Remove.
9498 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
9499 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
33425d6c 9500 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
09b22f48
JJ
9501 * internal-fn.def (ABNORMAL_DISPATCHER): New.
9502 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
9503 filling *region also set *region_idx to (*region)->entry->index.
9504
42eb8bd1
JJ
9505 PR other/58712
9506 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
9507 For REGs set ORIGINAL_REGNO.
9508
4a271b7e
BM
95092014-01-29 Bingfeng Mei <bmei@broadcom.com>
9510
33425d6c 9511 * doc/md.texi: Mention that a target shouldn't implement
4a271b7e
BM
9512 vec_widen_(s|u)mul_even/odd pair if it is less efficient
9513 than hi/lo pair.
9514
3d54b29d
JJ
95152014-01-29 Jakub Jelinek <jakub@redhat.com>
9516
9517 PR tree-optimization/59594
9518 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
9519 a copy of the datarefs vector rather than the vector itself.
9520
2e5e7103
JM
95212014-01-28 Jason Merrill <jason@redhat.com>
9522
9523 PR c++/53756
9524 * dwarf2out.c (auto_die): New static.
9525 (gen_type_die_with_usage): Handle C++1y 'auto'.
9526 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
9527 on definition.
9528
d5d618b5
L
95292014-01-28 H.J. Lu <hongjiu.lu@intel.com>
9530
9531 PR target/59672
9532 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
9533 (SPEC_X32): Likewise.
9534 (SPEC_64): Likewise.
9535 * config/i386/i386.c (ix86_option_override_internal): Turn off
9536 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
9537 for TARGET_16BIT.
9538 (x86_file_start): Output .code16gcc for TARGET_16BIT.
9539 * config/i386/i386.h (TARGET_16BIT): New macro.
9540 (TARGET_16BIT_P): Likewise.
9541 * config/i386/i386.opt: Add m16.
9542 * doc/invoke.texi: Document -m16.
9543
367c8286
DS
95442014-01-28 Jakub Jelinek <jakub@redhat.com>
9545
9546 PR preprocessor/59935
9547 * input.c (location_get_source_line): Bail out on when line number
33425d6c 9548 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
367c8286 9549
07ec81f9
RB
95502014-01-28 Richard Biener <rguenther@suse.de>
9551
9552 PR tree-optimization/58742
9553 * tree-ssa-forwprop.c (associate_plusminus): Handle
9554 pointer subtraction of the form (T)(P + A) - (T)P.
9555
5facb998
KT
95562014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9557
9558 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
9559 at const_int_cost.
9560
e04faf24
RB
95612014-01-28 Richard Biener <rguenther@suse.de>
9562
9563 Revert
9564 2014-01-28 Richard Biener <rguenther@suse.de>
9565
9566 PR rtl-optimization/45364
9567 PR rtl-optimization/59890
9568 * var-tracking.c (local_get_addr_clear_given_value): Handle
9569 already cleared slot.
9570 (val_reset): Handle not allocated local_get_addr_cache.
9571 (vt_find_locations): Use post-order on the inverted CFG.
9572
6593260b
RB
95732014-01-28 Richard Biener <rguenther@suse.de>
9574
33425d6c 9575 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
6593260b 9576
9ec2d2c1
RB
95772014-01-28 Richard Biener <rguenther@suse.de>
9578
9579 PR rtl-optimization/45364
9580 PR rtl-optimization/59890
9581 * var-tracking.c (local_get_addr_clear_given_value): Handle
9582 already cleared slot.
9583 (val_reset): Handle not allocated local_get_addr_cache.
9584 (vt_find_locations): Use post-order on the inverted CFG.
9585
2ceb362d
AM
95862014-01-28 Alan Modra <amodra@gmail.com>
9587
9588 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
9589 * configure.ac <recursive call for build != host>: Define
9590 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
9591 and LD_FOR_BUILD too.
9592 * configure: Regenerate.
9593
0ebe2584
ASJ
95942014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
9595
9596 * config/i386/i386.c (get_builtin_code_for_version): Separate
9597 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
9598 Broadwell from Haswell.
9599
a33fc7fe
SE
96002014-01-27 Steve Ellcey <sellcey@mips.com>
9601
9602 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
9603 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
9604 * config/mips/mips.c (mips_option_override): Change setting
9605 of TARGET_DSP.
9606 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
0ebe2584
ASJ
9607 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
9608 Change from Mask to Var.
a33fc7fe 9609
a99be3c9
JL
96102014-01-27 Jeff Law <law@redhat.com>
9611
9612 * ipa-inline.c (inline_small_functions): Fix typo.
9613
d256b866
IT
96142014-01-27 Ilya Tocar <ilya.tocar@intel.com>
9615
9616 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
9617 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
9618 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
9619 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
9620 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
9621 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
9622 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
9623 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
9624 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
9625 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
9626 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
9627 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
9628 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
9629 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
9630 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
9631 (_mm512_storeu_epi64): Ditto.
9632 (_mm512_cmpge_epi32_mask): Ditto.
9633 (_mm512_cmpge_epu32_mask): Ditto.
9634 (_mm512_cmpge_epi64_mask): Ditto.
9635 (_mm512_cmpge_epu64_mask): Ditto.
9636 (_mm512_cmple_epi32_mask): Ditto.
9637 (_mm512_cmple_epu32_mask): Ditto.
9638 (_mm512_cmple_epi64_mask): Ditto.
9639 (_mm512_cmple_epu64_mask): Ditto.
9640 (_mm512_cmplt_epi32_mask): Ditto.
9641 (_mm512_cmplt_epu32_mask): Ditto.
9642 (_mm512_cmplt_epi64_mask): Ditto.
9643 (_mm512_cmplt_epu64_mask): Ditto.
9644 (_mm512_cmpneq_epi32_mask): Ditto.
9645 (_mm512_cmpneq_epu32_mask): Ditto.
9646 (_mm512_cmpneq_epi64_mask): Ditto.
9647 (_mm512_cmpneq_epu64_mask): Ditto.
9648 (_mm512_expand_pd): Ditto.
9649 (_mm512_expand_ps): Ditto.
9650 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
9651 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
9652 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
9653 * config/i386/i386.c (ix86_builtins): Add
9654 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
9655 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
9656 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
9657 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
9658 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
9659 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
9660 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
9661 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
9662 IX86_BUILTIN_PMOVUSQW512_MEM.
9663 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
9664 __builtin_ia32_pmovsqd512mem_mask,
9665 __builtin_ia32_pmovqd512mem_mask,
9666 __builtin_ia32_pmovusqw512mem_mask,
9667 __builtin_ia32_pmovsqw512mem_mask,
9668 __builtin_ia32_pmovqw512mem_mask,
9669 __builtin_ia32_pmovusdw512mem_mask,
9670 __builtin_ia32_pmovsdw512mem_mask,
9671 __builtin_ia32_pmovdw512mem_mask,
9672 __builtin_ia32_pmovqb512mem_mask,
9673 __builtin_ia32_pmovusqb512mem_mask,
9674 __builtin_ia32_pmovsqb512mem_mask,
9675 __builtin_ia32_pmovusdb512mem_mask,
9676 __builtin_ia32_pmovsdb512mem_mask,
9677 __builtin_ia32_pmovdb512mem_mask.
9678 (bdesc_args): Add __builtin_ia32_expanddf512,
9679 __builtin_ia32_expandsf512.
9680 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
9681 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
9682 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
9683 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
9684 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
9685 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
9686 (avx512f_<code>v8div16qi2_mask_store): This.
9687 (avx512f_expand<mode>): New.
9688
e711dffd
KY
96892014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
9690
1287ae50 9691 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
0ebe2584 9692 New.
e711dffd
KY
9693 (_mm512_mask_prefetch_i64gather_pd): Ditto.
9694 (_mm512_prefetch_i32scatter_pd): Ditto.
9695 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
9696 (_mm512_prefetch_i64scatter_pd): Ditto.
9697 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
9698 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
9699 (_mm512_mask_prefetch_i64gather_ps): Ditto.
9700 (_mm512_prefetch_i32scatter_ps): Ditto.
9701 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
9702 (_mm512_prefetch_i64scatter_ps): Ditto.
9703 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
9704 * config/i386/i386-builtin-types.def: Define
0ebe2584
ASJ
9705 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
9706 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
e711dffd
KY
9707 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
9708 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
9709 IX86_BUILTIN_SCATTERPFQPD.
9710 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
9711 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
9712 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
9713 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
9714 __builtin_ia32_scatterpfqps.
9715 (ix86_expand_builtin): Expand new built-ins.
9716 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
9717 fix memory access data type.
9718 (*avx512pf_gatherpf<mode>_mask): Ditto.
9719 (*avx512pf_gatherpf<mode>): Ditto.
9720 (avx512pf_scatterpf<mode>): Ditto.
9721 (*avx512pf_scatterpf<mode>_mask): Ditto.
9722 (*avx512pf_scatterpf<mode>): Ditto.
9723 (GATHER_SCATTER_SF_MEM_MODE): New.
9724 (avx512pf_gatherpf<mode>df): Ditto.
9725 (*avx512pf_gatherpf<mode>df_mask): Ditto.
9726 (*avx512pf_scatterpf<mode>df): Ditto.
9727
904e5ccd
JJ
97282014-01-27 Jakub Jelinek <jakub@redhat.com>
9729
9730 PR bootstrap/59934
9731 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
9732 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
9733 reached.
9734
84e90123
JG
97352014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
9736
9737 * common/config/arm/arm-common.c
9738 (arm_rewrite_mcpu): Handle multiple names.
9739 * config/arm/arm.h
9740 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
9741
c6f6157a
JG
97422014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
9743
9744 * gimple-builder.h (create_gimple_tmp): Delete.
9745
770516c9
CB
97462014-01-27 Christian Bruel <christian.bruel@st.com>
9747
9748 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
9749 words comparisons.
9750
cc5cec10
JDA
97512014-01-26 John David Anglin <danglin@gcc.gnu.org>
9752
5aa3c762
JDA
9753 * config/pa/pa.md (call): Generate indirect long calls to non-local
9754 functions when outputing 32-bit code.
9755 (call_value): Likewise except for special call to buggy powf function.
9756
cc5cec10
JDA
9757 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
9758 portable runtime and PIC indirect calls.
9759 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
9760 and PIC call sequences. Use ldo instead of blr to set return register
9761 in PIC call sequence.
9762
6bb0e248
WL
97632014-01-25 Walter Lee <walt@tilera.com>
9764
9765 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
9766 avoid clobbering a live register.
9767
dab03fe3
WL
97682014-01-25 Walter Lee <walt@tilera.com>
9769
770516c9 9770 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
dab03fe3 9771 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
770516c9 9772 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
dab03fe3
WL
9773 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
9774
905c20c1
WL
97752014-01-25 Walter Lee <walt@tilera.com>
9776
9777 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
9778 arguments on even registers.
9779 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
9780 STACK_BOUNDARY.
9781 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
9782 (BIGGEST_ALIGNMENT): Ditto.
9783 (BIGGEST_FIELD_ALIGNMENT): Ditto.
9784
8e90a625
WL
97852014-01-25 Walter Lee <walt@tilera.com>
9786
9787 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
9788 insns before bundling.
0ebe2584 9789 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
8e90a625 9790
450c1ffe
WL
97912014-01-25 Walter Lee <walt@tilera.com>
9792
9793 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
9794 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
9795 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
317a951f 9796
450c1ffe 97972014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
770516c9 9798
317a951f
RS
9799 * config/mips/constraints.md (kl): Delete.
9800 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
9801 define expands, using...
9802 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
9803 instructions for MIPS16.
9804 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
9805 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
9806
3abe9053
WL
98072014-01-25 Walter Lee <walt@tilera.com>
9808
0ebe2584 9809 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3abe9053
WL
9810 (clzdi2): Ditto.
9811 (ffsdi2): Ditto.
9812
b0e0fe41
WL
98132014-01-25 Walter Lee <walt@tilera.com>
9814
9815 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
9816 (TARGET_EXPAND_TO_RTL_HOOK): Define.
9817
2c8798a2
RS
98182014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
9819
9820 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
9821 Handle XOR.
9822
2105be5a
JJ
98232014-01-25 Jakub Jelinek <jakub@redhat.com>
9824
4def6060
JJ
9825 * print-rtl.c (in_call_function_usage): New var.
9826 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
9827 EXPR_LIST mode as mode and not as reg note name.
9828
2105be5a
JJ
9829 PR middle-end/59561
9830 * cfgloopmanip.c (copy_loop_info): If
9831 loop->warned_aggressive_loop_optimizations, make sure
9832 the flag is set in target loop too.
9833
b72271b9
BI
98342014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
9835
9836 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
9837 flag_cilkplus.
9838 * builtins.def: Likewise.
9839 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
9840 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
9841 * ira.c (ira_setup_eliminable_regset): Likewise.
9842 * omp-low.c (gate_expand_omp): Likewise.
9843 (execute_lower_omp): Likewise.
9844 (diagnose_sb_0): Likewise.
9845 (gate_diagnose_omp_blocks): Likewise.
9846 (simd_clone_clauses_extract): Likewise.
9847 (gate): Likewise.
9848
8adcc78b
BS
98492014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9850
9851 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
9852 correction for little endian...
9853 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
9854 here.
9855
3d750496
JL
98562014-01-24 Jeff Law <law@redhat.com>
9857
9858 PR tree-optimization/59919
9859 * tree-vrp.c (find_assert_locations_1): Do not register asserts
9860 for non-returning calls.
9861
1c05df59
JG
98622014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
9863
9864 * common/config/aarch64/aarch64-common.c
9865 (aarch64_rewrite_mcpu): Handle multiple names.
9866 * config/aarch64/aarch64.h
9867 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
9868
317363b4
DS
98692014-01-24 Dodji Seketeli <dodji@redhat.com>
9870
9871 * input.c (add_file_to_cache_tab): Handle the case where fopen
9872 returns NULL.
9873
16370fa7
L
98742014-01-23 H.J. Lu <hongjiu.lu@intel.com>
9875
9876 PR target/59929
9877 * config/i386/i386.md (pushsf splitter): Get stack adjustment
9878 from push operand if code of push isn't PRE_DEC.
9879
b846c948
MM
98802014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
9881
9882 PR target/59909
9883 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
9884 -mquad-memory-atomic. Update -mquad-memory documentation to say
9885 it is only used for non-atomic loads/stores.
9886
9887 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
9888 -mquad-memory or -mquad-memory-atomic switches.
9889
9890 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
9891 -mquad-memory-atomic to ISA 2.07 support.
9892
9893 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
0ebe2584
ASJ
9894 to separate support of normal quad word memory operations (ldq, stq)
9895 from the atomic quad word memory operations.
b846c948
MM
9896
9897 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
9898 support to separate non-atomic quad word operations from atomic
9899 quad word operations. Disable non-atomic quad word operations in
9900 little endian mode so that we don't have to swap words after the
9901 load and before the store.
9902 (quad_load_store_p): Add comment about atomic quad word support.
9903 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
9904 options printed with -mdebug=reg.
9905
9906 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
9907 -mquad-memory-atomic as the test for whether we have quad word
9908 atomic instructions.
0ebe2584
ASJ
9909 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
9910 or -mp8-vector are used, allow byte/half-word atomic operations.
b846c948
MM
9911
9912 * config/rs6000/sync.md (load_lockedti): Insure that the address
9913 is a proper indexed or indirect address for the lqarx instruction.
9914 On little endian systems, swap the hi/lo registers after the lqarx
9915 instruction.
9916 (load_lockedpti): Use indexed_or_indirect_operand predicate to
9917 insure the address is valid for the lqarx instruction.
9918 (store_conditionalti): Insure that the address is a proper indexed
9919 or indirect address for the stqcrx. instruction. On little endian
9920 systems, swap the hi/lo registers before doing the stqcrx.
9921 instruction.
9922 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
9923 insure the address is valid for the stqcrx. instruction.
9924
9925 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
9926 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
9927 type of quad memory support is available.
9928
6e23f296
VM
99292014-01-23 Vladimir Makarov <vmakarov@redhat.com>
9930
9931 PR regression/59915
9932 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
9933 there is a danger of looping.
9934
0a4f04e5
PH
99352014-01-23 Pat Haugen <pthaugen@us.ibm.com>
9936
9937 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
9938 force flag_ira_loop_pressure if set via command line.
9939
f9a4c9a6
AV
99402014-01-23 Alex Velenko <Alex.Velenko@arm.com>
9941
9942 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
9943 (ashr_simd): New builtin handling DI mode.
9944 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
9945 (aarch64_sshr_simddi): New match pattern.
9946 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
9947 (vshrd_n_s64): Likewise.
9948 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
9949
949ad971
NC
99502014-01-23 Nick Clifton <nickc@redhat.com>
9951
9952 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
9953 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
9954 favour of mcu specific scripts.
9955 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
9956 430x multilibs.
9957
d5ecead9
JG
99582014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
9959 Alex Velenko <Alex.Velenko@arm.com>
9960
9961 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
9962 (vaddv_s16): Likewise.
9963 (vaddv_s32): Likewise.
9964 (vaddv_u8): Likewise.
9965 (vaddv_u16): Likewise.
9966 (vaddv_u32): Likewise.
9967 (vaddvq_s8): Likewise.
9968 (vaddvq_s16): Likewise.
9969 (vaddvq_s32): Likewise.
9970 (vaddvq_s64): Likewise.
9971 (vaddvq_u8): Likewise.
9972 (vaddvq_u16): Likewise.
9973 (vaddvq_u32): Likewise.
9974 (vaddvq_u64): Likewise.
9975 (vaddv_f32): Likewise.
9976 (vaddvq_f32): Likewise.
9977 (vaddvq_f64): Likewise.
9978 (vmaxv_f32): Likewise.
9979 (vmaxv_s8): Likewise.
9980 (vmaxv_s16): Likewise.
9981 (vmaxv_s32): Likewise.
9982 (vmaxv_u8): Likewise.
9983 (vmaxv_u16): Likewise.
9984 (vmaxv_u32): Likewise.
9985 (vmaxvq_f32): Likewise.
9986 (vmaxvq_f64): Likewise.
9987 (vmaxvq_s8): Likewise.
9988 (vmaxvq_s16): Likewise.
9989 (vmaxvq_s32): Likewise.
9990 (vmaxvq_u8): Likewise.
9991 (vmaxvq_u16): Likewise.
9992 (vmaxvq_u32): Likewise.
9993 (vmaxnmv_f32): Likewise.
9994 (vmaxnmvq_f32): Likewise.
9995 (vmaxnmvq_f64): Likewise.
9996 (vminv_f32): Likewise.
9997 (vminv_s8): Likewise.
9998 (vminv_s16): Likewise.
9999 (vminv_s32): Likewise.
10000 (vminv_u8): Likewise.
10001 (vminv_u16): Likewise.
10002 (vminv_u32): Likewise.
10003 (vminvq_f32): Likewise.
10004 (vminvq_f64): Likewise.
10005 (vminvq_s8): Likewise.
10006 (vminvq_s16): Likewise.
10007 (vminvq_s32): Likewise.
10008 (vminvq_u8): Likewise.
10009 (vminvq_u16): Likewise.
10010 (vminvq_u32): Likewise.
10011 (vminnmv_f32): Likewise.
10012 (vminnmvq_f32): Likewise.
10013 (vminnmvq_f64): Likewise.
10014
1dd055a2
JG
100152014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
10016
10017 * config/aarch64/aarch64-simd.md
10018 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
10019 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
10020 (*aarch64_mul3_elt<mode>): Likewise.
10021 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
10022 (*aarch64_mul3_elt_to_64v2df): Likewise.
10023 (*aarch64_mla_elt<mode>): Likewise.
10024 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
10025 (*aarch64_mls_elt<mode>): Likewise.
10026 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
10027 (*aarch64_fma4_elt<mode>): Likewise.
10028 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
10029 (*aarch64_fma4_elt_to_64v2df): Likewise.
10030 (*aarch64_fnma4_elt<mode>): Likewise.
10031 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
10032 (*aarch64_fnma4_elt_to_64v2df): Likewise.
10033 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
10034 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
10035 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
10036 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
10037 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
10038 (aarch64_sqdmull_lane<mode>_internal): Likewise.
10039 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
10040
dafb9b64
AV
100412013-01-23 Alex Velenko <Alex.Velenko@arm.com>
10042
10043 * config/aarch64/aarch64-simd.md
10044 (aarch64_be_checked_get_lane<mode>): New define_expand.
10045 * config/aarch64/aarch64-simd-builtins.def
0ebe2584 10046 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
dafb9b64
AV
10047 New builtin definition.
10048 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
10049 Use new safe be builtin.
10050
89b4515c
AV
100512014-01-23 Alex Velenko <Alex.Velenko@arm.com>
10052
10053 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
10054 New define_insn.
10055 (aarch64_be_st1<mode>): Likewise.
10056 (aarch_ld1<VALL:mode>): Define_expand modified.
10057 (aarch_st1<VALL:mode>): Likewise.
10058 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
10059 (UNSPEC_ST1): Likewise.
10060
4bb66ef3 100612014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
f3eeb82c
DH
10062
10063 * config/microblaze/microblaze.md: Add trap insn and attribute
10064
7ecc3eb9
DS
100652014-01-23 Dodji Seketeli <dodji@redhat.com>
10066
10067 PR preprocessor/58580
10068 * input.h (location_get_source_line): Take an additional line_size
10069 parameter.
10070 (void diagnostics_file_cache_fini): Declare new function.
10071 * input.c (struct fcache): New type.
10072 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
10073 New static constants.
10074 (diagnostic_file_cache_init, total_lines_num)
10075 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
10076 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
10077 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
10078 (get_next_line, read_next_line, goto_next_line, read_line_num):
10079 New static function definitions.
10080 (diagnostic_file_cache_fini): New function.
10081 (location_get_source_line): Take an additional output line_len
10082 parameter. Re-write using lookup_or_add_file_to_cache_tab and
10083 read_line_num.
10084 * diagnostic.c (diagnostic_finish): Call
10085 diagnostic_file_cache_fini.
10086 (adjust_line): Take an additional input parameter for the length
10087 of the line, rather than calculating it with strlen.
10088 (diagnostic_show_locus): Adjust the use of
10089 location_get_source_line and adjust_line with respect to their new
10090 signature. While displaying a line now, do not stop at the first
10091 null byte. Rather, display the zero byte as a space and keep
10092 going until we reach the size of the line.
10093 * Makefile.in: Add vec.o to OBJS-libcommon
10094
2196a885
KY
100952014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
10096 Ilya Tocar <ilya.tocar@intel.com>
10097
10098 * config/i386/avx512fintrin.h (_mm512_kmov): New.
10099 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
10100 (__builtin_ia32_kmov16): Ditto.
10101 * config/i386/i386.md (UNSPEC_KMOV): New.
10102 (kmovw): Ditto.
10103
70473c63
KY
101042014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
10105
10106 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
10107 (_mm512_storeu_si512): Ditto.
10108
f9ae4df8
RS
101092014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
10110
10111 PR target/52125
10112 * rtl.h (get_referenced_operands): Declare.
10113 * recog.c (get_referenced_operands): New function.
10114 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
10115 operands have been referenced when recording LO_SUM references.
10116
4bb66ef3 101172014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
e50f5f2e
DH
10118
10119 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
10120
39960d1c 101212014-01-22 Jan Hubicka <hubicka@ucw.cz>
33b64438
JH
10122
10123 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
10124 Enable for generic and recent AMD targets.
10125
39960d1c 101262014-01-22 Jan Hubicka <hubicka@ucw.cz>
77b7a218
JH
10127
10128 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
10129 ARG_SIZE note when adjustment was eliminated.
10130
bb50b870
JL
101312014-01-22 Jeff Law <law@redhat.com>
10132
10133 PR tree-optimization/59597
10134 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
10135 in file. Accept new argument REGISTERING and use it to modify
10136 dump output appropriately.
10137 (register_jump_thread): Corresponding changes.
10138 (mark_threaded_blocks): Reinstate code to cancel unprofitable
10139 thread paths involving joiner blocks. Add code to dump cancelled
10140 jump threading paths.
10141
df2980be
VM
101422014-01-22 Vladimir Makarov <vmakarov@redhat.com>
10143
10144 PR rtl-optimization/59477
10145 * lra-constraints.c (inherit_in_ebb): Process call for living hard
0ebe2584 10146 regs. Update reloads_num and potential_reload_hard_regs for all insns.
df2980be 10147
1bb99900
TT
101482014-01-22 Tom Tromey <tromey@redhat.com>
10149
10150 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
10151 PARAMS.
10152 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
10153
9102dadd
VM
101542014-01-21 Vladimir Makarov <vmakarov@redhat.com>
10155
10156 PR rtl-optimization/59896
10157 * lra-constraints.c (process_alt_operands): Check unused note for
10158 matched operands of insn with no output reloads.
10159
ca376eb8
RS
101602014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
10161
10162 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
10163 (mips_move_from_gpr_cost): Likewise.
10164
a9711f36
VM
101652014-01-21 Vladimir Makarov <vmakarov@redhat.com>
10166
10167 PR rtl-optimization/59858
10168 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
10169 ira_class_hard_regs_num.
10170 (process_alt_operands): Increase reject for dying matched operand.
10171
f8ea7cb0
JJ
101722014-01-21 Jakub Jelinek <jakub@redhat.com>
10173
10174 PR target/59003
10175 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
10176 smaller than size, perform several stores or loads and stores
10177 at dst + count - size to store or copy all of size bytes, rather
10178 than just last modesize bytes.
10179
84db09e3
DD
101802014-01-20 DJ Delorie <dj@redhat.com>
10181
10182 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
10183 that CLOBBERs are REGs before propogating their values.
10184
1cf11770
L
101852014-01-20 H.J. Lu <hongjiu.lu@intel.com>
10186
10187 PR middle-end/59789
10188 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
10189 (cgraph_inline_failed_type): New function.
10190 * cgraph.h (DEFCIFCODE): Add type.
10191 (cgraph_inline_failed_type_t): New enum.
10192 (cgraph_inline_failed_type): New prototype.
10193 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
10194 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
10195 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
10196 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
10197 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
10198 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
10199 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
0ebe2584 10200 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
1cf11770
L
10201 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
10202 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
10203 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
10204 OPTIMIZATION_MISMATCH.
10205 * tree-inline.c (expand_call_inline): Emit errors during
0ebe2584 10206 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
1cf11770 10207
8586e4bd
UB
102082014-01-20 Uros Bizjak <ubizjak@gmail.com>
10209
10210 PR target/59685
10211 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
10212 mode attribute in insn output.
10213
99482090
EB
102142014-01-20 Eric Botcazou <ebotcazou@adacore.com>
10215
10216 * output.h (output_constant): Delete.
10217 * varasm.c (output_constant): Make private.
10218
ede23272
AV
102192014-01-20 Alex Velenko <Alex.Velenko@arm.com>
10220
10221 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
10222
9a7eefec
JJ
102232014-01-20 Jakub Jelinek <jakub@redhat.com>
10224
10225 PR middle-end/59860
10226 * tree.h (fold_builtin_strcat): New prototype.
10227 * builtins.c (fold_builtin_strcat): No longer static. Add len
10228 argument, if non-NULL, don't call c_strlen. Optimize
10229 directly into __builtin_memcpy instead of __builtin_strcpy.
10230 (fold_builtin_2): Adjust fold_builtin_strcat caller.
10231 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
10232
3e729145
UB
102332014-01-20 Uros Bizjak <ubizjak@gmail.com>
10234
10235 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
10236 for SImode_address_operand operands, having only a REG argument.
10237
eee0e487
MS
102382014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
10239
10240 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
10241 loader name using mbig-endian.
10242 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
10243
9e540e37
JG
102442014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
10245
10246 * doc/invoke.texi (-march): Clarify documentation for AArch64.
10247 (-mtune): Likewise.
10248 (-mcpu): Likewise.
10249
69675d50
TB
102502014-01-20 Tejas Belagod <tejas.belagod@arm.com>
10251
10252 * config/aarch64/aarch64-protos.h
10253 (aarch64_cannot_change_mode_class_ptr): Declare.
10254 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
10255 aarch64_cannot_change_mode_class_ptr): New.
10256 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
10257 backend hook aarch64_cannot_change_mode_class.
10258
ffee7aa9
JG
102592014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
10260
10261 * common/config/aarch64/aarch64-common.c
10262 (aarch64_handle_option): Don't handle any option order logic here.
10263 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
10264 selected_cpu, warn on architecture version mismatch.
10265 (aarch64_override_options): Fix parsing order for option strings.
10266
c7169779
JBG
102672014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
10268 Iain Sandoe <iain@codesourcery.com>
10269
10270 PR bootstrap/59496
10271 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
10272 warning. Amend comment to reflect current functionality.
10273
409b6ac1
RB
102742014-01-20 Richard Biener <rguenther@suse.de>
10275
10276 PR middle-end/59860
10277 * builtins.c (fold_builtin_strcat): Remove case better handled
10278 by tree-ssa-strlen.c.
10279
608df31f
AL
102802014-01-20 Alan Lawrence <alan.lawrence@arm.com>
10281
10282 * config/aarch64/aarch64.opt
10283 (mcpu, march, mtune): Make case-insensitive.
10284
0fabe5f3
JJ
102852014-01-20 Jakub Jelinek <jakub@redhat.com>
10286
10287 PR target/59880
10288 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
10289 if operands[1] is a REG or ZERO_EXTEND of a REG.
10290
39960d1c 102912014-01-19 Jan Hubicka <hubicka@ucw.cz>
cdafab3d
JH
10292
10293 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
10294
925cb97d
JDA
102952014-01-19 John David Anglin <danglin@gcc.gnu.org>
10296
10297 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
10298 long non-pic millicode calls.
10299
f43856db
JBG
103002014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
10301
10302 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
10303
d2be9965
ILT
103042014-01-19 Kito Cheng <kito@0xlab.org>
10305
10306 * builtins.c (expand_movstr): Check movstr expand done or fail.
10307
efc90043
UB
103082014-01-18 Uros Bizjak <ubizjak@gmail.com>
10309 H.J. Lu <hongjiu.lu@intel.com>
10310
10311 PR target/59379
10312 * config/i386/i386.md (*lea<mode>): Zero-extend return register
10313 to DImode for zero-extended addresses.
10314
8fce217e
JJ
103152014-01-19 Jakub Jelinek <jakub@redhat.com>
10316
10317 PR rtl-optimization/57763
10318 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
10319 on the new indirect jump_insn and increment LABEL_NUSES (label).
10320
efc90043 103212014-01-18 H.J. Lu <hongjiu.lu@intel.com>
646bdeab
L
10322
10323 PR bootstrap/59580
10324 PR bootstrap/59583
10325 * config.gcc (x86_archs): New variable.
10326 (x86_64_archs): Likewise.
10327 (x86_cpus): Likewise.
10328 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
10329 --with-arch/--with-cpu= options.
10330 Support --with-arch=/--with-cpu={nehalem,westmere,
10331 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
10332
7f3af6d3
UB
103332014-01-18 Uros Bizjak <ubizjak@gmail.com>
10334
10335 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
10336 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
10337
103382014-01-18 Uros Bizjak <ubizjak@gmail.com>
10339
10340 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
10341
fa5d6c75
JJ
103422014-01-18 Jakub Jelinek <jakub@redhat.com>
10343
10344 PR target/58944
10345 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
10346 clear cpp_get_options (parse_in)->warn_unused_macros for
10347 ix86_target_macros_internal with cpp_define.
10348
04da5680
RS
103492014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
10350
10351 * jump.c (delete_related_insns): Keep (use (insn))s.
10352 * reorg.c (redundant_insn): Check for barriers too.
10353
1e99bee5
L
103542014-01-17 H.J. Lu <hongjiu.lu@intel.com>
10355
7f3af6d3 10356 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
1e99bee5 10357
fa7d0c60
JDA
103582014-01-17 John David Anglin <danglin@gcc.gnu.org>
10359
10360 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
10361 call to $$dyncall when TARGET_LONG_CALLS is true.
10362
2043135a
JL
103632014-01-17 Jeff Law <law@redhat.com>
10364
10365 * ree.c (combine_set_extension): Temporarily disable test for
10366 changing number of hard registers.
10367
39960d1c 103682014-01-17 Jan Hubicka <hubicka@ucw.cz>
f3e11e05
JH
10369
10370 PR middle-end/58125
10371 * ipa-inline-analysis.c (inline_free_summary):
10372 Do not free summary of aliases.
10373
664ceb1e
JJ
103742014-01-17 Jakub Jelinek <jakub@redhat.com>
10375
10376 PR middle-end/59706
10377 * gimplify.c (gimplify_expr): Use create_tmp_var
10378 instead of create_tmp_var_raw. If cond doesn't have
10379 integral type, don't add the IFN_ANNOTATE builtin at all.
10380
aef83682
MJ
103812014-01-17 Martin Jambor <mjambor@suse.cz>
10382
10383 PR ipa/59736
10384 * ipa-cp.c (prev_edge_clone): New variable.
10385 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
10386 Also resize prev_edge_clone vector.
10387 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
10388 (ipcp_edge_removal_hook): New function.
10389 (ipcp_driver): Register ipcp_edge_removal_hook.
10390
4bb66ef3 103912014-01-17 Andrew Pinski <apinski@cavium.com>
3b9c787b
AP
10392 Steve Ellcey <sellcey@mips.com>
10393
10394 PR target/59462
10395 * config/mips/mips.c (mips_print_operand): Check operand mode instead
10396 of operator mode.
10397
4ee5c752
JL
103982014-01-17 Jeff Law <law@redhat.com>
10399
10400 PR middle-end/57904
10401 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
10402 so that pass_ccp runs first.
10403
40cfac7c
L
104042014-01-17 H.J. Lu <hongjiu.lu@intel.com>
10405
10406 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
10407 (ix86_adjust_cost): Use !TARGET_XXX.
10408 (do_reorder_for_imul): Likewise.
10409 (swap_top_of_ready_list): Likewise.
10410 (ix86_sched_reorder): Likewise.
10411
9a7f94d7
L
104122014-01-17 H.J. Lu <hongjiu.lu@intel.com>
10413
10414 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
10415 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
10416 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
10417 (intel_memset): New. Duplicate slm_memset.
10418 (intel_cost): New. Duplicate slm_cost.
10419 (m_INTEL): New macro.
10420 (processor_target_table): Add "intel".
10421 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
10422 with PROCESSOR_INTEL for "intel".
10423 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
10424 PROCESSOR_SILVERMONT.
9a7f94d7
L
10425 (ix86_issue_rate): Likewise.
10426 (ix86_adjust_cost): Likewise.
10427 (ia32_multipass_dfa_lookahead): Likewise.
10428 (swap_top_of_ready_list): Likewise.
10429 (ix86_sched_reorder): Likewise.
8cdcf750
L
10430 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
10431 instead of TARGET_OPT_AGU.
9a7f94d7
L
10432 * config/i386/i386.h (TARGET_INTEL): New.
10433 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
10434 (processor_type): Add PROCESSOR_INTEL.
7f3af6d3
UB
10435 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
10436 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9a7f94d7 10437
30078c0a
MP
104382014-01-17 Marek Polacek <polacek@redhat.com>
10439
10440 PR c/58346
10441 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
10442 size is zero.
10443
14379e66
RB
104442014-01-17 Richard Biener <rguenther@suse.de>
10445
10446 PR tree-optimization/46590
10447 * opts.c (default_options_table): Add entries for
10448 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
10449 all enabled at -O1 but not for -Og.
10450 * common.opt (fbranch-count-reg): Remove Init(1).
10451 (fmove-loop-invariants): Likewise.
10452 (ftree-pta): Likewise.
10453
f7d594d2
JJ
104542014-01-17 Jakub Jelinek <jakub@redhat.com>
10455
88e18bd5
JJ
10456 * config/i386/i386.c (ix86_data_alignment): For compatibility with
10457 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
10458 decls to at least the GCC 4.8 used alignments.
10459
f7d594d2
JJ
10460 PR fortran/59440
10461 * tree-nested.c (convert_nonlocal_reference_stmt,
10462 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
10463 of GIMPLE_BIND stmts, adjust associated decls.
10464
32500433
RB
104652014-01-17 Richard Biener <rguenther@suse.de>
10466
10467 PR tree-optimization/46590
10468 * vec.h (vec<>::bseach): New member function implementing
10469 binary search according to C89 bsearch.
10470 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
10471 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
10472 bitmap pointer again. Make accesses_in_loop a flat array.
10473 (mem_ref_obstack): New global.
10474 (outermost_indep_loop): Adjust for mem_ref->stored changes.
10475 (mark_ref_stored): Likewise.
10476 (ref_indep_loop_p_2): Likewise.
10477 (set_ref_stored_in_loop): New helper function.
10478 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
10479 (memref_free): Adjust.
10480 (record_mem_ref_loc): Simplify.
10481 (gather_mem_refs_stmt): Adjust.
10482 (sort_locs_in_loop_postorder_cmp): New function.
10483 (analyze_memory_references): Sort accesses_in_loop after
10484 loop postorder number.
10485 (find_ref_loc_in_loop_cmp): New function.
10486 (for_all_locs_in_loop): Find relevant cluster of locs in
10487 accesses_in_loop and iterate without recursion.
10488 (execute_sm): Avoid uninit warning.
10489 (struct ref_always_accessed): Simplify.
10490 (ref_always_accessed::operator ()): Likewise.
10491 (ref_always_accessed_p): Likewise.
10492 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
10493 loop postorder numbers here.
10494 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
10495 numbers.
10496
24fcf4bc
JJ
104972014-01-17 Jan Hubicka <hubicka@ucw.cz>
10498
10499 PR c++/57945
10500 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
10501 on decls for which assemble_alias has been called.
10502
d4f283a1
NC
105032014-01-17 Nick Clifton <nickc@redhat.com>
10504
10505 * config/msp430/msp430.opt: (mcpu): New option.
10506 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
10507 (msp430_option_override): Parse target_cpu. If the MCU name
10508 matches a generic string, clear target_mcu.
10509 (msp430_attr): Allow numeric interrupt values up to 63.
10510 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
10511 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
10512 option.
10513 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
10514 Add mcpu matches.
10515 * config/msp430/msp430.md (popm): Use %J rather than %I.
10516 (addsi3): Use msp430_nonimmediate_operand for operand 2.
10517 (addhi_cy_i): Use immediate_operand for operand 2.
10518 * doc/invoke.texi: Document -mcpu option.
10519
7be64667
RB
105202014-01-17 Richard Biener <rguenther@suse.de>
10521
10522 PR rtl-optimization/38518
10523 * df.h (df_analyze_loop): Declare.
10524 * df-core.c: Include cfgloop.h.
10525 (df_analyze_1): Split out main part of df_analyze.
10526 (df_analyze): Adjust.
10527 (loop_inverted_post_order_compute): New function.
10528 (loop_post_order_compute): Likewise.
10529 (df_analyze_loop): New function avoiding whole-function
10530 postorder computes.
10531 * loop-invariant.c (find_defs): Use df_analyze_loop.
10532 (find_invariants): Adjust.
10533 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
10534
82a197a2
ZC
105352014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
10536
10537 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
10538 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
10539
c68b3f52
IE
105402014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
10541
10542 * ipa-ref.c (ipa_remove_stmt_references): Fix references
10543 traversal when removing references.
10544
39960d1c 105452014-01-16 Jan Hubicka <hubicka@ucw.cz>
f910753d
JH
10546
10547 PR ipa/59775
10548 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
10549
9e6f9ad6
BS
105502014-01-16 Bernd Schmidt <bernds@codesourcery.com>
10551
10552 PR middle-end/56791
10553 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
10554 pushing a reload for an autoinc when we had previously reloaded an
10555 inner part of the address.
10556
a611d7cb
JJ
105572014-01-16 Jakub Jelinek <jakub@redhat.com>
10558
d1417442
JJ
10559 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
10560 field.
10561 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
10562 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
10563 when not giving up or versioning for alias only because of
10564 loop->safelen.
10565 (vect_analyze_data_ref_dependences): Set to true.
10566 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
10567 is a GIMPLE_PHI.
10568 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
10569 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
10570 to the condition.
10571
42ed6cde
JJ
10572 PR middle-end/58344
10573 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
10574
a611d7cb 10575 PR target/59839
7f3af6d3
UB
10576 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
10577 operand 0 predicate for gathers, use a new pseudo as subtarget.
a611d7cb 10578
8f21260c
VM
105792014-01-16 Vladimir Makarov <vmakarov@redhat.com>
10580
10581 PR middle-end/59609
7f3af6d3
UB
10582 * lra-constraints.c (process_alt_operands): Add printing debug info.
10583 Check absence of input/output reloads for matched operands too.
8f21260c 10584
1a788c05
VM
105852014-01-16 Vladimir Makarov <vmakarov@redhat.com>
10586
10587 PR rtl-optimization/59835
10588 * ira.c (ira_init_register_move_cost): Increase cost for
10589 impossible modes.
10590
4cf24d27
AL
105912014-01-16 Alan Lawrence <alan.lawrence@arm.com>
10592
cc3a9f0d 10593 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4cf24d27 10594
030d03b8
RE
105952014-01-16 Richard Earnshaw <rearnsha@arm.com>
10596
10597 PR target/59780
10598 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
10599 non-register objects. Use gen_(high/low)part more consistently.
10600 Fix assertions.
10601
e78f06a8
MM
106022014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
10603
10604 PR target/59844
10605 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
10606 endian support, remove tests for WORDS_BIG_ENDIAN.
10607 (p8_mfvsrd_3_<mode>): Likewise.
10608 (reload_gpr_from_vsx<mode>): Likewise.
10609 (reload_gpr_from_vsxsf): Likewise.
10610 (p8_mfvsrd_4_disf): Likewise.
10611
9d1ae52c
RB
106122014-01-16 Richard Biener <rguenther@suse.de>
10613
10614 PR rtl-optimization/46590
10615 * lcm.c (compute_antinout_edge): Use postorder iteration.
10616 (compute_laterin): Use inverted postorder iteration.
10617
54c7a7f3
NC
106182014-01-16 Nick Clifton <nickc@redhat.com>
10619
10620 PR middle-end/28865
10621 * varasm.c (output_constant): Return the number of bytes actually
10622 emitted.
10623 (output_constructor_array_range): Update the field size with the
10624 number of bytes emitted by output_constant.
10625 (output_constructor_regular_field): Likewise. Also do not
10626 complain if the total number of bytes emitted is now greater
10627 than the expected fieldpos.
7f3af6d3 10628 * output.h (output_constant): Update prototype and descriptive comment.
54c7a7f3 10629
5147d10a
MP
106302014-01-16 Marek Polacek <polacek@redhat.com>
10631
10632 PR middle-end/59827
10633 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
10634 it is error_mark_node.
10635
4ac005ba
UB
106362014-01-15 Uros Bizjak <ubizjak@gmail.com>
10637
10638 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
10639 VALID_AVX256_REG_OR_OI_MODE.
10640
5d7574fa
PH
106412014-01-15 Pat Haugen <pthaugen@us.ibm.com>
10642
10643 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
10644 current procedure should be profiled.
10645
6ee70f81
AP
106462014-01-15 Andrew Pinski <apinski@cavium.com>
10647
10648 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
10649 of moving from/to the STACK_REG register class.
10650
004a7e45 106512014-01-15 Richard Henderson <rth@redhat.com>
af6e8467
RH
10652
10653 PR debug/54694
10654 * reginfo.c (global_regs_decl): Globalize.
10655 * rtl.h (global_regs_decl): Declare.
10656 * ira.c (do_reload): Diagnose frame_pointer_needed and it
10657 reserved via global_regs.
10658
4583fada
TJ
106592014-01-15 Teresa Johnson <tejohnson@google.com>
10660
10661 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
10662
d13dfec8
BS
106632014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
10664
10665 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
10666 and vmulosh rather than call gen_vec_widen_smult_*.
10667 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
10668 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
10669 (vec_widen_smult_even_v16qi): Likewise.
10670 (vec_widen_umult_even_v8hi): Likewise.
10671 (vec_widen_smult_even_v8hi): Likewise.
10672 (vec_widen_umult_odd_v16qi): Likewise.
10673 (vec_widen_smult_odd_v16qi): Likewise.
10674 (vec_widen_umult_odd_v8hi): Likewise.
10675 (vec_widen_smult_odd_v8hi): Likewise.
10676 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
10677 vmuloub rather than call gen_vec_widen_umult_*.
10678 (vec_widen_umult_lo_v16qi): Likewise.
10679 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
10680 vmulosb rather than call gen_vec_widen_smult_*.
10681 (vec_widen_smult_lo_v16qi): Likewise.
10682 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
10683 rather than call gen_vec_widen_umult_*.
10684 (vec_widen_umult_lo_v8hi): Likewise.
10685 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
10686 rather than call gen_vec_widen_smult_*.
10687 (vec_widen_smult_lo_v8hi): Likewise.
10688
a6a2d67b
JL
106892014-01-15 Jeff Law <law@redhat.com>
10690
10691 PR tree-optimization/59747
10692 * ree.c (find_and_remove_re): Properly handle case where a second
10693 eliminated extension requires widening a copy created for elimination
10694 of a prior extension.
10695 (combine_set_extension): Ensure that the number of hard regs needed
10696 for a destination register does not change when we widen it.
10697
aefe4056
SH
106982014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
10699
10700 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
10701 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
10702 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
10703 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
10704 (avr-*-rtems*): Likewise.
10705 (bfin*-rtems*): Likewise.
10706 (moxie-*-rtems*): Likewise.
10707 (h8300-*-rtems*): Likewise.
10708 (i[34567]86-*-rtems*): Likewise.
10709 (lm32-*-rtems*): Likewise.
10710 (m32r-*-rtems*): Likewise.
10711 (m68k-*-rtems*): Likewise.
10712 (microblaze*-*-rtems*): Likewise.
10713 (mips*-*-rtems*): Likewise.
10714 (powerpc-*-rtems*): Likewise.
10715 (sh-*-rtems*): Likewise.
10716 (sparc-*-rtems*): Likewise.
10717 (sparc64-*-rtems*): Likewise.
10718 (v850-*-rtems*): Likewise.
10719 (m32c-*-rtems*): Likewise.
10720
fef37404
VM
107212014-01-15 Vladimir Makarov <vmakarov@redhat.com>
10722
10723 PR rtl-optimization/59511
10724 * ira.c (ira_init_register_move_cost): Use memory costs for some
10725 cases of register move cost calculations.
10726 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
10727 instead of BB frequency.
10728 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
10729 * lra-assigns.c (find_hard_regno_for): Ditto.
10730
6b916b36
RB
107312014-01-15 Richard Biener <rguenther@suse.de>
10732
10733 PR tree-optimization/59822
10734 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
10735 (vectorizable_load): Use it to hoist defs of uses of invariant
10736 loads out of the loop.
10737
d103f29b 107382014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
1287ae50 10739 Kugan Vivekanandarajah <kuganv@linaro.org>
d103f29b
MGD
10740
10741 PR target/59695
10742 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
10743 truncation.
10744
95cb8697
RB
107452014-01-15 Richard Biener <rguenther@suse.de>
10746
10747 PR rtl-optimization/59802
10748 * lcm.c (compute_available): Use inverted postorder to seed
10749 the initial worklist.
10750
cb4b6d17
AK
107512014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10752
1c8b5303 10753 PR target/59803
cb4b6d17
AK
10754 * config/s390/s390.c (s390_preferred_reload_class): Don't return
10755 ADDR_REGS for invalid symrefs in non-PIC code.
10756
2738b4c7
JJ
107572014-01-15 Jakub Jelinek <jakub@redhat.com>
10758
10759 PR other/58712
10760 * builtins.c (determine_block_size): Initialize *probable_max_size
10761 even if len_rtx is CONST_INT.
10762
d126a4ae
AP
107632014-01-14 Andrew Pinski <apinski@cavium.com>
10764
10765 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
10766 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
10767 (cortexa53_tunings): Likewise.
10768 (aarch64_sched_issue_rate): New function.
10769 (TARGET_SCHED_ISSUE_RATE): Define.
10770
dc687582
VM
107712014-01-14 Vladimir Makarov <vmakarov@redhat.com>
10772
10773 * ira-costs.c (find_costs_and_classes): Add missed
10774 ira_init_register_move_cost_if_necessary.
10775
e940b2ec
VM
107762014-01-14 Vladimir Makarov <vmakarov@redhat.com>
10777
10778 PR target/59787
10779 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
10780
3292e376
L
107812014-01-14 H.J. Lu <hongjiu.lu@intel.com>
10782
10783 PR target/59794
10784 * config/i386/i386.c (type_natural_mode): Add a bool parameter
4ac005ba
UB
10785 to indicate if type is used for function return value. Warn ABI
10786 change if the vector mode isn't available for function return value.
3292e376
L
10787 (ix86_function_arg_advance): Pass false to type_natural_mode.
10788 (ix86_function_arg): Likewise.
10789 (ix86_gimplify_va_arg): Likewise.
10790 (function_arg_32): Don't warn ABI change.
10791 (ix86_function_value): Pass true to type_natural_mode.
10792 (ix86_return_in_memory): Likewise.
10793 (ix86_struct_value_rtx): Removed.
10794 (TARGET_STRUCT_VALUE_RTX): Likewise.
10795
db930875
RS
107962014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
10797
10798 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
10799 converting a conditional jump into a conditional return.
10800
a0e35eb0
RB
108012014-01-14 Richard Biener <rguenther@suse.de>
10802
10803 PR tree-optimization/58921
10804 PR tree-optimization/59006
10805 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
10806 hoisting invariant stmts.
10807 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
10808 invariant loads on the preheader edge if possible.
10809
a984e92e
JY
108102014-01-14 Joey Ye <joey.ye@arm.com>
10811
10812 * doc/plugin.texi (Building GCC plugins): Update to C++.
10813
c56a42b9
KY
108142014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
10815
3292e376 10816 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
c56a42b9
KY
10817 (_mm_rcp28_round_ss): Ditto.
10818 (_mm_rsqrt28_round_sd): Ditto.
10819 (_mm_rsqrt28_round_ss): Ditto.
10820 (_mm_rcp28_sd): Ditto.
10821 (_mm_rcp28_ss): Ditto.
10822 (_mm_rsqrt28_sd): Ditto.
10823 (_mm_rsqrt28_ss): Ditto.
10824 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
10825 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
10826 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
10827 (IX86_BUILTIN_RCP28SD): Ditto.
10828 (IX86_BUILTIN_RCP28SS): Ditto.
10829 (IX86_BUILTIN_RSQRT28SD): Ditto.
10830 (IX86_BUILTIN_RSQRT28SS): Ditto.
10831 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
10832 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
10833 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
10834 (ix86_expand_special_args_builtin): Expand new FTYPE.
10835 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
10836 (srcp14<mode>): Make insn unary.
10837 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
10838 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
10839 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
10840 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
10841 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
10842 Fix rounding: make it SAE only.
4ac005ba
UB
10843 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
10844 Ditto.
10845 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
10846 Ditto.
c56a42b9
KY
10847 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
10848 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
10849 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
10850 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
10851 (round_saeonly_mask_scalar_operand4): Ditto.
10852 (round_saeonly_mask_scalar_op3): Ditto.
10853 (round_saeonly_mask_scalar_op4): Ditto.
10854
09fccb62
BS
108552014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10856
10857 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
10858 Implement -maltivec=be for vec_insert and vec_extract.
10859
fb28dac0
DD
108602014-01-10 DJ Delorie <dj@redhat.com>
10861
10862 * config/msp430/msp430.md (call_internal): Don't allow memory
10863 references with SP as the base register.
10864 (call_value_internal): Likewise.
10865 * config/msp430/constraints.md (Yc): New. For memory references
10866 that don't use SP as a base register.
10867
10868 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
10869 "an integer without a # prefix"
10870 * config/msp430/msp430.md (epilogue_helper): Use it.
10871
19e51b40
JJ
108722014-01-13 Jakub Jelinek <jakub@redhat.com>
10873
03b9e8e4
JJ
10874 PR target/59617
10875 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
10876 AVX512F gather builtins.
10877 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
10878 on gather decls with INTEGER_TYPE masktype.
10879 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
10880 directly into the builtin rather than hoisting it before loop.
10881
19e51b40
JJ
10882 PR tree-optimization/59387
10883 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
10884 (scev_const_prop): If folded_casts and type has undefined overflow,
10885 use force_gimple_operand instead of force_gimple_operand_gsi and
10886 for each added stmt if it is assign with
10887 arith_code_with_undefined_signed_overflow, call
10888 rewrite_to_defined_overflow.
10889 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
10890 gimple-fold.h instead.
10891 (arith_code_with_undefined_signed_overflow,
10892 rewrite_to_defined_overflow): Moved to ...
10893 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
10894 rewrite_to_defined_overflow): ... here. No longer static.
10895 Include gimplify-me.h.
10896 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
10897 rewrite_to_defined_overflow): New prototypes.
10898
cd794ed4
KT
108992014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10900
10901 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
10902
e75fde1a
EB
109032014-01-13 Eric Botcazou <ebotcazou@adacore.com>
10904
10905 * builtins.c (get_object_alignment_2): Minor tweak.
10906 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
10907
eae298d6
CB
109082014-01-13 Christian Bruel <christian.bruel@st.com>
10909
10910 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
e75fde1a 10911 optimized non constant lengths.
eae298d6 10912
8175be9a
JJ
109132014-01-13 Jakub Jelinek <jakub@redhat.com>
10914
10915 PR libgomp/59194
10916 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
10917 load as __atomic_load_N if possible.
10918
9c111368
DE
109192014-01-11 David Edelsohn <dje.gcc@gmail.com>
10920
10921 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
10922 target parameter.
10923 (rs6000_expand_builtin): Adjust call.
10924
c82846bc
DE
109252014-01-11 David Edelsohn <dje.gcc@gmail.com>
10926
10927 PR target/58115
10928 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
10929 * config/rs6000/rs6000.c: Include target-globals.h.
10930 (rs6000_set_current_function): Instead of doing target_reinit
10931 unconditionally, use save_target_globals_default_opts and
10932 restore_target_globals.
10933
10934 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
10935 FPSCR.
10936 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
10937 (rs6000_expand_builtin): Handle mffs and mtfsf.
10938 (rs6000_init_builtins): Define mffs and mtfsf.
10939 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
10940 (rs6000_mffs): New pattern.
10941 (rs6000_mtfsf): New pattern.
10942
2c407426
BC
109432014-01-11 Bin Cheng <bin.cheng@arm.com>
10944
10945 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
10946 Start narrowing with START. Apply candidate-use pair
10947 and check overall cost in narrowing.
10948 (iv_ca_prune): Pass new argument.
10949
7e41c852
JL
109502014-01-10 Jeff Law <law@redhat.com>
10951
10952 PR middle-end/59743
10953 * ree.c (combine_reaching_defs): Ensure the defining statement
10954 occurs before the extension when optimizing extensions with
10955 different source and destination hard registers.
10956
39960d1c 109572014-01-10 Jan Hubicka <hubicka@ucw.cz>
b270b096
JH
10958
10959 PR ipa/58585
4ac005ba
UB
10960 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
10961 vtables into the type inheritance graph.
b270b096 10962
0d6d7b9a
JJ
109632014-01-10 Jakub Jelinek <jakub@redhat.com>
10964
10965 PR rtl-optimization/59754
10966 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
10967 modes in the REGNO != REGNO case.
10968
110132c1
BS
109692014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10970
10971 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
10972
5da96960
JJ
109732014-01-10 Jakub Jelinek <jakub@redhat.com>
10974
4f87d581
JJ
10975 PR tree-optimization/59745
10976 * tree-predcom.c (tree_predictive_commoning_loop): Call
10977 free_affine_expand_cache if giving up because components is NULL.
10978
5da96960
JJ
10979 * target-globals.c (save_target_globals): Allocate < 4KB structs using
10980 GC in payload of target_globals struct instead of allocating them on
10981 the heap and the larger structs separately using GC.
10982 * target-globals.h (struct target_globals): Make regs, hard_regs,
10983 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
10984 of GTY((skip)) and change type to void *.
10985 (reset_target_globals): Cast loads from those fields to corresponding
10986 types.
10987
1aa26aac
SE
109882014-01-10 Steve Ellcey <sellcey@mips.com>
10989
10990 PR plugins/59335
10991 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
10992 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
10993 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
10994
1c992d1e
RE
109952014-01-10 Richard Earnshaw <rearnsha@arm.com>
10996
7783a246 10997 PR target/59744
1c992d1e
RE
10998 * aarch64-modes.def (CC_Zmode): New flags mode.
10999 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
11000 represents an equality.
7783a246 11001 (aarch64_get_condition_code): Handle CC_Zmode.
1c992d1e
RE
11002 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
11003
86464cbd
AK
110042014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11005
11006 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
11007 extraction in good case.
11008
5e6667b2
RB
110092014-01-10 Richard Biener <rguenther@suse.de>
11010
11011 PR tree-optimization/59374
11012 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
11013 checking after SLP discovery. Mark stmts not participating
11014 in any SLP instance properly.
11015
5619162c
KT
110162014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11017
11018 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
11019 when handling a SET rtx.
11020
2d17b99f
KT
110212014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11022
11023 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
11024 (cortex-a57): Likewise.
11025 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
11026
bcca645c
KT
110272014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11028
11029 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
11030 non-iwmmxt builtins.
11031
a3788dde
JH
110322014-01-10 Jan Hubicka <hubicka@ucw.cz>
11033
11034 PR ipa/58252
11035 PR ipa/59226
11036 * ipa-devirt.c record_target_from_binfo): Take as argument
11037 stack of binfos and lookup matching one for virtual inheritance.
11038 (possible_polymorphic_call_targets_1): Update.
11039
87ed883e
HC
110402014-01-10 Huacai Chen <chenhc@lemote.com>
11041
11042 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
11043 kernel strings for Loongson-2E/2F/3A.
11044
cd4447e2
JJ
110452014-01-10 Jakub Jelinek <jakub@redhat.com>
11046
11047 PR middle-end/59670
11048 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
11049 is_gimple_call before calling gimple_call_internal_p.
11050
3fadf78a
SE
110512014-01-09 Steve Ellcey <sellcey@mips.com>
11052
11053 * Makefile.in (TREE_FLOW_H): Remove.
11054 (TREE_SSA_H): Add file names from tree-flow.h.
11055 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
11056 * tree.h: Remove tree-flow.h reference.
11057 * hash-table.h: Remove tree-flow.h reference.
11058 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
11059 reference with tree-ssa-loop.h.
11060
6edc217d
BS
110612014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11062
11063 * doc/invoke.texi: Add -maltivec={be,le} options, and document
11064 default element-order behavior for -maltivec.
11065 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
11066 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
11067 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
11068 when targeting big endian, at least for now.
11069 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
11070
a70e9985
JJ
110712014-01-09 Jakub Jelinek <jakub@redhat.com>
11072
3396aba5
JJ
11073 PR middle-end/47735
11074 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
11075 var satisfies use_register_for_decl, just take into account type
11076 alignment, rather than decl alignment.
11077
a70e9985
JJ
11078 PR tree-optimization/59622
11079 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
11080 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
11081 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
11082 Don't devirtualize for inplace at all. For targets.length () == 1,
11083 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
11084
6e9cc565
L
110852014-01-09 H.J. Lu <hongjiu.lu@intel.com>
11086
11087 * config/i386/i386.md (cpu): Remove the unused btver1.
11088
d1c0e4ac
L
110892014-01-09 H.J. Lu <hongjiu.lu@intel.com>
11090
11091 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
11092
e83b8e2e
JJ
110932014-01-09 Jakub Jelinek <jakub@redhat.com>
11094
11095 PR target/58115
11096 * tree-core.h (struct target_globals): New forward declaration.
11097 (struct tree_target_option): Add globals field.
11098 * tree.h (TREE_TARGET_GLOBALS): Define.
11099 (prepare_target_option_nodes_for_pch): New prototype.
11100 * target-globals.h (struct target_globals): Define even if
11101 !SWITCHABLE_TARGET.
11102 * tree.c (prepare_target_option_node_for_pch,
11103 prepare_target_option_nodes_for_pch): New functions.
11104 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
11105 * config/i386/i386.c: Include target-globals.h.
11106 (ix86_set_current_function): Instead of doing target_reinit
11107 unconditionally, use save_target_globals_default_opts and
11108 restore_target_globals.
11109
2aaed0f3
RB
111102014-01-09 Richard Biener <rguenther@suse.de>
11111
11112 PR tree-optimization/59715
11113 * tree-cfg.h (split_critical_edges): Declare.
11114 * tree-cfg.c (split_critical_edges): Export.
11115 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
11116
b5ebc991
MO
111172014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
11118
4ac005ba 11119 * cfgexpand.c (expand_stack_vars): Optionally disable
b5ebc991
MO
11120 asan stack protection.
11121 (expand_used_vars): Likewise.
11122 (partition_stack_vars): Likewise.
4ac005ba 11123 * asan.c (asan_emit_stack_protection): Optionally disable
b5ebc991 11124 after return stack usage.
7f3af6d3 11125 (instrument_derefs): Optionally disable memory access instrumentation.
b5ebc991
MO
11126 (instrument_builtin_call): Likewise.
11127 (instrument_strlen_call): Likewise.
7f3af6d3 11128 (asan_protect_global): Optionally disable global variables protection.
b5ebc991
MO
11129 * doc/invoke.texi: Added doc for new options.
11130 * params.def: Added new options.
11131 * params.h: Likewise.
11132
b59e0455
JJ
111332014-01-09 Jakub Jelinek <jakub@redhat.com>
11134
11135 PR rtl-optimization/59724
11136 * ifcvt.c (cond_exec_process_if_block): Don't call
11137 flow_find_head_matching_sequence with 0 longest_match.
11138 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
11139 non-active insns if !stop_after.
11140 (try_head_merge_bb): Revert 2014-01-07 changes.
11141
650c4c85
JL
111422014-01-08 Jeff Law <law@redhat.com>
11143
11144 * ree.c (get_sub_rtx): New function, extracted from...
11145 (merge_def_and_ext): Here.
11146 (combine_reaching_defs): Use get_sub_rtx.
11147
ff36fcbe
EB
111482014-01-08 Eric Botcazou <ebotcazou@adacore.com>
11149
11150 * cgraph.h (varpool_variable_node): Do not choke on null node.
11151
9f9d82aa
CM
111522014-01-08 Catherine Moore <clm@codesourcery.com>
11153
4ac005ba
UB
11154 * config/mips/mips.md (simple_return): Attempt to use JRC
11155 for microMIPS.
9f9d82aa
CM
11156 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
11157
df6c8808
RS
111582014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
11159
11160 PR rtl-optimization/59137
11161 * reorg.c (steal_delay_list_from_target): Call update_block for
11162 elided insns.
11163 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
11164
6170ceff
BS
111652014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11166
11167 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
11168 two duplicate entries.
11169
3f140f32
RS
111702014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
11171
11172 Revert:
11173 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
11174
11175 * config/mips/mips.c (mips_truncated_op_cost): New function.
11176 (mips_rtx_costs): Adjust test for BADDU.
11177 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
11178
11179 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
11180
11181 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
11182 (*baddu_si): ...this new pattern.
11183
c6de6665
JJ
111842014-01-08 Jakub Jelinek <jakub@redhat.com>
11185
11186 PR ipa/59722
11187 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
11188
4c437f02
BE
111892014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
11190
11191 PR middle-end/57748
11192 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
11193 inner_reference_p.
11194 (expand_expr, expand_normal): Adjust.
11195 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
11196 inner_reference_p. Use inner_reference_p to expand inner references.
11197 (store_expr): Adjust.
11198 * cfgexpand.c (expand_call_stmt): Adjust.
11199
4ac005ba 112002014-01-08 Rong Xu <xur@google.com>
40d6b753
RX
11201
11202 * gcov-io.c (gcov_var): Move from gcov-io.h.
11203 (gcov_position): Ditto.
11204 (gcov_is_error): Ditto.
11205 (gcov_rewrite): Ditto.
11206 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
11207 only part to libgcc/libgcov.h.
11208
ab04b46e
MP
112092014-01-08 Marek Polacek <polacek@redhat.com>
11210
11211 PR middle-end/59669
11212 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
11213
06636b32
MP
112142014-01-08 Marek Polacek <polacek@redhat.com>
11215
11216 PR sanitizer/59667
11217 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
11218
c15677b6
JJ
112192014-01-08 Jakub Jelinek <jakub@redhat.com>
11220
11221 PR rtl-optimization/59649
11222 * stor-layout.c (get_mode_bounds): For BImode return
11223 0 and STORE_FLAG_VALUE.
11224
5c944c6c
RB
112252014-01-08 Richard Biener <rguenther@suse.de>
11226
11227 PR middle-end/59630
11228 * gimple.h (is_gimple_builtin_call): Remove.
11229 (gimple_builtin_call_types_compatible_p): New.
11230 (gimple_call_builtin_p): New overload.
11231 * gimple.c (is_gimple_builtin_call): Remove.
11232 (validate_call): Rename to ...
11233 (gimple_builtin_call_types_compatible_p): ... this and export. Also
11234 check return types.
11235 (validate_type): New static function.
11236 (gimple_call_builtin_p): New overload and adjust.
11237 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
11238 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
11239 (gimple_fold_stmt_to_constant_1): Likewise.
11240 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
11241
0bd34ae4
RB
112422014-01-08 Richard Biener <rguenther@suse.de>
11243
11244 PR middle-end/59471
11245 * gimplify.c (gimplify_expr): Gimplify register-register type
11246 VIEW_CONVERT_EXPRs to separate stmts.
11247
04af8ab6
JL
112482014-01-07 Jeff Law <law@redhat.com>
11249
3c92da90
JL
11250 PR middle-end/53623
11251 * ree.c (combine_set_extension): Handle case where source
11252 and destination registers in an extension insn are different.
4ac005ba
UB
11253 (combine_reaching_defs): Allow source and destination registers
11254 in extension to be different under limited circumstances.
3c92da90 11255 (add_removable_extension): Remove restriction that the
4ac005ba 11256 source and destination registers in the extension are the same.
3c92da90
JL
11257 (find_and_remove_re): Emit a copy from the extension's
11258 destination to its source after the defining insn if
11259 the source and destination registers are different.
11260
04af8ab6
JL
11261 PR middle-end/59285
11262 * ifcvt.c (merge_if_block): If we are merging a block with more than
11263 one successor with a block with no successors, remove any BARRIER
11264 after the second block.
11265
4bb66ef3 112662014-01-07 Dan Xio Qiang <ziyan01@163.com>
955b33ed
JL
11267
11268 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
11269
55ada375
JDA
112702014-01-07 John David Anglin <danglin@gcc.gnu.org>
11271
11272 PR target/59652
11273 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
11274 for 14-bit register offsets when INT14_OK_STRICT is false.
11275
877c72e7
RS
112762014-01-07 Roland Stigge <stigge@antcom.de>
11277 Michael Meissner <meissner@linux.vnet.ibm.com>
11278
11279 PR 57386/target
11280 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
4ac005ba 11281 Only check TFmode for SPE constants. Don't check TImode or TDmode.
877c72e7 11282
8b2721da
JG
112832014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
11284
11285 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
11286 -mcpu.
11287
5d72b79f
YZ
112882014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
11289
11290 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
11291 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
11292 rtx is const0_rtx or not.
11293
48d53439
RS
112942014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
11295
11296 PR target/58115
11297 * target-globals.c (save_target_globals): Remove this_fn_optab
11298 handling.
11299 * toplev.c: Include optabs.h.
11300 (target_reinit): Temporarily restore the global options if another
11301 set of options are in force.
11302
41626746
JJ
113032014-01-07 Jakub Jelinek <jakub@redhat.com>
11304
a0cbe71e
JJ
11305 PR rtl-optimization/58668
11306 * cfgcleanup.c (flow_find_cross_jump): Don't count
11307 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
11308 to determine what is counted.
11309 (flow_find_head_matching_sequence): Use active_insn_p to determine
11310 what is counted.
11311 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
11312 counting change.
11313 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
11314 determine what is counted.
11315
41626746
JJ
11316 PR tree-optimization/59643
11317 * tree-predcom.c (split_data_refs_to_components): If one dr is
11318 read and one write, determine_offset fails and the write isn't
11319 in the bad component, just put the read into the bad component.
11320
cc349a39
MS
113212014-01-07 Mike Stump <mikestump@comcast.net>
11322 Jakub Jelinek <jakub@redhat.com>
11323
11324 PR pch/59436
11325 * tree-core.h (struct tree_optimization_option): Change optabs
11326 type from unsigned char * to void *.
11327 * optabs.c (init_tree_optimization_optabs): Adjust
11328 TREE_OPTIMIZATION_OPTABS initialization.
11329
529a6471
JJ
113302014-01-06 Jakub Jelinek <jakub@redhat.com>
11331
11332 PR target/59644
11333 * config/i386/i386.h (struct machine_function): Add
11334 no_drap_save_restore field.
11335 * config/i386/i386.c (ix86_save_reg): Use
11336 !cfun->machine->no_drap_save_restore instead of
11337 crtl->stack_realign_needed.
11338 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
11339 this function clears frame_pointer_needed. Set
11340 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
11341 and DRAP reg is needed.
11342
96066ce1
MP
113432014-01-06 Marek Polacek <polacek@redhat.com>
11344
11345 PR c/57773
11346 * doc/implement-c.texi: Mention that other integer types are
11347 permitted as bit-field types in strictly conforming mode.
11348
955b33ed 113492014-01-06 Felix Yang <fei.yang0953@gmail.com>
33444996
FY
11350
11351 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
11352 is newly allocated.
11353
328402a9
RE
113542014-01-06 Richard Earnshaw <rearnsha@arm.com>
11355
11356 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
11357
a4e33812
MJ
113582014-01-06 Martin Jambor <mjambor@suse.cz>
11359
11360 PR ipa/59008
11361 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
11362 to int.
11363 * ipa-prop.c (ipa_print_node_params): Fix indentation.
11364
b5cd2a02
EB
113652014-01-06 Eric Botcazou <ebotcazou@adacore.com>
11366
11367 PR debug/59350
11368 PR debug/59510
11369 * var-tracking.c (add_stores): Preserve the value of the source even if
11370 we don't record the store.
11371
c7d19c0b
TG
113722014-01-06 Terry Guo <terry.guo@arm.com>
11373
11374 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
11375
e0c70bd7
IS
113762014-01-05 Iain Sandoe <iain@codesourcery.com>
11377
11378 PR bootstrap/59541
11379 * config/darwin.c (darwin_function_section): Adjust return values to
11380 correspond to optimisation changes made in r206070.
11381
c30f016c
UB
113822014-01-05 Uros Bizjak <ubizjak@gmail.com>
11383
11384 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
11385 from prefetch_block tune setting.
11386 (nocona_cost): Correct size of prefetch block to 64.
11387
f2bc252b
EB
113882014-01-04 Eric Botcazou <ebotcazou@adacore.com>
11389
11390 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
11391 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
11392 used to save the static chain register in the computation of the offset
11393 from which the FP registers need to be restored.
11394
dad5ed2e
JJ
113952014-01-04 Jakub Jelinek <jakub@redhat.com>
11396
39719c84
JJ
11397 PR tree-optimization/59519
11398 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
11399 ICE if get_current_def (current_new_name) is already non-NULL, as long
11400 as it is a phi result of some other phi in *new_exit_bb that has
11401 the same argument.
11402
dad5ed2e
JJ
11403 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
11404 or vmovdqu* for misaligned_operand.
11405 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
11406 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
11407 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
11408 aligned_mem for AVX512F masked aligned load and store builtins and for
11409 non-temporal moves.
11410
114112014-01-03 Bingfeng Mei <bmei@broadcom.com>
82d89471
BM
11412
11413 PR tree-optimization/59651
c30f016c 11414 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
82d89471
BM
11415 Address range for negative step should be added by TYPE_SIZE_UNIT.
11416
e864837a
AS
114172014-01-03 Andreas Schwab <schwab@linux-m68k.org>
11418
11419 * config/m68k/m68k.c (handle_move_double): Handle pushes with
7f3af6d3 11420 overlapping registers also for registers other than the stack pointer.
e864837a 11421
56a34230
MP
114222014-01-03 Marek Polacek <polacek@redhat.com>
11423
11424 PR other/59661
11425 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
11426 __builtin_FILE.
11427
039eee3f
JJ
114282014-01-03 Jakub Jelinek <jakub@redhat.com>
11429
3bcdbd50
JJ
11430 PR target/59625
11431 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
11432 asm goto as jump.
11433
039eee3f
JJ
11434 * config/i386/i386.md (MODE_SIZE): New mode attribute.
11435 (push splitter): Use <P:MODE_SIZE> instead of
11436 GET_MODE_SIZE (<P:MODE>mode).
11437 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
11438 (mov -1, reg peephole2): Likewise.
11439 * config/i386/sse.md (*mov<mode>_internal,
11440 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
11441 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
11442 *<code><mode>3, *andnot<mode>3<mask_name>,
11443 <mask_codefor><code><mode>3<mask_name>): Likewise.
11444 * config/i386/subst.md (mask_mode512bit_condition,
11445 sd_mask_mode512bit_condition): Likewise.
11446
927734cf
XDL
114472014-01-02 Xinliang David Li <davidxl@google.com>
11448
11449 PR tree-optimization/59303
039eee3f 11450 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
927734cf
XDL
11451 (dump_predicates): Better output format.
11452 (pred_equal_p): New function.
11453 (is_neq_relop_p): Ditto.
11454 (is_neq_zero_form_p): Ditto.
11455 (pred_expr_equal_p): Ditto.
11456 (pred_neg_p): Ditto.
11457 (simplify_pred): Ditto.
11458 (simplify_preds_2): Ditto.
11459 (simplify_preds_3): Ditto.
11460 (simplify_preds_4): Ditto.
11461 (simplify_preds): Ditto.
11462 (push_pred): Ditto.
11463 (push_to_worklist): Ditto.
11464 (get_pred_info_from_cmp): Ditto.
11465 (is_degenerated_phi): Ditto.
11466 (normalize_one_pred_1): Ditto.
11467 (normalize_one_pred): Ditto.
11468 (normalize_one_pred_chain): Ditto.
11469 (normalize_preds): Ditto.
11470 (normalize_cond_1): Remove function.
11471 (normalize_cond): Ditto.
11472 (is_gcond_subset_of): Ditto.
11473 (is_subset_of_any): Ditto.
11474 (is_or_set_subset_of): Ditto.
11475 (is_and_set_subset_of): Ditto.
11476 (is_norm_cond_subset_of): Ditto.
11477 (pred_chain_length_cmp): Ditto.
11478 (convert_control_dep_chain_into_preds): Type change.
11479 (find_predicates): Ditto.
11480 (find_def_preds): Ditto.
11481 (destroy_predicates_vecs): Ditto.
11482 (find_matching_predicates_in_rest_chains): Ditto.
11483 (use_pred_not_overlap_with_undef_path_pred): Ditto.
11484 (is_pred_expr_subset): Ditto.
11485 (is_pred_chain_subset_of): Ditto.
11486 (is_included_in): Ditto.
11487 (is_superset_of): Ditto.
11488
23a5b65a
RS
114892014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
11490
c30f016c 11491 Update copyright years.
23a5b65a 11492
f9030485
RS
114932014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
11494
11495 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
11496 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
c30f016c
UB
11497 config/arc/arc.md, config/arc/arc.opt,
11498 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
11499 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
11500 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
11501 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
11502 config/linux-protos.h, config/linux.c, config/winnt-c.c,
11503 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
11504 vtable-verify.c, vtable-verify.h: Use the standard form for the
11505 copyright notice.
f9030485 11506
98db73df
TB
115072014-01-02 Tobias Burnus <burnus@net-b.de>
11508
11509 * gcc.c (process_command): Update copyright notice dates.
11510 * gcov-dump.c: Ditto.
11511 * gcov.c: Ditto.
11512 * doc/cpp.texi: Bump @copying's copyright year.
11513 * doc/cppinternals.texi: Ditto.
11514 * doc/gcc.texi: Ditto.
11515 * doc/gccint.texi: Ditto.
11516 * doc/gcov.texi: Ditto.
11517 * doc/install.texi: Ditto.
11518 * doc/invoke.texi: Ditto.
11519
2898d204 115202014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8ca77de0
JBG
11521
11522 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
11523
dfebbdc6 115242014-01-01 Jakub Jelinek <jakub@redhat.com>
cf3e5a89 11525
726c3546
JJ
11526 * config/i386/sse.md (*mov<mode>_internal): Guard
11527 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
11528
dfebbdc6
JJ
11529 PR rtl-optimization/59647
11530 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
11531 new_rtx into UNSIGNED_FLOAT rtxes.
ad41bd84 11532\f
970c3b33 11533Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
11534
11535Copying and distribution of this file, with or without modification,
11536are permitted in any medium without royalty provided the copyright
11537notice and this notice are preserved.
This page took 6.799946 seconds and 5 git commands to generate.